Fast Polynomial-Space Algorithms Using Möbius Inversion: Improving on Steiner Tree and Related Problems

  • Authors:
  • Jesper Nederlof

  • Affiliations:
  • Department of Informatics, University of Bergen, Bergen, Norway N-5020

  • Venue:
  • ICALP '09 Proceedings of the 36th International Colloquium on Automata, Languages and Programming: Part I
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Given a graph with n vertices, k terminals and bounded integer weights on the edges, we compute the minimum Steiner Tree in ${\mathcal{O}^*}(2^k)$ time and polynomial space, where the ${\mathcal{O}^*}$ notation omits poly (n ,k ) factors. Among our results are also polynomial-space $\mathcal{O}^*(2^n)$ algorithms for several ${\mathcal{NP}}$-complete spanning tree and partition problems. The previous fastest known algorithms for these problems use the technique of dynamic programming among subsets, and require exponential space. We introduce the concept of branching walks and extend the Inclusion-Exclusion algorithm of Karp for counting Hamiltonian paths. Moreover, we show that our algorithms can also be obtained by applying Möbius inversion on the recurrences used for the dynamic programming algorithms.