1 / 86

Cake Cutting is and is not a Piece of Cake

This article explores the classic problem of dividing a cake among multiple players fairly, with unknown value functions and different cutting algorithms. It also discusses variations and their complexities, such as approximate fairness and failure probabilities.

wheelerj
Download Presentation

Cake Cutting is and is not a Piece of Cake

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

More Related