Lecture 1

We examine a sharing problem: given n people and some object (call it a "cake") to even distribute among these people, we wish to invent some way of sharing the cake "fairly." For n=2 this is a familiar problem with a familiar solution: the first person cuts and the second person chooses which half he wants.

We define a "fair" protocol as follows: if person i follows the protocol (i.e. does what he is supposed to do according to the rules of the protocol) then person i is guaranteed at least 1/n of the cake.

Note that the above definition does not state what happens if person i does not follow the protocol (if he does not follow it, he is not guaranteed anything).

Another loose end is this: what does it mean to not follow the protocol? For example, can person i just take all the cake and run out the door? That wouldn't make for a very interesting problem! So we will define, as the protocols are given, what kind of cheating is allowed.

Here is the n=2 protocol:

(1) Person 1 cuts the cake in +half+

(2) Person 2 selects the +largest+ slice

(3) Person 1 takes the remaining slice

The plus marks surround the words where the person may cheat (i.e. not follow the protocol). So for example person 1 might cut the cake unevenly, or person might not select the largest piece.

Is the above protocol fair? Yes. If person one cuts unevenly, but person 2 follows the protocol, person 2 gets at least 1/2. If person one cuts evenly, then person one gets at least 1/2.

Can we extend the above to arbitrarily large n and retain fairness?

PROTOCOL A:

(1) Person 1 cuts the cake into n +equal+ slices

(2) Persons 2 through n select the +largest+ piece available

(3) Person 1 takes the slice that's left over

This protocol is not fair. For n=3, person one might cut the cake into 1/2, 1/4, 1/4, and then person 2 might select the 1/2, but then person three is stuck with a 1/4-sized piece even though he did exactly what he was supposed to do. Since person three did not get at least 1/3 of the cake, the protocol is unfair.

Let's hack the above by adding another step at the end:

PROTOCOL B:

(1) Person 1 cuts the cake into n +equal+ slices

(2) Persons 2 through n select the +largest+ piece available

(3) Person 1 takes the slice that's left over

(4) Players 2 through n smoosh their pieces together and recursively apply PROTOCOL B amongst themselves. (The base-case of the recursion is to apply the known-fair n=2 protocol described above.)

Is protocol B fair? This was left as a homework exercise.