26
14 Oct 03 Approx via cost sharing: Rent or Buy 1 Approximation Via Cost Sharing: Multicommodity Rent or Buy Martin Pál Joint work with Anupam Gupta Amit Kumar Tim Roughgarden

Approximation Via Cost Sharing: Multicommodity Rent or Buy

  • Upload
    peony

  • View
    22

  • Download
    0

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

Page 1: Approximation Via Cost Sharing: Multicommodity Rent or Buy

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

Page 2: Approximation Via Cost Sharing: Multicommodity Rent or Buy

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.

Page 3: Approximation Via Cost Sharing: Multicommodity Rent or Buy

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

Page 4: Approximation Via Cost Sharing: Multicommodity Rent or Buy

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]

Page 5: Approximation Via Cost Sharing: Multicommodity Rent or Buy

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

Page 6: Approximation Via Cost Sharing: Multicommodity Rent or Buy

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.

Page 7: Approximation Via Cost Sharing: Multicommodity Rent or Buy

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

Page 8: Approximation Via Cost Sharing: Multicommodity Rent or Buy

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

Page 9: Approximation Via Cost Sharing: Multicommodity Rent or 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

Page 10: Approximation Via Cost Sharing: Multicommodity Rent or Buy

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

Page 11: Approximation Via Cost Sharing: Multicommodity Rent or Buy

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

Page 12: Approximation Via Cost Sharing: Multicommodity Rent or Buy

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.

Page 13: Approximation Via Cost Sharing: Multicommodity Rent or Buy

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!

Page 14: Approximation Via Cost Sharing: Multicommodity Rent or Buy

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

Page 15: Approximation Via Cost Sharing: Multicommodity Rent or Buy

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

Page 16: Approximation Via Cost Sharing: Multicommodity Rent or Buy

14 Oct 03 Approx via cost sharing: Rent or Buy 16

What does (P3) say

Page 17: Approximation Via Cost Sharing: Multicommodity Rent or Buy

14 Oct 03 Approx via cost sharing: Rent or Buy 17

What does (P3) say

Solution for Solution for

a

c

( , ) (a+c)

b

Page 18: Approximation Via Cost Sharing: Multicommodity Rent or Buy

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.

Page 19: Approximation Via Cost Sharing: Multicommodity Rent or Buy

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)

Page 20: Approximation Via Cost Sharing: Multicommodity Rent or Buy

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

Page 21: Approximation Via Cost Sharing: Multicommodity Rent or Buy

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)

Page 22: Approximation Via Cost Sharing: Multicommodity Rent or Buy

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)

Page 23: Approximation Via Cost Sharing: Multicommodity Rent or Buy

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

Page 24: Approximation Via Cost Sharing: Multicommodity Rent or Buy

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.

Page 25: Approximation Via Cost Sharing: Multicommodity Rent or Buy

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

Page 26: Approximation Via Cost Sharing: Multicommodity Rent or Buy

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.