Upload
peony
View
22
Download
0
Tags:
Embed Size (px)
DESCRIPTION
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. - PowerPoint PPT Presentation
Citation preview
14 Oct 03 Approx via cost sharing: Rent or Buy 1
Approximation Via Cost Sharing: Multicommodity Rent or Buy
Martin Pál
Joint work withAnupam Gupta Amit Kumar
Tim Roughgarden
14 Oct 03 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.
14 Oct 03 Approx via cost sharing: Rent or Buy 3
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.
Steiner forest: pay ce
for every edge used
14 Oct 03 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]
14 Oct 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
14 Oct 03 Approx via cost sharing: Rent or Buy 6
The Algorithm
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.
14 Oct 03 Approx via cost sharing: Rent or Buy 7
Bounding the cost
Expected buying cost is small:
Using -approx, can get OPT
Theorem: Expected cost of bought edges is OPT.
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
14 Oct 03 Approx via cost sharing: Rent or Buy 8
Bounding the rental cost
Unmarked demand pays its rental cost
Marked demand contributes towards buying its tree
pays rent
pays rent
pays buy
Plan: Bound rental cost by the buying cost:
Expected rental() Expected share()
pays rent
pays buy
pays buy
14 Oct 03 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 jS
ξ({}, ) = 4
ξ({}, ) = 5
Set of demandsdemand pair
14 Oct 03 Approx via cost sharing: Rent or Buy 10
Cost Sharing for Steiner Forest
(P1) Constant approximation: cost(FS) St*(S)
(P2) Cost shares do not overpay: jS ξ(S,j) St*(S)
(P3) Cost shares pay enough: let S’ = S {si, ti} dist(si, ti) in G/ FS ξ(S’,i)such ξ() is strict.
Example: S = {} i =
Rental of if FS bought
/M of share if added to S
14 Oct 03 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[buy() | S] = 1/M M ξ(S+,)
E[rent()]
E[buy()]
jD E[rent(j)] jD E[buy(j)] OPT
14 Oct 03 Approx via cost sharing: Rent or Buy 12
Computing shares using the Goemans-Williamson algorithm
ξ():ξ():ξ():
Active terminals share cost of growth evenly.
14 Oct 03 Approx via cost sharing: Rent or Buy 13
Goemans-Williamson is not enough
1+ε
1 1
cost share = 1/n + rental = 1 + Solution: Inflate the balls!
Roughly speaking, multiply each radius by > 1
Problem: cost shares do not pay enough!
14 Oct 03 Approx via cost sharing: Rent or Buy 14
Summing up
For = 2 we get a 4-approximate 4-strict sharing alg.
This yields an 8-approximation algorithm in total.
ξ() large
ξ() small, can take shortcuts
ξ() small, can take shortcuts
14 Oct 03 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..)
14 Oct 03 Approx via cost sharing: Rent or Buy 16
What does (P3) say
14 Oct 03 Approx via cost sharing: Rent or Buy 17
What does (P3) say
Solution for Solution for
a
c
( , ) (a+c)
b
14 Oct 03 Approx via cost sharing: Rent or Buy 18
Solution
Inflate the balls !
1. Run the standard [AKR, GW] algorithm
2. Note the time Tj when each demand j deactivated
3. 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 2OPT.
14 Oct 03 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)
14 Oct 03 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 si or ti was alone in its cluster
14 Oct 03 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)
14 Oct 03 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)
14 Oct 03 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
14 Oct 03 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.
14 Oct 03 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
14 Oct 03 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 runsi si
The “waste” can be bounded.