280 likes | 384 Views
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.
E N D
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
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
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 Mce Goal: minimize rental+buying costs. Approx via cost sharing: Rent or Buy
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
Our work • Simple randomized 8-approximation for the Multicommodity Rent or Buy problem - (O(m log n) running time) • Analysis: based on strict cost sharing - useful in other contexts with two-stage costs (stochastic opt.) • Achieving strictness: Ball inflation technique Approx via cost sharing: Rent or Buy
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
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
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
Need a cost sharing algorithm Input: Set of marked demands S Output: Steiner forest FS on S cost share ξ(S,j) of each pair jS Set of demands demand pair ξ({}, ) = 4 ξ({}, ) = 5 Approx via cost sharing: Rent or Buy
Rental of if FS bought /M of share if added to S Cost Sharing for Steiner Forest (P1) Good approximation:cost(FS) St*(S) (P2) Cost shares do not overpay: jSξ(S,j) St*(S) (P3) Strictness: let S’ = S {si, ti}dist(si, ti) in G/ FS ξ(S’,i) Example: S = {} i = Approx via cost sharing: Rent or Buy
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+,) jD E[rent(j)] jD E[buy(j)] OPT Approx via cost sharing: Rent or Buy
Computing shares using the AKR-GW algorithm ξ(): ξ(): ξ(): Active terminals share cost of growth evenly. Approx via cost sharing: Rent or Buy
1 1+ε 1 AKR-GW is not enough cost share() = 1/n + rental() = 1 + Problem: cost shares do not pay enough! Solution: Force the algorithm to buy the middle edge - need to be careful not to pay too much Approx via cost sharing: Rent or Buy
1 1+ε 1 Forcing AKR-GW buy more Idea: Inflate the balls! Roughly speaking, multiply each radius by > 1 Approx via cost sharing: Rent or Buy
ξ() large ξ() small, can take shortcuts ξ() small, can take shortcuts Why should inflating work? layer: only is contributing layer: terminals other than contributing Approx via cost sharing: Rent or Buy
Freezing times The inflated AKR-GW • Run the standard AKR-GW algorithm on S • Note the time Tj when each demand j frozen • Run the algorithm again, with new freezing rule:every demand j deactivated at time Tj for some > 1 Approx via cost sharing: Rent or Buy
Freezing times The inflated AKR-GW (2) Freezing times Original AKR-GW Inflated AKR-GW Approx via cost sharing: Rent or Buy
Easy facts Fact: Any time t: u and v in the same cluster in Original u and v in the same cluster in Inflated Inflated has at most as many clusters as Original Theorem: Forest constructed by Inflated AKR-GW has cost at most 2OPT. Pf: adopted from [GW]. Approx via cost sharing: Rent or Buy
It’s Hammertime: Proving strictness • Compare: • Original(S+) (cost shares) • Inflated(S) (the forest we buy) • Need to prove: dist(s, t) in G/ FS ξ(S+, ) • Lower bound on ξ(S+, ) : alone(s) + alone(t) • Original(S+) must have connected terminals. Hence it bought a s -- t path. Use it to bound dist(s, t). Approx via cost sharing: Rent or Buy
Simplifying.. • Let be time when Original(S+) connects terminals. • Terminate Original(S+) at time . • In Inflated(S), freeze each term. j at time min(Tj, ). • Simpler graph H: • Contract all edges that Original(S+) bought. Call the new graph H. • Run both Original(S+) and Inflated(S) on H. • Note that Inflated(S) on H does not buy any edges! Approx via cost sharing: Rent or Buy
Comparing Original(S+) & Inflated(S) Freezing times Original(S+) Inflated(S) Freezing times Approx via cost sharing: Rent or Buy
(-1) |P| ≤ |Alone| Proof idea Correspondence of other (i.e. non-red) layers: Layer l in Original(S+) Layer l’ inInflated(S) |P| = |Alone| + |Other| |Other| ≤ |P| + |Waste| + |Waste| If we can prove |Waste| ≤ |Alone|, we are done. Approx via cost sharing: Rent or Buy
Bounding the Waste Claim: If a layer l contains s, then its corresponding inflated layer l’ also contains s. Same for t. Pf: By picture. Original(S+) Inflated(S) The only way of wasting a layer l is when l does not contain s (or t), but l’ does. Approx via cost sharing: Rent or Buy
Bounding the Waste (2) l l’ Approx via cost sharing: Rent or Buy
Bounding the Waste (3) l l’ Approx via cost sharing: Rent or Buy
Summing up |P| ≤ 2/(-1) |Alone| Hence we have 2 approximation algorithm admitting a 2/(-1)-strict cost sharing. Setting =2 we obtain a 4+4=8 approximation. Approx via cost sharing: Rent or Buy
Future work • Does the sampling algorithm work with any Steiner forest algorithm? With unscaled AKR-GW? • Does group strictness hold?augment(sol(S), T) jTξ(S,i) • Derandomize the sampling algorithm. • Other applications of cost sharing and strictness. • Different cost sharing functions? (crossmonotonic..) Approx via cost sharing: Rent or Buy
*** Useful Garbage *** Theorem: Inflated AKR-GW is a 2 approximation. Pf: adopted from [GW]. ≤≥≠∫∏∑√∂∆≈∙ Approx via cost sharing: Rent or Buy