Download presentation

Presentation is loading. Please wait.

Published byDaniel Faye Modified over 2 years ago

1
TAM 5.1.'05Boosted Sampling1 Boosted Sampling: Approximation Algorithms for Stochastic Problems Martin Pál Joint work with Anupam Gupta R. RaviAmitabh Sinha

2
TAM 5.1.'05Boosted Sampling2 Anctarticast, Inc.

3
TAM 5.1.'05Boosted Sampling3 Optimization Problem: Build a solution Sol of minimal cost, so that every user is satisfied. minimizecost(Sol) subject to happy(j,Sol)for j=1, 2, …, n For example, Steiner tree: Sol: set of links to build happy(j,Sol) iff there is a path from terminal j to root cost(Sol) = e Sol c e

4
TAM 5.1.'05Boosted Sampling4 Unknown demand? ? ? ? ? ? ? ?

5
TAM 5.1.'05Boosted Sampling5 The model Two stage stochastic model with recourse: On Monday, links are cheap, but we do not know how many/which clients will show up. We can buy some links. On Tuesday, clients appear. Links are now σ times more expensive. We have to buy enough links to satisfy all clients. drawn from a known distribution π

6
TAM 5.1.'05Boosted Sampling6 The model Two stage stochastic model with recourse: Find Sol 1 Edges and Sol 2 : 2 Users 2 Edges to minimizecost(Sol 1 ) + σ E π(T) [cost(Sol 2 (T))] subject to happy(j, Sol 1 Sol 2 (T)) for all sets T Users and all j T Want compact representation of Sol 2 by an algorithm

7
TAM 5.1.'05Boosted Sampling7 What distribution? Scenario model: There are k sets of users – scenarios; each scenario T i has probability p i. (e.g.[Ravi & Sinha 03]) Independent decisions model: each client j appears with prob. p j independently of others (e.g.[Immorlica et al 04]) Oracle model: at our request, an oracle gives us a sample T; each set T can have probability p T. [Our work].

8
TAM 5.1.'05Boosted Sampling8 Example S 1 = { } S 2 = { } S 3 = { } … L L σ = 2 OPT = (1+σ) L =3 L Connected OPT = min(2+σ,2σ) L = 4 L

9
TAM 5.1.'05Boosted Sampling9 Deterministc Steiner tree cost(Steiner) cost(MST) cost(MST) 2 cost(Steiner) Theorem: Finding a Minimum Spanning Tree is a 2-approximation algorithm for Minimum Steiner Tree.

10
TAM 5.1.'05Boosted Sampling10 The Algorithm BS 1. Boosted Sampling: Draw σ samples of clients S 1,S 2,…,S σ from the distribution π. 2. Build the first stage solution Sol 1 : use Alg to build a tree for clients S = S 1 S 2 … S σ. 3. Actual set T of clients appears. To build second stage solution Sol 2, use Alg to augment Sol 1 to a feasible tree for T. Given Alg, an -approx. for deterministic Steiner Tree.

11
TAM 5.1.'05Boosted Sampling11 Is BS any good? Theorem: Boosted sampling algorithm is a 4-approximation for Stochastic Steiner Tree (assuming Alg is a 2-approx..). Nothing special about Steiner Tree; BS works for other problems: Facility Location, Steiner Network, Vertex Cover.. Idea: Bound stage costs separately First stage cheap, because not too many samples, and Alg is good Second stage is cheap, because samples dense enough

12
TAM 5.1.'05Boosted Sampling12 First stage cost Recall: BS builds a tree on samples S 1,S 2,…,S σ from π. Lemma: There is a (random) tree Sol 1 on S= i S i such that E[cost(Sol 1 )] Z *. stochastic optimum cost = Z * = cost(Opt 1 ) + σ E π [cost(Opt 2 (T))]. Lemma: BS pays at most α Z * in the first stage.

13
TAM 5.1.'05Boosted Sampling13 Second stage cost After Stage 2, have a tree for S = S 1 … S σ T. There is a cheap tree Sol covering S. Sol = Opt 1 [ Opt 2 (S 1 ) … Opt 2 (S σ ) Opt 2 (T)]. Fact: E[cost(Sol)] (σ+1)/σ Z *. T is responsible for 1/(σ+1) part of Sol. At Stage 1 costs, it would pay Z * /σ. Need to pay Stage 2 premium pay Z *. Problem: do not know T when building Sol.

14
TAM 5.1.'05Boosted Sampling14 Idea: cost sharing Scenario 1: Pretend to build a solution for S = S T. Charge each j S some amount ξ(S,j). Scenario 2: Build a solution Alg(S) for S. Augment Alg(S) to a valid solution for S = S T. Assume: j S ξ(S,j) Opt(S) We argued: E[ j T ξ(S,j)] Z * /σ (by symmetry) Want to prove: Augmenting cost in Scenario 2 β j T ξ(S,j)

15
TAM 5.1.'05Boosted Sampling15 Cost sharing function Input: A set of users S Output: cost share ξ(S,j) for each user j S Example: Build a spanning tree on S root. Let ξ(S,j) = cost of parental edge. Note: j S ξ(S,j) = cost of MST(S) j S ξ(S,j) 2 cost of Steiner(S)

16
TAM 5.1.'05Boosted Sampling16 Strictness A csf ξ(, ) is β-strict, if cost of Augment(Alg(S), T) β j T ξ(S T, j) for any S,T Users. Second stage cost = σ cost(Augment(Alg( i S i ), T)) σ β j T ξ( j S j T, j) Fact: E[shares of T] Z * /σ Hence: E[second stage cost] σ β Z * /σ = β Z *. S T

17
TAM 5.1.'05Boosted Sampling17 Strictness for Steiner Tree Alg(S) = Min-cost spanning tree MST(S) ξ(S,j) = cost of parental edge in MST(S) Augment(Alg(S), T): for all j T build its parental edge in MST(S T) Alg is a 2-approx for Steiner Tree ξ is a 2-strict cost sharing function for Alg. Theorem: We have a 4-approx for Stochastic Steiner Tree.

18
TAM 5.1.'05Boosted Sampling18 Removing the root L >> OPT Problem: Building a Steiner tree on too expensive Soln: build a Steiner forest on samples {S 1, S 2,…, S σ }.

19
TAM 5.1.'05Boosted Sampling19 Works for other problems, too BS works for any problem that is - subadditive (union of solns for S,T is a soln for S T) - has α-approx algo that admits β-strict cost sharing Constant approximation algorithms for stochastic Facility Location, Vertex Cover, Steiner Network.. (hard part: prove strictness)

20
TAM 5.1.'05Boosted Sampling20 What if σ is random? Suppose σ is also a random variable. π(S, σ) – joint distribution For i=1, 2, …, σ max do sample (S i, σ i ) from π with prob. σ i /σ max accept S i Let S be the union of accepted S i s Output Alg(S) as the first stage solution

21
TAM 5.1.'05Boosted Sampling21 Multistage problems Three stage stochastic Steiner Tree: On Monday, edges cost 1. We only know the probability distribution π. On Tuesday, results of a market survey come in. We gain some information I, and update π to the conditional distribution π|I. Edges cost σ 1. On Wednesday, clients finally show up. Edges now cost σ 2 (σ 2 >σ 1 ), and we must buy enough to connect all clients. Theorem: There is a 6-approximation for three stage stochastic Steiner Tree (in general, 2k approximation for k stage problem)

22
TAM 5.1.'05Boosted Sampling22 Conclusions We have seen a randomized algorithm for a stochastic problem: using sampling to solve problems involving randomness. Do we need strict cost sharing? Our proof requires strictness – maybe there is a weaker property? Maybe we can prove guarantees for arbitrary subadditive problems? Prove full strictness for Steiner Forest – so far we have only uni-strictness. Cut problems: Can we say anything about Multicut? Single- source multicut?

23
TAM 5.1.'05Boosted Sampling23 +++THE++END+++ Note that if π consists of a small number of scenarios, this can be transformed to a deterministic problem. Find Sol 1 Elems and Sol 2 : 2 Users 2 Elems to minimizecost(Sol 1 ) + σ E π(T) [cost(Sol 2 (T))] subject to satisfied(j, Sol 1 Sol 2 (T)) for all sets T Users and all j T.

24
TAM 5.1.'05Boosted Sampling24 Related work Stochastic linear programming dates back to works of Dantzig, Beale in the mid-50s Scheduling literature, various distributions of job lengths Resource installation [Dye,Stougie&Tomasgard03] Single stage stochastic: maybecast [Karger&Minkoff00], bursty connections [Kleinberg,Rabani&Tardos00] … Stochastic versions of NP-hard problems (restricted π) [Ravi&Sinha03], [Immorlica,Karger,Minkoff&Mirrokni 04] Stochastic LP solving&rounding: [Shmoys&Swamy04]

25
TAM 5.1.'05Boosted Sampling25 Infrastructure Design Problems Assumption: Sol is a set of elements cost(Sol) = elem Sol cost(elem) Facility location: satisfied(j) iff j connected to an open facility Vertex Cover: satisfied(e={uv}) iff u or v in the cover Connectivity problems: satisfied(j) iff js terminals connected Cut problems: satisfied(j) iff js terminals disconnected

26
TAM 5.1.'05Boosted Sampling26 Vertex Cover Users: edges Solution: Set of vertices that covers all edges Edge {uv} covered if at least one of u,v picked Alg: Edges uniformly raise contributions Vertex can be paid for by neighboring edges freeze all edges adjacent to it. Buy the vertex. Edges may be paying for both endpoints 2-approximation Natural cost shares: ξ(S, e) = contribution of e

27
TAM 5.1.'05Boosted Sampling27 Strictness for Vertex Cover n+1 n S = blue edges T = red edge Alg(S) = blue vertices: Augment(Alg(S), T) costs (n+1) ξ(S T, T) =1 Find a better ξ? Do not know how. Instead, make Alg(S) buy a center vertex. gap Ω(n)!

28
TAM 5.1.'05Boosted Sampling28 Making Alg strict Alg: - Run Alg on the same input. - Buy all vertices that are at least 50% paid for n+1 n ½ of each vertex paid for, each edge paying for two vertices still a 4-approximation. Augmentation (at least in our example) is free.

29
TAM 5.1.'05Boosted Sampling29 Why should strictness hold? Alg: - Run Alg on the same input. - Buy all vertices that are at least 50% paid for. Suppose vertex v fully paid for in Alg(S T). If j T α j ½ cost(v), then T can pay for ¼ of v in the augmentation step. If j S α j ½ cost(v), then v would be open in Alg(S). (almost.. need to worry that Alg(S T) and Alg(S) behave differently.) α1α1 α2α2 α3α3 α 1 α 2 Alg(S T) S = blue edges T = red edges v

30
TAM 5.1.'05Boosted Sampling30 Metric facility location Input: a set of facilities and a set of cities living in a metric space. Solution: Set of open facilities, a path from each city to an open facility. Off the shelf components: 3-approx. algorithm [Mettu&Plaxton00]. Turns out that cost sharing fn [P.&Tardos03] is 5.45 strict. Theorem: There is a 8.45-approx for stochastic FL.

31
TAM 5.1.'05Boosted Sampling31 Steiner Network client j = pair of terminals s j, t j satisfied(j): s j, t j connected by a path 2-approximation algorithms known ( [Agarwal,Klein&Ravi91], [Goemans&Williamson95] ), but do not admit strict cost sharing. [Gupta,Kumar,P.,Roughgarden03] : 4-approx algorithm that admits 4-uni-strict cost sharing Theorem: 8-approx for Stochastic Steiner Network in the independent coinflips model.

32
TAM 5.1.'05Boosted Sampling32 The Buy at Bulk problem client j = pair of terminals s j, t j Solution: an s j, t j path for j=1,…,n cost(e) = c e f(# paths using e) cost # paths using e f(e): # paths using e cost Rent or Buy: two pipes Rent: $1 per path Buy: $M, unlimited # of paths

33
TAM 5.1.'05Boosted Sampling33 Special distributions: Rent or Buy Stochastic Steiner Network: client j = pair of terminals s j, t j satisfied(j): s j, t j connected by a path cost(e) = c e min(1, σ/n #paths using e) # paths using e cost n/σn/σ Suppose.. π({j}) = 1/n π(S) = 0 if |S| 1 Sol 2 ({j}) is just a path!

34
TAM 5.1.'05Boosted Sampling34 Rent or Buy The trick works for any problem P. (can solve Rent-or-Buy Vertex Cover,..) These techniques give the best approximation for Single- Sink Rent-or-Buy (3.55 approx [Gupta,Kumar,Roughgarden03] ), and Multicommodity Rent or Buy (8-approx [Gupta,Kumar,P.,Roughgarden03], 6.83-approx [Becchetti, Konemann, Leonardi,P.04] ). Bootstrap to stochastic Rent-or-Buy: - 6 approximation for Stochastic Single-Sink RoB - 12 approx for Stochastic Multicommodity RoB (indep. coinflips)

35
TAM 5.1.'05Boosted Sampling35 Performance Guarantee Theorem: Let P be a sub-additive problem, with α-approximation algorithm, that admits β-strict cost sharing. Stochastic(P) has (α+β) approx. Corollary: Stochastic Steiner Tree, Facility Location, Vertex Cover, Steiner Network (restricted model)… have constant factor approximation algorithms. Corollary: Deterministic and stochastic Rent-or-Buy versions of these problems have constant approximations.

Similar presentations

© 2016 SlidePlayer.com Inc.

All rights reserved.

Ads by Google