630 likes | 641 Views
Homework 3 (Quiz #1) is due on September 27, Homework 4 is due on September 28 at 8am. There will be a problem session on October 2 and October 4. Quiz #2 (pages 45-79 of DPV) will be held.
E N D
Administrative Sep. 25 (today) – HW3 (=QUIZ #1) due Sep. 27 – HW4 due Sep. 28 8am – problem session Oct. 2 Oct. 4 – QUIZ #2 (pages 45-79 of DPV)
Administrative Homework rules: You may work with one other person on homeworks, but you must each write up your solutions separately (without any written aid). If you work with another person, indicate who you worked with on your solution (thus you should each indicate each other). University Academic Honesty Policy: All cases of suspected dishonesty must be reported to the Board, either through a shortform resolution or by forwarding a case to the Board for a hearing. Faculty may not come to an understanding with a student on their own in a case of suspected dishonesty, but must use the short form resolution or submit a case.
Recurrences • T(n) = a T(n/b) + f(n) • If f(n) = O(nc-) then T(n) =(nc) • If f(n) = (nc) then T(n) =(nc.log n) • If f(n) = (nc+) then T(n)=(f(n)) • if a.f(n/b) d.f(n) for some d<1 and n>n0 c=logb a T(n) = 3 T(n/2) + (n) T(n) = (nlog 3) T(n) = 2T(n/2) + (n) T(n) = (n.log n) 2
Finding the k-th smallest element k = n/2 = MEDIAN Split(A[1..n],x) >x x runs in time O(n)
Finding the k-th smallest element k = n/2 = MEDIAN Split(A[1..n],x) >x x j j k k-th smallest on left j<k (k-j)-th smallest on right
8 2 6 5 8 8 9 2 3 6 3 1 7 1 1 6 2 8 3 6 9 1 1 1 7 5 2 8 8 3 Finding the k-th smallest element
Finding the k-th smallest element 8 2 6 5 8 8 9 2 3 6 3 1 7 1 1 6 2 8 3 6 9 1 1 1 7 5 2 8 8 3 1) sort each 5-tuple
Finding the k-th smallest element 6 2 8 3 6 9 1 1 1 7 5 2 8 8 3 1) sort each 5-tuple
Finding the k-th smallest element 1 2 8 3 6 9 6 1 1 7 5 2 8 8 3 1) sort each 5-tuple
Finding the k-th smallest element 1 2 8 3 6 9 6 1 1 7 5 2 8 8 3 1) sort each 5-tuple
Finding the k-th smallest element 1 1 8 3 2 9 6 5 1 7 6 2 8 8 3 1) sort each 5-tuple
Finding the k-th smallest element TIME = ? 1 1 1 3 2 2 6 5 3 7 6 7 8 8 9 1) sort each 5-tuple
1 1 1 3 2 2 6 5 3 7 6 7 8 8 9 Finding the k-th smallest element TIME = (n) 1) sort each 5-tuple
Finding the k-th smallest element 2) find median of the middle n/5 elements TIME = ? 1 1 1 3 2 2 6 5 3 7 6 7 8 8 9
Finding the k-th smallest element 2) find median of the middle n/5 elements TIME = T(n/5) 1 1 1 3 2 2 6 5 3 7 6 7 8 8 9 We will use this element as the pivot
Finding the k-th smallest element At least ? Many elements in the array are X 1 1 1 3 2 2 6 5 3 7 6 7 8 8 9
Finding the k-th smallest element At least ? Many elements in the array are X 1 1 1 2 2 3 3 5 6 7 6 7 9 8 8
Finding the k-th smallest element At least 3n/10 elements in the array are X 1 1 1 2 2 3 3 5 6 7 6 7 9 8 8
Finding the k-th smallest element 8 2 6 5 8 8 9 2 3 6 3 1 7 1 1 1 1 1 2 2 3 3 5 6 7 6 7 9 8 8 At least 3n/10 elements in the array are X
Finding the k-th smallest element 8 2 6 5 8 8 9 2 3 6 3 1 7 1 1 >X X 3 2 1 5 8 8 9 7 8 3 1 2 1 6 6 At least 3n/10 elements in the array are X
Finding the k-th smallest element 8 2 6 5 8 8 9 2 3 6 3 1 7 1 1 >X X 3 2 1 5 8 8 9 7 8 3 1 2 1 6 6 Recurse, time ? At least 3n/10 elements in the array are X
Finding the k-th smallest element 8 2 6 5 8 8 9 2 3 6 3 1 7 1 1 >X X 3 2 1 5 8 8 9 7 8 3 1 2 1 6 6 Recurse, time T(7n/10) At least 3n/10 elements in the array are X
8 2 6 5 8 8 9 2 3 6 3 1 7 1 1 1 1 6 1 2 1 1 1 8 3 3 3 2 2 6 2 2 9 6 1 6 5 5 1 1 3 3 7 7 7 6 5 6 7 7 2 8 8 8 8 8 8 9 9 3 Finding the k-th smallest element 1 2 5 8 2 6 3 7 8 6 1 8 9 1 3 Split X >X 1 2 1 8 7 3 2 3 1 5 8 9 6 8 6 recurse
8 2 6 5 8 8 9 2 3 6 3 1 7 1 1 1 6 1 1 1 2 8 1 1 3 3 3 2 2 6 2 2 9 1 6 6 5 5 1 3 1 3 7 7 7 6 5 6 7 2 7 8 8 8 8 8 8 9 3 9 Finding the k-th smallest element 1 2 5 8 2 6 3 7 8 6 1 8 9 1 3 (n) X >X (n) 1 2 1 8 7 3 2 3 1 5 8 9 6 8 6 recurse T(7n/10) T(n/5)
Finding the k-th smallest element T(n) T(n/5) + T(7n/10) + O(n)
Finding the k-th smallest element T(n) T(n/5) + T(7n/10) + O(n) T(n) d.n Induction step: T(n) T(n/5) + T(7n/10) + O(n) d.(n/5) + d.(7n/10) + O(n) d.n + (O(n) – dn/10) d.n
Why 5-tuples? 3 1 7 6 1 5 9 1 2 1 2 5 8 2 6 3 7 8 6 1 8 9 1 3 3 6 9 1 1 1 (n) 7 5 2 X >X (n) 1 2 1 8 7 3 2 3 1 5 8 9 6 8 6 recurse 1 1 1 3 5 2 7 6 9 1 1 1 3 5 2 7 6 9
Why 5-tuples? 3 1 7 6 1 5 9 1 2 1 2 5 8 2 6 3 7 8 6 1 8 9 1 3 3 6 9 1 1 1 (n) 7 5 2 X >X (n) 1 2 1 8 7 3 2 3 1 5 8 9 6 8 6 recurse 1 1 1 3 5 2 7 6 9 T(2n/3) T(n/3) 1 1 1 3 5 2 7 6 9
Why 5-tuples? T(n) = T(n/3) + T(2n/3) + (n)
Why 5-tuples? T(n) = T(n/3) + T(2n/3) + (n) T(n) c.n.ln n Induction step: T(n) = T(n/3) + T(2n/3) + (n) c.(n/3).ln (n/3) + c.(2n/3).ln (2n/3) + (n) c.n.ln n - c.n.((1/3)ln 3+(2/3)ln 3/2)+(n) c.n.ln n
Quicksort(A[b..c]) Split(A[b..c],x) =x >x <x j i b c Quicksort(A[b..i]); Quicksort(A[j..c]);
Quicksort(A[b..c]) Worst-case running time? How to make the worst-case running time O(n.log n) ?
Quicksort(A[b..c]) if pivot = median then the worst-case running time satisfies T(n) = 2T(n/2) + O(n)
Quicksort(A[b..c]) Split(A[b..c],x) =x >x <x j i b c Quicksort(A[b..i]); Quicksort(A[j..c]); x = random element of A[b..c]
Finding the k-th smallest element k = n/2 = MEDIAN Split(A[1..n],x) >x x j j k k-th smallest on left j<k (k-j)-th smallest on right
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
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(x) P(A)= xA
Examples 1. Roll a (6 sided) dice. What is the probability that the number on the dice is even? 2. Flip two coins, what is the probability that they show the same symbol? 3. Flip five coins, what is the probability that they show the same symbol? 4. Mix a pack of 52 cards. What is the probability that all red cards come before all black cards?
Union bound LEMMA: P(A B) P(A) + P(B) More generally: P(A1 A2 … An) P(A1) + P(A2)+…+P(An)
Union bound P(A1 A2 … An) P(A1) + P(A2)+…+P(An) Suppose that the probability of winning in a lottery is 10-6. What is the probability that somebody out of 100 people wins? Ai = i-th person wins somebody wins = ?
Union bound P(A1 A2 … An) P(A1) + P(A2)+…+P(An) Suppose that the probability of winning in a lottery is 10-6. What is the probability that somebody out of 100 people wins? Ai = i-th person wins somebody wins = A1A2…A100
Union bound P(A1 A2 … An) P(A1) + P(A2)+…+P(An) Suppose that the probability of winning in a lottery is 10-6. What is the probability that somebody out of 100 people wins? P(A1A2…A100) 100*10-6 = 10-4
Union bound P(A1 A2 … An) P(A1) + P(A2)+…+P(An) Suppose that the probability of winning in a lottery is 10-6. What is the probability that somebody out of 100 people wins? P(A1A2…A100) 100*10-6 = 10-4 P(A1A2…A100) = 1–P(AC1 AC2… AC100) = 1-P(AC1)P(AC2)…P(AC100) = 1-(1-10-6)100 0.99*10-4
Independence Events A,B are independent if P(A B) = P(A) * P(B)
Independence Events A,B are independent if P(A B) = P(A) * P(B) “observing whether B happened gives no information on A” B A
Independence Events A,B are independent if P(A B) = P(A) * P(B) “observing whether B happened gives no information on A” B P(A|B) = P(AB)/P(B) A conditional probability of A, given B
Independence Events A,B are independent if P(A B) = P(A) * P(B) P(A|B) = P(A)
Examples Roll two (6 sided) dice. Let S be their sum. 1) What is that probability that S=7 ? 2) What is the probability that S=7, conditioned on S being odd ? 3) Let A be the event that S is even and B the event that S is odd. Are A,B independent? 4) Let C be the event that S is divisible by 4. Are A,C independent? 5) Let D be the event that S is divisible by 3. Are A,D independent?
Examples A B C Are A,B independent ?Are A,C independent ? Are B,C independent ? Is it true that P(ABC)=P(A)P(B)P(C)?