Cake Malik Magdon-Ismail Costas Busch M. S. Krishnamoorthy - - PowerPoint PPT Presentation

cake
SMART_READER_LITE
LIVE PREVIEW

Cake Malik Magdon-Ismail Costas Busch M. S. Krishnamoorthy - - PowerPoint PPT Presentation

Cake Cutting is Not a Piece of Cake Malik Magdon-Ismail Costas Busch M. S. Krishnamoorthy Rensselaer Polytechnic Institute users wish to share a cake N 1 th of cake Fair portion : N The problem is interesting when people have different


slide-1
SLIDE 1

Cake Cutting is Not a Piece of Cake

Malik Magdon-Ismail Costas Busch

  • M. S. Krishnamoorthy

Rensselaer Polytechnic Institute

slide-2
SLIDE 2

users wish to share a cake Fair portion :

th of cake

N

N 1

slide-3
SLIDE 3

The problem is interesting when people have different preferences Meg Prefers Yellow Fish Tom Prefers Cat Fish Example:

slide-4
SLIDE 4

Meg Prefers Yellow Fish Tom Prefers Cat Fish CUT Meg’s Piece Tom’s Piece Happy Happy

slide-5
SLIDE 5

Meg Prefers Yellow Fish Tom Prefers Cat Fish CUT Tom’s Piece Meg’s Piece Unhappy Unhappy

slide-6
SLIDE 6

The cake represents some resource:

  • Property which will be shared or divided
  • The Bandwidth of a communication line
  • Time sharing of a multiprocessor
slide-7
SLIDE 7

Fair Cake-Cutting Algorithms:

  • Specify how each user cuts the cake
  • Each user gets what she considers

to be th of the cake N / 1

  • The algorithm doesn’t need to know

the user’s preferences

slide-8
SLIDE 8

For users it is known how to divide the cake fairly with cuts

N ) log ( N N O

It is not known if we can do better than cuts

) log ( N N O

Steinhaus 1948: “The problem of fair division”

slide-9
SLIDE 9

We show that cuts are required for the following classes of algorithms:

) log ( N N 

  • Phased Algorithms
  • Labeled Algorithms

(many algorithms) (all known algorithms)

Our contribution:

slide-10
SLIDE 10

We show that cuts are required for special cases of envy-free algorithms:

) (

2

N 

Each user feels she gets more than the other users

Our contribution:

slide-11
SLIDE 11

Cake Cutting Algorithms Lower Bound for Phased Algorithms Lower Bound for Labeled Algorithms Lower Bound for Envy-Free Algorithms Conclusions

Talk Outline

slide-12
SLIDE 12

Cake knife

slide-13
SLIDE 13

Cake knife cut

slide-14
SLIDE 14

Utility Function for user i

u

1 1

x ) (x f

Cake

slide-15
SLIDE 15

1 1

1

x ) ( 1 x f

Cake Value of piece:

) ( 1 x f

slide-16
SLIDE 16

Cake

1 1

1

x

2

x

) ( 1 x f ) ( 2 x f

Value of piece:

) ( ) (

1 2

x f x f 

slide-17
SLIDE 17

Cake

1

x ) (x f 

Utility Density Function for user i

u

slide-18
SLIDE 18

“I cut you choose” Step 1: User 1 cuts at

2 / 1

Step 2: User 2 chooses a piece

slide-19
SLIDE 19

“I cut you choose” Step 1: User 1 cuts at

2 / 1 ) (

1 x

f 

slide-20
SLIDE 20

“I cut you choose”

) (

2 x

f 

Step 2: User 2 chooses a piece User 2

slide-21
SLIDE 21

“I cut you choose” User 2 User 1 Both users get at least of the cake

2 / 1

Both are happy

slide-22
SLIDE 22

Algorithm A

N users

Phase 1: Each user cuts at

N 1

slide-23
SLIDE 23

Algorithm A

N users

Phase 1: Each user cuts at

N 1

slide-24
SLIDE 24

Algorithm A

N users

Phase 1: Give the leftmost piece to the respective user

i

u

slide-25
SLIDE 25

Algorithm A

1  N

users Phase 2: Each user cuts at

1 1  N

i

u

slide-26
SLIDE 26

Algorithm A

1  N

users Phase 2: Each user cuts at

1 1  N

i

u

slide-27
SLIDE 27

Algorithm A

1  N

users Phase 2:

i

u

Give the leftmost piece to the respective user

j

u

slide-28
SLIDE 28

Algorithm A

2  N

users Phase 3: Each user cuts at

2 1  N

i

u

j

u

And so on…

slide-29
SLIDE 29

Algorithm A Total number of phases:

i

u

j

u

k

u 1  N

Total number of cuts:

) ( 1 ) 2 ( ) 1 (

2

N O N N N        

slide-30
SLIDE 30

Algorithm B

N users

Phase 1: Each user cuts at

2 1

slide-31
SLIDE 31

Algorithm B

N users

Phase 1: Each user cuts at

2 1

slide-32
SLIDE 32

Algorithm B users Phase 1: Find middle cut

2 N

users

2 N

slide-33
SLIDE 33

Algorithm B

2 N users

Phase 2: Each user cuts at

2 1

slide-34
SLIDE 34

Algorithm B

2 N users

Phase 2: Each user cuts at

2 1

slide-35
SLIDE 35

Algorithm B

4 N

Phase 2: Find middle cut

4 N

users

slide-36
SLIDE 36

Algorithm B

4 N users

Phase 3: Each user cuts at

2 1

And so on…

slide-37
SLIDE 37

Algorithm B Phase log N:

i

u

1 user

The user is assigned the piece

slide-38
SLIDE 38

Algorithm B Total number of phases:

i

u

j

u

k

u N log

Total number of cuts:

) log (

log

N N O N N N N

N

              

slide-39
SLIDE 39

Cake Cutting Algorithms Lower Bound for Phased Algorithms Lower Bound for Labeled Algorithms Lower Bound for Envy-Free Algorithms Conclusions

Talk Outline

slide-40
SLIDE 40

Phased algorithm: consists of a sequence of phases At each phase: Each user cuts a piece which is defined in previous phases A user may be assigned a piece in any phase

slide-41
SLIDE 41

Observation: Algorithms and are phased

A B

slide-42
SLIDE 42

We show:

) log ( N N 

cuts are required to assign positive valued pieces

slide-43
SLIDE 43

Phase 1: Each user cuts according to some ratio

i

u

i

r

j

u

j

r

k

u

k

r

1 1 1 1

l

u

l

r

slide-44
SLIDE 44

i

u

i

r

j

u

j

r

k

u

k

r

There exist utility functions such that the cuts overlap

l

u

l

r

1

slide-45
SLIDE 45

Phase 2: Each user cuts according to some ratio

i

u '

i

r

j

u '

j

r

k

u '

k

r

2 2 2 2

l

u '

l

r

1

slide-46
SLIDE 46

i

u

j

u

k

u

There exist utility functions such that the cuts in each piece overlap

l

u

1 2 2

'

i

r '

j

r '

k

r '

l

r

slide-47
SLIDE 47

1 2 2 Phase 3: 3 3 3 3 number of pieces at most are doubled And so on…

slide-48
SLIDE 48

Phase k: Number of pieces at most

k

2

slide-49
SLIDE 49

For users:

N

we need at least pieces

N

we need at least phases

N log

slide-50
SLIDE 50

Phase Users

1

N

Pieces Cuts

2

N

2

2  N

4

2  N

(min) (max) (min)

3

4  N

8

4  N 1 log  N N 2 …… …… …… ……

Total Cuts:

) log ( N N 

slide-51
SLIDE 51

Cake Cutting Algorithms Lower Bound for Phased Algorithms Lower Bound for Labeled Algorithms Lower Bound for Envy-Free Algorithms Conclusions

Talk Outline

slide-52
SLIDE 52

1

c

2

c

3

c

4

c

11 10 011 010 00 Labels: each piece has a label Labeled algorithms:

slide-53
SLIDE 53

1

c

2

c

3

c

4

c

11 10 011 010 00 Labels:

1

c

2

c

3

c

4

c

1 1 1 1

00 010 011 10 11 Labeling Tree:

slide-54
SLIDE 54

{} {}

slide-55
SLIDE 55

1

c

1

c

1

1 1

slide-56
SLIDE 56

1

c

1

c

1

00 1 00 1 01

2

c

1

01

2

c

slide-57
SLIDE 57

1

c

1

c

1

00 1 00 1

2

c

1

2

c

011 010

3

c

1

010 011

3

c

slide-58
SLIDE 58

1

c

2

c

3

c

4

c

11 10 011 010 00

1

c

2

c

1 1 1 1

00 010 011 10 11

4

c

3

c

slide-59
SLIDE 59

11 10 011 010 00 Sorting Labels Users receive pieces in arbitrary order:

1

p

2

p

3

p

4

p

5

p

1

p

2

p

3

p

4

p

5

p

We would like to sort the pieces:

1

p

2

p

3

p

4

p

5

p

slide-60
SLIDE 60

11 10 011 010 00 Sorting Labels

1

p

2

p

3

p

4

p

5

p

Labels will help to sort the pieces

1

p

2

p

3

p

4

p

5

p

slide-61
SLIDE 61

110 100 011 010 000 Sorting Labels

1

p

2

p

3

p

4

p

5

p

1

p

2

p

3

p

4

p

5

p

Normalize the labels

slide-62
SLIDE 62

110 100 011 010 000 Sorting Labels

1

p

2

p

3

p

4

p

5

p

1 2 3 4 5 6 7

1

p

2

p

3

p

4

p

5

p

cuts #

2

slide-63
SLIDE 63

110 100 011 010 000 Sorting Labels

1

p

2

p

3

p

4

p

5

p

1 2 3 4 5 6 7

1

p

2

p

3

p

4

p

5

p

011

slide-64
SLIDE 64

110 100 011 010 000 Sorting Labels

1

p

2

p

3

p

4

p

5

p

1 2 3 4 5 6 7

1

p

2

p

3

p

4

p

5

p

011 010

slide-65
SLIDE 65

110 100 011 010 000 Sorting Labels

1

p

2

p

3

p

4

p

5

p

1 2 3 4 5 6 7

1

p

2

p

3

p

4

p

5

p

011 010 110

slide-66
SLIDE 66

110 100 011 010 000 Sorting Labels

1

p

2

p

3

p

4

p

5

p

1 2 3 4 5 6 7

1

p

2

p

3

p

4

p

5

p

011 010 110 000

slide-67
SLIDE 67

110 100 011 010 000 Sorting Labels

1

p

2

p

3

p

4

p

5

p

1 2 3 4 5 6 7

1

p

2

p

3

p

4

p

5

p

011 010 110 000 100 Labels and pieces are ordered!

slide-68
SLIDE 68

110 100 011 010 000 Sorting Labels

1

p

2

p

3

p

4

p

5

p

1 2 3 4 5 6 7

1

p

2

p

3

p

4

p

5

p

011 010 110 000 100 Time needed:

) (#cuts O

slide-69
SLIDE 69

linearly-labeled & comparison-bounded algorithms:

) (#cuts O

Require comparisons (including handling and sorting labels)

slide-70
SLIDE 70

Conjecture: All known algorithms are linearly-labeled & comparison-bounded Observation: Algorithms and are linearly-labeled & comparison-bounded

A B

slide-71
SLIDE 71

We will show that cuts are needed for linearly-labeled & comparison-bounded algorithms

) log ( N N 

slide-72
SLIDE 72

N distinct positive integers:

N

x x x , , ,

2 1

i j k

x x x    

Sorted order: Reduction of Sorting to Cake Cutting Input: Output: Using a cake-cutting algorithm

slide-73
SLIDE 73

1

f

2

f

N

f N distinct positive integers:

N

x x x , , ,

2 1

utility functions: users:

1

u

2

u

N

u

 

N N

slide-74
SLIDE 74

1

i

f 

i

x

N 1

i

u

Cake

) , 1 min( ) ( z N z f

i

x i

slide-75
SLIDE 75

1

i

u

i

f 

j

u

k

u

i j k

x x x  

i

x

N 1

j

x

N 1

k

x

N 1

j

f 

j

f 

Cake

slide-76
SLIDE 76

1

i k

x x 

i

u

k

u

Cake

slide-77
SLIDE 77

Cake

1

i

u

i

u

N 1

k

u

cannot be satisfied!

k

u

i k

x x 

slide-78
SLIDE 78

1

i

u

k

u

can be satisfied!

i

u

k

u

k

u

i k

x x 

i

p

k

p

i k

p p 

slide-79
SLIDE 79

Cake

i

u

j

u

k

u

k

p

j

p

i

p

Rightmost positive valued pieces

i j k

x x x    

i j k

p p p    

Piece:

slide-80
SLIDE 80

i

u

j

u

k

u

k

p

i j k

x x x    

Labels:

k

l

j

l

i

l

i j k

l l l    

Sorted labels: Sorted pieces: Sorted integers:

i j k

p p p    

j

p

i

p

slide-81
SLIDE 81

Fair cake-cutting Sorting

slide-82
SLIDE 82

Sorting integers:

) log ( N N 

comparisons Cake Cutting:

) log ( N N 

comparisons

slide-83
SLIDE 83

Linearly-labeled & comparison-bounded algorithms:

) (#cuts O

Require comparisons

) log ( N N 

comparisons

) log ( N N 

cuts require

slide-84
SLIDE 84

Cake Cutting Algorithms Lower Bound for Phased Algorithms Lower Bound for Labeled Algorithms Lower Bound for Envy-Free Algorithms Conclusions

Talk Outline

slide-85
SLIDE 85

Envy-free: Each user feels she gets at least as much as the other users Variations of Fair Cake-Division Strong Envy-free: Each user feels she gets strictly more Than the other users

slide-86
SLIDE 86

Super Envy-free: A user feels she gets a fair portion, and every other user gets less than fair

slide-87
SLIDE 87

Lower Bounds Strong Envy-free: Super Envy-free:

) 086 . (

2

N  

cuts

) 25 . (

2

N  

cuts

slide-88
SLIDE 88

1

i

u

i

f 

Strong Envy-Free, Lower Bound

slide-89
SLIDE 89

1

k

u

k

f 

Strong Envy-Free, Lower Bound

slide-90
SLIDE 90

1

k

u

Strong Envy-Free, Lower Bound

i

u

j

u

slide-91
SLIDE 91

1

k

u

Strong Envy-Free, Lower Bound

i

u

k

u

k

u

is upset!

slide-92
SLIDE 92

1

k

u

Strong Envy-Free, Lower Bound

i

u

k

u

k

u

is happy!

slide-93
SLIDE 93

Strong Envy-Free, Lower Bound must get a piece from each

  • f the other user’s gap

1

k

u

i

u

j

u

k

u

k

u

slide-94
SLIDE 94

Strong Envy-Free, Lower Bound A user needs distinct pieces

) (N 

Total number of cuts:

) (

2

N 

Total number of pieces:

) (

2

N 

slide-95
SLIDE 95

Cake Cutting Algorithms Lower Bound for Phased Algorithms Lower Bound for Labeled Algorithms Lower Bound for Envy-Free Algorithms Conclusions

Talk Outline

slide-96
SLIDE 96

We presented new lower bounds for several classes of fair cake-cutting algorithms

slide-97
SLIDE 97

Open problems:

  • Prove or disprove that every algorithm

is linearly-labeled and comp.-bounded

  • An improved lower bound for

envy-free algorithms