1 / 33

Stochastic Steiner Tree without a Root

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.

ulla-sears
Download Presentation

Stochastic Steiner Tree 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 Tree without a Root Martin Pál Joint work with Anupam Gupta 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. 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. ? ? ? ? ? Stochastic Steiner without a Root

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

  5. Want compact representation of F2 by an algorithm 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 gUsers Stochastic Steiner without a Root

  6. First stage not connected subgraph Two distant groups Pr[] = Pr[] = ½ σ > 2 Two nearby groups 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. Stochastic Steiner without a Root

  8. Steiner forest: pay ce for every edge used 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 Mce Goal: minimize rental+buying costs. 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 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

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

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

  12. pays rent pays buy pays buy pays rent pays rent pays buy Bounding the second stage cost Unselected groups pay their rental cost Selected groups contribute towards buying its tree Plan: Bound second stage cost by the first stage cost: Expected second stage()  Expected share() 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 gS Set of demands demand group ξ({}, ) = 4 ξ({}, ) = 5 Stochastic Steiner without a Root

  14.   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

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

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

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

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

  19. ξ() 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

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

  21. Freezing times The inflated AKR-GW (2) Freezing times Original AKR-GW Inflated AKR-GW 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]. 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(). 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! Stochastic Steiner without a Root

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

  26. (-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

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

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

  29. Bounding the Waste (3) l l’ 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|) 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. 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 Stochastic Steiner without a Root

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

More Related