Download
cake cutting is and is not a piece of cake n.
Skip this Video
Loading SlideShow in 5 Seconds..
Cake Cutting is and is not a Piece of Cake PowerPoint Presentation
Download Presentation
Cake Cutting is and is not a Piece of Cake

Cake Cutting is and is not a Piece of Cake

267 Vues Download Presentation
Télécharger la présentation

Cake Cutting is and is not a Piece of Cake

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
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. I like I like 0 1 Classic Problem Definition = [0, 1] • n players wish to divide a cake • Each player p has an unknown value function Vp

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

  6. v I like x y 0 1 Classic Problem Definition = [0, 1] • n players wish to divide a cake • Each player p has an unknown value function Vp • 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

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

  8. 1/n I like 0 1 Classic Problem Definition = [0, 1] • n players wish to divide a cake • Each player p has an unknown value function Vp • Goal: Fair cut Each honest player p is guaranteed a piece of value at least 1/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. We did not likethat piece anyway. StopI’ll take it. 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 • Moving knife considered cheating by discrete alg. • We do not consider them here.

  11. I like I like I’ll take the right. 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. My half cut is here. I am a little jealous but I am happywith the left.

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

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

  14. O(n log n) Divide and Conquer Algorithm: Even and Paz • Yp = cut(p, 0, 1/2) for p = 1 … n • m = median(y1, … , yn)

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

  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 Vp[x, y]/(1+ε) ≤ v ≤ (1+ ε) Vp[x, y] • ACut[p, ε, x, v]: returns a y such Vp[x, y]/(1+ε) ≤ v ≤ (1+ ε) Vp[x, y]

  17. Problem Variations (Approximate) failure prob O(1) vs 1/nO(1) Open: Remove contiguous requirement for randomized alg

  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. At least n/2 players require thin rich piece 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).

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

  21. Alg Adv • 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. Alg Adv ... ... ... ... ... ... • I build a complete 3-ary treewith the n pieces as leaves

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

  24. Alg Adv ½ ¼ ½ ¼ ¼ ¼ ¼ ¼ ½ ... ... ¼ ¼ ... ... ... ½ ... 1/1024 = ¼×¼×½×¼×¼×½ • Value of each piece isproduct of edge labelsin path.

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

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

  27. Alg Adv 1/2 0 1 0.4398 0.4398 • I do binary search to find0.4398 • Cut[0,0.4398]? 1/4

  28. Alg Adv ¼ ½ ¼ 1/4 2/4 0.4398 • I do binary search to find0.4398 • I fix some edge labels • Cut[0,0.4398]?

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

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

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

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

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

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

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

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

  37. Alg Adv ¼ ¼ ¼ ½ ½ ½ ½ ½ ¼ ¼ ¼ ¼ ¼ ¼ ¼ ¼ ¼ ½ • YesAfter t operationsevery path has only t known ½ labels. • Every path has  oneknown ½ label.

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

  39. Alg Adv ¼ ¼ ¼ ½ ½ ½ ½ ½ ¼ ¼ ¼ ¼ ¼ ¼ ¼ ¼ ¼ ¼ ¼ ½ ¼ ¼ ¼ ¼ ½ That is bad.To get a rich pieceI need at least 40% of the edge labels in path be ½. • YesAfter t operationsevery path has only t½ known labels.

  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. At least n/2 players require thin rich piece Deterministic Ω(nlog n) Lower Bound • Theorem: The deterministic complexity of Thin-Rich is Ω(log n). • Theorem: The deterministic complexity of cake cutting is Ω(n log n).

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

  43. Adv • 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. Rand Alg • i.e. not dynamically

  44. Adv Yao Alg RandAdv • 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. Rand Alg • I specify a distribution on value functions. • I flip coins. • Show after O(nlogn) operations Alg fails whp. • I deterministically give sequence of Eval[x,y] & Cut[x,v]operations.

  45. Alg AdvRand ½ ¼ ¼ ¼ ½ ¼ ¼ ½ ¼ ... ... ... ... ... ... • For each node, • I randomly label edges • <½,¼,¼>, <¼,½,¼>, or <¼,¼,½>

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

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

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

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

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