Presentation is loading. Please wait.

Presentation is loading. Please wait.

Cake Cutting is and is not a Piece of Cake Jeff Edmonds, York University Kirk Pruhs, University of Pittsburgh Jaisingh Solanki, York University.

Similar presentations


Presentation on theme: "Cake Cutting is and is not a Piece of Cake Jeff Edmonds, York University Kirk Pruhs, University of Pittsburgh Jaisingh Solanki, York University."— Presentation transcript:

1 Cake Cutting is and is not a Piece of Cake Jeff Edmonds, York University Kirk Pruhs, University of Pittsburgh Jaisingh Solanki, York University

2 Toronto Star

3 Informal Problem Statement Resource allocation between n self possibly deceitful players

4 Classic Problem Definition n players wish to divide a cake Each player p has an unknown value function V p 01 I like = [0, 1]

5 Classic Problem Definition n players wish to divide a cake Each player p has an unknown value function V p Allowed Operations : –Eval[p, x, y]: returns how much player p values piece/interval [x, y] 01 I like = [0, 1] xy v

6 Classic Problem Definition n players wish to divide a cake Each player p has an unknown value function V p Allowed Operations : –Eval[p, x, y]: returns how much player p values piece/interval [x, y] –Cut[p, x, v]: returns a y such Eval[p,x, y] = v 01 I like = [0, 1] y x v

7 Classic Problem Definition n players wish to divide a cake Each player p has an unknown value function V p Goal: Fair cut Each honest player p is guaranteed a piece of value at least 1 / n. 01 I like = [0, 1] 1/n1/n

8 Classic Problem Definition n players wish to divide a cake Each player p has an unknown value function V p Goal: Fair cut Each honest player p is guaranteed a piece of value at least 1 / n. 01 = [0, 1] I like 1/n1/n

9 History Originated in 1940’s school of Polish mathematics Picked up by social scientists interested in fair allocation of resources The subject of a handful of books (e.g Brams and Taylor, and Robertson and Webb) and many papers A quick Google search reveals cake cutting is used as a teaching example in many algorithms courses, e.g CMU CS 15-451 and CMU CS 15-750

10 Continuous Moving Knife Algorithm Protocol moves the knife continuously across the cake until the some player say stop. This player gets this piece. The rest of the players continue Stop I’ll take it. We did not like that piece anyway. Moving knife considered cheating by discrete alg. We do not consider them here.

11 Classic Alg: Cut and Choose (n=2) Person A cuts the cake into two pieces Person B selects one of the two pieces, and person A gets the other piece Careful. I like My half cut is here. I am a little jealous but I am happy with the left. I like I’ll take the right.

12 O(n log n) Divide and Conquer Algorithm: Even and Paz Y p = cut(p, 0, 1 / 2 ) for p = 1 … n I like My half cut is here. I like My half cut is here.

13 O(n log n) Divide and Conquer Algorithm: Even and Paz Y p = cut(p, 0, 1 / 2 ) for p = 1 … n My half cut is here. I like

14 O(n log n) Divide and Conquer Algorithm: Even and Paz Y p = cut(p, 0, 1 / 2 ) for p = 1 … n m = median(y 1, …, y n )

15 O(n log n) Divide and Conquer Algorithm: Even and Paz Y p = cut(p, 0, 1 / 2 ) for p = 1 … n m = median(y 1, …, y n ) Recurse on [0, m] with those n / 2 players p for which y p < m Recurse on [m, 1] with those n / 2 players p for which y p > m Time O(nlogn) so am happy with the left. I like so am happy with the right.

16 Problem Variations Contiguousness: Assigned pieces must be subintervals Approximate fairness: A protocol is c-fair if each player is a assured a piece that he gives a value of at least c/n Approximate queries (introduced by us?): –AEval[p, ε, x, y]: returns a value v such that V p [x, y]/(1+ε) ≤ v ≤ (1+ ε) V p [x, y] –ACut[p, ε, x, v]: returns a y such V p [x, y]/(1+ε) ≤ v ≤ (1+ ε) V p [x, y]

17 Problem Variations Deterministic vs. Randomized Exact vs. Approximate Queries Exact vs. O(1) Fairness Contiguous vs. General Pieces Complexity = number of queries Reference *Exact**O(n log n) Even and Paz 1984 **ExactContiguousΩ(n log n) Sgall and Woeginger 2003 Deterministic***Ω(n log n) Edmonds and Pruhs *Approximate**Ω(n log n) Edmonds and Pruhs RandomizedExactApproximateGeneralO(n) Edmonds and Pruhs Edmonds and Solanki (Approximate) Open: Remove contiguous requirement for randomized alg failure prob O(1) vs 1/n O(1)

18 Outline Deterministic Ω(n log n) Lower Bound –Definition of Thin-Rich Problem –Ω(log n) lower bound for Thin-Rich Randomized with Approximate Cuts Ω(n log n) Lower Bound Randomized with Exact Cuts O(n) Upper Bound

19 Thin-Rich Game Game Definition: Single player must find a thin rich piece. –A piece is thin if it has width ≤ 2 / n –A piece is rich if it has value ≥ 1 / 2n Theorem: The deterministic complexity of Thin-Rich is Ω(log n). Theorem: The deterministic complexity of cake cutting is Ω(nlog n). –At least n / 2 players require thin rich piece

20 Adv I give sequence of Eval[x,y] & Cut[x,v] operations. Oh! I dynamically choose how to answer and the value function so after O(logn) operations Alg cant find a thin rich piece. Alg

21 Adv Alg I can choose any non-continuous thin piece, but W.L.G. I choose one of these. I cut the cake in to n thin pieces.

22 Adv Alg I build a complete 3-ary tree with the n pieces as leaves...

23 Adv Alg For each node, I label edges or ½ ¼ ¼ ½ ¼ ¼...

24 Adv Alg Value of each piece is product of edge labels in path. ½ ¼ ¼ ½ ¼ ¼... ½ ¼ ¼ ¼ ¼ ½ 1 / 1024 = ¼×¼×½×¼×¼×½

25 Adv Alg ½ ¼ ¼ ½ ¼ ¼... ½ ½ ¼ ¼ ¼ ½ To get a rich piece I need at least 40% of the edge labels in path be ½. Good luck 1 / 256 = ½×¼×½×¼×¼×½

26 Adv Alg Cut[0,0.4398]? I need to find a y so that V[0,y] = 0.4398. y0 0.4398

27 Adv Alg Cut[0,0.4398]? 1/41/4 0 1/21/2 1 I do binary search to find 0.4398 0.4398

28 Adv Alg Cut[0,0.4398]? ½ ¼ ¼ 1/41/4 2/42/4 0.4398 I do binary search to find 0.4398 I fix some edge labels

29 Adv Alg Cut[0,0.4398]? ½ ¼ ¼ 1/41/4 2/42/4 4 / 16 6 / 16 7 / 16 8 / 16 0.4398 I do binary search to find 0.4398 I fix some edge labels

30 Adv Alg Cut[0,0.4398]? ½ ¼ ¼ ¼ ½ ¼ 7 / 16 0.4398 8 / 16 I do binary search to find 0.4398 I fix some edge labels

31 Adv Alg Cut[0,0.4398]? ½ ¼ ¼ ¼ ½ ¼ ½ ¼ ¼ 28 / 64 29 / 64 0.4398 I do binary search to find 0.4398 I fix some edge labels

32 Adv Alg Cut[0,0.4398]? ½ ¼ ¼ ¼ ½ ¼ ½ ¼ ¼ ½ ¼ ¼ 0.4398 112 / 256 113 / 256 I do binary search to find 0.4398 I fix some edge labels

33 Adv Alg Cut[0,0.4398]? ½ ¼ ¼ ¼ ½ ¼ ½ ¼ ¼ ½ ¼ ¼ ¼ ½ ¼ 450 / 1024 451 / 1024 0.4398 I do binary search to find 0.4398 I fix some edge labels

34 Adv Alg Cut[0,0.4398]? ½ ¼ ¼ ¼ ½ ¼ ½ ¼ ¼ ½ ¼ ¼ ¼ ½ ¼ ¼ ½ ¼ 0.4398 1800 / 4096 1801 / 4096 I do binary search to find 0.4398 I fix some edge labels

35 Adv Alg Cut[0,0.4398]? ½ ¼ ¼ ¼ ½ ¼ ½ ¼ ¼ ½ ¼ ¼ ¼ ½ ¼ ¼ ½ ¼ 0.4398 I find a y so that V[0,y] = 0.4398. y

36 Adv Alg I learned a path, but all its labels are ¼ ½ ¼ ¼ ¼ ½ ¼ ½ ¼ ¼ ½ ¼ ¼ ¼ ½ ¼ ¼ ½ ¼ Hee

37 Adv Alg ½ ¼ ¼ ¼ ½ ¼ ½ ¼ ¼ ½ ¼ ¼ ¼ ½ ¼ ¼ ½ ¼ Every path has  one known ½ label. Yes After t operations every path has only  t known ½ labels.

38 Adv Alg ½ ¼ ¼ ¼ ½ ¼ ½ ¼ ¼ ½ ¼ ¼ ¼ ½ ¼ ¼ ½ ¼ Eval[x,y] ¼ ¼ ¼ ¼ ¼ ¼ x y I fix labels in path to x & y to ¼. and give Eval[x,y] = 0.00928 0.00928

39 Adv Alg ½ ¼ ¼ ¼ ½ ¼ ½ ¼ ¼ ½ ¼ ¼ ¼ ½ ¼ ¼ ½ ¼ ¼ ¼ ¼ ¼ ¼ ¼ ½ Yes After t operations every path has only  t ½ known labels. That is bad. To get a rich piece I need at least 40% of the edge labels in path be ½.

40 Deterministic Ω(log n) Lower Bound Theorem: To win at Thin-Rich, the alg has to get a rich piece with at least 40% of the edge labels in path be ½. Theorem: After t operations, every path has only  t ½ labels. Theorem: The deterministic complexity of Thin-Rich is Ω(depth) =Ω(log n)

41 Theorem: The deterministic complexity of Thin-Rich is Ω(log n). Theorem: The deterministic complexity of cake cutting is Ω(n log n). –At least n / 2 players require thin rich piece Deterministic Ω(nlog n) Lower Bound

42 Outline Deterministic Ω(n log n) Lower Bound Randomized with Approximate Cuts Ω(n log n) Lower Bound Randomized with Exact Cuts O(n) Upper Bound Done RandomizedApproximate Cuts

43 Adv Rand Alg I define a randomized algorithm I must choose the value functions Show after O(nlogn) operations Alg fails whp. I flip coins to give sequence of Eval[x,y] & Cut[x,v] operations. i.e. not dynamically

44 Adv Rand Alg I define a randomized algorithm I flip coins to give sequence of Eval[x,y] & Cut[x,v] operations. I deterministically give sequence of Eval[x,y] & Cut[x,v] operations. I specify a distribution on value functions. I flip coins. Show after O(nlogn) operations Alg fails whp. Rand Adv Alg Yao I must choose the value functions Show after O(nlogn) operations Alg fails whp.

45 Adv Rand Alg ½ ¼ ¼ ½ ¼ ¼... For each node, I randomly label edges,, or ¼ ¼ ½

46 Adv Alg Consider path to x and y. Flip coins for labels. 33% of labels will be ½. ¼ ¼ ¼ ¼ ¼ ½ ¼ ¼ ¼ ¼ ¼ ½ ½ ¼ ½ ½ Eval[x,y] But I need 40%! x y ½ ¼

47 Adv Alg I flip coins for path to x’ and get 33% ½. ¼ ¼ ¼ ¼ ¼ ½ ¼ ¼ ¼ ¼ ¼ ½ ½ ¼ ½ ½ x y ½ ¼ Cut[x’,0.4398]? x’ ¼ ¼ ¼ ¼ ¼ ½ ½ ½

48 Adv Alg I do binary search for 0.4398, but for some odd reason it finds 40% ½ labels. ¼ ¼ ¼ ¼ ¼ ½ ¼ ¼ ¼ ¼ ¼ ½ ½ ¼ ½ ½ x y ½ ¼ Cut[x’,0.4398]? x’ ¼ ¼ ¼ ¼ ¼ ½ ½ ½ ½ ½ ½ ¼ ¼

49 Adv Alg Luckily I can give  error and this hides most of the labels. ¼ ¼ ¼ ¼ ¼ ½ ¼ ¼ ¼ ¼ ¼ ½ ½ ¼ ½ ½ x y ½ ¼ Cut[x’,0.4398]? x’ ¼ ¼ ¼ ¼ ¼ ½ ½ ½ ½ ½ ½ ¼ ¼

50 Outline Deterministic Ω(n log n) Lower Bound Randomized with Approximate Cuts Ω(n log n) Lower Bound Randomized with Exact Cuts O(n) Upper Bound Done RandomizedExact Cuts Upper O(n)

51 Outline Randomized with O(n) Upper Bound –As intuition for the power of randomness, give a randomized algorithm for Thin-Rich with O(1) complexity –Describe “Balls and Bins” special case of cake cutting –Give “random graph” proof of “Balls and Bins” case –Give the flavor of the “random graph” proof for Cake Cutting –Decrease failure probability

52 Thin-Rich Game Game Definition: Single player must find a thin rich piece. –A piece is thin if it has width ≤ 3 / n –A piece is rich if it has value ≥ 1 / 3n Theorem: The deterministic complexity of Thin-Rich is Ω(log n). Theorem: The randomized complexity of Thin-Rich is O(1). Must make sure the player’s thin pieces don’t over lap too much.

53 1.Pick an i uniformly at random from 1 … 3n 2.x = Cut[0, (i-1) / 3n ] 3.y = Cut[ 0, i / 3n ] 4.Return [x,y] value = 1 / 3n (ie rich) Exp(width) = 1 / 3n << 3 / n (ie thin) O(1) Complexity Randomized Protocol for Thin-Rich i x= (i-1) / 3n y= i / 3n 3n Candidate Pieces

54 Randomized Protocol for Cake Cutting Protocol Description: Each player randomly selects 8 candidate pieces. For each player, we carefully pick one of these

55 Randomized Protocol for Cake Cutting Protocol Description: Each player randomly selects 8 candidate pieces. For each player, we carefully pick one of these –so that every point of cake is covered by at most O(1) pieces. Where there is overlap, recurs. Fails with probability 0(1). 1/n O(1). O(1)

56 Two Random Choices: n balls, 3n bins each ball randomly chooses two bins. # Hits: Whp no bin has more than O(logn) balls. Choice: Select one of two bins for each ball. Online: Whp no bin has more than O(loglogn) balls. Balls and Bins

57 Two Random Choices: n balls, 3n bins each ball randomly chooses two bins. # Hits: Whp no bin has more than O(logn) balls. Choice: Select one of two bins for each ball. Online: Whp no bin has more than O(loglogn) balls. O(loglogn) balls per bin Balls and Bins

58 Two Random Choices: n balls, 3n bins each ball randomly chooses two bins. # Hits: Whp no bin has more than O(logn) balls. Choice: Select one of two bins for each ball. Online: Whp no bin has more than O(loglogn) balls. Offline: Whp no bin has more than O(1) balls. O(1) balls per bin Balls and Bins

59 Consider a graph G –Vertices = bins –One edge for each ball connecting the corresponding vertices –Important: Edges are independent Lemma: If G is acyclic then the maximum load is 1 Proof on Offline: O(1)-Balls

60 Classic Theorem: If a graph G has n/3 independent edges, then G is acyclic with  prob. Proof: Prob[G contains a cycle C] ≤ Σ C Prob[C is in the graph] ~ Σ i (n choose i) * (1/3n) i =  (1). Proof on Offline: O(1)-Balls

61 Cake Protocol  Ball & Bin Game Same if Each player has uniform value on cake, so all candidate pieces are the same. Each player randomly selects 2 (or 8) candidate pieces. For each player, pick one of these. O(1) over lap = O(1) balls per bin

62 Cake Protocol  Ball & Bin Game Different if Different cake values can make strangely overlapping candidate pieces. I like

63 Cake Protocol  Ball & Bin Game Different if Different cake values can make strangely overlapping candidate pieces.

64 Cake Protocol  Ball & Bin Game Different if Different cake values can make strangely overlapping candidate pieces.

65 Directed Graph for Cake Cutting (choose 2 not 8 candidate peices) Vertex If take Can’t take Must take

66 One Difficulty Theorem: Sufficient Condition If there is not directed path between the two pieces of the same person then maximum load is at most 1 If take Must take

67 Another Difficulty: Edges May Not be Independent Vertex Theorem: If we select 8 candidate pieces and narrow these down to 2, then likely, there are not many dependent edges.

68 Example: Too many Vees If independent, Exp(# of Vees) = n 3 × 1 / n × 1 / n =  (n) Choose 2 candidate pieces Exp(# of Vees) = n 3 × 1 / n × 1 =  (n 2 ) Vee

69 Example: Too many Vees Choose 2 candidate pieces Exp(# of Vees) = n 3 × 1 / n × 1 =  (n 2 ) n/2n/2 n/2n/2 Vee

70 Example: Too many Vees Choose 2 candidate pieces Exp(# of Vees) = n 3 × 1 / n × 1 =  (n 2 ) Choose 8 candidate pieces Exp(# of Vees) = … =  (n) n/2n/2 n/2n/2 and narrow these down to 2 Vee

71 Too many Self Paths Independent If independent, Exp(# of self paths) = like in balls & bins =  (1) Choose 2 candidate pieces Exp(# of self paths) =  (n) Choose 8 candidate pieces and narrow these down to 2 Exp(# of self paths) = … =  (1) Vee Prob(none)   (1)

72 Theorem: With O(1) probability, there is not directed path between the two pieces of the same person Conclusions For each player, can pick one of these 8. so that every point of cake is covered by at most O(1) pieces. Where there is overlap, recurs.

73 Problem Variations Deterministic vs. Randomized Exact vs. Approximate Queries Exact vs. O(1) Fairness Contiguous vs. General Pieces Complexity = number of queries Reference *Exact**O(n log n) Even and Paz 1984 **ExactContiguousΩ(n log n) Sgall and Woeginger 2003 Deterministic***Ω(n log n) Edmonds and Pruhs *Approximate**Ω(n log n) Edmonds and Pruhs RandomizedExactApproximateGeneralO(n) Edmonds and Pruhs Edmonds and Solanki (Approximate) failure prob  (1) vs 1/n  (1) A piece of cake.

74 Theorem: With O(1/n) probability, there is not directed path between the two pieces of player P i. If so P i is “bad”. Conclusions Run the algorithm twice, independently. Each player stays in one run in which it is “good”. Pr[P i is bad in both runs] = O(1/n 2 ) Pr[Some player is bad in both runs] = n × O(1/n 2 )

75 Conclusions For each run, each of its good players can pick one of these 8 so that every point of cake is covered by at most O(1) pieces. Run 1 Run 2 Theorem: With O(1/n) probability, each run has no bad directed paths. Where there is overlap, recurs.

76 Conclusions Theorem: Alg fails with prob O(1/n). Theorem: Alg fails k times with prob O(1/n k ). Repeat k times.

77 Outline Deterministic Ω(n log n) Lower Bound Randomized with Approximate Cuts Ω(n log n) Lower Bound Randomized with Exact Cuts O(n) Upper Bound Done Skipped Done A piece of cake.

78 Future Directions Determine whether randomization makes sense with cheaters The complexity of several variations of fair division is still not completely nailed down Complexity of envy free division is quite wide open –Exponential difference in upper and lower bounds –Current project

79 End

80 Informal Problem Statement Resource allocation between n self-interested players

81 Adv Rand Alg I flip coins to give sequence of Eval[x,y] & Cut[x,v] operations. I dynamically choose error in answers so after O(nlogn) operations Alg fails whp.

82 Adv Rand Alg I deterministically give sequence of Eval[x,y] & Cut[x,v] operations. I flip coins to choose value function. I dynamically choose error in answers so after O(nlogn) operations Alg fails whp. Rand Adv Alg Yao I flip coins to give sequence of Eval[x,y] & Cut[x,v] operations. I dynamically choose error in answers so after O(nlogn) operations Alg fails whp.

83 O(1) Complexity Randomized Protocol for Thin-Rich For i=0…n, x i = Cut[0, i / n ], Cuts cake into n “candidate” pieces. Each piece has value 1 / n for player. Different widths, but average is 1 / n. We will choose a random one for player. It is likely has width  2 / n. i.e. thin and rich. Constant time?

84 Example: Too many Vees Exp(# of Vees) = n 3 × 1 / n × 1/n =  (n) n/2n/2 Exp(# of Vees) =  (1) ×  (n 2 ) n/2n/2

85 Example: Too many Vees If independent, Exp(# of Vees) = n 3 × 1 / n × 1/n =  (n)

86 Another Difficulty: Forks Fork of depth 3 Theorem: If we select 2d candidate pieces and narrow these down to 2, then likely, there are none of these.


Download ppt "Cake Cutting is and is not a Piece of Cake Jeff Edmonds, York University Kirk Pruhs, University of Pittsburgh Jaisingh Solanki, York University."

Similar presentations


Ads by Google