1 / 63

Administrative

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.

jmercer
Download Presentation

Administrative

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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)

  2. 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.

  3. 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

  4. Finding the k-th smallest element k = n/2 = MEDIAN Split(A[1..n],x) >x x runs in time O(n)

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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)

  25. Finding the k-th smallest element T(n)  T(n/5) + T(7n/10) + O(n)

  26. 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

  27. 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

  28. 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

  29. Why 5-tuples? T(n) = T(n/3) + T(2n/3) + (n)

  30. 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

  31. Quicksort(A[b..c]) Split(A[b..c],x) =x >x <x j i b c Quicksort(A[b..i]); Quicksort(A[j..c]);

  32. Quicksort(A[b..c]) Worst-case running time? How to make the worst-case running time O(n.log n) ?

  33. Quicksort(A[b..c]) if pivot = median then the worst-case running time satisfies T(n) = 2T(n/2) + O(n)

  34. 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]

  35. 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

  36. 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

  37. Finite probability space set  (sample space) function P:  R+ (probability distribution)  P(x) = 1 x

  38. 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)= xA

  39. 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?

  40. Union bound LEMMA: P(A  B)  P(A) + P(B) More generally: P(A1 A2 …  An)  P(A1) + P(A2)+…+P(An)

  41. 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 = ?

  42. 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 = A1A2…A100

  43. 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(A1A2…A100)  100*10-6 = 10-4

  44. 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(A1A2…A100)  100*10-6 = 10-4 P(A1A2…A100) = 1–P(AC1 AC2… AC100) = 1-P(AC1)P(AC2)…P(AC100) = 1-(1-10-6)100 0.99*10-4

  45. Independence Events A,B are independent if P(A  B) = P(A) * P(B)

  46. 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

  47. 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(AB)/P(B) A conditional probability of A, given B

  48. Independence Events A,B are independent if P(A  B) = P(A) * P(B) P(A|B) = P(A)

  49. 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?

  50. Examples A B C Are A,B independent ?Are A,C independent ? Are B,C independent ? Is it true that P(ABC)=P(A)P(B)P(C)?

More Related