Download presentation
Presentation is loading. Please wait.
Published byConstance Norton Modified over 9 years ago
1
12 Sep 03Martin Pál: Cost sharing & Approx1 Cost Sharing and Approximation Martin Pál joint work with Éva Tardos A-exam
2
12 Sep 03Martin Pál: Cost sharing & Approx2 Cost Sharing Internet: many independent agents Not hostile, but selfish Willing to cooperate, if it helps them
3
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 buy
4
12 Sep 03Martin Pál: Cost sharing & Approx4 Steiner tree: how to split cost 443 22 ? ?? 1 33 0 43 3 22 3 44 Cost shares
5
12 Sep 03Martin Pál: Cost sharing & Approx5 OPT( ) = 5 p( ) = 5-3 = 2 OPT( ) = 3 Steiner tree: how to split cost No “fair” cost allocation exists!
6
12 Sep 03Martin Pál: Cost sharing & Approx6 Utilities $45 u 1 =25 u 2 =25 u 3 =25 internet p 1 =15 p 2 =15 p 3 =15 u j – utility of agent j u 1 ’=5 Problem: users may not reveal true utilities p 1 =0 p 2 =22.5 p 3 =22.5
7
12 Sep 03Martin Pál: Cost sharing & Approx7 Cost sharing mechanism..is a protocol/algorithm that requests utility u j from every user j selects the set S of people serviced builds network servicing S Computes the payment p j of every user j S
8
12 Sep 03Martin Pál: Cost sharing & Approx8 Desirable properties of mech’s Σ j S p j =c * (S) (budget balance) Only people in S pay (voluntary participation) No cheating, even in groups (group strategyproofness) If u j high enough, j guaranteed to be in S (consumer sovereignity) Σ j S p j ≤ c * (S) (competitiveness) Σ j S p j ≥ c(S)/β (approx. cost recovery)
9
12 Sep 03Martin Pál: Cost sharing & Approx9 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)
10
12 Sep 03Martin Pál: Cost sharing & Approx10 The Moulin&Shenker mechanism Let ξ : 2 U U ℛ 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 p j = ξ(S,j) Thm: [Moulin&Shenker]: ξ(.) cross-monotonic mech. group strategyproof
11
12 Sep 03Martin Pál: Cost sharing & Approx11 Designing 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 buy:competitive, recovers 1/15 of cost
12
12 Sep 03Martin Pál: Cost sharing & Approx12 Facility Location F is a set of facilities. D is a set of clients. c ij is the distance between any i and j in D F. (assume c ij satisfies triangle inequality) f i : cost of facility i
13
12 Sep 03Martin Pál: Cost sharing & Approx13 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’ f i + Σ j S c(j,σ(j))
14
12 Sep 03Martin Pál: Cost sharing & Approx14 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 =6
15
12 Sep 03Martin Pál: Cost sharing & Approx15..do not yield x-mono shares =5 with, ( )=6 without, ( )=5 was stopped prematurely in the first run
16
12 Sep 03Martin Pál: Cost sharing & Approx16 Ghost shares =4 =5 Two shares per user: ghost share j real share j j grows forever j stops when connected
17
12 Sep 03Martin Pál: Cost sharing & Approx17 Easy 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]: Σ j S j ≤ c * (S). Pf: j is a feasible LP dual. Hard part: cost recovery.
18
12 Sep 03Martin Pál: Cost sharing & Approx18 Constructing a solution t p : time when facility p opened S p : set of clients connected to p at time t p facility p is well funded, if 3 j ≥t p for every j S p each facility is either poisoned or healthy p is poisoned if it shares a client with a well funded healthy facility q and t p > t q =7 =2 t p =2 t q =7
19
12 Sep 03Martin Pál: Cost sharing & Approx19 Building 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 2t p. ≤tp≤tp j ≤t p /3 t p1 ≤ j ≤ t p1 tptp p... q tqtq Well funded q’ healthy c(p,q) ≤2(t p -t q ) c(q,q’)≤2 t q c(p,q’) ≤t p
20
12 Sep 03Martin Pál: Cost sharing & Approx20 Cost recovery Fact 2: p open clients in S p can pay 1/3 their connection + facility cost Pf: f j = Σ j S(p) t p – c jp and j ≥t p /3 SpSp Fact 3: j is in no S p can pay for 1/3 of connection Pf: f j = Σ j S(p) t p – c jp and j ≥t p /3 open ≤j≤j ≤2 j
21
12 Sep 03Martin Pál: Cost sharing & Approx21 Cost 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 SpSp open ≤j≤j ≤2 j
22
12 Sep 03Martin Pál: Cost sharing & Approx22 A set of clients D. A source node s. c ij is the distance between any pair of nodes. (assume c ij satisfies triangle inequality) Single source rent or buy
23
12 Sep 03Martin Pál: Cost sharing & Approx23 Single source rent or buy 1) Pick a path from every client j to source s. Goal: Minimize the sum of edge costs: Σ e E min(p e,M) c e #paths using edge e # paths cost of e M
24
12 Sep 03Martin Pál: Cost sharing & Approx24 Plan of attack Gather clients into groups of M (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?
25
12 Sep 03Martin Pál: Cost sharing & Approx25 “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
26
12 Sep 03Martin Pál: Cost sharing & Approx26 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
27
12 Sep 03Martin Pál: Cost sharing & Approx27 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 stops paying j =∫ f j (t) dt
28
12 Sep 03Martin Pál: Cost sharing & Approx28 Easy 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 slower&stop sooner. Fact [competitiveness]: Σ j S j ≤ 2c * (S). Pf: LP duality. Again, cost recovery is the hard part.
29
12 Sep 03Martin Pál: Cost sharing & Approx29 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.
30
12 Sep 03Martin Pál: Cost sharing & Approx30 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 3t.
31
12 Sep 03Martin Pál: Cost sharing & Approx31 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!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.