1 / 36

Stochastic Steiner Trees without a Root

Stochastic Steiner Trees without a Root. Martin P ál Joint work with Anupam Gupta. Stochastic Optimization. Decision making under uncertainity Logistics/inventory management/supply chain Stock market Network design/capacity planning Uncertainity modeled by probability

axl
Download Presentation

Stochastic Steiner Trees without a Root

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Stochastic Steiner Treeswithout a Root Martin Pál Joint work with Anupam Gupta Stochastic Steiner without a Root

  2. 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) Stochastic Steiner without a Root

  3. 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 Stochastic Steiner without a Root

  4. Network Design Problem 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 Steiner tree. Stochastic Steiner without a Root

  5. 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. ? ? ? ? ? Stochastic Steiner without a Root

  6. drawn from a known distribution π 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. Stochastic Steiner without a Root

  7. Want compact representation of F2 by an algorithm Assumption: cost2(X) = σ cost1(X) inflation factor cost(F1) + σ Eπ(g)[cost(F2(g))] The model Two stage stochastic model with recourse: Find F1 Edges and F2 : 2Users 2Edges to minimize cost1(F1) + Eπ(g)[cost2(F2(g))] subject to connected(g, F1  F2(g)) for all sets gUsers Stochastic Steiner without a Root

  8. Representing π • Explicit list of scenarios: • (g1, π(g1)), (g2, π(g2)),…, (gk, π(gk)) • 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. Stochastic Steiner without a Root

  9. 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 (si,ti) pair. Goal: minimize cost of the network built. Stochastic Steiner without a Root

  10. Steiner forest: pay 1 for every edge used 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. Stochastic Steiner without a Root

  11. Rent or Buy = Stochastic Path Let gi ={si,ti} π(gi) = 1/n σ = M/n install e in first stage  buy einstall e in second stage  rent e Stochastic Steiner = generalized RoB Each group gi has tree Ti (may have exponentially many groups) Stochastic Steiner without a Root

  12. First stage not connected subgraph Two distant groups Pr[] = Pr[] = ½ σ > 2 Two nearby groups Stochastic Steiner without a Root

  13. The Algorithm 1. Boosted Sampling: Draw σ groups of clients g1,g2,…,gσ indep. from the distribution π. • 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. Stochastic Steiner without a Root

  14. Bounding the cost Expected first stage cost is small: 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] Using -approx, can get    OPT Theorem: Expected cost of bought edges is    OPT. Stochastic Steiner without a Root

  15. pays 2.st pays 1.st pays 1.st pays 1.st. pays 2.st pays 1.st Bounding the second stage cost Unselected groups pay their second stage cost Selected groups share first stage costs Plan: Bound second stage cost by the first stage cost: Expected second stage()  Expected share() Stochastic Steiner without a Root

  16. Need a cost sharing algorithm Input: Set of demand groups S Output: Steiner forest FS on S cost share ξ(S,g) of each group gS Set of demands demand group ξ({}, ) = 4 ξ({}, ) = 5 Stochastic Steiner without a Root

  17.   Rental of  if FS bought  of  share if added to S Cost Sharing for Steiner Forest (P1) Good approximation:cost(FS)  St*(S) (P2) Cost shares do not overpay: gSξ(S,g)  St*(S) (P3) Strictness: let S’ = S  {g}MST(g) in G/ FS  ξ(S’,g) Example: S = {} g =  Stochastic Steiner without a Root

  18. Bounding second stage cost S’ = {g1,g2,…,gσ} and S = S’– {}.Imagine Pr[S’ | S] = σ  π(). E[rent() | S] π()σMST() in G/FS E[rent()]    E[buy()]    E[buy() | S] = π()σ  ξ(S+,) jD E[rent(j)]   jD E[buy(j)]   OPT Stochastic Steiner without a Root

  19. Computing shares using the AKR-GW algorithm ξ(): ξ(): ξ(): Active terminals share cost of growth evenly. Stochastic Steiner without a Root

  20. 1 1+ε 1 AKR-GW is not enough cost share() = 1/n + rental() = 1 +  Problem: cost shares do not pay enough! Solution: Force the algorithm to buy the middle edge - need to be careful not to pay too much Stochastic Steiner without a Root

  21. 1 1+ε 1 Forcing AKR-GW buy more Idea: Inflate the balls! Roughly speaking, multiply each radius by  > 1 Stochastic Steiner without a Root

  22. Freezing times The inflated AKR-GW • Run the standard AKR-GW algorithm on S • Note the time Tj when each demand j frozen • Run the algorithm again, with new freezing rule:every demand j deactivated at time Tj for some  > 1 Stochastic Steiner without a Root

  23. Freezing times The inflated AKR-GW (2) Freezing times Original AKR-GW Inflated AKR-GW Stochastic Steiner without a Root

  24. ξ() large ξ() small, can take shortcuts ξ() small, can take shortcuts Why should inflating work? layer: only  is contributing layer: terminals other than  contributing Stochastic Steiner without a Root

  25. 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 log2 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 Stochastic Steiner without a Root

  26. 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]. Stochastic Steiner without a Root

  27. 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(). Stochastic Steiner without a Root

  28. 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! Stochastic Steiner without a Root

  29. Comparing Original(S+) & Inflated(S) Freezing times Original(S+) Inflated(S) Freezing times Stochastic Steiner without a Root

  30. (-1)  |Tree| ≤   |Alone| If we can prove: we are done. |Waste| ≤ |Alone| |Duplicates| ≤ |Alone| + |Other| Proof idea Correspondence of other (i.e. non-red) layers: Layer l in Original(S+)  Layer l’ inInflated(S) |Tree| = |Alone| + |Other|   |Other| ≤ |Tree| + |Duplicates| + |Waste| + |Waste| Stochastic Steiner without a Root

  31. Bounding the Waste Claim: If a layer l contains t, then its corresponding inflated layer l’ also contains some t. Pf: By picture. Original(S+) Inflated(S) The only way of wasting a layer l is when the whole group  lies inside l’. Stochastic Steiner without a Root

  32. Bounding the Waste (2) l l’ Stochastic Steiner without a Root

  33. Bounding the Waste (3) l l’ Stochastic Steiner without a Root

  34. Bounding the Duplicates # edges cut = #clusters –1 # intersections = 2 # edges # cuts < 2 #clusters |Alone| + |Other|+|Duplicates| < 2(|Alone| + |Other|) Stochastic Steiner without a Root

  35. 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. Stochastic Steiner without a Root

  36. *** Useful Garbage *** Theorem: Inflated AKR-GW is a +1 approximation. Pf: adopted from [GW]. ≤≥≠∫∏∑√∂∆≈∙ Stochastic Steiner without a Root

More Related