Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Administrative Sep. 27 (today) – HW4 due Sep. 28 8am – problem session Oct. 2 Oct. 4 – QUIZ #2 (pages 45-79 of DPV) Recap algorithm for k-select with O(n) worst-case running time modification of quick-sort which has O(n.log n) worst-case running time randomized k-select GOAL: O(n) expected running-time Finding the k-th smallest element Select(k,A[c..d]) x=random element from A[c..d] Split(A[c..d],x) >x x j j k k-th smallest on left j<k (k-j)-th smallest on right Finite probability space set (sample space) function P: R+ (probability distribution) P(x) = 1 x elements of are called atomic events subsets of are called events probability of an event A is P(A)= P(x) xA Examples A C B Are A,B independent ? Are A,C independent ? Are B,C independent ? Is it true that P(ABC)=P(A)P(B)P(C)? Examples C Events A,B,C are pairwise independent A but not (fully) independent B Are A,B independent ? Are A,C independent ? Are B,C independent ? Is it true that P(ABC)=P(A)P(B)P(C)? Full independence Events A1,…,An are (fully) independent If for every subset S[n]:={1,2,…,n} P( A ) = P(A ) iS i iS i Random variable set (sample space) function P: R+ (probability distribution) P(x) = 1 x A random variable is a function Y:R The expected value of Y is E[X] := P(x)* Y(x) x Examples Roll two dice. Let S be their sum. If S=7 then player A gives player B $6 otherwise player B gives player A $1 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 Examples Roll two dice. Let S be their sum. If S=7 then player A gives player B $6 otherwise player B gives player A $1 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 Y: -1 , -1,-1 ,-1, -1, 6 ,-1 ,-1 , -1 , -1 , -1 Expected income for B E[Y] = 6*(1/6)-1*(5/6)= 1/6 Linearity of expectation LEMMA: E[X + Y] = E[X] + E[Y] More generally: E[X1+ X2+ … + Xn] = E[X1] + E[X2]+…+E[Xn] Linearity of expectation Everybody pays me $1 and writes their name on a card. I mix the cards and give everybody one card. If you get back the card with your name – I pay you $10. Let n be the number of people in the class. For what n is the game advantageous for me? Linearity of expectation Everybody pays me $1 and writes their name on a card. I mix the cards and give everybody one card. If you get back the card with your name – I pay you $10. X1 = -9 if player 1 gets his card back 1 otherwise E[X1] = ? Linearity of expectation Everybody pays me $1 and writes their name on a card. I mix the cards and give everybody one card. If you get back the card with your name – I pay you $10. X1 = -9 if player 1 gets his card back 1 otherwise E[X1] = -9/n + 1*(n-1)/n Linearity of expectation Everybody pays me $1 and writes their name on a card. I mix the cards and give everybody one card. If you get back the card with your name – I pay you $10. X1 = -9 1 X2 = -9 1 if player 1 gets his card back otherwise if player 2 gets his card back otherwise E[X1+…+Xn] = E[X1]+…+E[Xn] = n ( -9/n + 1*(n-1)/n ) = n – 10. Do you expect to see the expected value? X= 1 with probability ½ 3 with probability ½ E[X] = Expected number of coin-tosses until HEADS? H TH TTH TTTH TTTTH .... ½ ¼ 1/8 1/16 1/32 Expected number of coin-tosses until HEADS? n.2-n = 2 n=1 Expected number of dice-throws until you get “6” ? Finding the k-th smallest element Select(k,A[c..d]) x=random element from A[c..d] Split(A[c..d],x) >x x j j k k-th smallest on left j<k (k-j)-th smallest on right FFT Polynomials Polynomial of degree d p(x) = a0 + a1 x + ... + ad xd Multiplying polynomials Polynomial of degree d p(x) = a0 + a1 x + ... + ad xd Polynomial of degree d’ q(x) = b0 + b1 x + ... + bd’ xd’ p(x)q(x) = (a0b0) + (a0b1 + a1b0) x + .... + (adbd’) xd+d’ Polynomials Polynomial of degree d p(x) = a0 + a1 x + ... + ad xd THEOREM: A non-zero polynomial of degree d has at most d roots. COROLLARY: A polynomial of degree d is determined by its value on d+1 points. COROLLARY: A polynomial of degree d is determined by its value on d+1 points. Find a polynomial p of degree d such that p(a0) = 1 p(a1) = 0 .... p(ad) = 0 COROLLARY: A polynomial of degree d is determined by its value on d+1 points. Find a polynomial p of degree d such that p(a0) = 1 (x-a )(x-a )...(x-a ) 1 2 d p(a1) = 0 .... (a0-a1)(a0-a2)...(a0-ad) p(ad) = 0 Representing polynomial of degree d the coefficient representation d+1 coefficients evaluation interpolation the value representation evaluation on d+1 points Evaluation on multiple points p(x) = 7 + x + 5x2 + 3x3 + 6x4 + 2x5 p(z) = 7 + z + 5z2 + 3z3 + 6z4 + 2z5 p(-z) = 7 – z + 5z2 – 3z3 + 6z4 – 2z5 p(x) = (7+5x2 + 6x4) + x(1+3x2 + 2x4) p(x) = pe(x2) + x po(x2) p(-x) = pe(x2) – x po(x2) Evaluation on multiple points p(x) = a0 + a1 x + a2 x2 + ... + ad xd p(x) = pe(x2) + x po(x2) p(-x) = pe(x2) – x po(x2) To evaluate p(x) on -x1,x1,-x2,x2,...,-xn,xn we only evaluate pe(x) and po(x) on x12,...,xn2 Evaluation on multiple points To evaluate p(x) on -x1,x1,-x2,x2,...,-xn,xn we only evaluate pe(x) and po(x) on x12,...,xn2 To evaluate pe(x) on x12,...,xn2 we only evaluate pe(x) on ? n-th roots of unity e FACT 1: n = 1 FACT 2: k . l = k+l FACT 3: 0 + 1 + ... + n-1 = 0 FACT 4: k = -k+n/2 2ik/n = k FFT (a0,a1,...,an-1,) (s0,...,sn/2-1)= FFT(a0,a2,...,an-2,2) (z0,...,zn/2-1) = FFT(a1,a3,...,an-1,2) s0 + z0 s1 + z1 s2 + 2 z2 .... s0 – z0 s1 - z1 s2 - 2 z2 .... Evaluation of a polynomial viewed as vector mutiplication (a0,a1,a2,...,ad) 1 x x2 . . xd Evaluation of a polynomial on multiple points (a0,a1,a2,...,ad) 1 x1 x12 . . x1d 1 x2 x22 . . . . . x2d 1 xn xn2 . . xnd Vandermonde matrix