Download presentation
Presentation is loading. Please wait.
Published byBridget Warren Modified over 9 years ago
1
1 Mar 05Stochastic Steiner without a Root1 Stochastic Steiner Tree without a Root Martin Pál Joint work with Anupam Gupta
2
1 Mar 05Stochastic Steiner without a Root2 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. Note: optimal network will be a tree.
3
1 Mar 05Stochastic Steiner without a Root3 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. ? ? ? ? ? ?
4
1 Mar 05Stochastic Steiner without a Root4 The model Two 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 π
5
1 Mar 05Stochastic Steiner without a Root5 The model Two stage stochastic model with recourse: Find F 1 Edges and F 2 : 2 Users 2 Edges to minimizecost(F 1 ) + σ E π(g) [cost(F 2 (g))] subject to connected(g, F 1 F 2 (g)) for all sets g Users Want compact representation of F 2 by an algorithm
6
1 Mar 05Stochastic Steiner without a Root6 First stage not connected subgraph Pr[ ] = Pr[ ] = ½ σ > 2 Two distant groups Two nearby groups
7
1 Mar 05Stochastic Steiner without a Root7 The Rent or Buy problem (1) Input: graph G, weights c e on edges, set of demand pairs D, a constant M≥1 Solution: a set of paths, one for each (s i,t i ) pair. Goal: minimize cost of the network built.
8
1 Mar 05Stochastic Steiner without a Root8 The Rent or Buy problem (2) Rent or buy: Must rent or buy each edge. rent: pay c e for each path using edge e buy: pay M c e Goal: minimize rental+buying costs. Steiner forest: pay c e for every edge used
9
1 Mar 05Stochastic Steiner without a Root9 Rent or Buy as Stochastic Steiner Let g i ={s i,t i } π(g i ) = 1/n σ = M/n install e in first stage buy e install e in second stage rent e Stochastic Steiner = generalized RoB Each group g i has tree T i (may have exponentially many groups)
10
1 Mar 05Stochastic Steiner without a Root10 The Algorithm 1. Boosted Sampling: Draw σ groups of clients g 1,g 2,…,g σ indep. from the distribution π. 2.Build a Steiner forest F 1 on {g 1,g 2,…,g σ } using an -approx algorithm. 3. When actual group g of terminals appears, build a tree spanning g in G/F 1.
11
1 Mar 05Stochastic Steiner without a Root11 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 T i ]
12
1 Mar 05Stochastic Steiner without a Root12 Bounding the second stage cost Unselected groups pay their rental cost Selected groups contribute towards buying its tree pays rent pays buy Plan: Bound second stage cost by the first stage cost: Expected second stage( ) Expected share( ) pays rent pays buy
13
1 Mar 05Stochastic Steiner without a Root13 Need a cost sharing algorithm Input: Set of demand groups S Output: Steiner forest F S on S cost share ξ(S,g) of each group g S ξ({ }, ) = 4 ξ({ }, ) = 5 Set of demandsdemand group
14
1 Mar 05Stochastic Steiner without a Root14 Cost Sharing for Steiner Forest (P1) Good approximation: cost(F S ) St * (S) (P2) Cost shares do not overpay: g S ξ(S,g) St * (S) (P3) Strictness: let S’ = S {g} MST(g) in G/ F S ξ(S’,g) Example: S = { } g = Rental of if F S bought of share if added to S
15
1 Mar 05Stochastic Steiner without a Root15 Bounding second stage cost S’ = {g 1,g 2,…,g σ } and S = S’– { }. Imagine Pr[ S’ | S] = σ π( ). E[rent( ) | S] π( ) σ MST( ) in G/F S E[buy( ) | S] = π( ) σ ξ(S+, ) E[rent( )] E[buy( )] j D E[rent(j)] j D E[buy(j)] OPT
16
1 Mar 05Stochastic Steiner without a Root16 Computing shares using the AKR-GW algorithm ξ( ): Active terminals share cost of growth evenly.
17
1 Mar 05Stochastic Steiner without a Root17 AKR-GW is not enough 1+ε11 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!
18
1 Mar 05Stochastic Steiner without a Root18 Forcing AKR-GW buy more 1+ε11 Idea: Inflate the balls! Roughly speaking, multiply each radius by > 1
19
1 Mar 05Stochastic Steiner without a Root19 Why should inflating work? layer: only is contributing layer: terminals other than contributing ξ( ) large ξ( ) small, can take shortcuts
20
1 Mar 05Stochastic Steiner without a Root20 The inflated AKR-GW 1.Run the standard AKR-GW algorithm on S 2.Note the time T j when each demand j frozen 3.Run the algorithm again, with new freezing rule: every demand j deactivated at time T j for some > 1 Freezing times
21
1 Mar 05Stochastic Steiner without a Root21 The inflated AKR-GW (2) Freezing times Original AKR-GW Inflated AKR-GW Freezing times
22
1 Mar 05Stochastic Steiner without a Root22 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].
23
1 Mar 05Stochastic Steiner without a Root23 Proving strictness Compare: Original(S+ )(cost shares) Inflated(S)(the forest we buy) Need to prove: MST( ) in G/ F S ξ(S+, ) Lower bound on ξ(S+, ) : alone( ) Original(S+ ) must have connected terminals. Hence it contains a tree P spanning. Use it to bound MST( ).
24
1 Mar 05Stochastic Steiner without a Root24 Simplifying.. Let be time when Original(S+ ) connects terminals. Terminate Original(S+ ) at time . In Inflated(S), freeze each term. j at time min(T j, ). 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!
25
1 Mar 05Stochastic Steiner without a Root25 Comparing Original(S+ ) & Inflated(S) Freezing times Original(S+ ) Inflated(S)
26
1 Mar 05Stochastic Steiner without a Root26 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| + |Duplicates| If we can prove: we are done. |Waste| ≤ |Alone| |Duplicates| ≤ |Alone| + |Other|
27
1 Mar 05Stochastic Steiner without a Root27 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’.
28
1 Mar 05Stochastic Steiner without a Root28 Bounding the Waste (2) l l’
29
1 Mar 05Stochastic Steiner without a Root29 Bounding the Waste (3) l l’
30
1 Mar 05Stochastic Steiner without a Root30 Bounding the Duplicates # edges cut = #clusters –1 # intersections = 2 # edges # cuts < 2 #clusters |Alone| + |Other|+|Duplicates| < 2(|Alone| + |Other|)
31
1 Mar 05Stochastic Steiner without a Root31 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.
32
1 Mar 05Stochastic Steiner without a Root32 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
33
1 Mar 05Stochastic Steiner without a Root33 Theorem: Inflated AKR-GW is a 2 approximation. Pf: adopted from [GW]. ≤≥≠∫∏∑√∂∆≈∙ *** Useful Garbage ***
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.