Exact Algorithms For Steiner Tree: Ondra Such y
Exact Algorithms For Steiner Tree: Ondra Such y
Exact Algorithms For Steiner Tree: Ondra Such y
Ondra Suchý
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 1 / 41
Outline
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 2 / 41
Steiner Tree
T
Steiner Tree
Given: Undirected graph G = (V , E ) and a set T ⊆ V
Find: A minimun size tree H = (V 0 , E 0 ) subgraph of G such that T ⊆ V 0 .
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 3 / 41
Steiner Tree
T
Steiner Tree
Given: Undirected graph G = (V , E ) and a set T ⊆ V
Find: A minimun size tree H = (V 0 , E 0 ) subgraph of G such that T ⊆ V 0 .
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 3 / 41
Steiner Tree
Steiner Tree T
Given: Undirected graph G = (V , E ) and a set T ⊆ V
Find: A minimun size tree H = (V 0 , E 0 ) subgraph of G such that T ⊆ V 0 .
The vertices in T are called terminals
The vertices in V \ T are called Steiner points
Denote n := |V |, m := |E |, and t := |T |
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 4 / 41
Steiner Tree
Steiner Tree T
Given: Undirected graph G = (V , E ) and a set T ⊆ V
Find: A minimun size tree H = (V 0 , E 0 ) subgraph of G such that T ⊆ V 0 .
The vertices in T are called terminals
The vertices in V \ T are called Steiner points
Denote n := |V |, m := |E |, and t := |T |
A minimum size:
Vertex cardinality: |V 0 | or rather |S| := |V 0 \ T | (default)
Edge cardinality: |E 0 | = |V 0 | − 1, this is equal to the above
Node weighted: Given w : V → N minimize w (S)
Edge weighted: Given w : E → N minimize w (E 0 )
Steiner Tree (default decision variant)
Given: Undirected graph G = (V , E ), a set T ⊆ V , and k ∈ N
Question: Is there a tree H = (V 0 , E 0 ), subgraph of G , such that T ⊆ V 0
and |V 0 \ T | ≤ k.
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 4 / 41
Importance
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 5 / 41
Hardness and Approximability Results
NP-complete [Garey & Johnson 1979],
even on planar graphs [Garey & Johnson, SIAM J. Appl. Math 1977]
approximable to within O(log n) but
not within (1 − ε)(log t) unless NP ⊆ DTIME[N polylogn ]
[Klein & Ravi, Journal of Algorithms 1995];
The edge weighted variant is APX-complete even on complete graphs
with weights 1 and 2 [Bern, Plassmann, Inf. Proc. Lett. 1989]
There are many approximation results on various variants of Steiner
tree basically on every conference, e.g.,
I Bateni, Hajiaghayi, Marx: Approximation schemes for Steiner Forest on
planar graphs and graphs of bounded treewidth STOC 2010
I Bateni, Checkuri, Ene, Hajiaghayi, Korula, Marx: Prize-collecting
Steiner problems on planar graphs SODA 2011.
I STOC 2014, FOCS 2013, and elsewhere
An online compendium of approx. results: Hauptmann and Karpinski:
A Compendium on Steiner Tree Problems, University of Bonn.
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 6 / 41
Exact Algorithms
In this talk:
1 Parameterized algorithms — exponential in some presumably small
parameter:
I number of Steiner points in the solution k := |S| = |V 0 \ T |
I number of terminals t
I total cardinality of the tree t + k
2 Kernelizations
3 Exact exponential time algorithms — exponential in the “input size”
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 7 / 41
Trivial Algorithms
T
Simple algorithm:
Leaves of an optimal tree are terminals.
An optimal tree contains at most t vertices of degree at least 3.
Once the set T 0 of vertices of degree ≥ 3 is known, the optimal tree
can be computed as minimum spanning tree of T ∪ T 0 , where the
lengths are distances in G .
2
This gives nO(t) and O(2 3 n nO(1) ) = O(1.6181n ) algorithm for edge
weighted variant of Steiner Tree.
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 8 / 41
Parameterization by the Solution Size
Theorem
Steiner Tree is W[2]-hard with respect to the number k of Steiner
points in the solution.
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 9 / 41
Hardness of Steiner Tree, continued
For an instance (U, F, k) of Set Cover consider the following
instance (G = (V , E ), T , k) of Steiner Tree :
V = U ∪ F ∪ {t0 } t0
E = {{u, F } | u ∈ F ∈ F}
∪{{t0 , F } | F ∈ F}
T = U ∪ {t0 } F
Steiner points 1-1 correspond
to the sets in F
we claim that
the instances are equivalent U
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 10 / 41
Hardness of Steiner Tree, continued
For an instance (U, F, k) of Set Cover consider the following
instance (G = (V , E ), T , k) of Steiner Tree :
V = U ∪ F ∪ {t0 } t0
E = {{u, F } | u ∈ F ∈ F}
∪{{t0 , F } | F ∈ F}
T = U ∪ {t0 } F
Steiner points 1-1 correspond
to the sets in F
we claim that
the instances are equivalent U
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 10 / 41
Hardness of Steiner Tree, continued
For an instance (U, F, k) of Set Cover consider the following
instance (G = (V , E ), T , k) of Steiner Tree :
V = U ∪ F ∪ {t0 } t0
E = {{u, F } | u ∈ F ∈ F}
∪{{t0 , F } | F ∈ F}
T = U ∪ {t0 } F
Steiner points 1-1 correspond
to the sets in F
we claim that
the instances are equivalent U
Corollary
If for any k ≥ 3 and ε > 0 Steiner Tree can be solved in time O(nk−ε )
then the Strong ETH fails.
follows from the results of Patrascu and Williams [SODA 2010], since
Dominating Set is a special case of Set Cover,
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 10 / 41
Parameterization by Terminals
Theorem [Dreyfus & Wagner, Networks 1971] and [Levin 1971]
Edge weighted Steiner Tree can be solved in time
O(3t · n + 2t · n2 + n(n log n + m)).
Proof:
The proof goes by dynamic programming.
Pick any terminal t0 and let T 0 = T \ {t0 }
For every nonempty X ⊂ T 0 and every v ∈ V we compute:
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 11 / 41
Dreyfus-Wagner Algorithm continued
Now suppose |X | ≥ 2
Look at the tree from v
Starting from v go along the tree until you reach either a vertex in X
or a vertex of degree at least 3. Let us call it u. Possibly u = v .
X
u
v
X0
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 12 / 41
Dreyfus-Wagner Algorithm continued
Now suppose |X | ≥ 2
Look at the tree from v
Starting from v go along the tree until you reach either a vertex in X
or a vertex of degree at least 3. Let us call it u. Possibly u = v .
If u ∈ X then we let X 0 = {u}.
Otherwise we let X 0 be the vertices in X in one connected component
of the tree with {u} removed.
In both cases we have ∅ =6 X0 ( X
and the tree can be split into three pieces
I the path from v to u (possibly trivial) X
I a tree for u and X 0 (possibly trivial) u
I a tree for u and X \ X 0 v
X0
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 12 / 41
D-W Algorithm Recurrence
6 X 0 ( X and the tree can be split into three pieces
We have ∅ =
I the path from v to u (possibly trivial)
I a tree for u and X 0 (possibly trivial)
X
I a tree for u and X \ X 0 u
v
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 13 / 41
D-W Algorithm Recurrence
6 X 0 ( X and the tree can be split into three pieces
We have ∅ =
I the path from v to u (possibly trivial)
I a tree for u and X 0 (possibly trivial)
X
I a tree for u and X \ X 0 u
v
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 14 / 41
Improvements of the D-W Algorithm
The 1971 D-W algorithm achieves time
O(3t · n + 2t · n2 + n(n log n + m))
This can be improved to O(3t · n + 2t (n log n + m))
by computing the distances more cleverly on demand
[Erickson, Monma, Veinott Mathematics of Operations Research
1987]
In 2007 Fuchs, Kern, and Wang [Math. Meth. Oper. Res.] improved
this to O(2.684t nO(1) ) and
−1
Mölle, Richter, and Rossmanith [STACS 2006] to O((2 + ε)t nf (e ) )
later the above two groups together [Theory Comput. Syst. 2007]
improved the exponent to O(( − εln ε )−δ ) for any 1/2 < δ which gives,
e.g., O(2.5t n14.2 ) or O(2.1t n57.6 )
By using subset convolution and Möbius inversion, one can get to a
running time of Õ(2t n2 + nm) for the node weighted case with
bounded weights [Björklund, Husfeldt, Kaski, Koivisto STOC 2007]
All these algorithms take exponential space.
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 14 / 41
Polynomial Space Algorithms
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 15 / 41
Further Improvements
Can we hope for an algorithm running in (2 − ε)t nO(1) -time?
This would imply an algorithm for Set Cover with running time
(2 − ε)|U| |F|O(1) (by the presented reduction)
t0
Proof:
By the framework of Bodlaender, Downey, Fellows, and Hermelin
[J. Comput. Syst. Sci. 2009/ ICALP 2008] we have to show that
Steiner Tree is compositional with this parameterization
Consider instances (G1 , T1 , k1 ), . . . , (Gs , Ts , ks )
We may assume that |T1 | = |T2 | = . . . = |Ts | = t and
k1 = k2 = . . . = ks = k
We denote T1 = {t11 , . . . , tt1 }, etc.
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 17 / 41
Kernel Lower Bound continued
Ss
We let G = i=1 Gi
For each j ∈ {1, . . . , t} we add to G a new vertex tj and connect it to
the vertices tj1 , tj2 , . . . , tjs by paths of length k + 2.
T1 T2 T3
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 18 / 41
Kernel Lower Bound continued
Ss
We let G = i=1 Gi
For each j ∈ {1, . . . , t} we add to G a new vertex tj and connect it to
the vertices tj1 , tj2 , . . . , tjs by paths of length k + 2.
T1 T2 T3
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 18 / 41
Kernel Lower Bound continued
Ss
We let G = i=1 Gi
For each j ∈ {1, . . . , t} we add to G a new vertex tj and connect it to
the vertices tj1 , tj2 , . . . , tjs by paths of length k + 2.
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 18 / 41
Kernel Lower Bound continued 2
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 19 / 41
Exponential Time Algorithms
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 20 / 41
Steiner Problems in Directed Graphs
In directed graphs “to be connected” can mean several things:
Connect one distinguished root by directed paths
to all other terminals
Directed Steiner Tree (DST)
1−
DSN hard to approximate within O(2log n ) unless
NP ⊆ TIME (2polylog (n) ) [Dodis, Khanna STOC 1999]
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 21 / 41
Parameterization by Steiner Points—Directed
With respect to the number k of Steiner points in the solution:
The hardness reduction is easy to modify to show that both
Directed Steiner Tree and Strongly Connected Steiner
Subgraph are W[2]-hard.
It is enough to orientate all the edges “towards the universe”
t0
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 22 / 41
Parameterization by Steiner Points—Directed
With respect to the number k of Steiner points in the solution:
The hardness reduction is easy to modify to show that both
Directed Steiner Tree and Strongly Connected Steiner
Subgraph are W[2]-hard.
It is enough to orientate all the edges “towards the universe”
and add backward arcs.
Hence Directed Steiner Network is also W[2]-hard.
t0
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 22 / 41
Parameterization by Terminals—Directed
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 23 / 41
Hardness of SCSS
We reduce
Multicolored Clique(MCC)
Given: A graph G = (V , E ), k ∈ N and a coloring c : V → {1, . . . , k}.
Decide: Is there a clique in G taking exactly one vertex of each color?
Parameter: k
MCC is W[1]-hard [Pietrzak, JCSS 2003]
we use the edge representation strategy by Fellows, Hermelin,
Rosamond and Vialette [Theor. Comp. Sci. 2009]
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 24 / 41
SCSS Hardness Proof ctd t1,2 t2,1
uv ab vu ba
u a v b
t1 t2
For each color i introduce a vertex ti and for each vertex v of color i
we introduce an oriented triangle ti , v , v 0
For each pair of colors i 6= j, introduce two vertices ti,j and tj,i .
For each edge uv with c(u) = i and c(v ) = j, introduce two triangles
0 and t , x , x 0
ti,j , xuv , xuv j,i vu vu
0 , x ), (x 0 , x ), (x 0 , x ), (x 0 , x )
add arcs (xuv v u uv vu u v vu
k
let T = {t1 , . . . , tk } ∪ {ti,j | i 6= j} and k 0 = 2k + 2
2
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 25 / 41
SCSS Hardness Proof Continued 2 t1,2 t2,1
uv ab vu ba
We claim that the instance (G , k, c)
of MCC is equivalent to
the constructed instance of SCSS
u a v b
t1 t2
Corollary
SCSS cannot be solved in no(t/ log t) time unless ETH fails.
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 27 / 41
Sparse graphs
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 28 / 41
Graphs of Bounded Treewidth
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 29 / 41
Cut and Count for Steiner Tree
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 30 / 41
Cut and Count for Steiner Tree
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 30 / 41
Cut and Count for Steiner Tree
We use N = 2n.
We guess the minimum weight, i.e., we compute the parity of the
number of subgraphs for each possible weight.
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 31 / 41
Cut and Count — What We Count
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 32 / 41
Cut and Count—Running Time
t1 X2
X1
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 33 / 41
Cut and Count—Running Time
t1 X2
X1
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 33 / 41
Cut and Count—Running Time
t1 X2
X1
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 34 / 41
Directed Steiner Tree in Sparse Graphs
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 35 / 41
DST Hardness in Degenerate Graphs
Observation
DST is W[2]-hard with respect to k even on 2-degenerate graphs.
Use the reduction from setcover, but replace each terminal by a cycle
of vertices of degree three.
Subdivide the edges in these cycles.
All new vertices are terminals
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 36 / 41
Directed Steiner Tree in Sparse Graphs continued
D[T ] arbitrary
O ∗ (3hk+o(hk) )-time on Kh -minor free digraphs
(the algorithm is based on a novel branching rule in combination with
the Nederlof’s algorithm)
O ∗ (f (h)k )-time on Kh -topological minor free digraphs
(using the decomposition theorem of Grohe and Marx [STOC 2012])
D[T ] acyclic
O ∗ (3hk+o(hk) )-time on Kh -topological minor free digraphs
O ∗ (3dk+o(dk) )-time on d-degenerate graphs
I DST is FPT wrt k on o(log n)-degenerate graph classes
I FPT algorithm for undirected Steiner Tree on d-degenerate
k
o( )
For any constant c > 0, no f (k)n log k -time algorithm on graphs of
degeneracy c log n unless ETH fails.
I no O ∗ (2o(d)f (k) )-time algorithm unless ETH fails
no O ∗ (2f (d)o(k) )-time algorithm unless ETH fails
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 37 / 41
Kernelization in Sparse Graphs
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 38 / 41
SCSS in Sparse Graphs
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 39 / 41
Some Open Problems
The main open problems are (not repeating all already mentioned)
Subexponential algorithm for Steiner Tree with respect to only t
Improvement to the kernels for planar graphs
generalizing the result to the higher connectivity settings
(first results for SCSS obtained by Chitnis, Esfandiari, Hajiaghayi,
Khandekar, Kortsarz, Seddighin [IPEC 2014])
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 40 / 41
Thank you for your attention!
Ondra Suchý (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 41 / 41