ppt

advertisement
ENGG 2040C: Probability Models and Applications
Spring 2014
The probabilistic method
Andrej Bogdanov
Sometimes probability helps
us solve problems that do not
involve randomness at all.
Friends and “non-friends”
Among every six people, there must be three
that are all friends or are all “non-friends”.
Proof
:I must have at least 3 friends,
or at least 3 non-friends
If I have 3 friends:
Either they are all non-friends with one another,
Or a pair of them are friends, so the three of us
are all friends.
Ramsey’s theorem
Among every 4n people, there must be n that
are all friends or all “non-friends”.
4n is a very large number!
E.g. when n = 40, 4n = 109 951 162 777
Do we really need that many people for that?
Erdös’s theorem
There can be 2n/2 - 1 people among which no n
of them are all friends or all non-friends.
(for n ≥ 3)
Proof: Let N = 2n/2 - 1
Probability model: Every pair is friends with
probability ½, independently of the others.
Let X be the number of groups of n people that are
all friends or all non-friends.
Erdös’s theorem
X = ∑ groups g of n people Xg,
where Xg is an indicator r.v. for the event
“People in g are all friends or all non-friends.”
E[Xg] = P(Xg = 1) = 2∙2-C(n, 2)
E[X] = ∑ groups g E[Xg] = C(N, n) ∙ 2 ∙ 2-C(n, 2)
≤ Nn ∙ 2 ∙ 2-C(n, 2)
= 2n log N + 1 – n(n – 1)/2
< 1.
Erdös’s theorem
Because E[X] < 1, it must be that P(X = 0) > 0.
So the event X = 0 can happen.
But X = 0 means there is no group of n people in
which all are friends or all are non-friends.
We used probability not to model any reality,
but as a tool to solve a mathematical problem
about friendships.
Quicksort
1. Choose a pivot stick p.
2. Go over all other sticks from left to right:
Move all sticks shorter than p to the left of p
and all sticks longer than p to the right of p.
3. Recursively sort sticks to the left of p.
4. Recursively sort sticks to the right of p.
Quicksort
How to choose the pivot?
Quicksort
Every pivot works, but some take us there faster
than others
We will measure the number N of pairwise
comparisons done by the algorithm
N depends on the input and on the choice of pivot
We want to choose the pivot so N is small regardless
of the input
Quicksort
Example:
What if we always chose the leftmost pivot?
requires all possible C(n, 2)
comparisons for n sticks
For any fixed pivot-choosing strategy there is an
input that entails all possible C(n, 2) comparisons
The randomized quicksort algorithm
1. Choose a pivot stick p uniformly at random.
2. Go over all other sticks from left to right:
Move all sticks shorter than p to the left of p
and all sticks longer than p to the right of p.
3. Recursively sort sticks to the left of p.
Analysis of randomized quicksort
The number N of pairwise comparisons is now a
random variable that depends on the pivot choices
N = N12 + N13 + ... + N(n-1)n
where Nij is an indicator r.v. for the event “the ith and
jth shortest sticks were compared at some point”
Nij = 0 happens if sticks i and j were split before
either was chosen as pivot
Analysis of randomized quicksort
j–i–1
P(Nij = 0) =
j–i+1
P(Nij = 1) =
2
j–i+1
i
E[N] = E[N12] + E[N13] + ... + E[N(n-1)n]
= (n – 1) × 2/2 + (n – 2) × 2/3 + ... + 1 × 2/n
≤ n × (2/2 + 2/3 + ... + 2/n)
≤ 2n ln n.
j
What is next?
If you like probability you will find lots of it...
Computer networks [CSCI 4430, CSCI 5470]
Algorithm design [CSCI 3160, CSCI 5450]
Machine learning [CSCI 3320]
Reliable communication [IERG 3010, IERG 5154]
Secure communication and computation [CSCI 5440]
Data privacy [CSCI 5520]
The nature of efficient computation [CSCI 5170]
Download