1 / 56

Communication Complexity

Communication Complexity. מגישים: 317735678 מיכאל זמור: 01762926/2 אבי מינץ: ערן מנצור: ת.ז. 02801532/9. Communication Complexity. The Model 2 Computers : A,B All calculations for A are free All calculations for B are free

jthiessen
Télécharger la présentation

Communication Complexity

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. Communication Complexity מגישים: 317735678 מיכאל זמור: 01762926/2 אבי מינץ: ערן מנצור: ת.ז. 02801532/9

  2. Communication Complexity The Model 2 Computers : A,B All calculations for A are free All calculations for B are free Algorithm costs are measured by cost of communications. Cost is measured per bits

  3. (98) 00100110 (48) 01110110 Communication Complexity 14, 29,53,28,284,348 39, 67,98,22,35,253 The Model B A Communication Complexity

  4. Example • Input A has array of n numbers B has array of n numbers • Output median of all 2n numbers • Heuristic numbers are O(log n) bits long

  5. Naïve Algorithm • A sends all of his numbers to B • B calculates median of all 2n numbers • Cost • Each number is O(log n) bits • N numbers are sent • Total cost is O(n*log n) bits

  6. (284) 00011111 (348) 001110101 (53) 101011 (29) 10111 (14) 001110 Communication Complexity 14, 29,53,28,284,348 39, 67,98,22,35,253 Naive algorithm B A Communication Complexity • Total cost is O(n*log n) bits

  7. Communication Complexity 14, 29,53,28,284,348 14, 29,53,28,284,348 39, 67,98,22,35,253 B calculate the median Naive algorithm B A Communication Complexity

  8. Better algorithm • A sorts his array and sends his median ( ) to B • B sorts his array and sends his median ( ) to A. • Exercise : define : r = real median b = MAX{ } s = MIN { } prove :

  9. B A Communication Complexity A sort his array and find his median B sort his array and find his median 14, 28,29,53,284,348,500 22, 35,39,67,98,253,300 Better algorithm Communication Complexity

  10. 53 67 B A Communication Complexity B send his median to A A send his median to B 14, 28,29,53,284,348,500 22, 35,39,67,98,253,300 Better algorithm Communication Complexity

  11. 4. If = then return ( = ) 5. If > then A throws top (n/2) elements B throws low (n/2) elements 6. And vice versa • We reduces the size of the problem by half 7. Back to step 1, until size of arrays = 1

  12. 14, 28,29 ,98,253,300 ,98,253,300 B A Communication Complexity 53<67 Then A throws the small half of his array 67>53 Then B throws the big half of his array ,53,284,348,500 22, 35,39,67 Better algorithm Communication Complexity

  13. 14, 28,29 ,98,253,300 ,98,253,300 B A Communication Complexity Since equal amount of members were thrown from two sides of the median So, new median not changed. ,53,284,348,500 22, 35,39,67 Better algorithm Communication Complexity

  14. 14, 28,29 ,98,253,300 ,98,253,300 B A Communication Complexity We will repeat this algorithm until the size of the array will be 1, while every loop the array is cut in half, and log n bits transferred ,53,284,348,500 22, 35,39,67 Better algorithm • Total cost is O (Log^2(n)) bits Communication Complexity

  15. Calculation of cost • Each number is O(log n) bits • Each step 2 numbers are sent • log(n) steps • Total cost is O (Log^2(n)) bits

  16. B A another improvement - A calculates his median - B calculates his median 13 18 20 25 32 13 18 20 25 32 17 22 27 31 45 Communication Complexity

  17. Two assumptions • The requested median is between the A’s median and B’s median. 13 18 20 25 32 17 22 27 31 45 The requested median between A’s and B’s median A’s median B’s median 13 17 18 20 22 2527 31 32 45 * (we have an even amount of numbers, so we choose the the 6th place of the 10 numbers)

  18. Two assumptions 2) In binary representation we divide the medians to common segment and different segment. Note: Sometimes there is no common segment, but if there is common for A’s and B’s medians then its common to the request median. Decimal binary representation 27 - 1 1 0 1 1 25 - 1 1 0 0 1 20 - 1 0 1 0 0 Common segment Different segment

  19. B A Communication Complexity After those assumptions we continue…. Every side send each bit of his median (start from MSB bit) 20 = 10100 b 27 = 1 1 0 1 1 b 1b 1b 13 18 20 25 32 13 18 20 25 32 17 22 27 31 45 Communication Complexity

  20. 20 = 10100 b 27 = 1 1 0 1 1 b 1b 1b B A Every side compares the bit he gets with the bit of his median. If equal, those bits are in the “common segment” (see slide 17) and this common to the request median then every side continue send the next bit of his median. Communication Complexity Communication Complexity

  21. 27 = 1 1 0 1 1 b 20 = 10100 b 0b 1b B A If not equal then A sees that his median is bigger, so he throws the bigger half of his array, B sees that his median is smaller then A’s median, so he throws the smaller half of his array Communication Complexity Communication Complexity

  22. 13 18 20 25 32 17 22 27 31 45 , B A • After throwing half of his array, every side calculates his new median. • Every side send bits of the new median, starting from the bit that there was different in the previous iteration ( and not from the MSB bit). • Every side continues the algorithm. Communication Complexity Communication Complexity

  23. 20 25 32 17 22 27 B A • The algorithm stops when one of two events occur. • 1) the arrays of A and B contain one element (each). • 2) all bits of the medians were sent. Communication Complexity Communication Complexity

  24. 20 25 32 17 22 27 B A • If arrays contain one element so this element is the median. • If all bits were sent so the medians are equal and this is the request median. Communication Complexity Communication Complexity

  25. Complexity of algorithm Every iteration one of this events occur Bit is send to the other sides.(log n bits can be sent from every side) The array become shorter by half. (the array can reduce by half , log n times) So, sum of bits can be sent limited by O(log n).

  26. B A Communication Complexity Communication complexity The previous subject talked about problem of finding median of array that was divided to two parts. Now we consider a new problem : Each side has a number and we want to know if the numbers are equal. ? X=Y Y X

  27. X B A Communication Complexity Communication complexity Naïve algorithm A send X to B. B compares X to Y and return yes/no X is logX bits long so cost is logX Y X

  28. B A Communication Complexity Communication complexity New random algorithm - GLOBAL CC In this algorithm we have a random number R, that can be changed and known for both sides. ? X=Y Y X

  29. B A Communication Complexity Communication complexity GLOBAL CC Lets define inner product of A and B: A[0…..n-1], B[0…..n-1] Y X

  30. B A Communication Complexity Communication complexity GLOBAL CC A: calculates (X*R)mod 2 B: calculates (Y*R)mod 2 Y X

  31. B A Communication Complexity Communication complexity GLOBAL CC If X=Y then always bX= bY If x ≠ Y then Prob(bX= bY)=1/2 bY=(Y*R)mod 2 bX=(X*R)mod 2 Y X

  32. bY bX B A Communication Complexity Communication complexity GLOBAL CC Every side sends his result (b) and compares the results. If the results are not equal so the numbers are not equal. bX=(X*R)mod 2 bY=(Y*R)mod 2 Y X

  33. B A Communication Complexity Communication complexity GLOBAL CC bY=(Y*Rnew)mod 2 bX=(X*Rnew)mod 2 We choose a new R and repeat the algorithm. We do so C times. Y X

  34. B A Communication Complexity Communication complexity GLOBAL CC If X=Y then all C times bX =bY. If X≠Y the probability that all C times bX =bY is 2-c. Y X

  35. B A Communication Complexity Communication complexity Complexity of global CC Each time every side transfers bX/Y by length of 1 bit. There are C times so every side transfers C bits. Complexity = O ( C ) Y X

  36. B A Communication Complexity Communication complexity Another random algorithm In this algorithm every side constructs a polynom from his number according to these steps: Every number consist of n bits. X[an-1, an-2,…..,a1,a0] Y[an-1, an-2,…..,a1,a0] Y X

  37. B A Communication Complexity Communication complexity Step 1: Polynom of side A will be: PolyA(T)= an-1*Tn-1+ an-2*Tn-2+…..+ a0*T0 X[an-1, an-2,…..,a1,a0] Y[bn-1, bn-2,…..,b1,b0] Y X

  38. B A Communication Complexity Communication complexity Step 1: Like side A polynom B will be: Polyb(T)= bn-1*Tn-1+ bn-2*Tn-2+…..+ b0*T0 X[an-1, an-2,…..,a1,a0] Y[bn-1, bn-2,…..,b1,b0] Y X

  39. B A Communication Complexity Communication complexity Step 2: A chooses random prime p : n2 <p < n3 A sends p to B X[an-1, an-2,…..,a1,a0] Y[bn-1, bn-2,…..,b1,b0] Y X

  40. B A Communication Complexity Communication complexity Step 3: B chooses 1≤R ≤ p-1 and calculates (polyb(R) mod p) Remind: Polyb(R)= bn-1*Rn-1+ bn-2*Rn-2+…..+ b0*R0 B sends (R, (polyb(R) mod p)) to A. Y X

  41. B A Communication Complexity Communication complexity Step 4: A calculates polya(R) mod p A compares (polya(R) mod p) with (polyb(R) mod p) Y X

  42. B A Communication Complexity Communication complexity Analysis of algorithm If polya(R)  polyb(R) Then X  Y Y X

  43. B A Communication Complexity Communication complexity Analysis of algorithm But if polya(R) = polyb(R) there is some probability that X  Y. We will calculate F: F=prob(X  Y and polya(R) = polyb(R)) Y X

  44. B A Communication Complexity Communication complexity Analysis of algorithm polya(R) = polyb)R) polya(R) - polyb)R)=0 F=prob[X  Y and polya(R) = polyb)R(]= prob[X  Y andpolya(R)-polyb)R(=0]. polya(R)-polyb)R(=0 is a polynom of degree n it has n-1 roots. Y X

  45. B A Communication Complexity Communication complexity Analysis of algorithm Because there are n-1 R’s s.t. polya(R)-polyb)R(=0. And 1<=R<=p-1. So the probability to choose one of those R’s is: (n-1)/p. Y X

  46. B A Communication Complexity Communication complexity Analysis of algorithm We saw that n2 <p < n3 So: n-1/p>(n-1)/ n21/n F=prob(X  Y and polya(R) = polyb(R))<1/n The probability of mistake is:1/n Y X

  47. B A Communication Complexity Communication complexity Analysis of algorithm Communication complexity: The sides transferred p and R only: n2 <p < n3 |p|=O(log n) And R<p So the total complexity is : O(log n) Y X

  48. B A Communication Complexity Communication complexity CC and Global CC What is the complexity relation between CC and GCC Note: CC is the last alogorithm we had seen. Y X

  49. B A Communication Complexity Communication complexity solution A and B have a deterministic Turing machine which generates (deterministically) K random r’s. (while K= ) Y X

  50. B A Communication Complexity Communication complexity solution Define R to be the chain of K’s random r’s R Y X

More Related