Hi All,

We have seen already in previous post why we need a better algorithm for simple fair division. Let us see a new algorithm for simple fair division for cake-cutting.

Let’s recall our good old friends Pinku, Rinku and Chinku. Pinku can cut a piece from the cake which he values at . Pinku will pass on this piece to Rinku to scrutinize it. If Rinku values at more than then Rinku will trim the piece to such that . This piece now will be further passed on to Chinku. Chinku can either take it or leave it.

So we have three cases :

Case 1 : Chinku takes the piece passed on to him. Clearly, . Pinku and Rinku can now play “Cut and Choose”. From Pinku’s point of view , so he will be happy to play “Cut and Choose” with the remaining piece. Same argument can be given for Rinku too. Note that, Rinku may or may not trim the cake in which case . If Rinku does not trim the cake, it means she believes that the rest of the cake is worth at least .

Case 2: Chinku leaves the piece trimmed by Rinku. In this case, Chinku and Pinku will play “Cut and Choose”. As Rinku has trimmed the piece, she will be happy to take it.

Case 3: Chinku leaves the piece which was passed on to him without Rinku trimming it. In this case, Pinku will take the piece as he originally valued it at . Remaining two will happily play “Cut and Choose” because both have chosen to leave the piece as they believe it not worth from their perspective.

Let’s now go on to generalize the algorithm.

Base case : n=1, Obviously true.

Induction hypothesis : Trimming algorithm divides the cake fairly amongst contenders.

Induction step : Let first contender cut a piece which he/she values at . Other contenders one by one will be offered the piece for trimming. Let be the last person to trim the piece. Finally, this piece arrives at who can either take it or leave.

Case 1 : takes the piece. By induction the other contender successfully divide the cake. is happy because he/she received a piece which he/she values at . Rest will be happy as they value rest of the cake to be at least .

Case 2: decides to leave the piece. In which case takes the piece and by induction they all lived happily ever after :-). Here can be also.

So it seems that we are able to divide the cake fairly between contenders. But does it actually improve on number of cuts required??? In the worst case, it will so happen that everyone will decide to trim the cake. In which case number of cuts required would be . This is a far better bound as compared to .

Did we manage to solve the problem?? Well, someone said, “People are not as miserable due to their own miseries as they are miserable due to others happiness”. One can clearly see that, even though the first person gets of the cake, he might find from his point of view that someone else received a more worthy piece then he/she already has.

This gives rise to a new problem:

**Envy free cake-cutting : Divide a cake amongst people such that .**

In simple words, people want a piece which is at least as big as others. So, the constraint is not only to divide the cake fairly, but also to make sure that everybody feels that he/she has got the biggest piece. We will look into this direction in the next post.

–Saurabh Joshi

Tags: algorithms, cake-cutting algorithms, math, trimming algorithm

May 15, 2008 at 9:35 am |

[…] been ages since I have posted anything on cake-cutting. But now, I am back and as I promised in my previous post on the same topic I am posting about envy free division. We have already seen in the last post on […]