Title: Cost Sharing and Approximation
1Cost Sharing and Approximation
A-exam
- Martin Pál
- joint work with Éva Tardos
2Cost Sharing
- Internet many independent agents
- Not hostile, but selfish
- Willing to cooperate, if it helps them
3How much does it pay to share?
4Steiner tree how to split cost
5Steiner tree how to split cost
OPT( ) 3
OPT( ) 5
p( ) 5-3 2
No fair cost allocation exists!
6Utilities
uj utility of agent j
u125
45
internet
7Cost sharing mechanism
- ..is a protocol/algorithm that
- requests utility uj from every user j
- selects the set S of people serviced
- builds network servicing S
- Computes the payment pj of every user j?S
8Desirable properties of mechs
- Sj?S pjc(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)
9Cost sharing function
- ? 2U?U ? R
- ?(S,j) cost share of user j, given set S
- Competitiveness Sj?S ?(S,j) c(S)
- Cost recovery c(S)/ß Sj?S ?(S,j)
- Voluntary particpiation ?(S,j) 0 if j?S
- Cross-monotonicity for j?S?T
- ?(S,j) ?(T,j)
10The MoulinShenker mechanism
Let ? 2U?U ? R be a cost sharing function.
S ?U while unhappy users exist offer each j?S
service at price ?(S,j) S ?S users j who
rejected output the set S and prices pj ?(S,j)
Thm MoulinShenker ?(.) cross-monotonic ?
mech. group strategyproof
11Designing x-mono functions
- We construct cross-monotonic cost shares for two
games - Metric facility location game
- Single source rent or buy game
- Facility location competitive, recovers 1/3 of
cost - Rent or buycompetitive, recovers 1/15 of cost
12Facility Location
F is a set of facilities. D is a set of
clients. cij is the distance between any i and j
in D ? F. (assume cij satisfies triangle
inequality)
fi cost of facility i
13Facility 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 Si?F fi Sj?S c(j,s(j))
14Existing 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)
15..do not yield x-mono shares
16Ghost shares
- Two shares per user
- ghost share ?j
- real share ?j
- ?j grows forever
- ?j stops when connected
17Easy facts
Fact 1 cost shares ?j are cross-monotonic. Pf
More users opens facilities faster ? each ?j can
only stop growing earlier.
Fact 2 competitiveness Sj?S ?j c(S). Pf ?j
is a feasible LP dual.
Hard part cost recovery.
18Constructing a solution
?2
tp time when facility p opened Sp set of
clients connected to p at time tp facility p is
well funded, if 3?jtp for every j?Sp each
facility is either poisoned or healthy p is
poisoned if it shares a client with a well funded
healthy facility q and tp gt tq
tp2
?2
tq 7
?7
19Building a solution
Open 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.
c(p,q) 2(tp-tq) c(q,q)2 tq
20Cost recovery
21Cost recovery
- Summary
- Cost shares can pay for 1/3 of soln we construct
- Never pay more than cost of the optimum
- With increasing of users, individual share only
decreases
22Single source rent or buy
A set of clients D. A source node s. cij is the
distance between any pair of nodes. (assume cij
satisfies triangle inequality)
23Single source rent or buy
1) Pick a path from every client j to source s.
Goal Minimize the sum of edge costs Se?E
min(pe,M) ce
24Plan of attack
- Gather clients into groups of M
- (often done by a facility location algorithm)
- Build a Steiner tree on the gathering points
JainVazirani gave cost sharing fn for Steiner
tree Have cost sharing for facility location Why
not combine?
25One 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
26Growing 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
27Cost shares
Each Steiner component C needs 1/second for
growth. Maintenance cost of C split among users
connected User connected to multiple components
pays only to largest component User connected to
root stops paying
?j ? fj(t) dt
28Easy facts
Fact The cost shares ?j are cross-monotonic. Pf
More users causes more gathering points to open,
more area is covered by Steiner clusters,
clusters are bigger ? each ?j can only grow
slowerstop sooner.
Fact competitiveness Sj?S ?j 2c(S). Pf LP
duality.
Again, cost recovery is the hard part.
29Cost 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.
30Paying for the tree
We 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.
31The 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 O(n)
approx - Applications of cost sharing to design of
approximation algorithms.