Faster Steiner Tree Computation in Polynomial-Space

  • Fedor V. Fomin
  • Fabrizio Grandoni
  • Dieter Kratsch
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5193)


Given an n-node graph and a subset of k terminal nodes, the NP-hard Steiner tree problem is to compute a minimum-size tree which spans the terminals. All the known algorithms for this problem which improve on trivial O(1.62 n )-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 polynomial-space O(6 k n O(logk))-time algorithm, based on a variant of the classical tree-separator theorem. This improves on trivial O(n k + O(1)) enumeration for, roughly, k ≤ n/4.

Combining the algorithm above (for small k), with an improved branching strategy (for large k), we obtain an O(1.60 n )-time polynomial-space algorithm. 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 must 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.

As a byproduct of our work, we also improve the (exponential-space) time complexity of the problem from O(1.42 n ) to O(1.36 n ).


Steiner Tree Hamiltonian Path Steiner Tree Problem Polynomial Space Edge Cost 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Arora, S.: Polynomial time approximation schemes for Euclidean TSP and other geometric problems. J. ACM 45, 753–782 (1998)zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Bax, E.T.: Inclusion and exclusion algorithm for the hamiltonian path problem. Information Proc. Letters 47, 203–207 (1993)zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Bern, M., Plassmann, P.: The Steiner tree problem with edge lengths 1 and 2. Information Proc. Letters 32, 171–176 (1989)zbMATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Björklund, A., Husfeldt, T.: Inclusion-exclusion algorithms for counting set partitions. In: FOCS 2006, pp. 575–582. IEEE, Los Alamitos (2006)Google Scholar
  5. 5.
    Björklund, A., Husfeldt, T., Kaski, P., Koivisto, M.: Fourier meets Möbious: Fast subset convolution. In: STOC 2007, pp. 67–74. ACM Press, New York (2007)CrossRefGoogle Scholar
  6. 6.
    Blelloch, G.E., Dhamdhere, K., Halperin, E., Ravi, R., Schwartz, R., Sridhar, S.: Fixed parameter tractability of binary near-perfect phylogenetic tree reconstruction. In: Bugliesi, M., Preneel, B., Sassone, V., Wegener, I. (eds.) ICALP 2006. LNCS, vol. 4051, pp. 667–678. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    Bodlaender, H.L.: A partial k-arboretum of graphs with bounded treewidth. Theor. Comp. Sci. 209, 1–45 (1998)zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Deneen, L.L., Shute, G.M., Thomborson, C.D.: A probably fast, provably optimal algorithm for rectilinear Steiner trees. Random Structures and Algorithms 5(4), 535–557 (1994)zbMATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Downey, R.G., Fellows, M.R.: Parameterized complexity. Springer, New York (1999)Google Scholar
  10. 10.
    Dreyfus, S.E., Wagner, R.A.: The Steiner problem in graphs. Networks 1, 195–207 (1971/1972)CrossRefMathSciNetGoogle Scholar
  11. 11.
    Eppstein, D.: Quasiconvex analysis of multivariate recurrence equations for backtracking algorithms. ACM Transactions on Algorithms 2(4), 492–509 (2006)CrossRefMathSciNetGoogle Scholar
  12. 12.
    Flum, J., Grohe, M.: Parameterized Complexity Theory. Springer, Berlin (2006)Google Scholar
  13. 13.
    Fomin, F., Grandoni, F., Kratsch, D.: Measure and conquer: domination - a case study. In: Caires, L., Italiano, G.F., Monteiro, L., Palamidessi, C., Yung, M. (eds.) ICALP 2005. LNCS, vol. 3580, pp. 191–203. Springer, Heidelberg (2005)Google Scholar
  14. 14.
    Fomin, F., Grandoni, F., Kratsch, D.: Measure and conquer: a simple O(20.288 n) independent set algorithm. In: SODA 2006, pp. 18–25. ACM Press, New York (2006)CrossRefGoogle Scholar
  15. 15.
    Fuchs, B., Kern, W., Mölle, D., Richter, S., Rossmanith, P., Wang, X.: Dynamic programming for minimum Steiner trees. Theory of Computing Systems (to appear, 2008)Google Scholar
  16. 16.
    Ganley, J.L.: Computing optimal rectilinear Steiner trees: a survey and experimental evaluation. Discrete Applied Mathematics 90(1-3), 161–171 (1999)zbMATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Garey, M.R., Johnson, D.S.: The rectilinear Steiner tree problem is NP-complete. SIAM J. on Applied Mathematics 32, 826–834 (1977)zbMATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Garey, M.R., Johnson, D.S.: Computers and Intractability. A Guide to the Theory of NP-Completeness. Freeman, New York (1979)zbMATHGoogle Scholar
  19. 19.
    Guo, J., Niedermeier, R., Wernicke, S.: Parameterized complexity of generalized vertex cover problems. In: Dehne, F., López-Ortiz, A., Sack, J.-R. (eds.) WADS 2005. LNCS, vol. 3608, pp. 36–48. Springer, Heidelberg (2005)Google Scholar
  20. 20.
    Gurevich, Y., Shelah, S.: Expected computation time for Hamiltonian path problem. SIAM J. Computing 16(3), 486–502 (1987)zbMATHCrossRefMathSciNetGoogle Scholar
  21. 21.
    Hwang, F.K., Richards, D.S., Winter, P.: The Steiner Tree Problem. North-Holland, Amsterdam (1992)zbMATHGoogle Scholar
  22. 22.
    Kahng, A., Robins, G.: On Optimal Interconnections for VLSI. Kluwer, Dordrecht (1995)zbMATHGoogle Scholar
  23. 23.
    Karp, R.M.: Dynamic programming meets the principle of inclusion and exclusion. Operation Research Letters 1, 49–51 (1982)zbMATHCrossRefMathSciNetGoogle Scholar
  24. 24.
    Korte, B., Prömel, H.J., Steger, A.: Steiner trees in VLSI-layout. In: Paths, Flows, and VLSI-Layout, pp. 185–214 (1990)Google Scholar
  25. 25.
    Mölle, D., Richter, S., Rossmanith, P.: A faster algorithm for the Steiner tree problem. In: Durand, B., Thomas, W. (eds.) STACS 2006. LNCS, vol. 3884, pp. 561–570. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  26. 26.
    Niedermeier, R.: Invitation to fixed-parameter algorithms. Oxford Lecture Series in Mathematics and its Applications, vol. 31. Oxford University Press, Oxford (2006)zbMATHGoogle Scholar
  27. 27.
    Prömel, H.J., Steger, A.: The Steiner tree problem. Advanced Lectures in Mathematics. Friedr. Vieweg & Sohn, Braunschweig (2002)zbMATHGoogle Scholar
  28. 28.
    Robins, G., Zelikovsky, A.: Improved Steiner tree approximation in graphs. In: SODA 2000, pp. 770–779. ACM Press, New York (2000)Google Scholar
  29. 29.
    Woeginger, G.: Space and time complexity of exact algorithms: Some open problems. In: Downey, R.G., Fellows, M.R., Dehne, F. (eds.) IWPEC 2004. LNCS, vol. 3162, pp. 281–290. Springer, Heidelberg (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Fedor V. Fomin
    • 1
  • Fabrizio Grandoni
    • 2
  • Dieter Kratsch
    • 3
  1. 1.Department of InformaticsUniversity of BergenBergenNorway
  2. 2.Dipartimento di Informatica, Sistemi e ProduzioneUniversità di Roma “Tor Vergata”RomaItaly
  3. 3.LITAUniversité Paul Verlaine-MetzMetz Cedex 01France

Personalised recommendations