Approximation Via Cost Sharing: Multicommodity Rent or Buy

Preview:

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.

Recommended