A Faster Algorithm for the Steiner Tree Problem⋆
Daniel M¨
- lle, Stefan Richter, and Peter Rossmanith
Department of Computer Science, RWTH Aachen University, Fed. Rep. of Germany {moelle, richter, rossmani}@cs.rwth-aachen.de
- 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
- ptimal 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.
1 Introduction
As of today, NP-hard problems cannot be solved in polynomial time. Neverthe- less, we have to deal with many of them in everyday applications. Earlier work has resulted in numerous ways to address this dilemma, among them approxi- mation, randomized algorithms, parameterized complexity, heuristics and many
- more. Recently, there has been renewed vigor in the field of exact algorithms,
and the exponential runtime bounds for many problems have been improved. Some examples for such improvement have been achieved with new algorithms for 3-Satisfiability [5], Independent Set [1, 8], Dominating Set [4], and Max-Cut [6, 9, 10]. The Steiner tree problem on networks is to find a subgraph of minimum total edge weight that connects all nodes in a given node subset. Since we assume positive weights for all edges, this subgraph must be a tree. The respective deci- sion problem, in which we ask for the existence of such a subgraph whose weight does not exceed a given limit, is known to be NP-complete. The optimization problem is APX-complete, even if the edge weights are restricted to {1, 2} [2]. On the positive side, it is polynomial-time approximable within 1 + (ln 3)/2 ≈ 1.55,
- r within 1.28 in the aforementioned restricted variation [7].
The best exact algorithm for the Steiner tree problem known today is due to Dreyfus and Wagner [3]. Given a graph with n nodes and m edges, a set of
⋆ Supported by the DFG under grant RO 927/6-1 (TAPI).
- B. Durand and W. Thomas (Eds.): STACS 2006, LNCS 3884, pp. 561–570, 2006.
c Springer-Verlag Berlin Heidelberg 2006