Advertisement

Algorithmica

, Volume 71, Issue 3, pp 636–660 | Cite as

Speeding Up Dynamic Programming with Representative Sets: An Experimental Evaluation of Algorithms for Steiner Tree on Tree Decompositions

  • Stefan Fafianie
  • Hans L. BodlaenderEmail author
  • Jesper Nederlof
Article

Abstract

Dynamic programming on tree decompositions is a frequently used approach to solve otherwise intractable problems on instances of small treewidth. In recent work by Bodlaender et al. (Proceedings of the 40th international colloquium on automata, languages and programming, ICALP 2013, part I, volume 7965 of Lecture Notes in Computer Science. Springer, Berlin, pp 196–207, 2013), it was shown that for many connectivity problems, there exist algorithms that use time linear in the number of vertices and single exponential in the width of the tree decomposition that is used. The central idea is that it suffices to compute representative sets, and that these can be computed efficiently with help of Gaussian elimination. In this paper, we give an experimental evaluation of this technique for the Steiner Tree problem. Our comparison of the classic dynamic programming algorithm and the improved dynamic programming algorithm that employs table reduction shows that the new approach gives significant improvements on the running time of the algorithm and the size of the tables computed by the dynamic programming algorithm. Thus, the rank-based approach from Bodlaender et al. (2013) does not only give significant theoretical improvements but also is a viable approach in a practical setting, and showcases the potential of exploiting the idea of representative sets for speeding up dynamic programming algorithms. Furthermore, we propose an alternative representation of partial solutions using weighted bit strings in order to circumvent a part of the reduction step that is computationally expensive in practice. In the experimental evaluation we find that this representation yields further significant improvements. We show that the representation can also be used for the other problems fitting in the framework of Bodlaender et al. (2013).

Keywords

Experimental evaluation Algorithm engineering Steiner tree Treewidth Dynamic programming Exact algorithms 

References

  1. 1.
    Aneja, Y.P.: An integer linear programming approach to the Steiner problem in graphs. Networks 10, 167–178 (1980)CrossRefzbMATHMathSciNetGoogle Scholar
  2. 2.
    Arnborg, S., Lagergren, J., Seese, D.: Easy problems for tree-decomposable graphs. J. Algorithms 12, 308–340 (1991)CrossRefzbMATHMathSciNetGoogle Scholar
  3. 3.
    Beasley, J.E.: An algorithm for the Steiner problem in graphs. Networks 14, 147–159 (1984)CrossRefzbMATHMathSciNetGoogle Scholar
  4. 4.
    Bodlaender, H.L.: Dynamic programming algorithms on graphs with bounded tree-width. In: Lepistö, T., Salomaa, A. (eds.) Proceedings of the 15th International Colloquium on Automata, Languages and Programming, ICALP’88, Volume 317 of Lecture Notes in Computer Science, pp. 105–119. Springer, Berlin (1988)Google Scholar
  5. 5.
    Bodlaender, H.L., Cygan, M., Kratsch, S., Nederlof, J.: Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth. In: Proceedings of the 40th International Colloquium on Automata, Languages and Programming, ICALP 2013, Part I, Volume 7965 of Lecture Notes in Computer Science, pp. 196–207. Springer, Berlin (2013)Google Scholar
  6. 6.
    Bodlaender, H.L., Koster, A.M.C.A.: Treewidth computations I. Upper bounds. Inf. Comput. 208, 259–275 (2010)CrossRefzbMATHMathSciNetGoogle Scholar
  7. 7.
    Borie, R.B., Parker, R.G., Tovey, C.A.: Automatic generation of linear-time algorithms from predicate calculus descriptions of problems on recursively constructed graph families. Algorithmica 7, 555–581 (1992)CrossRefzbMATHMathSciNetGoogle Scholar
  8. 8.
    Chimani, M., Mutzel, P., Zey, B.: Improved Steiner tree algorithms for bounded treewidth. J. Discret. Algorithms 16, 67–78 (2012)CrossRefzbMATHMathSciNetGoogle Scholar
  9. 9.
    Cook, W., Seymour, P.D.: Tour merging via branch-decomposition. INFORMS J. Comput. 15(3), 233–248 (2003)CrossRefzbMATHMathSciNetGoogle Scholar
  10. 10.
    Cygan, M., Kratsch, S., Nederlof, J.: Fast Hamiltonicity checking via bases of perfect matchings. In: Proceedings of the 45th Annual Symposium on Theory of Computing, STOC 2013, pp. 301–310 (2013)Google Scholar
  11. 11.
    Cygan, M., Nederlof, J., Pilipczuk, M., Pilipczuk, M., van Rooij, J., Wojtaszczyk, J. O.: Solving connectivity problems parameterized by treewidth in single exponential time. In: Proceedings of the 52nd Annual Symposium on Foundations of Computer Science, FOCS 2011, pp. 150–159 (2011)Google Scholar
  12. 12.
    Duin, C.: Steiner problems in graphs. Ph.D. thesis, University of Amsterdam, Amsterdam, The Netherlands (1993)Google Scholar
  13. 13.
    Fafianie, S., Bodlaender, H.L., Nederlof, J.: Speeding-up dynamic programming with representative sets: an experimental evaluation of algorithms for Steiner tree on tree decompositions. Report on arXiv:1305.7448 (2013)
  14. 14.
    Fomin, F.V., Lokshtanov, D., Saurabh, S.: Efficient computation of representative sets with applications in parameterized and exact algorithms. In: Proceedings of the 24th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2014, pp. 142–151Google Scholar
  15. 15.
    Hanan, M.: On Steiner’s problem with rectilinear distance. SIAM J. Appl. Math. 14, 255–265 (1966)CrossRefzbMATHMathSciNetGoogle Scholar
  16. 16.
    Hwang, F., Richards, D.S., Winter, P.: The Steiner Tree Problem, Volume 53 of Annals of Discrete Mathematics. Elsevier, Amsterdam (1992)Google Scholar
  17. 17.
    Karp, R.M.: Reducibility among combinatorial problems. In: Miller, R.E., Thatcher, J.W. (eds.) Complexity of Computer Computations, pp. 85–104. Plenum Press, New York (1972)CrossRefGoogle Scholar
  18. 18.
    Kloks, T.: Treewidth. Computations and Approximations, Volume 842 of Lecture Notes in Computer Science. Springer, Berlin (1994)Google Scholar
  19. 19.
    Koch, T., Martin, A., Voß, S.: Steinlib, an updated library on Steiner tree problems in graphs. Technical Report ZIB-Report 00–37, Konrad-Zuse Zentrum für Informationstechnik Berlin. http://elib.zib.de/steinlib (2000)
  20. 20.
    Korach, E., Solel, N.: Linear time algorithm for minimum weight Steiner tree in graphs with bounded treewidth. Technical Report 632, Technion, Haifa, Israel (1990)Google Scholar
  21. 21.
    Lovász, L.: Flats in matroids and geometric graphs. In: Combinatorial Surveys. Proceedings 6th Britisch Combinatorial Conference, pp. 45–86. Academic Press, London (1977)Google Scholar
  22. 22.
    Marx, D.: A parameterized view on matroid optimization problems. Theoret. Comput. Sci. 410, 4471–4479 (2009)CrossRefzbMATHMathSciNetGoogle Scholar
  23. 23.
    Monien, B.: How to find long paths efficiently. Ann. Discret. Math. 25, 239–254 (1985)MathSciNetGoogle Scholar
  24. 24.
    Robertson, N., Seymour, P.D.: Graph minors. II. Algorithmic aspects of tree-width. J. Algorithms 7, 309–322 (1986)CrossRefzbMATHMathSciNetGoogle Scholar
  25. 25.
    Telle, J., Proskurowski, A.: Efficient sets in partial \(k\)-trees. Discret. Appl. Math. 44, 109–117 (1993)CrossRefzbMATHMathSciNetGoogle Scholar
  26. 26.
  27. 27.
    Wald, J.A., Colbourn, C.J.: Steiner trees, partial 2-trees, and minimum IFI networks. Networks 13, 159–167 (1983)CrossRefzbMATHMathSciNetGoogle Scholar
  28. 28.
    Warme, D., Winter, P., Zachariasen, M.: GeoSteiner, software for computing Steiner trees. http://www.diku.dk/hjemmesider/ansatte/martinz/geosteiner/
  29. 29.
    Wei-Kleiner, F.: Tree decomposition based Steiner tree computation over large graphs. Report on arXiv:1305.5757 (2013)
  30. 30.
    Winter, P.: Steiner problem in networks: a survey. Networks 17, 129–167 (1987)CrossRefzbMATHMathSciNetGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  • Stefan Fafianie
    • 1
  • Hans L. Bodlaender
    • 1
    Email author
  • Jesper Nederlof
    • 1
  1. 1.Utrecht UniversityUtrechtThe Netherlands

Personalised recommendations