- 57 Views
- Uploaded on
- Presentation posted in: General

Approximation Via Cost Sharing: Multicommodity Rent or Buy

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - 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

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

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

- 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

- 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.

Approx via cost sharing: Rent or Buy

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

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

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

(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

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

ξ():

ξ():

ξ():

Active terminals share cost of growth evenly.

Approx via cost sharing: Rent or Buy

1

1+ε

1

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

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

layer: only is contributing

layer: terminals other than contributing

Approx via cost sharing: Rent or Buy

Freezing times

- 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

Freezing times

Original AKR-GW

Inflated AKR-GW

Approx via cost sharing: Rent or Buy

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

- 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

- 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

Freezing times

Original(S+)

Inflated(S)

Freezing times

Approx via cost sharing: Rent or Buy

(-1) |P| ≤ |Alone|

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

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

l

l’

Approx via cost sharing: Rent or Buy

l

l’

Approx via cost sharing: Rent or Buy

|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

- 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

Theorem: Inflated AKR-GW is a 2 approximation.

Pf: adopted from [GW].

≤≥≠∫∏∑√∂∆≈∙

Approx via cost sharing: Rent or Buy