This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Slide 1
1 Approximating Minimum Cost Steiner Forests Guy Kortsarz
Rutgers University, Camden Joint work with Moran Feldman and Zeev
Nutov
Slide 2
2 (Undirected) Steiner Tree (ST) Instance: A graph G = (V,E), a
cost function c: E +, and a set D V. Objective: Find a subgraph H G
of minimum cost connecting all nodes of D. Terminology: The nodes
of D are called terminals, the other nodes are called Steiner
nodes. Application Example Connecting all components in an printed
circuit using minimum cost silver. 1 5 2 3 4 3 2 2 4 7 1 1 5 2 4 3
2 2 4 7 1 3
Slide 3
3 Directed Steiner Tree (DST) Instance: A digraph G = (V,E), a
cost function c: E +, a root node r and a set D V-r. Objective:
Find a subgraph H G of minimum cost connecting all nodes of D to r.
Motivation: Asymmetric connectivity cost. a c b r f d e 3 6 4 3 5 2
2 4 9 D = {a, c, e} a c r f d e
Slide 4
4 (Undirected) Steiner Forest (SF) Instance: A graph G = (V,E),
a cost function c: E +, and a set D S T of ordered node pairs of V.
Objective: Find a subgraph H G of minimum cost containing an s-t
path the for every (s,t) D. Motivation: Computer network has to
connect each client to the servers it uses. D = {(a, d), (b, g),
(c, e)} a c b g f d e h 13 5 48 7 1 2 45 2 4 i
Slide 5
5 Problem 1: Directed Steiner Forest (DSF) Instance: A digraph
G = (V,E), a cost function c: E +, and a set D S T of ordered node
pairs of V. Objective: Find a subgraph H G of minimum cost
containing an s-t path for every (s,t) D. D = {(c, e), (d, b), (b,
g)} 3 a c b e f dg 6 4 3 5 2 2 4 9 DSF a c b e f dg 6 4 3 5 2 2 4
9
Slide 6
6 Problem 2: k-Directed Steiner Forest (k-DSF) Instance: Same
as for k-DSF, with an integer 0 k |D|. Objective: Find a subgraph H
G of minimum cost containing an s-t path for (at least) k pairs
(s,t) D. 2-DSF D = {(c, e), (d, b), (b, g)} DSF a c b e f dg 6 4 3
5 2 2 4 9 a c b e f dg 6 4 3 5 2 2 4 9 2 3 a c b e f dg 6 4 3 5 2 4
9 k = 2
Slide 7
7 All problems above also have a k version. The k version is
never easier than the normal version, often it is significantly
more difficult. Example: SF has a 2 approximation. k-SF has only
O(min{k 1/2, n 1/2 }) approximation. DSF and k-DSF admit almost the
same ratio. Problems Summary k-Versions UndirectedDirected
Connecting all terminals to a root Steiner Tree (ST) Directed
Steiner Tree (DST) Connecting pairs of nodes Steiner Forest (SF)
Directed Steiner Forest (DSF)
Slide 8
8 ProblemUndirectedDirected In terms of n In terms of k In
terms of n In terms of k Steiner Tree 1.55 [RZ 00] O(n ) [CCCDG 99]
O(k ) [CCCDG 99] k-Steiner Tree 2 [G 05] O(n ) [CCCDG 99] O(k )
[CCCDG 99] Steiner Forest 2 [AKR 95] O(n 1+ )O(k 1/2+ ) [CEGS 08]
k-Steiner Forest O(n 1/2 ) [GHNR 07] O(k 1/2 ) [GHNR 07] O(n 4/3 )
[CCCDG 99] O(k 2/3 ) [CCCDG 99] Surveying Current Results
ProblemUndirectedDirected In terms of n In terms of k In terms of n
In terms of k Steiner Tree 1.55 [RZ 00] O(n ) [CCCDG 99] O(k )
[CCCDG 99] k-Steiner Tree 2 [G 05] O(n ) [CCCDG 99] O(k ) [CCCDG
99] Steiner Forest 2 [AKR 95] O(n 4/5+ ) O(n 1+ ) O(k 1/2+ ) *
[CEGS 08] k-Steiner Forest O(n 1/2 ) [GHNR 07] O(k 1/2 ) [GHNR 07]
O(n 1+ ) O(n 4/3 ) O(k 1/2+ ) O(k 2/3 ) Theorem 2 DSF admits an O(n
4/5+ ) approximation scheme. Theorem 1 k-DSF admits a combinatorial
O(k 1/2+ ) approximation scheme.
Slide 9
9 Junction Trees Definition A junction-tree is a union of: An
in-going tree rooted at r An out-going tree rooted at r r It is
easy to see that in every graph there is a junction tree of
density: k 1/2 opt/k [CEGS 08]
Slide 10
10 Algorithm ID Problem:Direct Steiner Forest Algorithm
Type:Greedy Algorithm Augmentations Used:Junction Trees
Approximation Ratio:O(k 1/2+ )
Slide 11
11 Algorithm for DSF of [CEGS 08] Difficulty Finding the best
junction tree is NPC, it must be approximated. Solution Reduction
to a problem called Group Steiner Forest (GSF). Approximating GSF
via an LP-relaxation. Approximates best junction tree to a factor
of O(k ). The LP is suitable only for the case of DSF (i.e. k =
|D|). Whats Now? What do we know about junction trees? There is a
good density junction tree in every instance of k-DSF. Nobody knows
how to find such a junction tree in the general case. An algorithm
for k-DSF requires using simpler structures.
Slide 12
Theorem 1 k-DSF admits an O(k 1/2+ ) approximation scheme.
Junction Star-Tree: A union of disjoint: In-going star from S to r
Out-going tree from r to T r
14 Algorithm for k-DSF Reductions Used Augmentations Finding
Via a reduction to k-DST. Remainder: k-Directed Steiner Tree (k-DS
T ) Instance: A digraph G = (V, E) with edge costs {c e :e E}, a
root node r, a set U V of terminals, and an integer k. Objective:
Find a min-cost subtree T of G rooted at r spanning (at least) k
terminals. Approximation: We are interested in the density version:
Find the best density tree. It has an O(k ) approximation scheme by
[CCCDG 99]. AssumptionJustification Metric cost graph.Using metric
completion. No edge enters a node of S or leaves a node of T.
Create a new source and terminal for every node, connect them to
the node using zero cost edges. No node is involved in more than
one pair in D. Multiply nodes involved in multiple demand
pairs.
Slide 15
15 Finding a good density junction star-tree A junction
star-tree:A tree rooted at r: t1t1 t2t2 t3t3 t4t4 t5t5 t' 1 t' 2 t'
3 t' 4 t' 5 r s1s1 s2s2 s3s3 s4s4 s5s5 t1t1 t2t2 t3t3 t4t4 t5t5 r
Reduction to k-DST We guess r No other information about the
junction star-tree is needed
Slide 16
16 The Junction Star-Tree Theorem What we will show? If for
every path P we have c(P) opt/g, then the graph contains a junction
star-tree of density at-most: Notation D The set of k pairs from D
that OPT connects. A set of paths in OPT, one path connecting every
pair of D. g A parameter whose value will be set eventually to (2k)
1/2. Theorem In every instance of k-DSF (after metric completion)
there is a junction star-tree of density at most: (8k) 1/2
opt/k.
Slide 17
17 The Junction Star-Tree Theorem (proof) Definitions P * (the
truncated path of P) - The maximal subpath sv of P such that: c(P *
) opt/g Two truncated paths (possibly identical) collide if they
share nodes Let * = {P * | P } Lemma * can be partitioned into q g
parts Q 1,, Q q, such that in every part Q i there is a path P i *
colliding with every path in Q i. Thus, there is a path colliding
with k/q k/g paths. What is it good for? We got a funnel of at
least k/g paths: Every node u of P i * can be made a root of a
star. Adding each source s i connecting to the funnel in a node
before u costs only O(opt/g). Pi*Pi* s1s1 s2s2 s3s3 s4s4 u u s1s1
s3s3
Slide 18
18 The Junction Star-Tree Theorem (proof) Construction
(Informal) Let P * be the truncated path colliding with at-least
k/g truncated paths. And let r 1, r 2, , r d be the nodes of P * in
reverse order. For each r i we grow a minimal tree T i OPT spanning
every terminal (of the paths colliding with P*) reachable from r i
not covered by previous trees. Lemma (Informal) The trees we grow
has the following properties: 1.The trees are edge disjoint.
2.Every terminal (of the paths colliding with P * ) appears in
exactly one tree. 3.The sources corresponding to the terminals of T
i can be added to the star of r i. T5T5 T4T4 T3T3 T2T2 T1T1 The
idea is that the stars do not pay too much for every source, and
the trees divide both the terminals and the cost of OPT.
Slide 19
19 The Junction Star-Tree Theorem (proof) Construction Get a
junction star-tree J i from T i by connecting (using a single edge)
the sources corresponding to the terminals of T i to r i. Every new
edge is a shortcut of two truncated paths, its cost is at-most
2opt/g. Bounding the density All the trees together connect p k/g
pairs. The cost of all the junction star-trees together is: Using
an averaging argument, there must be a tree of density:
Slide 20
20 Algorithm Summary What did we do? Showed how to find
approximately optimal junction star-tree, via a reduction to k-DST.
Proved that every metric graph contains a junction star-tree of
density O(k 1/2 ) opt/k. What do we get? By using junction
star-trees as augmentations, we get an O(k 1/2+ )-approximation
algorithm for k-DST. Comparison with the algorithm of [CEGS 08]
Finding a good augmentation: Easy, works for k-DSF as well. Proving
existence of a good augmentation: Non-trivial. Advantage:
Combinatorial algorithm, does not solve LPs.
Slide 21
Theorem 2 DSF admits an O(n 4/5+ ) approximation scheme.
Slide 22
22 Algorithm Overview Notation A path is short if its length
opt/n 4/5, otherwise it is long (we assume opt is known) U(s,t) The
set of nodes which have both short paths from s, and short paths to
t. A pair (s, t) D is good if |U(s,t)| n 2/5, and bad otherwise. s
v1v1 v2v2 vtvt t U(s,t)U(s,t) Short Paths Few nodes Bad Pair Many
nodes Good Pair
Slide 23
23 Algorithm Overview - Continue Connecting Good Pairs Put
every node v into a set R with probability p = 2ln k / n 2/5.
Connect using short paths the nodes of every good pair to every
node of R, if possible. Connecting Bad Pairs Henceforth, we assume
that D contains only bad pairs. Let L D be the set of pairs
connected by a long path in OPT. Two cases: Case 1: |L| |D|: We
show there is a good density junction tree. Case 2: |L| < |D|:
We show that a good augmentation can be achieved by rounding the
solution of an LP connecting short distance pairs. Plan: Use a
greedy algorithm for connecting the bad pairs. In every iteration
use the better of the two types of augmentations. A pair is
connected if R U(s,t) Pr[R U(s,t) = ] 1/k 2 for every good pair
(s,t) D By the union bound, all good pairs are connected with
probability 1-1/k By the Chernoff bound, with probability 1-1/k,
the cost is no more than:
Slide 24
24 Case 1: |L| |D| (reduction to [CEGS 08]) The total cost of
all paths associated with L: |L|opt/n 4/5 There is an edge e in OPT
involved in at-least |L|/n 4/5 paths. Let J denote the union of
these paths: J is a subgraph of OPT, its cost is at-most opt. J
connects at-least |L|/n 4/5 pairs of D. J is a junction tree, of
density: opt/|D| O(n 4/5 ) The method of [CEGS 08], let us find a
junction tree of density: Case 2: |L| < |D| (LP-rounding) This
LP asks to connect at least half of the bad pairs using short
paths: (i) The set of short paths connecting the i-th bad pair. The
set of short paths connecting any bad pair. (An average flow of or
more) (The flow of a pair is the sum of the flow paths) (Pay for
edges along the flow path)
Slide 25
25 Using the LP We round the x e variables: We get an integral
solution of cost: O(n 4/5 ) opt. At least |D|/3 of the bad pairs
has flow of or more, because the sum of all flows must be at least
|D|/2, these pairs are connected in the integral solution. The
density of the integral solution is at most: O(n 4/5 )opt/|D|
Consider a cut in the graph separating the pair (s, t): s1s1 s2s2
spsp t1t1 t2t2 tqtq ts Since (s,t) is a bad pair, we know: p+q <
n 2/5. The number of edges crossing the cut is bounded by pq < n
4/5 /4. The flow is at least , some edge crossing the cut must have
flow 1/n 4/5. Difficulty: The number of variables might be
exponential. Solution: Approximate separation oracle for the dual
program. Derives a solution of cost opt(1+) for the LP in
polynomial time.
Slide 26
26 Open Questions Regarding our algorithm for DSF: Can its
ratio be improved? Can it be extended to k-DSF as well? A ratio
better than O(n 1/3 ) is unlikely, due to a reduction to
LABEL-COVER max [DK 99]. Generalizations: DSF and k-DSF have a
generalization where every pair (s,t) D has a demand r(s,t) and it
must be connected by r(s,t) edge disjoint paths. Can any of the
results presented be extended to this generalization of the
corresponding problem? No results are known for these
generalizations, even when the demands are limited to 2.