« previous | Wednesday, October 31, 2012 | next »
Happy Halloween
Hiring Problem
You need to hire a new employee
The headhunter sends a different applicant every day for days.
If the applicant is better than the current employee then fire the current employee and hire the applicant.
Firing and hiring is expensive.
How expensive is the whole process?
Analysis
The worst case is when headhunter sends all applicants in increasing order of goodness: hire (and fire) each one in turn ( times)
Best case is when headhunter sends best applicant on the first day: hire just once.
Expected cost is , where is the number of applicants that are hired.
Change viewpoint: let be the indicator random variable representing whether the th applicant is hired (1 if hired, 0 otherwise).
Therefore and .
The probability that a person will be hired is since out of the first applicants potentially hired, there is one best candidate.
Stop for quiz
Probablistic Analysis v. Randomized Algorithm
Probabilistic analysis assumes some sort of probability distribution on the inputs
Randomized algorithm makes random choices in computing the value of the algorithm.
Generating Random Permutations
class Array
def shuffle
1.upto(@size) do |i|
j = (i..n).sample # random value between i and n
self[i], self[j] = self[j], self[i]
end
end
end
Analysis
Proposition. equals each permutation of elements from with probability .
Proof by Induction. Basis. After first iteration, contains each permutation of 1 element from with probability
Induction. Assume that after st iteration of the loop the proposition holds. The probability that contains permutation is the probability that contains after the st iteration and that the th iteration puts in
Let be the event that contains after the st iteration.
Let be the event that the th iteration puts in . We need to show that .
and are not independent: if some element appears in , then it isn't available to appear in
Note in the second step, because is available in to be chosen since already occurred and did not include and every element in is equally likely to be chosen.
Therefore, the algorithm gives us a uniform random permutation.
Q.E.D.