2d0379d99a8a2d0df5481154613b982a.ppt
- Количество слайдов: 32
Group strategy proof mechanisms via primal-dual algorithms (Cost Sharing) Martin Pál 14 Oct 03 Éva Tardos Cost sharing & Approximation 1
Our setting Universe U of (selfish) users Users want to benefit from shared infrastructure cost function c*() c*(U) = cost of c*( ) = cost of U = { , , } c*(S) – cost of optimal infrastructure for users in S often NP-hard to compute 14 Oct 03 Cost sharing & Approximation 2
Sharing the cost Approximate Cost Recovery: Σi U pi ≥ c*(U) user shares cost Competitiveness: Σi S pi ≤ c*(S) for any S U: no overpayment p +p +p ≥ c( Known as core in game theory p +p +p ) ≤ c( ) often empty for games of interest 14 Oct 03 Cost sharing & Approximation 3
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 otherwise Cost sharing fn: ξ : 2 U U + ξ(S, i) – share of user i, if set S served cross-monotonic: for i S T U ξ(S, i) ≥ ξ(T, i) 14 Oct 03 Cost sharing & Approximation need to recompute tree & payments! ξ(U, ) ≤ ξ(U- , ) 4
The Moulin&Shenker mechanism S : = U repeat ask each user i “is ξ(S, i) ≤ ui ? ” drop all i S who say NO until all i S say YES Output: set S; prices pi = ξ(S, i) ui cost share Theorem: [Moulin&Shenker]: ξ(. ) cross-monotonic mechanism group strategyproof 14 Oct 03 Cost sharing & Approximation 5
Known cross-monotonic functions • Exact cross-monotonic sharing exists if c*() submodular [Moulin&Shenker 98] • Exact cost sharing for spanning tree [Kent&Skorin-Kapov 96], [Jain&Vazirani 01] implies 2 -approx. cost sharing for Steiner tree Any other games for which cross-mono sharing exists? 14 Oct 03 Cost sharing & Approximation 6
Our results General method for generating competitive, crossmonotonic cost shares using primal-dual algorithms Used our method to construct a cost sharing fn for: Metric Facility Location Single Sink Rent or Buy recovers 1/3 of cost recovers 1/15 of cost competitive, cross-monotonic 14 Oct 03 constructive proof gives an approximation algorithm Cost sharing & Approximation 7
Approximation algorithms • Primal-dual approximation for Facility Location [Jain&Vazirani 99] , [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] 14 Oct 03 Cost sharing & Approximation 8
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 9
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 10
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: Σi F’ fi + Σj S c(j, σ(j)) 14 Oct 03 Cost sharing & Approximation 11
Existing facility location algorithms. . each user j raises its j j pays for connection first, then for facility =5 if facility paid for, declared open =5 (possibly cleanup phase in the end) 14 Oct 03 =6 cost shares Cost sharing & Approximation 12
. . . do not yield cross-monotonic shares previously, ( )=6 with , ( )=8 helped to stop earlier failed to help 14 Oct 03 =3 =3 =8 Cost sharing & Approximation 13
Ghost shares After i freezes, continue growing its ghost i ghosts keep growing forever =3 =3 =5. 5 Fact: Shares i are cross-monotonic. Pf: more users more ghosts facilities open sooner i can stop growing earlier 14 Oct 03 Cost sharing & Approximation 14
Constructing a solution (1) Sp: set of users contributing to p at time of opening – “contributor set” tp: time of opening facility p is well funded, if j≥tp/3 for every j Sp 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) 14 Oct 03 Cost sharing & Approximation tp Sp p tq ≤tp/3 tr ≤tq/3 q r 15
Constructing a solution (2) Problem: user contributing to multiple well-funded facilities tp Solution: close all of them but one (process by increasing tp) p Lemma: For every well funded facility p there is a nearby open q such that dist(p, q) ≤ 2 tp ≤ 14 Oct 03 p well-funded ≤ 2(tp- tr) r ≤ 2 tr Sp open tq Sq q q Cost sharing & Approximation 16
Summing up Every open facility is well funded, i. e. can be paid for by Sp. We do not lose much on assignment cost by closing facilities. ≤ Cost shares pay for 1/3 of the cost of the solution. tp Sp p p well-funded ≤ 2(tp- tr) open r ≤ 2 tr q Theorem: There is a cross-monotonic cost sharing function for facility location that recovers 1/3 of cost. 14 Oct 03 Cost sharing & Approximation 17
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 18
“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 19
Conclusions General method for generating competitive, crossmonotonic cost shares using primal-dual algorithms. Used our method to construct a cost sharing fn for Facility Location & Single Sink Rent or Buy. Other problems admitting cross-mono cost sharing? Steiner Forest? Covering problems? Impossibility results? 14 Oct 03 Cost sharing & Approximation 20
*** The End. The End. The End. The End. The End. 14 Oct 03 Cost sharing & Approximation 21
Cost 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 j =∫ fj(t) dt stops paying 14 Oct 03 Cost sharing & Approximation 22
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 23
Building a solution Open all healthy well funded facilities Assign each client to closest facility p tp ≤ tp c(p, q) ≤ 2(tp-tq) c(q, q’)≤ 2 tq 14 Oct 03 ≤tp 1 Fact 1: for every facility p, there is an open facility q within radius 2 tp. ≤tp 1 ≤ j j≤tp/3 c(p, q’) ≤tp Cost sharing & Approximation . . . q Well funded tq healthy q’ 24
Cost Sharing Internet: many independent agents • Not hostile, but selfish • Willing to cooperate, if it helps them 14 Oct 03 Cost sharing & Approximation 25
Steiner tree: how to split cost 4 2 3 4 2 4 3 4 Cost shares 14 Oct 03 Cost sharing & Approximation 2 4 3 ? 3 0 ? 1 2 3 ? Cost shares 26
Steiner tree: how to split cost OPT( )=3 )=5 p( ) = 5 -3 = 2 No “fair” cost allocation exists! 14 Oct 03 Cost sharing & Approximation 27
Desirable properties of mechanisms • Σj S pj=c*(S) Σj S pj ≤ c*(S) • Only people in S pay Σj S pj ≥ c(S)/β (competitiveness) (budget balance) (voluntary participation) (approx. cost recovery) • No cheating, even in groups (group strategyproofness) • If uj high enough, j guaranteed to be in S (consumer sovereignity) 14 Oct 03 Cost sharing & Approximation 28
Cost sharing function ξ : 2 U U ℛ ξ(S, j) – cost share of user j, given set S • • Competitiveness: Σj S ξ(S, j) ≤ c*(S) Cost recovery: c(S)/β ≤ Σj S ξ(S, j) Voluntary particpiation: ξ(S, j) = 0 if j S Cross-monotonicity: for j S T ξ(S, j) ≥ ξ(T, j) 14 Oct 03 Cost sharing & Approximation 29
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 to pay for the tree constructed. 14 Oct 03 Cost sharing & Approximation 30
Paying 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 3 t. 14 Oct 03 Cost sharing & Approximation 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: Set. Cover – no better than Ω(n) approx • Applications of cost sharing to design of approximation algorithms. Thank you! 14 Oct 03 Cost sharing & Approximation 32


