Cake Cutting is Not a Piece of Cake Malik Magdon-Ismail Costas Busch M. S. Krishnamoorthy Rensselaer Polytechnic Institute
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
N
N
1
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
CUTMeg’s Piece Tom’s Piece
Happy Happy
Meg Prefers
Yellow Fish
Tom Prefers
Cat Fish
CUTTom’s Piece Meg’s Piece
Unhappy 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 cakeN/1
•The algorithm doesn’t need to know
the user’s preferences
For users it is known how to divide
the cake fairly with cuts
N
)log( NNO
It is not known if we can do better
than cuts)log( NNO
Steinhaus 1948: “The problem of fair division”
We show that cuts are required
for the following classes of algorithms:
)log( NN
•Phased Algorithms
•Labeled Algorithms
(many algorithms)
(all known algorithms)
Our contribution:
We show that cuts are required
for special cases of envy-free algorithms:
)( 2N
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 iu
1
1
x
)(xf
Cake
0
1
1
1x
)( 1xf
Cake
0
Value of piece: )( 1xf
Cake
1
1
0 1x 2x
)( 1xf
)( 2xf
Value of piece: )()( 12 xfxf
Cake
10 x
)(xf
Utility Density Function for user iu
“I cut you choose”
Step 1: User 1 cuts at 2/1
Step 2: User 2 chooses a piece
“I cut you choose”
Step 1: User 1 cuts at 2/1
)(1 xf
“I cut you choose”
)(2 xf
Step 2: User 2 chooses a piece
User 2
“I cut you choose”
User 2User 1
Both users get at least of the cake 2/1
Both are happy
Algorithm A
N users
Phase 1: Each user cuts atN
1
Algorithm A
N users
Phase 1: Each user cuts atN
1
Algorithm A
N users
Phase 1: Give the leftmost piece to the
respective user
iu
Algorithm A
1N users
Phase 2: Each user cuts at1
1
N
iu
Algorithm A
1N users
Phase 2: Each user cuts at1
1
N
iu
Algorithm A
1N users
Phase 2:
iu
Give the leftmost piece to the
respective user
ju
Algorithm A
2N users
Phase 3: Each user cuts at2
1
N
iu ju
And so on…
Algorithm A
Total number of phases:
iu ju ku
1N
Total number of cuts:
)(1)2()1( 2NONNN
Algorithm B
N users
Phase 1: Each user cuts at2
1
Algorithm B
N users
Phase 1: Each user cuts at2
1
Algorithm B
users
Phase 1: Find middle cut
2
Nusers
2
N
Algorithm B
2
Nusers
Phase 2: Each user cuts at2
1
Algorithm B
2
Nusers
Phase 2: Each user cuts at2
1
Algorithm B
4
N
Phase 2: Find middle cut
4
Nusers
Algorithm B
4
Nusers
Phase 3: Each user cuts at2
1
And so on…
Algorithm B
Phase log N:
iu
1 user
The user is assigned the piece
Algorithm B
Total number of phases:
iu ju ku
Nlog
Total number of cuts:
)log(
log
NNONNNN
N
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
A B
We show: )log( NN cuts are required
to assign positive valued pieces
Phase 1: Each user cuts according
to some ratio
iu
irju
jrku
kr
1 1 1 1
lu
lr
iu
irju
jrku
kr
There exist utility functions
such that the cuts overlap
lu
lr
1
Phase 2: Each user cuts according
to some ratio
iu
'irju
'jrku
'kr
2 2 2 2
lu
'lr
1
iu ju ku
There exist utility functions
such that the cuts in each piece overlap
lu
12 2
'ir 'jr 'kr 'lr
12 2
Phase 3:
3 3 3 3
number of pieces
at most are doubled
And so on…
Phase k: Number of pieces at most k2
For users:N
we need at least piecesN
we need at least phasesNlog
Phase Users
1 N
Pieces Cuts
2 N
2 2N 4 2N
(min) (max) (min)
3 4N 8 4N
1log N 0 N2 0
…… …… …… ……
Total Cuts: )log( NN
Cake Cutting Algorithms
Lower Bound for Phased Algorithms
Lower Bound for Labeled Algorithms
Lower Bound for Envy-Free Algorithms
Conclusions
Talk Outline
1c2c 3c 4c
111001101000Labels:
each piece has a labelLabeled algorithms:
1c2c 3c 4c
111001101000Labels:
1c
2c
3c
4c
0 1
0 1 0 1
0 100
010 011
10 11
Labeling Tree:
{}
{}
1c
1c0 1
0 1
0 1
1c
1c0 1
00
1
00 101
2c0 1
01
2c
1c
1c0 1
00
1
00 1
2c0 1
2c
011010
3c
0 1
010 011
3c
1c2c 3c 4c
111001101000
1c
2c
0 1
0 1 0 1
0 100
010 011
10 11
4c
3c
111001101000
Sorting Labels
Users receive pieces in arbitrary order:
1p 2p 3p 4p 5p
1p2p3p 4p5p
We would like to sort the pieces:
1p 2p 3p 4p 5p
111001101000
Sorting Labels
1p 2p 3p 4p 5p
Labels will help to sort the pieces
1p2p3p 4p5p
110100011010000
Sorting Labels
1p 2p 3p 4p 5p
1p2p3p 4p5p
Normalize the labels
110100011010000
Sorting Labels
1p 2p 3p 4p 5p
0 1 2 3 4 5 6 7
1p2p3p 4p5p
cuts#2
110100011010000
Sorting Labels
1p 2p 3p 4p 5p
0 1 2 3 4 5 6 7
1p2p
3p
4p5p
011
110100011010000
Sorting Labels
1p 2p 3p 4p 5p
0 1 2 3 4 5 6 7
1p
2p 3p
4p5p
011010
110100011010000
Sorting Labels
1p 2p 3p 4p 5p
0 1 2 3 4 5 6 7
1p
2p 3p
4p
5p
011010 110
110100011010000
Sorting Labels
1p 2p 3p 4p 5p
0 1 2 3 4 5 6 7
1p 2p 3p
4p
5p
011010 110000
110100011010000
Sorting Labels
1p 2p 3p 4p 5p
0 1 2 3 4 5 6 7
1p 2p 3p 4p 5p
011010 110000 100
Labels and pieces are ordered!
110100011010000
Sorting Labels
1p 2p 3p 4p 5p
0 1 2 3 4 5 6 7
1p 2p 3p 4p 5p
011010 110000 100
Time needed: )(#cutsO
linearly-labeled &
comparison-bounded algorithms:
)(#cutsORequire comparisons
(including handling and sorting labels)
Conjecture: All known algorithms are
linearly-labeled
& comparison-bounded
Observation: Algorithms and are
linearly-labeled &
comparison-bounded
A B
We will show that cuts
are needed for
linearly-labeled & comparison-bounded
algorithms
)log( NN
N distinct positive integers: Nxxx ,,, 21
ijk xxx Sorted order:
Reduction of Sorting to Cake Cutting
Input:
Output:
Using a cake-cutting algorithm
1f 2f Nf
N distinct positive integers: Nxxx ,,, 21
utility functions:
users: 1u 2u Nu
N
N
10
if
ixN
1
iu
Cake
),1min()( zNzf ix
i
10iu
if
ju
kuijk xxx
ixN
1jxN
1
kxN
1
jf
jf
Cake
10
ik xx
iu
ku
Cake
Cake
10
iu
iu
N
1
ku cannot be satisfied!ku
ik xx
10iu
ku can be satisfied!
iuku
ku
ik xx
ipkp
ik pp
Cake
iujuku
kp jp ip
Rightmost positive valued pieces
ijk xxx
ijk ppp
Piece:
iujuku
kp
ijk xxx
Labels: kl jl il
ijk lll Sorted labels:
Sorted pieces:
Sorted integers:
ijk ppp
jp ip
Fair cake-cutting
Sorting
Sorting integers: )log( NN comparisons
Cake Cutting: )log( NN comparisons
Linearly-labeled &
comparison-bounded algorithms:
)(#cutsORequire comparisons
)log( NN comparisons
)log( NN 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:
)086.0( 2N cuts
)25.0( 2N cuts
10
iu
if
Strong Envy-Free, Lower Bound
10
ku
kf
Strong Envy-Free, Lower Bound
10
ku
Strong Envy-Free, Lower Bound
iu ju
10
ku
Strong Envy-Free, Lower Bound
iu
ku
ku is upset!
10
ku
Strong Envy-Free, Lower Bound
iu
ku
ku is happy!
Strong Envy-Free, Lower Bound
must get a piece from each
of the other user’s gap
10
ku iu ju
ku
ku
Strong Envy-Free, Lower Bound
A user needs distinct pieces )(N
Total number of cuts: )( 2N
Total number of pieces: )( 2N
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