Title: Boosted Sampling: Approximation Algorithms for Stochastic Problems
1Boosted Sampling Approximation Algorithms for
Stochastic Problems
- Martin Pál
- Joint work with
- Anupam Gupta R. Ravi Amitabh Sinha
2Infrastructure Design Problems
Build a solution Sol of minimal cost, so that
every user is satisfied. minimize cost(Sol) subj
ect to satisfied(j,Sol) for j1, 2, , n For
example, Steiner tree Sol set of edges to
build satisfied(j,Sol) iff there is a path from
terminal j to root cost(Sol) ?e?Sol ce
3Infrastructure 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(euv) iff u or v in
the cover Steiner network satisfied(j) iff js
terminals connected by a path Cut problems
satisfied(j) iff js terminals disconnected
4Dealing with uncertainity
Often, we do not know the exact requirements of
users. Building in advance reduces cost but we
do not have enough information. As time
progresses, we gain more information about the
demands but building under time pressure is
costly. Tradeoff between information and cost.
5The model
Two stage stochastic model with recourse On
Monday, elements are cheap, but we do not know
how many/which clients will show up. We can buy
some elements. On Tuesday, clients show up.
Elements are now more expensive (by an inflation
factor s). We have to buy more elements to
satisfy all clients.
6The model
Two stage stochastic model with recourse Find
Sol1 ? Elems and Sol2 2Users ? 2Elems to
minimize cost(Sol1) s Ep(T)cost(Sol2(T)) subj
ect to satisfied(j, Sol1 ? Sol2(T)) for all
sets T?Users and all j?T
7Related work
- Stochastic linear programming dates back to works
of Dantzig, Beale in the mid-50s - Only moderate progress on stochastic IP/MIP
- Scheduling literature, various distributions of
job lengths - Single stage stochastic maybecast
KargerMinkoff00, bursty connections
Kleinberg,RabaniTardos00 - Stochastic versions of NP-hard problems
(restricted p) Ravi Sinha 03, Immorlica,
Karger, Minkoff Mirrokni 04 - Extensive literature on each deterministic problem
8Our work
- We propose a simple but powerful framework to
find approximate solutions to two stage
stochastic problems using approximation
algorithms for their deterministic counterparts. - For a number of problems, including Steiner Tree,
Facility Location, Single Sink Rent or Buy and
Steiner Forest (weaker model) our framework gives
constant approximation. - Analysis is based on strict cost sharing,
developed by Gupta,Kumar,P.Roughgarden03
9No restriction on distributions
- Previous works often assume special
distributions - Scenario model There are k sets of users
scenarios each scenario Ti has probability pi.
Ravi Sinha 03. - Independent decisions model each client j
appears with prob. pj independently of others
Immorlica et al 04. - In contrast, our scheme works for arbitrary
distributions (although the independent coinflips
model sometimes allows us to prove improved
guarantees).
10The Framework
Given an approx. algorithm Alg for a
deterministic problem
1. Boosted Sampling Draw s samples of clients
S1,S2 ,,Ss from the distribution p.
2. Build the first stage solution Sol1 use Alg
to build a solution for clients S S1?S2 ? ?
Ss.
3. Actual set T of clients appears. To build
second stage solution Sol2, use Alg to augment
Sol1 to a feasible solution for T.
11Performance Guarantee
TheoremLet P be a sub-additive problem, with
a-approximation algorithm, that admits ß-strict
cost sharing.
Stochastic(P) has (aß) 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.
12First Stage Cost
Opt cost Z cost(Opt1) s Epcost(Opt2(T)).
Recall We - sample S1,S2 ,,Ss from p. - use
Alg to build solution Sol1 feasible for S?i
Si Lemma Ecost(Sol1) ? a ? Z.
13Second stage cost
After Stage 2, have a solution for S S1 ?? Ss
? T. Let Sol Opt1 ? Opt2(S1) ?? Opt2(Ss) ?
Opt2(T). Ecost(Sol) ? cost(Opt1) (s1)
Epcost(Opt2(Si)) ? (s1)/s ? Z. T is
responsible for 1/(s1) part of Sol. If built
in Stage 1, it would cost ? Z/s. Need to build
it in Stage 2 ? pay Z. Problem do not T know
when building a solution for S1 ?? Ss.
14Idea 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/s (by symmetry) Want to prove
Augmenting cost in Scenario 2 ? ß ? ?j?T ?(S,j)
15Cost sharing function
Input Instance of P and set of users S Output
cost share ?(S,j) of each user j?S Example
Build a spanning tree on S ? root. Let ?(S,j)
cost of parental edge/2. Note - 2 ? ?j?S
?(S,j) cost of MST(S) - ?j?S ?(S,j) ? cost
of Steiner(S)
16What properties of ?(?,?) do we need?
(P1) Good approximation cost(Alg(S)) ? ?
Opt(S) (P2) Cost shares do not overpay ?j?S
?(S,j) ? cost(S) (P3) Strictness For any
S,T?Users cost of Augment(Alg(S), T) ? ß ? ?j?T
?(S ?T, j)
Second stage cost s cost(Augment(Alg(?i Si),
T)) ? ? s ß ? ?j?T ?(?j Sj ?T, j) E?j?T ?(?j
Sj ?T, j) ? Z/s Hence, Esecond stage cost ?
s ß ? Z/s ß ? Z.
17Strictness for Steiner Tree
Alg(S) Min-cost spanning tree MST(S) ?(S,j)
cost of parental edge/2 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.
18Vertex Cover
8
Users edges Solution Set of vertices that
covers all edges Edge uv covered if at least
one of u,v picked.
4
3
10
9
5
3
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 Nat
ural cost shares ?(S, e) contribution of e
19Strictness for Vertex Cover
1
1
1
1
n1
n1
1
n
1
1
1
1
1
20Making Alg strict
Alg - Run Alg on the same input. - Buy all
vertices that are at least 50 paid for.
1
1
1
1
n1
n1
1
n
1
1
1
1
1
½ of each vertex paid for, each edge paying for
two vertices ? still a 4-approximation.
21Why should strictness hold?
Alg - Run Alg on the same input. - Buy all
vertices that are at least 50 paid for.
a1
a1
S blue edges T red edges
v
a2
Alg(S ?T)
a2
a3
- Suppose vertex v fully paid for in Alg(S ?T).
- If ?j?T aj ½ cost(v) , then T can pay for ¼ of
v in the augmentation step. - If ?j?S aj ½ cost(v), then v would be open in
Alg(S). - (almost.. need to worry that Alg(S ?T) and Alg(S)
behave differently.)
22Metric 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
MettuPlaxton00. Turns out that cost sharing
fn P.Tardos03 is 5.45 strict. Theorem There
is a 8.45-approx for stochastic FL.
23Steiner Network
client j pair of terminals sj, tj satisfied(j)
sj, tj connected by a path
2-approximation algorithms known
(Agarwal,KleinRavi91, GoemansWilliamson95),
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.
24The Buy at Bulk problem
client j pair of terminals sj, tj Solution an
sj, tj path for j1,,n cost(e) ce f( paths
using e)
Rent or Buy two pipes Rent 1 per path Buy M,
unlimited of paths
25Special distributions Rent or Buy
Stochastic Steiner Network client j pair of
terminals sj, tj satisfied(j) sj, tj connected
by a path
Suppose.. p(j) 1/n p(S) 0 if
S?1 Sol2(j) is just a path!
26Rent 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,Roughgarden0
3), 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)
27What if s is also stochastic?
Suppose s is also a random variable. p(S, s)
joint distribution For i1, 2, , smax do
sample (Si, si) from p with prob. si/smax
accept Si Let S be the union of accepted
Sis Output Alg(S) as the first stage solution
28Multistage problems
- Three stage stochastic Steiner Tree
- On Monday, edges cost 1. We only know the
probability distribution p. - On Tuesday, results of a market survey come in.
We gain some information I, and update p to the
conditional distribution pI. Edges cost s1. - On Wednesday, clients finally show up. Edges now
cost s2 (s2gts1), 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)
29Conclusions
- 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 strictness for Steiner Forest so far we
have only uni-strictness. - Cut problems Can we say anything about Multicut?
Single-source multicut?
30THEEND
Note that if p consists of a small number of
scenarios, this can be transformed to a
deterministic problem.
.