15-451 Algorithms
Fair division and cake cutting
- Setup and definitions
- 2 people
- fair cake cutting
- envy-free cake cutting
===========================================================================
(A good book on this kind of material is Brams and Taylor, "Fair Division".)
Today we'll be talking about the concept of fair division of some
collection of resources, which has many important applications in
economics and the social sciences. The metaphor we'll be using is how
to fairly divide a cake (though some of the protocols won't
necessarily so practical for actually cutting cake...).
DEFINITION: A PROTOCOL is a set of instructions for n participants.
A protocol is like an algorithm EXCEPT that the participants may choose
to not follow the protocol.
ASSUMPTIONS:
* each person has a personal value system for assigning a real,
non-negative value to each piece of cake, with entire cake having
value 1. But the cake is not necessarily uniform (may have
chocolate, vanilla, frosting, etc) and some parts of the cake (eg
chocolate) may be more valuable to one person than another.
* value is a measure: if a cake is divided into a finite number of
pieces, then for any person, the sum of the values of all the
pieces of cake equals 1.
* Each person has a steady hand and can cut a cake exactly as he
chooses to cut it. Mathematically: take a piece of cake with
value v. For any real number x, 0 < x < 1, a person can divide it
into 2 pieces having values xv and (1-x)v respectively.
* each person follows *observable* aspects of the protocol. For
example, if the protocol calls for Alice to cut the cake into 3
pieces of equal value to her, she will indeed divide it into 3
pieces, not 2 or 4. However, the pieces may not have equal value
to her (in which case she is not following protocol). So, e.g.,
not going to worry about someone stealing the entire cake in the
middle of the protocol...
DEFINITION: A cake cutting protocol is FAIR if each participant who
follows protocol is guaranteed to receive at least 1/n of the cake
according to his/her own personal value system.
[Note: it's possible for every person to have *more* than 1/n of the
cake - how??]
DEFINITION: A cake cutting protocol is ENVY-FREE if each participant
who follows protocol is guaranteed to receive at least as much cake by
his/her measure as any other participant.
2-people
========
Say we have two people, Alice and Bob. If we have Alice cut and give
Bob a piece, is that a fair protocol? No. What would be better?
The standard 2-person protocol is fair and envy-free:
Alice: cut cake into two equal pieces (equal to her)
Bob: choose the piece of greater value (value to him)
If Alice follows protocol, she will divide the cake into two pieces of
equal value to her. Suppose it turns out that the two pieces are
worth 1/3 and 2/3 to Bob. If Bob follows protocol, he will get the
piece worth 2/3 by his measure. If he does not follow protocol, he
may or may not get the bigger piece (by his measure).
Notice that ENVY-FREE => FAIR (why?) but not the other way around
(can anyone see an example? You'll need at least 3 players).
=======================================================================
Fair division for n players
===========================
Can we design a protocol that's fair for n > 2 players? Let's think
about 3 players. What if Alice splits, then Bob chooses one for himself,
then Charlie chooses one for himself, and then Alice gets what's
left. Is this fair? Ans: no.
Here's a better way.
Method 1 (continuous protocol)
-----------------------------
A knife is slowly swept across the cake. When the portion size
reaches 1/n according to your own value system, raise your hand.
First person to raise their hand gets the piece of cake (break ties
arbitrarily).
Why is this fair? (anyone who gets cake before you gets at most
1/n value according to you, so there's always at least 1/n left)
Is it envy-free? No.
One problem with above protocol is the sweeping knife requires
continuous time. But we can also make a discrete version of it.
Method 2 (discrete protocol)
---------------------------
1. Have first person cut piece P of value 1/n (value to himself).
2. Go through rest of people one at a time. When it's your turn, if P
has value > 1/n to you, trim it to value exactly 1/n.
3. The last person to trim P gets it (if nobody did, then person 1
gets it).
Then repeat with the remainder.
Why is this fair? Only way someone else can get P is if its value is
less than 1/n to you. (And, you're never forced to take P if its
value is < 1/n)
(Hint for actual cake: just make marks in the icing, don't actually
cut cake until step 3).
================================================================
Envy-free cake cutting is much harder. For general n, best known is
envy-free procedure in asymptotic sense (can get envy < epsilon for
any epsilon > 0 as # cuts goes to infinity). We will focus on n=3,
where you can get it exactly.
3-person envy-free cake-cutting (by Selfridge and Conway)
---------------------------------------------------------
Let's call the three people Alice, Bob, and Charlie. We're going to
do this in two stages. First, let's create an envy-free division in
which we have some extra "trimmings". Once we have that, we can then
figure out a way to divide the trimmings so that this remains
envy-free.
First stage - Divide cake with trimmings
Start by having Alice divide the cake in thirds (by her measure).
Then have Bob trim the largest piece so that it's now (to him) equal
in value to the second largest. Let's call this piece "T" (for
"trimmed"). We'll deal with the part taken off later -- put it
aside for now.
Now we have players go in order Charlie, Bob, Alice picking the slice
they like best but with the condition that Bob must pick slice T if
Charlie didn't take it already.
Claim: the first state is envy free.
Proof: It is envy-free to Charlie since he picks first. It is
envy-free to Bob since he has two equally-favorite pieces, one of
which is B. And it is envy-free to Alice since she split things
equally in the first place, so the only slice she might not want is T,
but the protocol guarantees she doesn't have to take it.
Second stage - Deal with trimmings
So you might think that now we're just back at our original problem.
However, we have one key new property that we can exploit - Alice will
remain envy-free regardless of the amount of cake that we give to the
person who received piece T (since she originally cut the cake into
equal thirds). However, she might envy the person who didn't get T,
so we can't just forget about her.
Now, whichever of Bob or Charlie *didn't* get T cuts the trimmings
into thirds. The other of them (the one who *did* get T) chooses
first, then Alice, then the person who cut goes last.
Claim: the second stage is envy free too.
Proof: It's envy free to the person who chooses first obviously. It's
also envy free to Alice since she never envies the person who got T
and she goes before the other one. Finally, it's envy-free to the
person who goes last since he did the cutting and made 3 equal pieces.
So, we're done. Note: it's critical here that values are additive, so
if you don't envy someone's stage-1 slice and you don't envy their
stage-2 slice then you don't envy their combination.
--
As a side note, there are many other types of fair division
protocols and problems. E.g., can also look at the inverse of these
problems (say if you wanted to divide chores up such that any person
got at most 1/n of the work).