ICALP'05 Stochastic Steiner withou t a Root 1 Stochastic Steiner Trees without a Root Martin Pál Joint work with Anupam Gupta
Dec 27, 2015
ICALP'05 Stochastic Steiner without a Root 1
Stochastic Steiner Treeswithout a Root
Martin Pál
Joint work with Anupam Gupta
ICALP'05 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)
ICALP'05 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
ICALP'05 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.
ICALP'05 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.
?
?
??
?
?
ICALP'05 Stochastic Steiner without a Root 6
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.
drawn from a known distribution π
ICALP'05 Stochastic Steiner without a Root 7
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 gUsers
Want compact representation of F2 by an algorithm
cost(F1) + σ Eπ(g)[cost(F2(g))]
Assumption: cost2(X) = σ cost1(X)
inflation factor
ICALP'05 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.
ICALP'05 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.
ICALP'05 Stochastic Steiner without a Root 10
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.
Steiner forest: pay 1 for every edge used
ICALP'05 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 e install e in second stage rent e
Stochastic Steiner = generalized RoB
Each group gi has tree Ti
(may have exponentially many groups)
ICALP'05 Stochastic Steiner without a Root 12
First stage not connected subgraph
Pr[] = Pr[] = ½
σ > 2
Two distant groups
Two nearby groups
ICALP'05 Stochastic Steiner without a Root 13
The Algorithm
1. Boosted Sampling: Draw σ groups of clients g1,g2,…,gσ indep. from the distribution π.
2. 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.
ICALP'05 Stochastic Steiner without a Root 14
Bounding the cost
Expected first stage cost is small:
Using -approx, can get OPT
Theorem: Expected cost of bought edges is OPT.
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]
ICALP'05 Stochastic Steiner without a Root 15
Bounding the second stage cost
Unselected groups pay their second stage cost
Selected groups share first stage costs
pays 1.st.
pays 2.st
pays 1.st
Plan: Bound second stage cost by the first stage cost:
Expected second stage() Expected share()
pays 2.st
pays 1.st
pays 1.st
ICALP'05 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 gS
ξ({}, ) = 4
ξ({}, ) = 5
Set of demandsdemand group
ICALP'05 Stochastic Steiner without a Root 17
Cost Sharing for Steiner Forest
(P1) Good approximation: cost(FS) St*(S)
(P2) Cost shares do not overpay: gS ξ(S,g) St*(S)
(P3) Strictness: let S’ = S {g} MST(g) in G/ FS ξ(S’,g)
Example: S = {} g =
Rental of if FS bought
of share if added to S
ICALP'05 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[buy() | S] = π()σ
ξ(S+,)
E[rent()]
E[buy()]
jD E[rent(j)] jD E[buy(j)] OPT
ICALP'05 Stochastic Steiner without a Root 19
Computing shares using the AKR-GW algorithm
ξ():ξ():ξ():
Active terminals share cost of growth evenly.
ICALP'05 Stochastic Steiner without a Root 20
AKR-GW is not enough
1+ε
1 1
cost share() = 1/n + rental() = 1 +
Solution: Force the algorithm to buy the middle edge
- need to be careful not to pay too much
Problem: cost shares do not pay enough!
ICALP'05 Stochastic Steiner without a Root 21
Forcing AKR-GW buy more
1+ε
1 1
Idea: Inflate the balls!
Roughly speaking, multiply each radius by > 1
ICALP'05 Stochastic Steiner without a Root 22
The inflated AKR-GW
1. Run the standard AKR-GW algorithm on S
2. Note the time Tj when each demand j frozen
3. Run the algorithm again, with new freezing rule:every demand j deactivated at time Tj for some > 1
Freezing times
ICALP'05 Stochastic Steiner without a Root 23
The inflated AKR-GW (2)
Freezing times
Original AKR-GW
Inflated AKR-GWFreezing times
ICALP'05 Stochastic Steiner without a Root 24
Why should inflating work?
layer: only is contributing
layer: terminals other than contributing
ξ() large
ξ() small, can take shortcuts
ξ() small, can take shortcuts
ICALP'05 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
ICALP'05 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].
ICALP'05 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().
ICALP'05 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!
ICALP'05 Stochastic Steiner without a Root 29
Comparing Original(S+) & Inflated(S)
Freezing times
Freezing times
Original(S+)
Inflated(S)
ICALP'05 Stochastic Steiner without a Root 30
Proof idea
Correspondence of other (i.e. non-red) layers:
Layer l in Original(S+) Layer l’ in Inflated(S)
|Tree| = |Alone| + |Other|
|Other| ≤ |Tree|(-1) |Tree| ≤ |Alone|
+ |Waste|
+ |Waste|
+ |Duplicates|
If we can prove: we are done.
|Waste| ≤ |Alone||Duplicates| ≤ |Alone| + |Other|
ICALP'05 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.
Original(S+)
Inflated(S)
Pf: By picture.
The only way of wasting a layer l is when the whole group lies inside l’.
ICALP'05 Stochastic Steiner without a Root 32
Bounding the Waste (2)
l
l’
ICALP'05 Stochastic Steiner without a Root 33
Bounding the Waste (3)
l
l’
ICALP'05 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|)
ICALP'05 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.
ICALP'05 Stochastic Steiner without a Root 36
Theorem: Inflated AKR-GW is a +1 approximation.
Pf: adopted from [GW].
≤≥≠∫∏∑√∂∆≈∙
*** Useful Garbage ***