Dividing a Cake Fairly among n players Thomas Yeo Advisor: Prof. B. Prabhakar Network Group, Electrical Engineering Department, Stanford University
Topics 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
Different 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
Simple 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?
Simple 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?
Accomplishing 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?
Min. 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
Other 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 , , , fromlargest 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?
Other 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.
Why 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
Why 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:
Why 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.
Conclusion: 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