Proportional cake-cutting with different entitlements
In the fair cake-cutting problem, the partners often have different entitlements. For example, the resource may belong to two shareholders such that Alice holds 8/13 and George holds 5/13. This leads to the criterion of weighted proportionality : there are several weights that sum up to 1, and every partner should receive at least a fraction of the resource by their own valuation.
In contrast, in the simpler proportional cake-cutting setting, the weights are equal: for all
Several algorithms can be used to find a WPR division.
Cloning
Suppose all the weights are rational numbers, with common denominator. So the weights are, with. For each player, create clones with the same value-measure. The total number of clones is. Find a proportional cake allocation among them. Finally, give each partner the pieces of his clones.Robertson and Webb show a simpler procedure for two partners: Alice cuts the cake into pieces equal in her eyes; George selects the most valuable pieces in his eyes, and Alice takes the remaining pieces.
This simple procedure requires D pieces so cuts, which may be very many. For example, if Alice is entitled to 8/13 and George is entitled to 5/13, then 13-1=12 cuts are needed in the initial partition.
The number of required queries is
Ramsey partitions
Suppose a cake has to be divided among Alice and George, Alice is entitled to 8/13 and George is entitled to 5/13. The cake can be divided as follows.- Alice cuts the cake to 6 pieces with valuation-ratios 5:3:2:1:1:1.
- George marks the pieces that have for him at least the value mentioned by Alice.
There are several combinations of the pieces that give each their due share.
Case 1: A subset of the pieces whose sum is 5 is produced if George marks the 3 piece and two of the three 1-pieces. Then this subset is given to George, and the remainder is given to Alice. George now has at least 5/13, and Alice has about 8/13.
Case 2: A subset of the pieces whose sum is 8 is produced if Alice marks the 5-sized piece and the 3-sized piece. Then, this subset is given to Alice, and the remainder is given to George. Alice now has 8/13 and George has at least 5/13.
It is possible to prove that the good cases are the only possible cases. I.e, every subset of 5:3:2:1:1:1, EITHER has a subset that sums to 5, OR its complement has a subset that sums to 8. Hence, the above algorithm always finds a WPR allocation with the given ratios. The number of cuts used is only 5.
McAvaney, Robertson and Webb generalize this idea using the concept of Ramsey partitions.
Formally: if and are positive integers, a partition of is called a Ramsey partition for the pair, if for any sub-list, either there is a sublist of which sums to, or there is a sublist of which sums to.
In the example above, and and the partition is 5:3:2:1:1:1, which is a Ramsey partition. Moreover, this is the shortest Ramsey partition in this case, so it allows us to use a small number of cuts.
Ramsey partitions always exist. Moreover, there is always a unique shortest Ramsey partition. It can be found using a simple variant of the Euclidean algorithm. The algorithm is based on the following lemma:
This lemma leads to the following recursive algorithm.
- Order the inputs such that.
- Push.
- If, then push and finish.
- If, then.
The algorithm needs at least cuts, where is the golden ratio. In most cases, this number is better than making cuts. But if, then cuts are needed, since the only Ramsey partition of the pair is a sequence with ones.
Cut-near-halves
Suppose again that Alice is entitled to 8/13 and George is entitled to 5/13. The cake can be divided as follows.- George cuts the cake to two pieces in ratios 7:6.
- Alice chooses one of the pieces, which is worth for her at least its declared value. Consider two cases:
- * Alice chooses the 7. Then, Alice is entitled to 1 more, and the remaining piece should be divided in ratio 5:1.
- * Alice chooses the 6. Then, Alice is entitled to 2 more, and the remaining piece should be divided in ratio 5:2.
- In both cases, the remaining piece is smaller and the ratio is smaller. Eventually, the ratio becomes 1:1 and the remaining cake can be divided using cut and choose.
- Order the inputs such that. Suppose Alice is entitled to and George is entitled to.
- Ask George to cut the cake to near-halves, i.e.:
- * if is even then George cuts the cake to two pieces equal in his eyes;
- * if is odd then George cuts the cake to two pieces whose valuation-ratio is in his eyes.
- At least one of the pieces is worth for Alice at least the value declared by George; give this piece to Alice.
- Suppose the piece taken by Alice is the piece with value, where. Call.
The cut-near-halves algorithm is not always optimal. For example, suppose the ratio is 7:3.
- Cut-near-halves may need at least four cuts: first, George cuts in the ratio 5:5, and Alice gets 5. Then, Alice cuts in the ratio 3:2; suppose George chooses the 2. Then, George cuts in the ratio 2:1; suppose Alice chooses the 1. Finally, they do cut-and-choose on the remainder.
- We can do better by letting George cut in the ratio 6:4. If Alice chooses the 4, then the ratio becomes 3:3 and we can use cut-and-choose immediately. If Alice chooses the 6, then the ratio becomes 3:1. Alice cuts in ratio 2:2, George chooses the 2, and we need one more step of cut-and-choose. All in all, at most three cuts are needed.
The algorithm can be generalized to n agents; the number of required queries is
Cseh and Fleiner presented an algorithm for dividing a multi-dimensional cake among any number of agents with any entitlements, in a finite number of queries. Their algorithm requires queries in the Robertson–Webb query model; thus it is more efficient than agent-cloning and cut-near-halves. They prove that this runtime complexity is optimal.
Algorithms for irrational entitlements
When the entitlements are not rational numbers, methods based on cloning cannot be used since the denominator is infinite. Shishido and Zeng presented an algorithm called mark-cut-choose, that can also handle irrational entitlements, but with an unbounded number of cuts.The algorithm of Cseh and Fleiner can also be adapted to work with irrational entitlements in a finite number of queries.
Number of required cuts
Besides the number of required queries, it is also interesting to minimize the number of required cuts, so that the division is not too much fractioned. The Shishido-Zeng algorithms yield a fair division with at most cuts, and a strongly-fair division with at most cuts.In the worst case, at least cuts might be required. Brams, Jones and Klamler show an example for n=2. A cake made of four consecutive regions has to be divided between Alice and George, whose valuations are as follows:
| Alice's value | 2 | 2 | 2 | 2 |
| George's value | 1 | 3 | 3 | 1 |
Note that the total cake value is 8 for both partners. If, then Alice is entitled to a value of at least 6. To give Alice her due share in a connected piece, we must give her either the three leftmost slices or the three rightmost slices. In both cases George receives a piece with a value of only 1, which is less than his due share of 2. To achieve a WPR division in this case, we must give George his due share in the center of the cake, where his value is relatively large, but then Alice will get two disconnected pieces.
Segal-Halevi shows that, if the cake is circular then a connected WPR division for two people is always possible; this follows from the Stromquist–Woodall theorem. By recursively applying this theorem to find exact divisions, it is possible to get a WPR division using at most cuts when n is a power of 2, and a similar number when n is general.
Crew, Narayanan and Spirkle improved this upper bound to 3n-4 using the following protocol:
- Ask each agent i to mark an x such that Vi=1/2.
- Order the agents in increasing order of their mark, breaking ties arbitrarily.
- Add the agents in the above order into a set P. Stop just before the total weight of agents in P goes above 1/2.
- The first agent that was not added to P is called t, and the set of agents after t is called Q. Now:
- * All agents in P value at least 1/2, and their total weight is at most 1/2;
- * All agents in Q value at least 1/2, and their total weight is at most 1/2;
- * Agent t values both and at exactly 1/2.
- If both P and Q are nonempty, then agent t is split between P and Q such that the total weight in each set is exactly 1/2. The cake is cut at x, and the procedure proceeds recursively. This leads to the following recurrence relation :. Adding the initial condition yields the claimed number .
- The harder case is that P is empty. This implies that the weight of t is at least 1/2, and all agents value at most 1/2. In this case, we find some y such that agent t values exactly wt, and try to partition the agents into P and Q as before. If again one of these sets is empty, then we know that all agents value at least wt. Therefore, by the intermediate value theorem, there must be a value z in for which one of the agents, which is not t, values exactly the same as t. Then, we can cut the cake at z and recurse as in the first case.