A faster algorithm for the steiner tree problem

  • Authors:
  • Daniel Mölle;Stefan Richter;Peter Rossmanith

  • Affiliations:
  • Department of Computer Science, RWTH Aachen University, Fed. Rep. of Germany;Department of Computer Science, RWTH Aachen University, Fed. Rep. of Germany;Department of Computer Science, RWTH Aachen University, Fed. Rep. of Germany

  • Venue:
  • STACS'06 Proceedings of the 23rd Annual conference on Theoretical Aspects of Computer Science
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

For decades, the algorithm providing the smallest proven worst-case running time (with respect to the number of terminals) for the Steiner tree problem has been the one by Dreyfus and Wagner. In this paper, a new algorithm is developed, which improves the running time from O(3kn+2kn2+n3) to (2+δ)k ·poly(n) for arbitrary but fixed δ 0. Like its predecessor, this algorithm follows the dynamic programming paradigm. Whereas in effect the Dreyfus–Wagner recursion splits the optimal Steiner tree in two parts of arbitrary sizes, our approach looks for a set of nodes that separate the tree into parts containing only few terminals. It is then possible to solve an instance of the Steiner tree problem more efficiently by combining partial solutions.