n8 - CS 70 Spring 2008 Discrete Mathematics for CS David...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
CS 70 Discrete Mathematics for CS Spring 2008 David Wagner Note 8 Cake Cutting and Fair Division Algorithms The cake-cutting problem is as follows. We have a cake, to be shared among n of us, and we want to split it amongst themselves fairly. However, each person might value different portions of the cake differently. (I like flowers; you hate them. I hate icing; you prefer it.) What’s worse, everyone is greedy and will try to end up with as much cake if they can do so without noticeably deviating from the rules of the game. Nonetheless, we want some way to split the cake that everyone will agree is fair. What can we do? First, let’s try to make the problem statement more precise. We assume that each person has their own measure of the value of parts of the cake. If X is one of the participants, and S represents a portion of the cake, let m X ( S ) denote the value that X associates to S . We will assume that 0 m X ( S ) 1, that measures are scaled so that every person values the whole cake at exactly 1, and that measures are additive, so that m X ( S T ) = m X ( S )+ m X ( T ) if S , T are two disjoint pieces of the cake. Each participant knows their own measure, but not necessarily the measure of anyone else (we can’t read other people’s minds). A cake-cutting protocol specifies how each of the n participants is supposed to behave. Each participant might follow the protocol, or he might deviate from the protocol if the participant thinks he can get more cake by deviating. We assume that no participant will behave in a way that detectably deviates from the protocol (for instance, no participant will just grab the whole cake and run away with it), perhaps for fear of retribution. However, if a participant can behave in a way that appears to everyone else to follow the protocol, but actually deviates from the protocol, then a participant might well do so. We classify a participant as honest if she follows the protocol, or dishonest otherwise. Of course, there is no way for any participant to know which of the other participants may be honest or dishonest. First, we need to define what we mean by “fair.” Definition. A cake-cutting protocol for n participants is fair for X if the following property is true: If par- ticipant X follows the protocol, then X is guaranteed to receive at least 1 / n -th of the cake (by X ’s measure), no matter what happens. A cake-cutting protocol is fair if it is fair for every participant. In general, we will try to ensure that honest participants receive their just desserts; but dishonest participants are not promised anything. In other words, a fair cake-cutting protocol is supposed to ensure that each honest participant receives a piece of the cake that he thinks is worth at least 1 / n , by his own measure. Here is a simple and classic protocol for splitting a cake between
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 04/09/2008 for the course CS 70 taught by Professor Papadimitrou during the Spring '08 term at Berkeley.

Page1 / 5

n8 - CS 70 Spring 2008 Discrete Mathematics for CS David...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online