33
1 Mar 05 Stochastic Steiner withou t a Root 1 Stochastic Steiner Tree without a Root Martin Pál Joint work with Anupam Gupta

Stochastic Steiner Tree without a Root

Embed Size (px)

DESCRIPTION

Stochastic Steiner Tree without a Root. Martin P ál Joint work with Anupam Gupta. Steiner Tree. Input : graph G , weights c e on edges, set of terminals g = { t 1 , t 2 , …, t n }. Solution : a network connecting all terminals. Goal : minimize cost of the network built. - PowerPoint PPT Presentation

Citation preview

1 Mar 05 Stochastic Steiner without a Root 1

Stochastic Steiner Tree without a Root

Martin Pál

Joint work with Anupam Gupta

1 Mar 05 Stochastic Steiner without a Root 2

Steiner Tree

Input: graph G, weights ce on edges,

set of terminals g = {t1, t2, …, tn}

Solution: a network connecting all terminals.

Goal: minimize cost of the network built.

Note: optimal network will be a tree.

1 Mar 05 Stochastic Steiner without a Root 3

Stochastic Steiner tree

What if the terminals are not known beforehand?

Installing edges in advance reduces cost – but planning must be done obliviously.

We may not be able to correctly connect all demands – but hopefully we will be allowed to fix things later by buying extra edges.

?

?

??

?

?

1 Mar 05 Stochastic Steiner without a Root 4

The modelTwo stage stochastic model with recourse:

On Monday, edges are cheap, but we do not know the set of terminals. We can buy edges.

On Tuesday, set g of terminals materializes. We must buy edges to connect up g. Edges are σ times more expensive. (σ == inflation factor).

drawn from a known distribution π

1 Mar 05 Stochastic Steiner without a Root 5

The model

Two stage stochastic model with recourse:

Find F1 Edges and F2 : 2Users 2Edges to

minimize cost(F1) + σ Eπ(g)[cost(F2(g))]

subject to connected(g, F1 F2(g))

for all sets gUsers

Want compact representation of F2 by an algorithm

1 Mar 05 Stochastic Steiner without a Root 6

First stage not connected subgraph

Pr[] = Pr[] = ½

σ > 2

Two distant groups

Two nearby groups

1 Mar 05 Stochastic Steiner without a Root 7

The Rent or Buy problem (1)

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.

1 Mar 05 Stochastic Steiner without a Root 8

The Rent or Buy problem (2)

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

1 Mar 05 Stochastic Steiner without a Root 9

Rent or Buy as Stochastic Steiner

Let gi ={si,ti}

π(gi) = 1/n

σ = M/n

install e in first stage buy e install e in second stage rent e

Stochastic Steiner = generalized RoB

Each group gi has tree Ti

(may have exponentially many groups)

1 Mar 05 Stochastic Steiner without a Root 10

The Algorithm

1. Boosted Sampling: Draw σ groups of clients g1,g2,…,gσ indep. from the distribution π.

2. Build a Steiner forest F1 on {g1,g2,…,gσ} using an -approx algorithm.

3. When actual group g of terminals appears, build a tree spanning g in G/F1.

1 Mar 05 Stochastic Steiner without a Root 11

Bounding the cost

Expected first stage cost is small:

Using -approx, can get OPT

Theorem: Expected cost of bought edges is OPT.

Lemma: There is a forest F on sampled groups with E[cost(F)] OPT.

e installed in first stage OPT: Pr[e is in F] = 1

e not in first stage OPT: Pr[e is in F] ≤ σ Pr[e is in some Ti]

1 Mar 05 Stochastic Steiner without a Root 12

Bounding the second stage cost

Unselected groups pay their rental cost

Selected groups contribute towards buying its tree

pays rent

pays rent

pays buy

Plan: Bound second stage cost by the first stage cost:

Expected second stage() Expected share()

pays rent

pays buy

pays buy

1 Mar 05 Stochastic Steiner without a Root 13

Need a cost sharing algorithm

Input: Set of demand groups S

Output: Steiner forest FS on S cost share ξ(S,g) of each group gS

ξ({}, ) = 4

ξ({}, ) = 5

Set of demandsdemand group

1 Mar 05 Stochastic Steiner without a Root 14

Cost Sharing for Steiner Forest

(P1) Good approximation: cost(FS) St*(S)

(P2) Cost shares do not overpay: gS ξ(S,g) St*(S)

(P3) Strictness: let S’ = S {g} MST(g) in G/ FS ξ(S’,g)

Example: S = {} g =

Rental of if FS bought

of share if added to S

1 Mar 05 Stochastic Steiner without a Root 15

Bounding second stage cost

S’ = {g1,g2,…,gσ} and S = S’– {}.Imagine Pr[S’ | S] = σ π().E[rent() | S]

π()σMST() in G/FS

E[buy() | S] = π()σ

ξ(S+,)

E[rent()]

E[buy()]

jD E[rent(j)] jD E[buy(j)] OPT

1 Mar 05 Stochastic Steiner without a Root 16

Computing shares using the AKR-GW algorithm

ξ():ξ():ξ():

Active terminals share cost of growth evenly.

1 Mar 05 Stochastic Steiner without a Root 17

AKR-GW is not enough

1+ε

1 1

cost share() = 1/n + rental() = 1 +

Solution: Force the algorithm to buy the middle edge

- need to be careful not to pay too much

Problem: cost shares do not pay enough!

1 Mar 05 Stochastic Steiner without a Root 18

Forcing AKR-GW buy more

1+ε

1 1

Idea: Inflate the balls!

Roughly speaking, multiply each radius by > 1

1 Mar 05 Stochastic Steiner without a Root 19

Why should inflating work?

layer: only is contributing

layer: terminals other than contributing

ξ() large

ξ() small, can take shortcuts

ξ() small, can take shortcuts

1 Mar 05 Stochastic Steiner without a Root 20

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

1 Mar 05 Stochastic Steiner without a Root 21

The inflated AKR-GW (2)

Freezing times

Original AKR-GW

Inflated AKR-GWFreezing times

1 Mar 05 Stochastic Steiner without a Root 22

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 (+1) OPT.

Pf: adapted from [GW].

1 Mar 05 Stochastic Steiner without a Root 23

Proving strictness

Compare:

•Original(S+) (cost shares)

•Inflated(S) (the forest we buy)

Need to prove: MST() in G/ FS ξ(S+, )

•Lower bound on ξ(S+, ) : alone()

•Original(S+) must have connected terminals. Hence it contains a tree P spanning . Use it to bound MST().

1 Mar 05 Stochastic Steiner without a Root 24

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 Inflated(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!

1 Mar 05 Stochastic Steiner without a Root 25

Comparing Original(S+) & Inflated(S)

Freezing times

Freezing times

Original(S+)

Inflated(S)

1 Mar 05 Stochastic Steiner without a Root 26

Proof idea

Correspondence of other (i.e. non-red) layers:

Layer l in Original(S+) Layer l’ in Inflated(S)

|Tree| = |Alone| + |Other|

|Other| ≤ |Tree|(-1) |Tree| ≤ |Alone|

+ |Waste|

+ |Waste|

+ |Duplicates|

If we can prove: we are done.

|Waste| ≤ |Alone||Duplicates| ≤ |Alone| + |Other|

1 Mar 05 Stochastic Steiner without a Root 27

Bounding the Waste

Claim: If a layer l contains t, then its corresponding inflated layer l’ also contains some t.

Original(S+)

Inflated(S)

Pf: By picture.

The only way of wasting a layer l is when the whole group lies inside l’.

1 Mar 05 Stochastic Steiner without a Root 28

Bounding the Waste (2)

l

l’

1 Mar 05 Stochastic Steiner without a Root 29

Bounding the Waste (3)

l

l’

1 Mar 05 Stochastic Steiner without a Root 30

Bounding the Duplicates

# edges cut = #clusters –1

# intersections = 2 # edges

# cuts < 2 #clusters

|Alone| + |Other|+|Duplicates| < 2(|Alone| + |Other|)

1 Mar 05 Stochastic Steiner without a Root 31

Summing up

|Tree| ≤ 4/(-2) |Alone|

Hence we have +1 approximation algorithm with 4/(-2)-strict cost sharing.

Setting =4 we obtain a 5+8=13 approximation.

1 Mar 05 Stochastic Steiner without a Root 32

The End

• No need to know π explicitly (sampling oracle is enough)

• Is the ball inflation trick necessary?

• Derandomize the sampling algorithm (for π given explicitly).

• Get stronger strictness to allow multistage algo

1 Mar 05 Stochastic Steiner without a Root 33

Theorem: Inflated AKR-GW is a 2 approximation.

Pf: adopted from [GW].

≤≥≠∫∏∑√∂∆≈∙

*** Useful Garbage ***