220 likes | 311 Views
X i = indicator random variable of the event that i-th person gets his hat back. E[X i ]=1/20 X=X 1 +…+X 20 E[X] = E[X 1 ] +…+ E[X 20 ] = 1. derangement = permutation with no fixed points n! / e .
E N D
Xi = indicator random variable of the event that i-th person gets his hat back. E[Xi]=1/20 X=X1+…+X20 E[X] = E[X1] +…+ E[X20] = 1
derangement = permutation with no fixed points n! / e number = permutations with 1 fixed point
derangement = permutation with no fixed points n! / e number = permutations with 1 fixed point n (n-1)! / e n (n-1)! / e 0.3678 0.368 n!
Claim: Alice wins only on HHH game. 1/8 - Alice wins, gets $6 7/8 - Alice loses, pays $1= gets -$1 Alice’s expected payoff: (1/8)* 6 + (7/8) * (-1) = - 1/8 Bob has the advantage.
Heap MIN-HEAP-INSERT O(log k) HEAP-EXTRACT-MIN O(log k) P1 Pk …
We will find the array Ai whose first element e is the smallest, output e to B, remove e from Ai, and repeat. We will use a heap H as follows: we find e using Heap-Extract-Min procedure and then add the next element from Ai to H using Min-Heap-Insert procedure. We make n calls to Min-Heap-Insert and n calls to Heap-Extract-Min. Hence the running time is O(n.log k). To simplify the exposition we add at the end of each array. for i from 1 to k do Pi 1; Max-Heap-Insert( H,[Ai[1],i] ); for j from 1 to n do [e,i] Heap-Extract-Max (H); Pi Pi + 1; Max-Heap-Insert( H, [Ai [Pi],i] ); add e to B
LA1,RAn,LB1,RBnwhile LA<RA do • MA (LA + RA)/2 • MB (LB + RB)/2 • if A[MA]<B[MB] then • LA MA + 1, RB MB - 1else • RA MA, LB MB • output smaller of A[LA],B[LB] <
Randomized algorithm for “median” SELECT k-th element for random x 1) =x <x >x R L 2) recurse on the appropriate part
Quick-sort for random x 1) PARTITION =x <x >x R L 2) recurse on both parts
Quick-sort R-QUICK-SORT (A, l, r) x random element of A[l,r]; q PARTITION(A,x,l,r); R-QUICK-SORT(A,l,q-1); R-QUICK-SORT(A,q+1,r);
Quick-sort R-QUICK-SORT (A, l, r) x random element of A[l,r]; q PARTITION(A,x,l,r); R-QUICK-SORT(A,l,q-1); R-QUICK-SORT(A,q+1,r); How many times is R-QUICK-SORT called?
R-QUICK-SORT (A, l, r) x random element of A[l,r]; q PARTITION(A,x,l,r); R-QUICK-SORT(A,l,q-1); R-QUICK-SORT(A,q+1,r); Quick-sort Time spent in PARTITION?
R-QUICK-SORT (A, l, r) x random element of A[l,r]; q PARTITION(A,x,l,r); R-QUICK-SORT(A,l,q-1); R-QUICK-SORT(A,q+1,r); Quick-sort Time spent in PARTITION? compare x with all elements in A[l,r] we will count the number of comparisons
R-QUICK-SORT (A, l, r) x random element of A[l,r]; q PARTITION(A,x,l,r); R-QUICK-SORT(A,l,q-1); R-QUICK-SORT(A,q+1,r); Quick-sort Time spent in PARTITION? Let the elements of A after sorting be b1 < b2 < … < bn Let Xi,j be the indicator random variable for the event bi is compared to bj.
Quick-sort Time spent in PARTITION? Let the elements of A after sorting be b1 < b2 < … < bn Let Xi,j be the indicator random variable for the event bi is compared to bj. What is the probability that bi and bj are compared in the first round ?
Quick-sort Time spent in PARTITION? Let the elements of A after sorting be b1 < b2 < … < bn Let Xi,j be the indicator random variable for the event bi is compared to bj. What is the probability that bi and bj are compared in the first round ? 2/n (the pivot has to be bi or bj)
Quick-sort Time spent in PARTITION? What is the probability that bi and bj are compared ? 2/(j-i+1) Let bk be the first pivot such that ik j. bi, bj get compared k=i or k=j k is uniformly random in {i,…,j}
Quick-sort Time spent in PARTITION? What is the probability that bi and bj are compared ? X= Xi,j 2/(j-i+1) 1i<j n E[Xi,j] = 2/(j-i+1) n 2 2 E[X]= n = O(n ln n) j-i+1 k k=2 1i<j n