Title: Dividing a Cake Fairly
1Dividing a Cake Fairly
among n players
Thomas Yeo Advisor Prof. B. Prabhakar
Network Group, Electrical Engineering
Department, Stanford University
2Topics Outline
- The Different Definitions of Fairness
- Simple Fairness, Case n 2
- Simple Fairness, Case n 3, Finite Algorithm
- Simple Fairness, Case n 3, Infinite Algorithm
- Minimizing the Number of Cuts Required
- Other Criteria An Envy-Free Algorithm Example
- Why Disagreeing might be Better
- Conclusion Applicability to Real Life
3Different Definitions of Fairness
- Problem Statement Given a cake, devise a
procedure to divide it fairly among n players - Aim In this presentation, we shall try to
provide some intuitive understanding of cake
sharing algorithms. For detailed proofs, we
recommend the book by Robertson and Webb - Examples of definitions of fairness
- 1) Simple Fair Each gets at least 1/n
- 2) Strong Fair Each gets more than 1/n
- 3) Envy-Free No one thinks another has a
strictly larger piece - 4) Super Envy-Free Each thinks everyone else
gets less than 1/n - 5) Exact Everyone thinks everyone gets exactly
1/n. - Some criteria are subsets of others. For example,
Simple Fair is the weakest criterion, implied by
all the other four criteria
4Simple Fairness, case n 2
- A simple solution is
- 1) Player A cuts the cake into what he considers
to be two equal halves - 2) Player B picks one of the 2 pieces
- 3) Player A gets the remaining piece
- Why is this simple fair?
- Although both A and B are guaranteed a piece
which they consider to be at least half, would
you rather be player A or B? - Note that this algorithm is also envy-free. Why?
But, is it strong fair, super envy-free, or exact?
5Simple Fairness, n 3
- n 3 is harder than n 2, but since we know how
to do it for the latter, can we extend the
previous method inductively to n 3? - Perform the previous algorithm for 2 players.
Now, players A and B each has at least 1/2 of the
cake. - Players A and B now divide their shares into 3
equal parts. - Player C will choose 1 part from player A and 1
part from player B - Why is player C ensured at least 1/3 of the cake?
- It is fairly straight-forward to extend this
algorithm to the general n-players case. - However, this algorithm requires many cuts and
therefore generates many small pieces of cake for
everyone. Is it possible to use lesser number of
cuts?
6Accomplishing n 3 With 2 (or n-1) Cuts
- This can be accomplished by the so-called Moving
Knife Algorithm - A knife is moved continuously over the cake from
left to right. When a player thinks that the cake
on the left side of the knife is 1/3 of the whole
cake, he calls out, Stop, and gets that piece - This is repeated for the remaining 2 players. The
player who did not call out this time, will get
the piece on the right - However, this algorithm is not finite, because
the players have to make a decision at every
instance of time - In fact, it is not possible to accomplish the
task with n-1 cuts (except for the case of n
2), unless an infinite algorithm is used - What then is the minimum number of cuts that can
be attained with a finite algorithm?
7Min. Cuts for Finite Simple Fair Algorithms
- The inspiration comes from a problem commonly
encountered in programming inserting an element
into a sorted list of length L. We know that an
efficient algorithm is to recursively reduce the
size of the problem by half at each step of the
algorithm - Using this divide and conquer strategy, we can
develop a cutting algorithm with O(n) ? n x log2n
- In general, supposed the problem has been reduced
to k (assume even) players - Then all but one of the k players are told to cut
the cake into the ratio k/2. So there are in
total k-1 cuts in this iteration - The non-cutter now goes to the middle cut and
picks the side which he thinks is bigger. He then
joins the group of players ((k-2)/2 of them)
whose cuts landed on the side he picks - We now have a k/2 problem. If k is odd, only a
slight modification is required
8Other Criteria An Envy-Free Algorithm
- Because the simple fair criterion is the subset
of the other four criteria mentioned before, it
is therefore the easiest to be accomplished. - To give everyone a taste of how much harder the
other criteria are, an envy-free algorithm for 3
players is shown here (attributed to Selfridge) - Player A cuts cake into 3 equal pieces. player B
ranks pieces ?, ?, ?, from largest to smallest. - Player B trims ? from ? so that ? ? - ? ?
- Leaving ? out, the three pieces are split among
players C, B, A in that order. Player B has to
pick ? if available. Therefore B or C must have
picked ?. Call this person P1 and the other P2. - P2 now cuts ? into 3 equal pieces, and P1, player
A, P2 pick the pieces in that order. - Why does this work intuitively? Why is everyone
happy with step 3? Why is everyone happy with
step 4?
9Other Criteria Why Harder?
- As can be seen, the envy-free algorithm for 3
players is much more complicated than that of the
simple fair algorithm. - In fact, a finite bounded algorithm for the
general case has yet to be found. - Why are the other criteria so much harder to
accomplish? - Intuitively, this is because unlike the simple
fair criterion, each player not only cares about
what he gets, but also cares about what the other
players get. For example, in exact division, each
player thinks every other player has the same
piece as him. - Therefore, each player must be somehow involved
in the decision making process throughout the
algorithm. So a recursive algorithm (such as that
in divide and conquer) which reduces the problem
to a smaller size at each step by eliminating
some players will not work.
10Why Disagreeing might be Better Part 1
- Interestingly, players who have different
measures of cake size can both benefit from the
disagreement. - For example, from the simple fair algorithm
mentioned for n 2
Player A divides Cake into X1 X2 , in his
opinion
B might think X1 60 and X2 40
B takes X1 leaving A with X2
B divides X1 into 12 pieces and A takes one piece
B now has 55 and A now has 54 of the cake
11Why disagreeing might be Better Part 2
- Notice that we have just achieved super envy-free
division for n 2 - In fact super envy-free division is possible for
n players if and only if the n measures are
independent. - The following concluding example once again
illustrates how disagreement can make everyone
happier. - Consider three players A, B and C splitting a
family inheritance a car, boat and painting. - The players are told to submit their individual
valuation of the three properties, so we will get
a matrix like this
12Why disagreeing might be Better Part 3
3. Each of the three items is given to the
players who value them the most and the players
pay the difference between their valuation of the
items they receive and their fair share of the
inheritance to a common pool. Therefore
- Because 13333 8000 3667 9000, there is an
excess of 9000 and each player gets an extra
3000 beyond his valuation of a fair share. - We have achieve strong fairness.
- Why does this work? Intuitively, since the person
who values an item the most gets the item, the
other players will think that he is paying more
than he should to the pool. For example, if
player B gets the boat instead of the painting,
he would only pay 23000 14000 9000 to the
pool instead of 13333.
13Conclusion Applicability to Real Life
- While the previous example seems promising for
solving real life sharing - dispute, what might be some of the problems that
arise? - As the sharing procedure continues, people might
change their measures of the shared resource
during the procedure. - People might also disagree on what the
appropriate share should be, for example in a
territorial dispute. Player A might want 70 of
the land, while player B might want 50 of it.
This is much more difficult than the unequal
sharing problem which actually has a finite
bounded solution.
Source Cake-Cutting Algorithms by Jack Robertson
and William Webb