14 oct 03cost sharing & approximation1 group strategy proof mechanisms via primal-dual...

32
14 Oct 03 Cost sharing & Approximat ion 1 Group strategy proof mechanisms via primal-dual algorithms (Cost Sharing) Martin Pál Éva Tardos

Post on 20-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

14 Oct 03 Cost sharing & Approximation 1

Group strategy proof mechanisms via primal-dual

algorithms

(Cost Sharing)

Martin Pál Éva Tardos

14 Oct 03 Cost sharing & Approximation 2

Our setting

Universe U of (selfish) users

Users want to benefit from shared infrastructure

cost function c*()c*(U) = cost of

c*() = cost of

c*(S) – cost of optimal infrastructure for users in S

often NP-hard to compute

U = {,,,,}

14 Oct 03 Cost sharing & Approximation 3

Sharing the cost

costuser shares

ΣiU pi ≥ c*(U)Cost Recovery:Approximate

Known as core in game theory

often empty for games of interest

p+p+p ≤ c( )

p+p+p+p+p ≥ c( )

ΣiS pi ≤ c*(S)Competitiveness:

no overpayment

for any SU:

14 Oct 03 Cost sharing & Approximation 4

Modeling the users

ui – value of service for i

User may say NO if pi>ui

util(i) = ui – pi if i gets service

0 otherwiseneed to recompute tree & payments!

Cost sharing fn: ξ : 2UU +

ξ(S,i) – share of user i, if set S served ξ(U, ) ≤ ξ(U-, )cross-monotonic: for iSTU

ξ(S,i) ≥ ξ(T,i)

14 Oct 03 Cost sharing & Approximation 5

The Moulin&Shenker mechanism

S := Urepeat ask each user i “is ξ(S,i) ≤ ui ?”

drop all iS who say NO until all iS say YESOutput: set S; prices pi =

ξ(S,i)

Theorem: [Moulin&Shenker]:

ξ(.) cross-monotonic mechanism group strategyproof

ui

cost share

14 Oct 03 Cost sharing & Approximation 6

•Exact cross-monotonic sharing exists if c*() submodular

[Moulin&Shenker 98]

•Exact cost sharing for spanning tree

[Kent&Skorin-Kapov 96], [Jain&Vazirani 01]

Any other games for which cross-mono sharing exists?

Known cross-monotonic functions

implies 2-approx. cost sharing for Steiner tree

14 Oct 03 Cost sharing & Approximation 7

General method for generating competitive, cross-monotonic cost shares using primal-dual algorithms

Used our method to construct a cost sharing fn for:

Our results

recovers 1/3 of cost

recovers 1/15 of cost

competitive, cross-monotonic

constructive proof gives an approximation algorithm

Metric Facility Location

Single Sink Rent or Buy

14 Oct 03 Cost sharing & Approximation 8

•Primal-dual approximation for Facility Location

[Jain&Vazirani99] , [Mahdian,Ye&Zhang 02], [Mettu&Plaxton 00]

•Approximation for Single Sink Rent or Buy [Karger&Minkoff 00], [Meyerson&Munagala 00]

[Swamy&Kumar 02], [Gupta,Kumar&Roughgarden 03]

Approximation algorithms

14 Oct 03 Cost sharing & Approximation 9

Single Sink Rent or Buy

U is a set of users.r is the sink (root) node.graph G with edge lengths

ce.

1) Find a path from each user to sink.

2) Rent or Buy each edge.Rent: pay ce for each path using e

Buy: pay M ce

Goal: minimize rental + buying cost.

14 Oct 03 Cost sharing & Approximation 10

Facility Location

F is a set of facilities.U is a set of users.cij is the distance between any i and j in U F.

(assume cij satisfies triangle inequality)

fi: cost of facility i

14 Oct 03 Cost sharing & Approximation 11

Facility Location

1) Pick a subset F’ of facilities to open

2) Assign every client to an open facility

Goal: Minimize the sum of facility and assignment costs: ΣiF’ fi + ΣjS c(j,σ(j))

14 Oct 03 Cost sharing & Approximation 12

Existing facility location algorithms..

each user j raises its j

j pays for connection first, then for facility

if facility paid for, declared open

(possibly cleanup phase in the end)

=5

=5

=6

cost shares

14 Oct 03 Cost sharing & Approximation 13

...do not yield cross-monotonic shares

with , ()=8

helped to stop earlier

failed to help =3

=3

=8

previously, ()=6

14 Oct 03 Cost sharing & Approximation 14

Ghost shares

After i freezes, continue growing its ghost i

ghosts keep growing forever

=3

=3

=5.5Fact: Shares i are cross-monotonic. Pf: more users more ghosts facilities open sooner i can stop growing earlier

14 Oct 03 Cost sharing & Approximation 15

Constructing a solution (1)

Sp: set of users contributing to p at time of opening – “contributor set”

tp: time of opening facility p

facility p is well funded, if j≥tp/3 for every jSp

Sptp

p

Close down all facilities that are not well funded

Lemma: For every facility p there is a nearby well funded facility r s.t.

dist(p,r) ≤ 2(tp- tr)

qtq ≤tp/3

rtr ≤tq/3

14 Oct 03 Cost sharing & Approximation 16

Constructing a solution (2)

Problem: user contributing to multiple well-funded facilities

Solution: close all of them but one (process by increasing tp)

Sptp

p

Sq

tq

q

Lemma: For every well funded facility p there is a nearby open q such that

dist(p,q) ≤ 2tp

p r≤ ≤2(tp- tr) ≤2trq

well-funded open

14 Oct 03 Cost sharing & Approximation 17

Summing up

Every open facility is well funded, i.e. can be paid for by Sp.

p r≤ ≤2(tp- tr) ≤2tr q

well-funded open

Sptp

pWe do not lose much on assignment cost by closing facilities.Cost shares pay for 1/3 of the cost of the solution.

Theorem: There is a cross-monotonic cost sharing function for facility location that recovers 1/3 of cost.

14 Oct 03 Cost sharing & Approximation 18

Plan of attack for Rent or Buy

• Gather clients into groups(often done by a facility location algorithm)

• Build a Steiner tree on the gathering points

Jain&Vazirani gave cost sharing fn for Steiner tree

Have cost sharing for facility location

Why not combine?

14 Oct 03 Cost sharing & Approximation 19

“One shot” algorithm

• Generate gathering points and build a Steiner tree at the same time.

• Allow each user to contribute only to the least demanding (i.e. largest) cluster he is connected to. not clear if the shares

can pay for the tree

14 Oct 03 Cost sharing & Approximation 20

General method for generating competitive, cross-monotonic cost shares using primal-dual algorithms.

Used our method to construct a cost sharing fn forFacility Location & Single Sink Rent or Buy.

Other problems admitting cross-mono cost sharing?Steiner Forest? Covering problems?

Impossibility results?

Conclusions

14 Oct 03 Cost sharing & Approximation 21

The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End. The End.

*** *** The End *** ***

14 Oct 03 Cost sharing & Approximation 22

Cost shares

Each Steiner component C needs $1/second for growth.Maintenance cost of C split among users connectedUser connected to multiple components pays only to largest componentUser connected to root stops paying j =∫ fj(t) dt

14 Oct 03 Cost sharing & Approximation 23

Growing ghosts

Grow a ball around every user uniformly

When M or more balls meet, declare gathering point

Each gathering point immediately starts growing a Steiner component

When two components meet, merge into one

14 Oct 03 Cost sharing & Approximation 24

Building a solutionOpen all healthy

well funded facilities

Assign each client to closest facility

Fact 1: for every facility p, there is an open facility q within radius 2tp.

≤tp

j≤tp/3

tp1 ≤ j

≤tp1

tp

p≤tp1 ...

q

tq

Well funded

q’

healthyc(p,q) ≤2(tp-tq)

c(q,q’)≤2 tq

c(p,q’) ≤tp

14 Oct 03 Cost sharing & Approximation 25

Cost SharingInternet: many independent agents• Not hostile, but selfish• Willing to cooperate, if it helps them

14 Oct 03 Cost sharing & Approximation 26

Steiner tree: how to split cost

4 43

2 2 ?? ?

13 3

04 3

32 2

34 4

Cost shares Cost shares

14 Oct 03 Cost sharing & Approximation 27

OPT( ) = 5

p( ) = 5-3 = 2

OPT( ) = 3

Steiner tree: how to split cost

No “fair” cost allocation exists!

14 Oct 03 Cost sharing & Approximation 28

Desirable properties of mechanisms

• ΣjS pj=c*(S)(budget balance)

• Only people in S pay(voluntary participation)

• No cheating, even in groups(group strategyproofness)

• If uj high enough, j guaranteed to be in S(consumer sovereignity)

ΣjS pj ≤ c*(S)(competitiveness)

ΣjS pj ≥ c(S)/β(approx. cost recovery)

14 Oct 03 Cost sharing & Approximation 29

Cost sharing function

ξ : 2UU ℛξ(S,j) – cost share of user j, given set S

• Competitiveness: ΣjS ξ(S,j) ≤ c*(S)

• Cost recovery: c(S)/β ≤ ΣjS ξ(S,j)

• Voluntary particpiation: ξ(S,j) = 0 if jS• Cross-monotonicity: for jST

ξ(S,j) ≥ ξ(T,j)

14 Oct 03 Cost sharing & Approximation 30

Cost recovery

To prove cost recovery, we must build a network.

Steiner tree on all centers would be too expensive select only some of the centers like we did for facility location.

Need to show how to pay for the tree constructed.

14 Oct 03 Cost sharing & Approximation 31

Paying for the treeWe selected a subset of clusters so that every user pays only to one cluster.

But: users were free to chose to contribute to the largest cluster – may not be paying enough.

Solution: use cost share at time t to pay contribution at time 3t.

14 Oct 03 Cost sharing & Approximation 32

The last slide

•x-mono cost sharing known only for 3 problems so far

•Do other problems admit cross-mono cost sharing?

•Covering problems? Steiner Forest?

•Negative result: SetCover – no better than Ω(n) approx

•Applications of cost sharing to design of approximation algorithms.

Thank you!