1 / 26

Approximation Via Cost Sharing: Multicommodity Rent or Buy

Approximation Via Cost Sharing: Multicommodity Rent or Buy. Martin P ál Joint work with Anupam Gupta Amit Kumar Tim Roughgarden. Steiner Forest and Rent or Buy. Input : graph G , weights c e on edges, set of demand pairs D , a constant M≥1.

peony
Download Presentation

Approximation Via Cost Sharing: Multicommodity Rent or Buy

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Approximation Via Cost Sharing: Multicommodity Rent or Buy Martin Pál Joint work with Anupam Gupta Amit Kumar Tim Roughgarden Approx via cost sharing: Rent or Buy

  2. Steiner Forest and Rent or Buy Input: graph G, weights ce on edges, set of demand pairs D,a constant M≥1 Solution: a set of paths, one for each (si,ti) pair. Goal: minimize cost of the network built. Approx via cost sharing: Rent or Buy

  3. Steiner forest: pay ce for every edge used The cost Rent or buy: Must rent or buy each edge. rent: pay ce for each path using edge e buy: pay Mce Goal: minimize rental+buying costs. Approx via cost sharing: Rent or Buy

  4. Related work • 2-approximation for Steiner Forest[Agarwal, Klein & Ravi 91], [Goemans & Williamson 95] • Constant approximation for Single Sink Buy at Bulk[Karger & Minkoff 00], [Meyerson & Munagala 00] • Constant approximation for Multicommodity Rent or Buy[Kumar, Gupta & Roughgarden 02] • Spanning Tree + Randomization = Single Sink Rent or Buy[Gupta, Kumar & Roughgarden 03] • Cost sharing (Steiner tree, Single Sink Rent or Buy)[Jain & Vazirani 02], [P & Tardos 03] Approx via cost sharing: Rent or Buy

  5. Our work • Simple randomized 8-approximation for the Multicommodity Rent or Buy problem • Analysis based on cost sharing • Ball inflation technique of independent interest • Can be implemented in O(m log n) time Approx via cost sharing: Rent or Buy

  6. 1. Mark each demand pair independently at random with prob. 1/M. 2. Build a Steiner forest on the marked pairs, using a good (-approx.) algorithm. 3. Rent shortest paths between all unmarked pairs. The Algorithm Approx via cost sharing: Rent or Buy

  7. Bounding the cost Expected buying cost is small: Lemma: There is a forest F on marked pairs with E[cost(F)]  OPT. e bought by OPT: Pr[e is in F] = 1 e rented by OPT: Pr[e is in F] = 1/M Using -approx, can get    OPT Theorem: Expected cost of bought edges is    OPT. Approx via cost sharing: Rent or Buy

  8. pays rent pays buy pays buy pays rent pays rent pays buy Bounding the rental cost Unmarked demand pays its rental cost Marked demand contributes towards buying its tree Plan: Bound rental cost by the buying cost: Expected rental()  Expected share() Approx via cost sharing: Rent or Buy

  9. Need a cost sharing algorithm Input: Set of marked demands S Output: Steiner forest FS on S cost share ξ(S,j) of each pair jS Set of demands demand pair ξ({}, ) = 4 ξ({}, ) = 5 Approx via cost sharing: Rent or Buy

  10. such ξ() is strict.   Rental of  if FS bought /M of  share if added to S Cost Sharing for Steiner Forest (P1) Constant approximation:cost(FS)  St*(S) (P2) Cost shares do not overpay: jSξ(S,j)  St*(S) (P3) Cost shares pay enough: let S’ = S  {si, ti}dist(si, ti) in G/ FS  ξ(S’,i) Example: S = {} i =  Approx via cost sharing: Rent or Buy

  11. Bounding rental cost Suppose we flip a coin for every demand pair except . Let S be the set of marked pairs. E[rent() | S]  dist(,) in G/FS E[rent()]    E[buy()]    E[buy() | S] = 1/M  M  ξ(S+,) jD E[rent(j)]   jD E[buy(j)]   OPT Approx via cost sharing: Rent or Buy

  12. Computing shares using the Goemans-Williamson algorithm ξ(): ξ(): ξ(): Active terminals share cost of growth evenly. Approx via cost sharing: Rent or Buy

  13. 1 1+ε 1 Goemans-Williamson is not enough cost share = 1/n + rental = 1 +  Problem: cost shares do not pay enough! Solution: Inflate the balls! Roughly speaking, multiply each radius by  > 1 Approx via cost sharing: Rent or Buy

  14. ξ() large ξ() small, can take shortcuts ξ() small, can take shortcuts Summing up For  = 2 we get a 4-approximate 4-strict sharing alg. This yields an 8-approximation algorithm in total. Approx via cost sharing: Rent or Buy

  15. Conclusions • We have presented a simple 8-approx. for Multicommodity Rent or Buy. • Extension: instead of pairs, have groups. Each group must be connected by a tree, edge cost depends on the number of trees using it. • Does our algorithm work with any Steiner forest algorithm? With unscaled Goemans-Williamson? • Other cost sharing functions? (crossmonotonic..) Approx via cost sharing: Rent or Buy

  16. What does (P3) say Approx via cost sharing: Rent or Buy

  17. What does (P3) say Solution for Solution for a b c ( , )   (a+c) Approx via cost sharing: Rent or Buy

  18. Solution • Inflate the balls ! • Run the standard [AKR, GW] algorithm • Note the time Tj when each demand j deactivated • Run the algorithm again, except that now every demand j deactivated at time Tj for some  > 1 • Adopting proof from [GW]: buying cost at most 2OPT. Approx via cost sharing: Rent or Buy

  19. How to prove (P3) Need to compare runs on D and D’ = D  {si, ti} Idea: 1. pick a {si, ti} path P in G/ FD 2. Show that (D’,i) accounts for a constant fraction of length(P) Approx via cost sharing: Rent or Buy

  20. How to prove (P3) Need to compare runs on D and D’ = D  {si, ti} Idea: 1. pick a {si, ti} path P in G/ FD 2. Show that (D’,i) accounts for a constant fraction of length(P) Instead of (D’,i), use alone(i), the total time sior ti was alone in its cluster Approx via cost sharing: Rent or Buy

  21. How to prove (P3) Need to compare runs on D and D’ = D  {si, ti} Idea: 1. pick a {si, ti} path P in G/ FD 2. Show that (D’,i) accounts for a constant fraction of length(P) Approx via cost sharing: Rent or Buy

  22. How to prove (P3) Need to compare runs on D and D’ = D  {si, ti} Idea: 1. pick a {si, ti} path P in G/ FD 2. Show that (D’,i) accounts for a constant fraction of length(P) Approx via cost sharing: Rent or Buy

  23. How to prove (P3) Need to compare runs on D and D’ = D  {si, ti} Idea: 1. pick a {si, ti} path P in G/ FD 2. Show that (D’,i) accounts for a constant fraction of length(P) (D’, ), = 2.5 alone( ) = 2.0 Approx via cost sharing: Rent or Buy

  24. Mapping of layers Lonely layer: generated by si or ti while the only active demand in its cluster Each non-lonely layer in the D’ run maps to  layers in the scaled D run. Idea: length(P) = #of lonely and non-lonely layers crossed in D’ run length(P)  #of layers it crosses in scaled D run Hence: for each non-lonely layer, -1 lonely layers crossed. Approx via cost sharing: Rent or Buy

  25. Mapping not one to one Two non-lonely layers in D’ run can map to the same layer in scaled D run. D’ run scaled D run Approx via cost sharing: Rent or Buy

  26. Not all layers of D run cross P A layer in D’ run that crosses P can map to a layer in scaled D run that does not cross P D’ run scaled D run si si The “waste” can be bounded. Approx via cost sharing: Rent or Buy

More Related