Approximation Via Cost Sharing:
Multicommodity Rent or Buy
Martin Pál
Joint work with
Anupam Gupta Amit Kumar
Tim Roughgarden
17 Nov 03
Approx via cost sharing: Rent or Buy
1
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.
17 Nov 03
Approx via cost sharing: Rent or Buy
2
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
17 Nov 03
Approx via cost sharing: Rent or Buy
3
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]
17 Nov 03
Approx via cost sharing: Rent or Buy
4
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
17 Nov 03
Approx via cost sharing: Rent or Buy
5
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.
17 Nov 03
Approx via cost sharing: Rent or Buy
6
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.
17 Nov 03
Approx via cost sharing: Rent or Buy
7
Bounding the rental cost
Unmarked demand pays its
rental cost
Marked demand contributes
towards buying its tree
pays rent
pays buy
rent
pays buy
Plan: Bound rental cost by the buying cost:
Expected rental() Expected share()
17 Nov 03
Approx via cost sharing: Rent or Buy
8
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
17 Nov 03
Approx via cost sharing: Rent or Buy
9
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 = {}
17 Nov 03
i=
Rental of
if FS bought
Approx via cost sharing: Rent or Buy
/M of share if
added to S
10
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
17 Nov 03
Approx via cost sharing: Rent or Buy
11
Computing shares using the
AKR-GW algorithm
ξ():
ξ():
ξ():
Active terminals
share cost of
growth evenly.
17 Nov 03
Approx via cost sharing: Rent or Buy
12
AKR-GW is not enough
1
1+ε
cost share() = 1/n +
rental()
=1+
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
17 Nov 03
Approx via cost sharing: Rent or Buy
13
Forcing AKR-GW buy more
1
1+ε
1
Idea: Inflate the balls!
Roughly speaking, multiply each radius by > 1
17 Nov 03
Approx via cost sharing: Rent or Buy
14
Why should inflating work?
layer: only is contributing
layer: terminals other than contributing
ξ() small,
large
can take
shortcuts
17 Nov 03
Approx via cost sharing: Rent or Buy
15
The inflated AKR-GW
1. Run the standard AKR-GW algorithm on S
2. Note the time Tj when each demand j frozen
3. Run the algorithm again, with new freezing rule:
every demand j deactivated at time Tj for some > 1
Freezing
times
17 Nov 03
Approx via cost sharing: Rent or Buy
16
The inflated AKR-GW (2)
Freezing
times
Original AKR-GW
Freezing
times
Inflated AKR-GW
17 Nov 03
Approx via cost sharing: Rent or Buy
17
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].
17 Nov 03
Approx via cost sharing: Rent or Buy
18
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).
17 Nov 03
Approx via cost sharing: Rent or Buy
19
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!
17 Nov 03
Approx via cost sharing: Rent or Buy
20
Comparing Original(S+) & Inflated(S)
Freezing times
Original(S+)
Inflated(S)
17 Nov 03
Freezing times
Approx via cost sharing: Rent or Buy
21
Proof 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|
(-1) |P| ≤ |Alone| + |Waste|
If we can prove |Waste| ≤ |Alone|, we are done.
17 Nov 03
Approx via cost sharing: Rent or Buy
22
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.
17 Nov 03
Approx via cost sharing: Rent or Buy
23
Bounding the Waste (2)
l
l’
17 Nov 03
Approx via cost sharing: Rent or Buy
24
Bounding the Waste (3)
l
l’
17 Nov 03
Approx via cost sharing: Rent or Buy
25
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.
17 Nov 03
Approx via cost sharing: Rent or Buy
26
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..)
17 Nov 03
Approx via cost sharing: Rent or Buy
27
*** Useful Garbage ***
Theorem: Inflated AKR-GW is a 2 approximation.
Pf: adopted from [GW].
≤≥≠∫∏∑√∂∆≈∙
17 Nov 03
Approx via cost sharing: Rent or Buy
28
© Copyright 2026 Paperzz