cake
play

Cake Malik Magdon-Ismail Costas Busch M. S. Krishnamoorthy - PowerPoint PPT Presentation

Cake Cutting is Not a Piece of Cake Malik Magdon-Ismail Costas Busch M. S. Krishnamoorthy Rensselaer Polytechnic Institute users wish to share a cake N 1 th of cake Fair portion : N The problem is interesting when people have different


  1. Cake Cutting is Not a Piece of Cake Malik Magdon-Ismail Costas Busch M. S. Krishnamoorthy Rensselaer Polytechnic Institute

  2. users wish to share a cake N 1 th of cake Fair portion : N

  3. The problem is interesting when people have different preferences Example: Meg Prefers Tom Prefers Yellow Fish Cat Fish

  4. Happy Happy CUT Meg’s Piece Tom’s Piece Meg Prefers Tom Prefers Yellow Fish Cat Fish

  5. Unhappy Unhappy CUT Tom’s Piece Meg’s Piece Meg Prefers Tom Prefers Yellow Fish Cat Fish

  6. The cake represents some resource: • Property which will be shared or divided • The Bandwidth of a communication line • Time sharing of a multiprocessor

  7. Fair Cake-Cutting Algorithms: • Each user gets what she considers to be th of the cake 1 / N • Specify how each user cuts the cake •The algorithm doesn’t need to know the user’s preferences

  8. For users it is known how to divide N the cake fairly with cuts O ( N log N ) Steinhaus 1948: “The problem of fair division” It is not known if we can do better than cuts O ( N log N )

  9. Our contribution:  We show that cuts are required ( N log N ) for the following classes of algorithms: • Phased Algorithms (many algorithms) • Labeled Algorithms (all known algorithms)

  10. Our contribution: 2 We show that cuts are required  ( N ) for special cases of envy-free algorithms: Each user feels she gets more than the other users

  11. Talk Outline Cake Cutting Algorithms Lower Bound for Phased Algorithms Lower Bound for Labeled Algorithms Lower Bound for Envy-Free Algorithms Conclusions

  12. Cake knife

  13. Cake cut knife

  14. Cake 1 f ( x ) x 0 1 Utility Function for user i u

  15. Cake 1 f ( 1 x ) x 0 1 1 Value of piece: f ( 1 x )

  16. Cake 1 f ( 2 x ) f ( 1 x ) x x 0 1 1 2 Value of piece:  f ( x ) f ( x ) 2 1

  17. Cake f  ( x ) x 0 1 Utility Density Function for user i u

  18. “I cut you choose” Step 1: User 1 cuts at 1 / 2 Step 2: User 2 chooses a piece

  19. “I cut you choose” Step 1: User 1 cuts at 1 / 2 f  ( ) 1 x

  20. “I cut you choose” User 2 Step 2: User 2 chooses a piece f  ( ) 2 x

  21. “I cut you choose” User 1 User 2 Both users get at least of the cake 1 / 2 Both are happy

  22. Algorithm A N users 1 Each user cuts at Phase 1: N

  23. Algorithm A N users 1 Each user cuts at Phase 1: N

  24. Algorithm A u i N users Phase 1: Give the leftmost piece to the respective user

  25. Algorithm A u i  users N 1 1 Each user cuts at Phase 2:  N 1

  26. Algorithm A u i  users N 1 1 Each user cuts at Phase 2:  N 1

  27. Algorithm A u u i j  users N 1 Phase 2: Give the leftmost piece to the respective user

  28. Algorithm A u u i j  users N 2 1 Each user cuts at Phase 3:  N 2 And so on…

  29. Algorithm A u u u i j k Total number of phases:  N 1 Total number of cuts: 2         N ( N 1 ) ( N 2 ) 1 O ( N )

  30. Algorithm B N users 1 Each user cuts at Phase 1: 2

  31. Algorithm B N users 1 Each user cuts at Phase 1: 2

  32. Algorithm B N N users users 2 2 Find middle cut Phase 1:

  33. Algorithm B N users 2 1 Each user cuts at Phase 2: 2

  34. Algorithm B N users 2 1 Each user cuts at Phase 2: 2

  35. Algorithm B N N users 4 4 Phase 2: Find middle cut

  36. Algorithm B N users 4 1 Each user cuts at Phase 3: 2 And so on…

  37. Algorithm B u i 1 user The user is assigned the piece Phase log N:

  38. Algorithm B u u u i j k Total number of phases: log N Total number of cuts:       N N N N O ( N log N )          log N

  39. Talk Outline Cake Cutting Algorithms Lower Bound for Phased Algorithms Lower Bound for Labeled Algorithms Lower Bound for Envy-Free Algorithms Conclusions

  40. Phased algorithm: consists of a sequence of phases At each phase: Each user cuts a piece which is defined in previous phases A user may be assigned a piece in any phase

  41. Observation: Algorithms and are A B phased

  42. We show:  cuts are required ( N log N ) to assign positive valued pieces

  43. 1 1 1 1 u u u u i j k l r r r r i j k l Phase 1: Each user cuts according to some ratio

  44. 1 u u u u i j k l r r r r j k i l There exist utility functions such that the cuts overlap

  45. 2 2 1 2 2 u u u u i j k l r ' r ' r ' r ' i j k l Phase 2: Each user cuts according to some ratio

  46. 2 1 2 u u u u i j k l r ' r ' r ' r ' i j k l There exist utility functions such that the cuts in each piece overlap

  47. 3 2 3 1 3 2 3 number of pieces Phase 3: at most are doubled And so on…

  48. Phase k: Number of pieces at most k 2

  49. For users: N we need at least pieces N we need at least phases log N

  50. Phase Users Pieces Cuts (min) (min) (max) N N 2 1   2 N 2 4 N 2   3 8 N 4 N 4 …… …… …… ……  log N 1 2 0 N 0 Total Cuts:  ( N log N )

  51. Talk Outline Cake Cutting Algorithms Lower Bound for Phased Algorithms Lower Bound for Labeled Algorithms Lower Bound for Envy-Free Algorithms Conclusions

  52. Labels: 00 010 011 10 11 c c c c 2 3 1 4 Labeled algorithms: each piece has a label

  53. Labels: 00 010 011 10 11 c c c c 2 3 1 4 Labeling Tree: c 1 1 0 c c 4 1 2 0 0 1 00 10 11 c 3 0 1 010 011

  54. {} {}

  55. 0 1 c 1 c 1 1 0 1 0

  56. 00 01 1 c c 2 1 c 1 1 0 1 c 2 0 1 00 01

  57. 00 010 011 1 c c c 2 3 1 c 1 1 0 1 c 2 0 1 00 c 3 0 1 010 011

  58. 00 010 011 10 11 c c c c 2 3 1 4 c 1 1 0 c c 4 1 2 0 0 1 10 11 00 c 3 0 1 010 011

  59. Sorting Labels 00 010 011 10 11 p p p p p 1 2 3 4 5 Users receive pieces in arbitrary order: p p p p p 3 2 5 1 4 We would like to sort the pieces: p p p p p 1 2 3 4 5

  60. Sorting Labels 00 010 011 10 11 p p p p p 1 2 3 4 5 p p p p p 3 2 5 1 4 Labels will help to sort the pieces

  61. Sorting Labels 000 010 011 100 110 p p p p p 1 2 3 4 5 p p p p p 3 2 5 1 4 Normalize the labels

  62. Sorting Labels 000 010 011 100 110 p p p p p 1 2 3 4 5 p p p p p 3 2 5 1 4 0 1 2 3 4 5 6 7 # cuts 2

  63. Sorting Labels 000 010 011 100 110 p p p p p 1 2 3 4 5 p p p p 2 5 1 4 p 3 011 0 1 2 3 4 5 6 7

  64. Sorting Labels 000 010 011 100 110 p p p p p 1 2 3 4 5 p p p 5 1 4 p p 2 3 010 011 0 1 2 3 4 5 6 7

  65. Sorting Labels 000 010 011 100 110 p p p p p 1 2 3 4 5 p p 1 4 p p p 2 3 5 010 011 110 0 1 2 3 4 5 6 7

  66. Sorting Labels 000 010 011 100 110 p p p p p 1 2 3 4 5 p 4 p p p p 2 3 1 5 000 010 011 110 0 1 2 3 4 5 6 7

  67. Sorting Labels 000 010 011 100 110 p p p p p 1 2 3 4 5 Labels and pieces are ordered! p p p p p 2 3 4 1 5 000 010 011 100 110 0 1 2 3 4 5 6 7

  68. Sorting Labels 000 010 011 100 110 p p p p p 1 2 3 4 5 Time needed: O (# cuts ) p p p p p 2 3 4 1 5 000 010 011 100 110 0 1 2 3 4 5 6 7

  69. linearly-labeled & comparison-bounded algorithms: Require comparisons O (# cuts ) (including handling and sorting labels)

  70. Observation: Algorithms and are A B linearly-labeled & comparison-bounded Conjecture: All known algorithms are linearly-labeled & comparison-bounded

  71.  We will show that cuts ( N log N ) are needed for linearly-labeled & comparison-bounded algorithms

  72. Reduction of Sorting to Cake Cutting Input: N distinct positive integers:  x , x , , x 1 2 N Output:    Sorted order:  x x x k j i Using a cake-cutting algorithm

  73. N distinct positive integers:  x , x , , x 1 2 N utility functions:  f f f N 1 2 N  users: u u u N 1 2 N

  74. Cake x  i f ( z ) min( 1 , N z ) i f  i u i 0 1 1 x i N

  75. Cake f  j u k   x x x k j i f  j u j f  i u i 1 1 0 1 1 x x x k j N N i N

  76. Cake u k x  x k i u i 0 1

  77. 1 Cake N u i cannot be satisfied! u k u k x  x k i u i 0 1

  78. p p k i u u k i can be satisfied! u k u k p  p k i x  x k i u i 0 1

  79. Cake u u u k j i Piece: p p p k j i Rightmost positive valued pieces     p p p k j i     x x x k j i

Recommend


More recommend