Title: Stochastic Steiner Tree without a Root
1Stochastic Steiner Tree without a Root
- Martin Pál
- Joint work with Anupam Gupta
2Steiner 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.
3Stochastic 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.
?
?
?
?
?
4The 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 s times more
expensive. (s inflation factor).
5The model
Two stage stochastic model with recourse Find
F1 ? Edges and F2 2Users ? 2Edges to
minimize cost(F1) s Ep(g)cost(F2(g)) subject
to connected(g, F1 ? F2(g)) for all sets
g?Users
6First stage not connected subgraph
Two distant groups
Pr? Pr? ½ s gt 2
Two nearby groups
7The Rent or Buy problem (1)
Input graph G, weights ce on edges, 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.
8The 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 rentalbuying costs.
9Rent or Buy as Stochastic Steiner
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)
10The 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.
11Bounding 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.
12Bounding 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(?)
13Need 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
14Cost 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 ?
15Bounding 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
16Computing shares using the AKR-GW algorithm
?(?)
?(?)
?(?)
Active terminals share cost of growth evenly.
17AKR-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
18Forcing AKR-GW buy more
Idea Inflate the balls! Roughly speaking,
multiply each radius by ? gt 1
19Why should inflating work?
layer only ? is contributing layer terminals
other than ? contributing
20The 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
21The inflated AKR-GW (2)
Freezing times
Original AKR-GW
Inflated AKR-GW
22Easy 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.
23Proving 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(?).
24Simplifying..
- 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!
25Comparing Original(S?) Inflated(S)
Freezing times
Original(S?)
Inflated(S)
Freezing times
26Proof 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
27Bounding 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.
28Bounding the Waste (2)
l
l
29Bounding the Waste (3)
l
l
30Bounding the Duplicates
edges cut clusters 1 intersections 2
edges cuts lt 2 clusters
Alone OtherDuplicates lt 2(Alone
Other)
31Summing up
Tree 4?/(?-2) ? Alone Hence we have ?1
approximation algorithm with 4?/(?-2)-strict cost
sharing. Setting ?4 we obtain a 5813
approximation.
32The End
- No need to know p explicitly (sampling oracle is
enough) - Is the ball inflation trick necessary?
- Derandomize the sampling algorithm (for p given
explicitly). - Get stronger strictness to allow multistage algo
33 Useful Garbage
Theorem Inflated AKR-GW is a 2?
approximation. Pf adopted from GW.
????v???