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.If there are only two partners, then the above procedure can be simplified: let Alice cut the cake to pieces equal in her eyes; let George select the most valuable pieces in his eyes, and let Alice take the remaining pieces.
This simple reduction requires a large number of cuts - cuts. 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.
Case 1: There is a subset of the marked pieces whose sum is 5. E.g., if George marks the 3-piece and 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 exactly 8/13.
Case 2: There is a subset of the unmarked pieces whose sum is 8. E.g., if George marks the 3-piece and only one 1-piece. Then, this subset is given to Alice and the remainder is given to George. Alice now has exactly 8 and George has given up a sum of less than 8, so he 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.
This example can be generalized 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
Recently, 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; 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. Here is 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.
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. This upper bound has recently been improved to 3n-4. The exact number of required cuts is still an open question.