Exact Algorithms for Steiner Tree
Total Page:16
File Type:pdf, Size:1020Kb
Exact Algorithms for Steiner Tree Ondra Such´y Faculty of Information Technology, Czech Technical University in Prague, Prague, Czech Republic. [email protected] New Developments in Exact Algorithms and Lower Bounds, IIT Delhi, 13th December 2014 Ondra Such´y (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 1 / 41 Outline 1 Problem introduction and classical results 2 Exact algorithms for the general undirected case 3 Directed variants and algorithms for them 4 Algorithms for Steiner problems in sparse graphs Ondra Such´y (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´y (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´y (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 3 / 41 A minimum size: Vertex cardinality: V 0 or rather S := V 0 T (default) Edge cardinality: Ej0 =j V 0 1,j thisj isj equaln toj the above j j j j − Node weighted: Given w : V N minimize w(S) ! 0 Edge weighted: Given w : E N minimize w(E ) ! Steiner Tree (default decision variant) Given: Undirected graph G = (V ; E), a set T V , and k N ⊆ 2 Question: Is there a tree H = (V 0; E 0), subgraph of G, such that T V 0 and V 0 T k. ⊆ j n j ≤ Steiner Tree 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. ⊆ The vertices in T are called terminals The vertices in V T are called Steiner points Denote n := V , mn := E , and t := T j j j j j j T Ondra Such´y (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 4 / 41 Steiner Tree 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. ⊆ The vertices in T are called terminals The vertices in V T are called Steiner points Denote n := V , mn := E , and t := T j j j j j j A minimum size: T Vertex cardinality: V 0 or rather S := V 0 T (default) Edge cardinality: Ej0 =j V 0 1,j thisj isj equaln toj the above j j j j − Node weighted: Given w : V N minimize w(S) ! 0 Edge weighted: Given w : E N minimize w(E ) ! Steiner Tree (default decision variant) Given: Undirected graph G = (V ; E), a set T V , and k N ⊆ 2 Question: Is there a tree H = (V 0; E 0), subgraph of G, such that T V 0 and V 0 T k. ⊆ j n j ≤ Ondra Such´y (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 4 / 41 Importance Fundamental problem of network design Motivated by applications in, e.g., I VLSI routing I phylogenetic tree reconstruction I network routing Several books devoted to Steiner Trees I Dietmar Cieslik: Steiner minimal trees, Kluwer Academic, 1989 I Frank K. Hwang, Dana S. Richards, Pawel Winter: The Steiner tree problem, North-Holland, 1992 I Alexandr O. Ivanov, Alexei A. Tuzhilin: Minimal networks | the Steiner problem and its generalizations, CRC Press, 1994 I Hans J. Pr¨omel,Angelika Steger: The Steiner Tree Problem | A Tour through Graphs, Algorithms, and Complexity, Springer, 2002 11th DIMACS Implementation Challenge (ending two weeks ago) devoted to Steiner Tree problems Ondra Such´y (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[Npolylogn] − [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´y (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 j j j n j 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´y (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 7 / 41 Trivial Algorithms Simple algorithm: Leaves of an optimal tree areT 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. [ O(t) 2 n O(1) n This gives n and O(2 3 n ) = O(1:6181 ) algorithm for edge weighted variant of Steiner Tree. Ondra Such´y (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. We show a parameterized reduction from Set Cover Given: A universe U, a family of its subsets, and k N F 0 0 2 S Question: Is there a subfamily , k such that 0 F = U? F ⊂ F jF j ≤ F 2F Set Cover was shown W[2]-hard with respect to k in Downey & Fellows 1999 Ondra Such´y (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 9 / 41 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, Hardness of Steiner Tree, continued For an instance (U; ; k) of Set Cover consider the following F instance (G = (V ; E); T ; k) of Steiner Tree : t V = U t0 0 [ F [ f g E = u; F u F ff g j 2 2 Fg t0; F F [ff g j 2 Fg T = U t0 Steiner[ points f g 1-1 correspond F to the sets in we claim that F the instances are equivalent U Ondra Such´y (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 10 / 41 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, Hardness of Steiner Tree, continued For an instance (U; ; k) of Set Cover consider the following F instance (G = (V ; E); T ; k) of Steiner Tree : t V = U t0 0 [ F [ f g E = u; F u F ff g j 2 2 Fg t0; F F [ff g j 2 Fg T = U t0 Steiner[ points f g 1-1 correspond F to the sets in we claim that F the instances are equivalent U Ondra Such´y (FIT CTU Prague) Exact Algorithms for Steiner Tree IIT Delhi, 13.12.2014 10 / 41 Hardness of Steiner Tree, continued For an instance (U; ; k) of Set Cover consider the following F instance (G = (V ; E); T ; k) of Steiner Tree : t V = U t0 0 [ F [ f g E = u; F u F ff g j 2 2 Fg t0; F F [ff g j 2 Fg T = U t0 Steiner[ points f g 1-1 correspond F to the sets in we claim that F 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´y (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. 0 Pick any terminal t0 and let T = T t0 n f g For every nonempty X T 0 and every v V we compute: ⊂ 2 ST(X ; v) = minimum edge weight of a Steiner tree for (X v ) [ f g Note that we allow v X 2 0 The answer is stored in ST(T ; t0) The trivial case: If X = x for some x T 0 then for every v V we f g 2 2 set ST( x ; v) = distG (x; v).