Abstract
Given an n-node edge-weighted graph and a subset of k terminal nodes, the NP-hard (weighted) Steiner tree problem is to compute a minimum-weight tree which spans the terminals. All the known algorithms for this problem which improve on trivial O(1.62n)-time enumeration are based on dynamic programming, and require exponential space.
Motivated by the fact that exponential-space algorithms are typically impractical, in this paper we address the problem of designing faster polynomial-space algorithms. Our first contribution is a simple O((27/4)k n O(logk))-time polynomial-space algorithm for the problem. This algorithm is based on a variant of the classical tree-separator theorem: every Steiner tree has a node whose removal partitions the tree in two forests, containing at most 2k/3 terminals each. Exploiting separators of logarithmic size which evenly partition the terminals, we are able to reduce the running time to \(O(4^{k}n^{O(\log^{2} k)})\). This improves on trivial enumeration for roughly k<n/3, which covers most of the cases of practical interest. Combining the latter algorithm (for small k) with trivial enumeration (for large k) we obtain a O(1.59n)-time polynomial-space algorithm for the weighted Steiner tree problem.
As a second contribution of this paper, we present a O(1.55n)-time polynomial-space algorithm for the cardinality version of the problem, where all edge weights are one. This result is based on a improved branching strategy. The refined branching is based on a charging mechanism which shows that, for large values of k, convenient local configurations of terminals and non-terminals exist. The analysis of the algorithm relies on the Measure & Conquer approach: the non-standard measure used here is a linear combination of the number of nodes and number of non-terminals. Using a recent result in Nederlof (International colloquium on automata, languages and programming (ICALP), pp. 713–725, 2009), the running time can be reduced to O(1.36n). The previous best algorithm for the cardinality case runs in O(1.42n) time and exponential space.
Similar content being viewed by others
Notes
Throughout this paper we use the O ∗ notation which suppresses polynomial factors: for any polynomial p(n), O(p(n)T) is O ∗(T).
Throughout this paper, logx stands for log2 x.
We recall that the metric closure of a weighted graph G=(V,E) is a complete graph on node-set V, with weights given by the shortest path distances with respect to original weights.
References
Arora, S.: Polynomial time approximation schemes for Euclidean TSP and other geometric problems. J. ACM 45, 753–782 (1998)
Bax, E.T.: Inclusion and exclusion algorithm for the Hamiltonian path problem. Inf. Process. Lett. 47, 203–207 (1993)
Bern, M., Plassmann, P.: The Steiner tree problem with edge lengths 1 and 2. Inf. Process. Lett. 32, 171–176 (1989)
Björklund, A., Husfeldt, T.: Inclusion-exclusion algorithms for counting set partitions. In: IEEE Symposium on Foundations of Computer Science (FOCS), pp. 575–582 (2006)
Björklund, A., Husfeldt, T., Kaski, P., Koivisto, M.: Fourier meets Möbious: fast subset convolution. In: ACM Symposium on Theory of Computing (STOC), pp. 67–74 (2007)
Blelloch, G.E., Dhamdhere, K., Halperin, E., Ravi, R., Schwartz, R., Sridhar, S.: Fixed parameter tractability of binary near-perfect phylogenetic tree reconstruction. In: International Colloquium on Automata, Languages and Programming (ICALP), pp. 667–678 (2006)
Bodlaender, H.L.: A partial k-arboretum of graphs with bounded treewidth. Theor. Comput. Sci. 209, 1–45 (1998)
Byrka, J., Grandoni, F., Rothvoß, T., Sanità, L.: An improved LP-based approximation for Steiner tree. In: ACM Symposium on Theory of Computing (STOC), Best Paper Award (2010, to appear). doi:10.1145/1806689.1806769
Deneen, L.L., Shute, G.M., Thomborson, C.D.: A probably fast, provably optimal algorithm for rectilinear Steiner trees. Random Struct. Algorithms 5(4), 535–557 (1994)
Downey, R.G., Fellows, M.R.: Parameterized Complexity. Springer, New York (1999)
Dreyfus, S.E., Wagner, R.A.: The Steiner problem in graphs. Networks 1, 195–207 (1971/72)
Eppstein, D.: Improved algorithms for 3-coloring, 3-edge-coloring, and constraint satisfaction. In: ACM-SIAM Symposium on Discrete Algorithms (SODA), pp. 329–337 (2001)
Eppstein, D.: Quasiconvex analysis of multivariate recurrence equations for backtracking algorithms. ACM Trans. Algorithms 2(4), 492–509 (2006)
Eppstein, D.: The traveling salesman problem for cubic graphs. J. Graph Algorithms Appl. 11(1), 61–81 (2007)
Flum, J., Grohe, M.: Parameterized Complexity Theory. Texts in Theoretical Computer Science. An EATCS Series. Springer, Berlin (2006)
Fomin, F.V., Gaspers, S., Pyatkin, A.V., Razgon, I.: On the minimum feedback vertex set problem: exact and enumeration algorithms. Algorithmica 52(2), 293–307 (2008)
Fomin, F.V., Grandoni, F., Kratsch, D.: Measure and conquer: domination—a case study. In: International Colloquium on Automata, Languages and Programming (ICALP), pp. 191–203 (2005)
Fomin, F.V., Grandoni, F., Kratsch, D.: Measure and conquer: a simple O(20.288n) independent set algorithm. In: ACM-SIAM Symposium on Discrete Algorithms (SODA), pp. 18–25 (2006)
Fomin, F.V., Grandoni, F., Kratsch, D.: Faster Steiner tree computation in polynomial-space. In: European Symposium on Algorithms (ESA), pp. 430–441 (2008)
Fomin, F.V., Grandoni, F., Kratsch, D.: Solving connected dominating set faster than 2n. Algorithmica 52, 153–166 (2008)
Fomin, F.V., Grandoni, F., Kratsch, D.: A measure & conquer approach for the analysis of exact algorithms. J. ACM 56(5) (2009). doi:10.1145/1552285.1552286
Fomin, F.V., Grandoni, F., Pyatkin, A., Stepanov, A.: Combinatorial bounds via measure and conquer: bounding minimal dominating sets and applications. ACM Trans. Algorithms 5(1) (2008). doi:10.1145/1435375.1435384
Fuchs, B., Kern, W., Mölle, D., Richter, S., Rossmanith, P., Wang, X.: Dynamic programming for minimum Steiner trees. Theory Comput. Syst. 41(3), 493–500 (2007)
Ganley, J.L.: Computing optimal rectilinear Steiner trees: a survey and experimental evaluation. Discrete Appl. Math. 90(1–3), 161–171 (1999)
Garey, M.R., Johnson, D.S.: The rectilinear Steiner tree problem is NP-complete. SIAM J. Appl. Math. 32, 826–834 (1977)
Garey, M.R., Johnson, D.S.: Computers and Intractability. A Guide to the Theory of NP-Completeness. Freemann, New York (1979)
Grandoni, F.: Exact algorithms for hard graph problems. PhD thesis, Università di Roma Tor Vergata, Roma, Italy, Mar. 2004
Grandoni, F.: A note on the complexity of minimum dominating set. J. Discrete Algorithms 4(2), 209–214 (2006)
Guo, J., Niedermeier, R., Wernicke, S.: Parameterized complexity of generalized vertex cover problems. In: International Workshop on Algorithms and Data Structures (WADS), pp. 36–48. Springer, Berlin (2005)
Gurevich, Y., Shelah, S.: Expected computation time for Hamiltonian path problem. SIAM J. Comput. 16(3), 486–502 (1987)
Hwang, F.K., Richards, D.S., Winter, P.: The Steiner Tree Problem. North-Holland, Amsterdam (1992)
Kahng, A., Robins, G.: On Optimal Interconnections for VLSI. Kluwer, Dordrecht (1995)
Karp, R.M.: Dynamic programming meets the principle of inclusion and exclusion. Oper. Res. Lett. 1, 49–51 (1982)
Korte, B., Prömel, H.J., Steger, A.: Steiner trees in VLSI-layout. In: Paths, Flows, and VLSI-Layout, pp. 185–214 (1990)
Mölle, D., Richter, S., Rossmanith, P.: A faster algorithm for the Steiner tree problem. In: Symposium on Theoretical Aspects of Computer Science (STACS), pp. 561–570 (2006)
Nederlof, J.: Fast polynomial-space algorithms using Mobius inversion: improving on Steiner tree and related problems. In: International Colloquium on Automata, Languages and Programming (ICALP), pp. 713–725 (2009)
Niedermeier, R.: Invitation to fixed-parameter algorithms. Oxford Lecture Series in Mathematics and Its Applications, vol. 31. Oxford University Press, Oxford (2006)
Prömel, H.J., Steger, A.: The Steiner Tree Problem. Advanced Lectures in Mathematics. Vieweg, Braunschweig (2002)
Robins, G., Zelikovsky, A.: Improved Steiner tree approximation in graphs. In: ACM-SIAM Symposium on Discrete Algorithms (SODA), pp. 770–779 (2000)
Woeginger, G.: Space and time complexity of exact algorithms: some open problems. In: International Workshop on Parameterized and Exact Computation (IWPEC), pp. 281–290 (2004)
Author information
Authors and Affiliations
Corresponding author
Additional information
A preliminary version of this paper appeared in ESA’08 [19].
Rights and permissions
About this article
Cite this article
Fomin, F.V., Grandoni, F., Kratsch, D. et al. Computing Optimal Steiner Trees in Polynomial Space. Algorithmica 65, 584–604 (2013). https://doi.org/10.1007/s00453-012-9612-z
Received:
Accepted:
Published:
Issue date:
DOI: https://doi.org/10.1007/s00453-012-9612-z