12 sep 03martin pál: cost sharing & approx1 cost sharing and approximation martin pál joint...
DESCRIPTION
12 Sep 03Martin Pál: Cost sharing & Approx3 How much does it pay to share? # users cost No sharingSteiner tree cost # users cost M Rent or buyTRANSCRIPT
12 Sep 03 Martin Pál: Cost sharing & Approx 1
Cost Sharing and Approximation
Martin Pál
joint work with Éva Tardos
A-exam
12 Sep 03 Martin Pál: Cost sharing & Approx 2
Cost SharingInternet: many independent agents• Not hostile, but selfish• Willing to cooperate, if it helps them
12 Sep 03 Martin Pál: Cost sharing & Approx 3
How much does it pay to share?
# users
cost
No sharing
Steiner treecost
# users
# users
costM Rent or buy
12 Sep 03 Martin Pál: Cost sharing & Approx 4
Steiner tree: how to split cost
4 432 2 ?
? ?1
3 30
4 33
2 23
4 4
Cost shares Cost shares
12 Sep 03 Martin Pál: Cost sharing & Approx 5
OPT( ) = 5p( ) = 5-3 = 2
OPT( ) = 3
Steiner tree: how to split cost
No “fair” cost allocation exists!
12 Sep 03 Martin Pál: Cost sharing & Approx 6
Utilities
$45u1=25
u2=25
u3=25
internetp1=15
p2=15
p3=15
uj – utility of agent j
u1’=5
Problem: users may not reveal true utilities
p1=0
p2=22.5p3=22.5
12 Sep 03 Martin Pál: Cost sharing & Approx 7
Cost 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
jS
12 Sep 03 Martin Pál: Cost sharing & Approx 8
Desirable properties of mech’s• Σ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)
12 Sep 03 Martin Pál: Cost sharing & Approx 9
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)
12 Sep 03 Martin Pál: Cost sharing & Approx 10
The Moulin&Shenker mechanismLet ξ : 2UU ℛ be a cost sharing function.S Uwhile unhappy users exist
offer each jS service at price ξ(S,j)
S S – {users j who rejected}output the set S and prices pj = ξ(S,j)Thm: [Moulin&Shenker]: ξ(.) cross-monotonic mech. group strategyproof
12 Sep 03 Martin Pál: Cost sharing & Approx 11
Designing x-mono functionsWe construct cross-monotonic cost shares for two games:•Metric facility location game•Single source rent or buy gameFacility location: competitive, recovers 1/3 of costRent or buy:competitive, recovers 1/15 of cost
12 Sep 03 Martin Pál: Cost sharing & Approx 12
Facility LocationF 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
12 Sep 03 Martin Pál: Cost sharing & Approx 13
Facility Location1) Pick a subset F’ of facilities to open2) Assign every client to an open facilityGoal: Minimize the sum of facility and assignment costs: ΣiF’ fi + ΣjS c(j,σ(j))
12 Sep 03 Martin Pál: Cost sharing & Approx 14
Existing 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)
=4
=4
=6
12 Sep 03 Martin Pál: Cost sharing & Approx 15
..do not yield x-mono shares
=5
=5
with , ( )=6without , ( )=5 was stopped prematurely in the first run
12 Sep 03 Martin Pál: Cost sharing & Approx 16
Ghost shares
=4
=4
=5
Two shares per user:•ghost share j
•real share jj grows foreverj stops when connected
12 Sep 03 Martin Pál: Cost sharing & Approx 17
Easy factsFact 1: cost shares j are cross-monotonic.Pf: More users opens facilities faster each j can only stop growing earlier. Fact 2 [competitiveness]: ΣjS j ≤ c*(S).Pf: j is a feasible LP dual.
Hard part: cost recovery.
12 Sep 03 Martin Pál: Cost sharing & Approx 18
Constructing a solutiontp: time when facility p openedSp: set of clients connected to p at time tp
facility p is well funded, if 3j≥tp for every jSp
each facility is either poisoned or healthyp is poisoned if it shares a client with a well funded healthy facility q and tp > tq
=7
=2
=2
tp=2
tq =7
12 Sep 03 Martin Pál: Cost sharing & Approx 19
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/3tp1 ≤ j
≤tp1tp
p≤tp1 ...
qtq
Well funded
q’healthyc(p,q) ≤2(tp-tq)
c(q,q’)≤2 tq c(p,q’) ≤tp
12 Sep 03 Martin Pál: Cost sharing & Approx 20
Cost recoveryFact 2: p open clients in Sp can pay 1/3 their connection + facility costPf: fj = ΣjS(p) tp – cjp and j≥tp/3
Sp
Fact 3: j is in no Sp can pay for 1/3 of connectionPf: fj = ΣjS(p) tp – cjp and j≥tp/3
open
≤j
≤2j
12 Sep 03 Martin Pál: Cost sharing & Approx 21
Cost recoverySummary:•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
Sp
open
≤j
≤2j
12 Sep 03 Martin Pál: Cost sharing & Approx 22
A set of clients D.A source node s.cij is the distance between any pair of
nodes.(assume cij satisfies triangle inequality)
Single source rent or buy
12 Sep 03 Martin Pál: Cost sharing & Approx 23
Single source rent or buy1) Pick a path from every client j to source s.Goal: Minimize the sum of edge costs: ΣeE min(pe,M) ce
#paths using edge e # paths
cost of eM
12 Sep 03 Martin Pál: Cost sharing & Approx 24
Plan of attack• Gather clients into groups of M
(often done by a facility location algorithm)• Build a Steiner tree on the gathering
pointsJain&Vazirani gave cost sharing fn for Steiner treeHave cost sharing for facility locationWhy not combine?
12 Sep 03 Martin Pál: Cost sharing & Approx 25
“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
12 Sep 03 Martin Pál: Cost sharing & Approx 26
Growing ghostsGrow 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
12 Sep 03 Martin Pál: Cost sharing & Approx 27
Cost sharesEach 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
12 Sep 03 Martin Pál: Cost sharing & Approx 28
Easy factsFact: 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 slower&stop sooner. Fact [competitiveness]: ΣjS j ≤ 2c*(S).Pf: LP duality.
Again, cost recovery is the hard part.
12 Sep 03 Martin Pál: Cost sharing & Approx 29
Cost recoveryTo 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.
12 Sep 03 Martin Pál: Cost sharing & Approx 30
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.
12 Sep 03 Martin Pál: Cost sharing & Approx 31
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!