Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth

  • Authors:
  • Hans L. Bodlaender;Marek Cygan;Stefan Kratsch;Jesper Nederlof

  • Affiliations:
  • Utrecht University, The Netherlands;University of Warsaw, Poland;Technical University Berlin, Germany;Utrecht University, The Netherlands

  • Venue:
  • ICALP'13 Proceedings of the 40th international conference on Automata, Languages, and Programming - Volume Part I
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

It is well known that many local graph problems, like Vertex Cover and Dominating Set, can be solved in $2^{\mathcal{O}(\mathtt{tw})}n^{\mathcal{O}(1)}$ time for graphs with a given tree decomposition of width tw. However, for nonlocal problems, like the fundamental class of connectivity problems, for a long time it was unknown how to do this faster than $\mathtt{tw}^{\mathcal{O}(\mathtt{tw})}n^{\mathcal{O}(1)}$ until recently, when Cygan et al. (FOCS 2011) introduced the Cut&Count technique that gives randomized algorithms for a wide range of connectivity problems running in time $c^{\mathtt{tw}}n^{\mathcal{O}(1)}$ for a small constant c. In this paper, we show that we can improve upon the Cut&Count technique in multiple ways, with two new techniques. The first technique (rank-based approach) gives deterministic algorithms with O(ctwn) running time for connectivity problems (like Hamiltonian Cycle and Stei-ner Tree) and for weighted variants of these; the second technique (determinant approach) gives deterministic algorithms running in time $c^{\mathtt{tw}}n^{\mathcal{O}(1)}$ for counting versions, e.g., counting the number of Hamiltonian cycles for graphs of treewidth tw. The rank-based approach introduces a new technique to speed up dynamic programming algorithms which is likely to have more applications. The determinant-based approach uses the Matrix Tree Theorem for deriving closed formulas for counting versions of connectivity problems; we show how to evaluate those formulas via dynamic programming.