cake cutting is and is not a piece of cake

49
Cake Cutting is and is not a Piece of Cake Jeff Edmonds, York University Kirk Pruhs, University of Pittsburgh

Upload: rachelle-roy

Post on 02-Jan-2016

41 views

Category:

Documents


2 download

DESCRIPTION

Cake Cutting is and is not a Piece of Cake. Jeff Edmonds , York University Kirk Pruhs, University of Pittsburgh. Informal Problem Statement. Resource allocation between n possibly deceitful players. I like. I like. 0. 1. Classic Problem Definition. = [0, 1]. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Cake Cutting is and is not a Piece of Cake

Cake Cutting is and is not a Piece of Cake

Jeff Edmonds, York UniversityKirk Pruhs, University of

Pittsburgh

Page 2: Cake Cutting is and is not a Piece of Cake

Informal Problem StatementResource allocation between

n possibly deceitful players

Page 3: Cake Cutting is and is not a Piece of Cake

Classic Problem Definition• n players wish to divide a cake • Each player p has an unknown value function

Vp

0 1

I like I like

= [0, 1]

Page 4: Cake Cutting is and is not a Piece of Cake

Classic Problem Definition• n players wish to divide a cake • Each player p has an unknown value function

Vp

• Allowed Operations :– Eval[p, x, y]: returns how much player p

values piece/interval [x, y]

0 1

I like

= [0, 1]

x y

v

Page 5: Cake Cutting is and is not a Piece of Cake

Classic Problem Definition• n players wish to divide a cake • Each player p has an unknown value function

Vp

• Allowed Operations :– Eval[p, x, y]: returns how much player p

values piece/interval [x, y] – Cut[p, x, v]: returns a y such Eval[p,x, y] = v

0 1

I like

= [0, 1]

yx

v

Page 6: Cake Cutting is and is not a Piece of Cake

Classic Problem Definition• n players wish to divide a cake • Each player p has an unknown value function

Vp

• Goal: Fair cut Each honest player p is guaranteed a piece

of value at least 1/n.

0 1

I like

= [0, 1]

1/n

Page 7: Cake Cutting is and is not a Piece of Cake

Classic Problem Definition• n players wish to divide a cake • Each player p has an unknown value function

Vp

• Goal: Fair cut Each honest player p is guaranteed a piece

of value at least 1/n.

0 1

= [0, 1]

I like

1/n

Page 8: Cake Cutting is and is not a Piece of Cake

History

• Originated in 1940’s school of Polish mathematics

• Picked up by social scientists interested in fair allocation of resources

• Texts by Brams and Taylor, and Robertson and Webb

• A quick Google search reveals cake cutting is used as a teaching example in many algorithms courses

Page 9: Cake Cutting is and is not a Piece of Cake

O(n log n) Divide and Conquer Algorithm: Evan and Paz

• Yp = cut(p, 0, 1/2) for p = 1 … n

I like

My half cut is here.

I like

My half cut is here.

Page 10: Cake Cutting is and is not a Piece of Cake

O(n log n) Divide and Conquer Algorithm: Evan and Paz

• Yp = cut(p, 0, 1/2) for p = 1 … n

My half cut is here.

I like

Page 11: Cake Cutting is and is not a Piece of Cake

O(n log n) Divide and Conquer Algorithm: Evan and Paz

• Yp = cut(p, 0, 1/2) for p = 1 … n

• m = median(y1, … , yn)

Page 12: Cake Cutting is and is not a Piece of Cake

O(n log n) Divide and Conquer Algorithm: Evan and Paz

• Yp = cut(p, 0, 1/2) for p = 1 … n

• m = median(y1, … , yn)

• Recurse on [0, m] with those n/2 players p for which yp < m

• Recurse on [m, 1] with those n/2 players p for which yp > m

• Time O(nlogn)

so am happy with the left.

I like I like

so am happy with the right.

Page 13: Cake Cutting is and is not a Piece of Cake

Problem Variations

• Contiguousness: Assigned pieces must be subintervals

• Approximate fairness: A protocol is c-fair if each player is a assured a piece that he gives a value of at least c/n

• Approximate queries (introduced by us?):– AEval[p, ε, x, y]: returns a value v such that

Vp[x, y]/(1+ε) ≤ v ≤ (1+ ε) Vp[x, y]– ACut[p, ε, x, v]: returns a y such

Vp[x, y]/(1+ε) ≤ v ≤ (1+ ε) Vp[x, y]

Page 14: Cake Cutting is and is not a Piece of Cake

Problem Variations

Deterministic vs. Randomized

Exact vs. Approximate Queries

Exact vs. O(1) Fairness

Contiguous vs. General Pieces

Complexity = number of queries

Reference

* Exact * * O(n log n) Even and Paz 1984

* * Exact Contiguous Ω(n log n) Sgall and Woeginger 2003

Deterministic * * * Ω(n log n) Edmonds and Pruhs

* Approximate * * Ω(n log n) Edmonds and Pruhs

Randomized Exact Approximate General O(n) Edmonds and Pruhs*

* Submitted to STOC

(Approximate)

Page 15: Cake Cutting is and is not a Piece of Cake

Outline

• Deterministic Ω(n log n) Lower Bound

• Randomized with Approximate Cuts Ω(n log n) Lower Bound

• Randomized with Exact Cuts O(n) Upper Bound

Page 16: Cake Cutting is and is not a Piece of Cake

Thin-Rich Game• Game Definition:

Single player must find a thin rich piece.– A piece is thin if it has width ≤ 2/n

– A piece is rich if it has value ≥ 1/2n

• Theorem: The deterministic complexity of Thin-Rich is Ω(log n).

• Theorem: The deterministic complexity of cake cutting is Ω(nlog n).

–At least n/2 players require thin rich piece

Page 17: Cake Cutting is and is not a Piece of Cake

Adv

I give sequence of Eval[x,y] & Cut[x,v]

operations.

I dynamically choose how to answer Alg

Page 18: Cake Cutting is and is not a Piece of Cake

AdvAlg

I can choose any non-continuous

thin piece,but W.L.G.

I choose one of these.

I cut the cake in to n thin pieces.

Page 19: Cake Cutting is and is not a Piece of Cake

AdvAlg

I build a complete 3-ary treewith the n pieces

as leaves

... ... ... ...

......

Page 20: Cake Cutting is and is not a Piece of Cake

AdvAlg

For each node,I label edges

<½,¼,¼> or <¼,¼,½>

½¼ ¼½ ¼¼

... ... ... ...

......

Page 21: Cake Cutting is and is not a Piece of Cake

AdvAlg

Value of each piece isproduct of edge labels

in path.

½¼ ¼½ ¼¼

... ... ... ...

......

½

¼

¼

¼¼

½1/1024 = ¼×¼×½×¼×¼×½

Page 22: Cake Cutting is and is not a Piece of Cake

AdvAlg

½¼ ¼½ ¼¼

... ... ... ...

......

½

½

¼

¼¼

½

To get a rich pieceI need at least 40% of the edge labels

in path be ½.

Good luck

1/256 = ½×¼×½×¼×¼×½

Page 23: Cake Cutting is and is not a Piece of Cake

AdvAlgCut[0,0.4398]?

I need to find a yso that

V[0,y] = 0.4398.

y0

0.4398

Page 24: Cake Cutting is and is not a Piece of Cake

AdvAlgCut[0,0.4398]?

1/40 1/2 1

I do binary search to find0.4398

0.43980.4398

Page 25: Cake Cutting is and is not a Piece of Cake

AdvAlgCut[0,0.4398]?

½¼ ¼1/42/4

0.4398

I do binary search to find0.4398

I fix some edge labels

Page 26: Cake Cutting is and is not a Piece of Cake

AdvAlgCut[0,0.4398]?

½¼ ¼1/42/4

4/166/16

7/168/16

0.43980.4398

I do binary search to find0.4398

I fix some edge labels

Page 27: Cake Cutting is and is not a Piece of Cake

AdvAlgCut[0,0.4398]?

½¼ ¼

I fix some edge labels

¼½ ¼7/16

0.4398

8/16

Page 28: Cake Cutting is and is not a Piece of Cake

AdvAlgCut[0,0.4398]?

½¼ ¼¼½ ¼

½¼ ¼½¼ ¼

¼½ ¼

¼ ½¼

0.4398

I find a yso that

V[0,y] = 0.4398.

y

Page 29: Cake Cutting is and is not a Piece of Cake

AdvAlgI learned a path,

but all its labels are ¼

½¼ ¼¼½ ¼

½¼ ¼½¼ ¼

¼½ ¼

¼ ½¼

Hee Hee

Page 30: Cake Cutting is and is not a Piece of Cake

AdvAlg

½¼ ¼¼½ ¼

½¼ ¼½¼ ¼

¼½ ¼

¼ ½¼

Every path has one

known ½ label.

YesAfter t operations

every path has only t known ½ labels.

Page 31: Cake Cutting is and is not a Piece of Cake

AdvAlg

½¼ ¼¼½ ¼

½¼ ¼½¼ ¼

¼½ ¼

¼ ½¼

Eval[x,y]

¼ ¼¼

¼¼

¼

x y

I fix labels in path to x & y to ¼.

and giveEval[x,y] = 0.00928

0.00928

Page 32: Cake Cutting is and is not a Piece of Cake

AdvAlg

½¼ ¼¼½ ¼

½¼ ¼½¼ ¼

¼½ ¼

¼ ½¼

¼ ¼¼

¼¼

¼ ½

YesAfter t operations

every path has only t ½ known labels.

Page 33: Cake Cutting is and is not a Piece of Cake

Deterministic Ω(log n) Lower Bound

• Theorem: To win at Thin-Rich, the alg has to get a rich piece with at least 40% of the edge labels in path be ½.

• Theorem: After t operations, every path has only t ½ labels.

• Theorem: The deterministic complexity of Thin-Rich is Ω(depth) =Ω(log n)

Page 34: Cake Cutting is and is not a Piece of Cake

• Theorem: The deterministic complexity of Thin-Rich is Ω(log n).

• Theorem: The deterministic complexity of cake cutting is Ω(n log n).

–At least n/2 players require thin rich piece

Deterministic Ω(nlog n) Lower Bound

Page 35: Cake Cutting is and is not a Piece of Cake

Outline

• Deterministic Ω(n log n) Lower Bound

• Randomized with Approximate Cuts Ω(n log n) Lower Bound

• Randomized with Exact Cuts O(n) Upper Bound

Done

Randomized Approximate Cuts

Page 36: Cake Cutting is and is not a Piece of Cake

AdvRand Alg

I define a randomized algorithm

I must choose the value functions without knowing

coin flips

Page 37: Cake Cutting is and is not a Piece of Cake

AdvRand Alg

I deterministically give sequence of

Eval[x,y] & Cut[x,v]operations.

I flip coins to choose value function.

I dynamically choose error in answers

RandAdv

Alg

Yau

I define a randomized algorithm

I must choose the value functions without knowing

coin flips

Page 38: Cake Cutting is and is not a Piece of Cake

AdvRand

Alg

½¼ ¼½ ¼¼

... ... ... ...

......

For each node,I randomly label edges

<½,¼,¼>, <¼,½,¼>, or <¼,¼,½>

¼¼ ½

Page 39: Cake Cutting is and is not a Piece of Cake

AdvAlg

Consider path to x and y.

Flip coins for labels.

33% of labels will be ½.

¼

¼

¼

¼

¼

½¼

¼

¼

¼

¼

½

½

¼

½

½

Eval[x,y]

But I need 40%!

x y

½ ¼

Page 40: Cake Cutting is and is not a Piece of Cake

AdvAlgI flip coins for path to x’

and get 33% ½.

¼

¼

¼

¼

¼

½¼

¼

¼

¼

¼

½

½

¼

½

½

x y

½ ¼

Cut[x’,0.4398]?

x’

¼

¼

¼¼

¼

½

½

½

Page 41: Cake Cutting is and is not a Piece of Cake

AdvAlg

I do binary search for 0.4398,

but for some odd reasonit finds 40% ½ labels.

¼

¼

¼

¼

¼

½¼

¼

¼

¼

¼

½

½

¼

½

½

x y

½ ¼

Cut[x’,0.4398]?

x’

¼

¼

¼¼

¼

½

½

½

½½

½¼

¼

Page 42: Cake Cutting is and is not a Piece of Cake

AdvAlg

Luckily I can give error

and this hides most of the labels.

¼

¼

¼

¼

¼

½¼

¼

¼

¼

¼

½

½

¼

½

½

x y

½ ¼

Cut[x’,0.4398]?

x’

¼

¼

¼¼

¼

½

½

½

½½

½¼

¼

Page 43: Cake Cutting is and is not a Piece of Cake

Outline

• Deterministic Ω(n log n) Lower Bound

• Randomized with Approximate Cuts Ω(n log n) Lower Bound

• Randomized with Exact Cuts O(n) Upper Bound

Done

Done

Randomized Exact CutsUpperO(n)

Page 44: Cake Cutting is and is not a Piece of Cake

O(1) Complexity Randomized Protocol for Thin-Rich

Protocol Description:

• “Cuts” cake into n “candidate” pieces of value 1/n

• Randomly chooses one.• It is likely thin and rich.

Page 45: Cake Cutting is and is not a Piece of Cake

Randomized Protocol for Cake Cutting

Protocol Description:• Each player randomly selects 2d candidate

pieces.• For each player, we carefully pick one of these

Page 46: Cake Cutting is and is not a Piece of Cake

Randomized Protocol for Cake Cutting

Protocol Description:• Each player randomly selects O(1) candidate

pieces.• For each player, we carefully pick one of these

– so that every point of cake is covered by at most O(1) pieces.

• Where there is overlap, recurs.Works with O(1) probability.

Page 47: Cake Cutting is and is not a Piece of Cake

Two Random Choices: n balls, n bins each ball randomly chooses two bins.Choice: Select one of two bins for each ball. Whp no bin has more than O(1) balls.

Balls and Bins

Page 48: Cake Cutting is and is not a Piece of Cake

Two Random Choices: n balls, n bins each ball randomly chooses two bins.Choice: Select one of two bins for each ball. Whp no bin has more than O(1) balls.

Balls and Bins

Page 49: Cake Cutting is and is not a Piece of Cake

Outline

• Deterministic Ω(n log n) Lower Bound

• Randomized with Approximate Cuts Ω(n log n) Lower Bound

• Randomized with Exact Cuts O(n) Upper Bound

Done

Done

More at STOC

A piece of cake.