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 Fair portion : th of cake
The problem is interesting when people have different preferences Meg Prefers Yellow Fish Tom Prefers Cat Fish Example:
Meg Prefers Yellow Fish Tom Prefers Cat Fish CUT Meg’s PieceTom’s Piece Happy
Meg Prefers Yellow Fish Tom Prefers Cat Fish CUT Tom’s PieceMeg’s Piece Unhappy
The cake represents some resource: Property which will be shared or divided The Bandwidth of a communication line Time sharing of a multiprocessor
Fair Cake-Cutting Algorithms: Specify how each user cuts the cake Each user gets what she considers to be th of the cake The algorithm doesn’t need to know the user’s preferences
For users it is known how to divide the cake fairly with cuts It is not known if we can do better than cuts Steinhaus 1948: “The problem of fair division”
We show that cuts are required for the following classes of algorithms: Phased Algorithms Labeled Algorithms (many algorithms) (all known algorithms) Our contribution:
We show that cuts are required for special cases of envy-free algorithms: Each user feels she gets more than the other users Our contribution:
Cake Cutting Algorithms Lower Bound for Phased Algorithms Lower Bound for Labeled Algorithms Lower Bound for Envy-Free Algorithms Conclusions Talk Outline
Cake knife
Cake knife cut
Utility Function for user Cake
Value of piece:
Cake Value of piece:
Cake Utility Density Function for user
“I cut you choose” Step 1:User 1 cuts at Step 2:User 2 chooses a piece
“I cut you choose” Step 1:User 1 cuts at
“I cut you choose” Step 2:User 2 chooses a piece User 2
“I cut you choose” User 2User 1 Both users get at least of the cake Both are happy
Algorithm users Phase 1: Each user cuts at
Algorithm users Phase 1: Each user cuts at
Algorithm users Phase 1: Give the leftmost piece to the respective user
Algorithm users Phase 2: Each user cuts at
Algorithm users Phase 2: Each user cuts at
Algorithm users Phase 2: Give the leftmost piece to the respective user
Algorithm users Phase 3: Each user cuts at And so on…
Algorithm Total number of phases: Total number of cuts:
Algorithm users Phase 1: Each user cuts at
Algorithm users Phase 1: Each user cuts at
Algorithm users Phase 1: Find middle cut users
Algorithm users Phase 2: Each user cuts at
Algorithm users Phase 2: Each user cuts at
Algorithm Phase 2: Find middle cut users
Algorithm users Phase 3: Each user cuts at And so on…
Algorithm Phase log N: user The user is assigned the piece
Algorithm Total number of phases: Total number of cuts:
Cake Cutting Algorithms Lower Bound for Phased Algorithms Lower Bound for Labeled Algorithms Lower Bound for Envy-Free Algorithms Conclusions Talk Outline
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
Observation: Algorithms and are phased
We show: cuts are required to assign positive valued pieces
Phase 1:Each user cuts according to some ratio 1111
There exist utility functions such that the cuts overlap 1
Phase 2:Each user cuts according to some ratio 22221
There exist utility functions such that the cuts in each piece overlap 122
122 Phase 3: 3333 number of pieces at most are doubled And so on…
Phase k:Number of pieces at most
For users: we need at least pieces we need at least phases
PhaseUsersPiecesCuts (min) (max) (min) …… Total Cuts:
Cake Cutting Algorithms Lower Bound for Phased Algorithms Lower Bound for Labeled Algorithms Lower Bound for Envy-Free Algorithms Conclusions Talk Outline
Labels: each piece has a labelLabeled algorithms:
Labels: Labeling Tree:
Sorting Labels Users receive pieces in arbitrary order: We would like to sort the pieces:
Sorting Labels Labels will help to sort the pieces
Sorting Labels Normalize the labels
Sorting Labels
Sorting Labels
Sorting Labels
Sorting Labels
Sorting Labels
Sorting Labels Labels and pieces are ordered!
Sorting Labels Time needed:
linearly-labeled & comparison-bounded algorithms: Require comparisons (including handling and sorting labels)
Conjecture:All known algorithms are linearly-labeled & comparison-bounded Observation:Algorithms and are linearly-labeled & comparison-bounded
We will show that cuts are needed for linearly-labeled & comparison-bounded algorithms
distinct positive integers: Sorted order: Reduction of Sorting to Cake Cutting Input: Output: Using a cake-cutting algorithm
distinct positive integers: utility functions: users:
Cake
cannot be satisfied!
can be satisfied!
Cake Rightmost positive valued pieces Piece:
Labels: Sorted labels: Sorted pieces: Sorted integers:
Fair cake-cutting Sorting
Sorting integers:comparisons Cake Cutting: comparisons
Linearly-labeled & comparison-bounded algorithms: Require comparisons comparisons cuts require
Cake Cutting Algorithms Lower Bound for Phased Algorithms Lower Bound for Labeled Algorithms Lower Bound for Envy-Free Algorithms Conclusions Talk Outline
Envy-free:Each user feels she gets at least as much as the other users Variations of Fair Cake-Division Strong Envy-free: Each user feels she gets strictly more Than the other users
Super Envy-free: A user feels she gets a fair portion, and every other user gets less than fair
Lower Bounds Strong Envy-free: Super Envy-free: cuts
Strong Envy-Free, Lower Bound
is upset!
Strong Envy-Free, Lower Bound is happy!
Strong Envy-Free, Lower Bound must get a piece from each of the other user’s gap
Strong Envy-Free, Lower Bound A user needs distinct pieces Total number of cuts: Total number of pieces:
Cake Cutting Algorithms Lower Bound for Phased Algorithms Lower Bound for Labeled Algorithms Lower Bound for Envy-Free Algorithms Conclusions Talk Outline
We presented new lower bounds for several classes of fair cake-cutting algorithms
Open problems: Prove or disprove that every algorithm is linearly-labeled and comp.-bounded An improved lower bound for envy-free algorithms