Faster Steiner Tree Computation in Polynomial-Space

  • Authors:
  • Fedor V. Fomin;Fabrizio Grandoni;Dieter Kratsch

  • Affiliations:
  • Department of Informatics, University of Bergen, Bergen, Norway N-5020;Dipartimento di Informatica, Sistemi e Produzione, Università di Roma "Tor Vergata", Roma, Italy 00133;LITA, Université Paul Verlaine-Metz, Metz Cedex 01, France 57045

  • Venue:
  • ESA '08 Proceedings of the 16th annual European symposium on Algorithms
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Given an n-node graph and a subset of kterminal 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.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 polynomial-space O(6knO(logk))-time algorithm, based on a variant of the classical tree-separator theorem. This improves on trivial O(nk+ 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.60n)-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.42n) to O(1.36n).