Download presentation
Presentation is loading. Please wait.
Published byMarilyn Strickland Modified over 9 years ago
1
ICALP'05Stochastic Steiner without a Root1 Stochastic Steiner Trees without a Root Martin Pál Joint work with Anupam Gupta
2
ICALP'05Stochastic Steiner without a Root2 Stochastic Optimization Decision making under uncertainity Logistics/inventory management/supply chain Stock market Network design/capacity planning Uncertainity modeled by probability Making decisions to optimize overall expected cost (profit)
3
ICALP'05Stochastic Steiner without a Root3 Outline Two-stage stochastic model with recourse Stochastic problems are hard to solve: Stochastic path vs. Multicommodity Rent or Buy Learning the distribution vs. solving the problem: how many samples are needed? Solution Approach: Boosted Sampling
4
ICALP'05Stochastic Steiner without a Root4 Network Design Problem 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 Steiner tree.
5
ICALP'05Stochastic Steiner without a Root5 Stochastic Network Design What if the terminals are not known beforehand? Waiting until demand points become known is costly – building links on short notice is expensive. Pre-install some links at a discount to reduce cost – must decide before knowing demands. ? ? ? ? ? ?
6
ICALP'05Stochastic Steiner without a Root6 Two-stage model w. recourse On Monday, edges are cheap, but we do not know the set of terminals. We can buy some edges at low price. On Tuesday, set g of terminals materializes. We must buy edges to connect up g. Edges are now more expensive. drawn from a known distribution π
7
ICALP'05Stochastic Steiner without a Root7 The model Two stage stochastic model with recourse: Find F 1 Edges and F 2 : 2 Users 2 Edges to minimizecost 1 (F 1 ) + E π(g) [cost 2 (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 cost(F 1 ) + σ E π(g) [cost(F 2 (g))] Assumption: cost 2 (X) = σ cost 1 (X) inflation factor
8
ICALP'05Stochastic Steiner without a Root8 Representing π Explicit list of scenarios: (g 1, π(g 1 )), (g 2, π(g 2 )),…, (g k, π(g k )) Oracle model: sampling oracle generates independent samples from π Theorem [CCP05]: Any distribution can be approximated by an explicit list of size poly(|G|, σ, 1/ ) using sampling.
9
ICALP'05Stochastic Steiner without a Root9 The Rent or Buy problem Input: weighted graph G 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.
10
ICALP'05Stochastic Steiner without a Root10 The Rent or Buy problem Rent or buy: Must rent or buy each edge. rent: pay 1 per unit length buy: pay M per unit length Goal: minimize rental+buying costs. Steiner forest: pay 1 for every edge used
11
ICALP'05Stochastic Steiner without a Root11 Rent or Buy = Stochastic Path 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)
12
ICALP'05Stochastic Steiner without a Root12 First stage not connected subgraph Pr[ ] = Pr[ ] = ½ σ > 2 Two distant groups Two nearby groups
13
ICALP'05Stochastic Steiner without a Root13 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.
14
ICALP'05Stochastic Steiner without a Root14 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 ]
15
ICALP'05Stochastic Steiner without a Root15 Bounding the second stage cost Unselected groups pay their second stage cost Selected groups share first stage costs pays 1.st. pays 2.st pays 1.st Plan: Bound second stage cost by the first stage cost: Expected second stage( ) Expected share( ) pays 2.st pays 1.st
16
ICALP'05Stochastic Steiner without a Root16 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
17
ICALP'05Stochastic Steiner without a Root17 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
18
ICALP'05Stochastic Steiner without a Root18 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
19
ICALP'05Stochastic Steiner without a Root19 Computing shares using the AKR-GW algorithm ξ( ): Active terminals share cost of growth evenly.
20
ICALP'05Stochastic Steiner without a Root20 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!
21
ICALP'05Stochastic Steiner without a Root21 Forcing AKR-GW buy more 1+ε11 Idea: Inflate the balls! Roughly speaking, multiply each radius by > 1
22
ICALP'05Stochastic Steiner without a Root22 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
23
ICALP'05Stochastic Steiner without a Root23 The inflated AKR-GW (2) Freezing times Original AKR-GW Inflated AKR-GW Freezing times
24
ICALP'05Stochastic Steiner without a Root24 Why should inflating work? layer: only is contributing layer: terminals other than contributing ξ( ) large ξ( ) small, can take shortcuts
25
ICALP'05Stochastic Steiner without a Root25 The End Boosted sampling algorithm suggests that σ samples carry enough information about the distribution π. How general is this phenomenon? With non-uniform cost inflation, even Stochastic Path hard to approximate better than log 2 n [HK03]. Stochastic spanning tree O(log n) approximable [DRS05]. Expanding toolbox: Chance constraints, different objectives.. Stochastic processes with many decision stages Connections to machine learning, online algorithms
26
ICALP'05Stochastic Steiner without a Root26 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].
27
ICALP'05Stochastic Steiner without a Root27 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( ).
28
ICALP'05Stochastic Steiner without a Root28 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!
29
ICALP'05Stochastic Steiner without a Root29 Comparing Original(S+ ) & Inflated(S) Freezing times Original(S+ ) Inflated(S)
30
ICALP'05Stochastic Steiner without a Root30 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|
31
ICALP'05Stochastic Steiner without a Root31 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’.
32
ICALP'05Stochastic Steiner without a Root32 Bounding the Waste (2) l l’
33
ICALP'05Stochastic Steiner without a Root33 Bounding the Waste (3) l l’
34
ICALP'05Stochastic Steiner without a Root34 Bounding the Duplicates # edges cut = #clusters –1 # intersections = 2 # edges # cuts < 2 #clusters |Alone| + |Other|+|Duplicates| < 2(|Alone| + |Other|)
35
ICALP'05Stochastic Steiner without a Root35 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.
36
ICALP'05Stochastic Steiner without a Root36 Theorem: Inflated AKR-GW is a +1 approximation. Pf: adopted from [GW]. ≤≥≠∫∏∑√∂∆≈∙ *** Useful Garbage ***
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.