Title: Stochastic Steiner Trees without a Root
1Stochastic Steiner Treeswithout a Root
- Martin Pál
- Joint work with Anupam Gupta
2Stochastic 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)
3Outline
- 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
problemhow many samples are needed? - Solution Approach Boosted Sampling
4Network 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.
5Stochastic 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.
?
?
?
?
?
6Two-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.
7The model
Two stage stochastic model with recourse Find
F1 ? Edges and F2 2Users ? 2Edges to
minimize cost1(F1) Ep(g)cost2(F2(g)) subject
to connected(g, F1 ? F2(g)) for all sets
g?Users
8Representing p
- Explicit list of scenarios
- (g1, p(g1)), (g2, p(g2)),, (gk, p(gk))
- Oracle model
- sampling oracle generates independent samples
from p - Theorem CCP05 Any distribution can be
approximated by an explicit list of size
poly(G, s, 1/?) using sampling.
9The Rent or Buy problem
Input weighted graph G set of demand pairs D,
a constant M1
Solution a set of paths, one for each (si,ti)
pair. Goal minimize cost of the network built.
10The 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 rentalbuying costs.
11Rent or Buy Stochastic Path
Let gi si,ti p(gi) 1/n s
M/n install e in first stage ? buy e install e
in second stage ? rent e Stochastic Steiner
generalized RoB Each group gi has tree Ti (may
have exponentially many groups)
12First stage not connected subgraph
Two distant groups
Pr? Pr? ½ s gt 2
Two nearby groups
13The Algorithm
1. Boosted Sampling Draw s groups of clients
g1,g2,,gs indep. from the distribution p.
- Build a Steiner forest F1 on g1,g2,,gs using
an ?-approx algorithm.
3. When actual group g of terminals appears,
build a tree spanning g in G/F1.
14Bounding the cost
Expected first stage cost is small
Lemma There is a forest F on sampled groups with
Ecost(F) ? OPT.
e installed in first stage OPT Pre is in F
1 e not in first stage OPT Pre is in F s
Pre is in some Ti
Using ?-approx, can get ? ? ? OPT Theorem
Expected cost of bought edges is ? ? ? OPT.
15Bounding 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(?)
16Need 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
17Cost 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 ?
18Bounding second stage cost
S g1,g2,,gs and S S ?.Imagine
Pr??S S s ? p(?).
Erent(?) S ? p(?)?s?MST(?) in G/FS
Erent(?) ? ? ? Ebuy(?)
? ? ?
Ebuy(?) S p(?)?s ? ?(S?,?)
?j?D Erent(j) ? ? ?j?D Ebuy(j) ? ? OPT
19Computing shares using the AKR-GW algorithm
?(?)
?(?)
?(?)
Active terminals share cost of growth evenly.
20AKR-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
21Forcing AKR-GW buy more
Idea Inflate the balls! Roughly speaking,
multiply each radius by ? gt 1
22The 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
ruleevery demand j deactivated at time ??Tj for
some ? gt 1
23The inflated AKR-GW (2)
Freezing times
Original AKR-GW
Inflated AKR-GW
24Why should inflating work?
layer only ? is contributing layer terminals
other than ? contributing
25The End
- Boosted sampling algorithm suggests that s
samples carry enough information about the
distribution p . 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
26Easy 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.
27Proving 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(?).
28Simplifying..
- 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!
29Comparing Original(S?) Inflated(S)
Freezing times
Original(S?)
Inflated(S)
Freezing times
30Proof idea
Correspondence of other (i.e. non-red)
layers Layer l in Original(S?) ? Layer l in
Inflated(S)
Tree Alone Other ? ?
Other Tree
Duplicates
?Waste
?Waste
31Bounding 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.
32Bounding the Waste (2)
l
l
33Bounding the Waste (3)
l
l
34Bounding the Duplicates
edges cut clusters 1 intersections 2
edges cuts lt 2 clusters
Alone OtherDuplicates lt 2(Alone
Other)
35Summing up
Tree 4?/(?-2) ? Alone Hence we have ?1
approximation algorithm with 4?/(?-2)-strict cost
sharing. Setting ?4 we obtain a 5813
approximation.
36 Useful Garbage
Theorem Inflated AKR-GW is a ?1
approximation. Pf adopted from GW.
????v???