Title: Approximation Via Cost Sharing: Multicommodity Rent or Buy
1Approximation Via Cost Sharing Multicommodity
Rent or Buy
- Martin Pál
- Joint work with
- Anupam Gupta Amit Kumar
- Tim Roughgarden
2Steiner Forest and Rent or Buy
Input graph G, weights ce on edges, set of
demand pairs D, a constant M1
Solution a set of paths, one for each (si,ti)
pair. Goal minimize cost of the network built.
3The 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 rentalbuying costs.
4Related 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
5Our 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
6The Algorithm
7Bounding the cost
Expected buying cost is small
Lemma There is a forest F on marked pairs with
Ecost(F) ? OPT.
e bought by OPT Pre is in F 1 e rented by
OPT Pre is in F 1/M
Using ?-approx, can get ? ? ? OPT Theorem
Expected cost of bought edges is ? ? ? OPT.
8Bounding 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(?)
9Need 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
10Cost Sharing for Steiner Forest
(P1) Good approximation cost(FS) ? ?
St(S) (P2) Cost shares do not overpay ?j?S
?(S,j) ? St(S) (P3) Strictness let S
S ? si, ti dist(si, ti) in G/ FS ? ? ?(S,i)
Example S ? i ?
11Bounding rental cost
Suppose we flip a coin for every demand pair
except ?. Let S be the set of marked pairs.
Erent(?) S ? dist(?,?) in G/FS
Erent(?) ? ? ? Ebuy(?)
? ? ?
Ebuy(?) S 1/M ? M ? ?(S?,?)
?j?D Erent(j) ? ? ?j?D Ebuy(j) ? ? OPT
12Computing shares using the AKR-GW algorithm
?(?)
?(?)
?(?)
Active terminals share cost of growth evenly.
13AKR-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
14Forcing AKR-GW buy more
Idea Inflate the balls! Roughly speaking,
multiply each radius by ? gt 1
15Why should inflating work?
layer only ? is contributing layer terminals
other than ? contributing
16The 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
ruleevery demand j deactivated at time ??Tj for
some ? gt 1
17The inflated AKR-GW (2)
Freezing times
Original AKR-GW
Inflated AKR-GW
18Easy 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 2??OPT. Pf adopted from GW.
19Its 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?).
20Simplifying..
- 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!
21Comparing Original(S?) Inflated(S)
Freezing times
Original(S?)
Inflated(S)
Freezing times
22Proof idea
Correspondence of other (i.e. non-red)
layers Layer l in Original(S?) ? Layer l in
Inflated(S)
P Alone Other ? ? Other
P
?Waste
?Waste
If we can prove Waste Alone, we are done.
23Bounding 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.
24Bounding the Waste (2)
l
l
25Bounding the Waste (3)
l
l
26Summing up
P 2?/(?-1) ? Alone Hence we have 2?
approximation algorithm admitting a
2?/(?-1)-strict cost sharing. Setting ?2 we
obtain a 448 approximation.
27Future work
- Does the sampling algorithm work with any Steiner
forest algorithm? With unscaled AKR-GW? - Does group strictness hold? augment(sol(S),
T) ? ???j?T ?(S,i) - Derandomize the sampling algorithm.
- Other applications of cost sharing and
strictness. - Different cost sharing functions?
(crossmonotonic..)
28 Useful Garbage
Theorem Inflated AKR-GW is a 2?
approximation. Pf adopted from GW.
????v??