4

I'm looking for an algorithm that solves the Hamiltonian cycle problem parameterized by treewidth. In particular, I'm curious about such an algorithm running in $\text{tw}(G)^{O(\text{tw}(G))} \cdot n$ time.

In other words, once you have the treewidth, an algorithm that says if the input graph has a Hamiltonian cycle.

Juho
  • 22,905
  • 7
  • 63
  • 117
Vandalo
  • 61
  • 1

2 Answers2

8

If you want an FPT algorithm for the problem (parameterized by treewidth $t$), you want an algorithm working in time $f(t) \cdot n^{O(1)}$, where $f$ is any computable function (depending solely on $t$). Of course, it would be nice to make $f$ as appealing as possible.

In addition to the mentioned algorithm running in $O(t^t n)$ time, you can also get a faster (randomized) algorithm using the Cut'n'Count technique of Cygan et al. [1]. In particular, you get an algorithm running in time $4^t n^{O(1)}$. It is also possible to get a deterministic algorithm working in $c^t n^{O(1)}$ (for some small constant $c$) using a rank-based approach of [2].


[1] Cygan, M., Nederlof, J., Pilipczuk, M., Pilipczuk, M., van Rooij, J. M., & Wojtaszczyk, J. O. "Solving connectivity problems parameterized by treewidth in single exponential time." IEEE 52nd Annual Symposium on Foundations of Computer Science (FOCS), 2011.

[2] Bodlaender, H. L., Cygan, M., Kratsch, S., & Nederlof, J. "Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth." Automata, Languages, and Programming. Springer Berlin Heidelberg, 2013. 196-207.

Juho
  • 22,905
  • 7
  • 63
  • 117
5

There is an outline of the algorithm you want in these slides: http://www.cs.bme.hu/~dmarx/papers/marx-warsaw-fpt2. Given a nice-tree decomposition of width $w$ for $G$, the algorithm runs in time $O(w^w \cdot n)$. As it is based on a nice-tree decomposition, you will need to show what happens in the case of a forget node, an introduce node, and a join node when added to the solution of a smaller sub-problem. These details can be found in the slides as part of their case-by-case analysis.

This, of course, assumes that you are given a nice-tree decomposition of width $w$, as finding the treewidth of a graph $G$ is NP-hard.

The following paper - http://www.sciencedirect.com/science/article/pii/S0196677496900498 - shows how to go from a regular decomposition to a nice one, in an efficient manner.

user340082710
  • 1,113
  • 2
  • 11
  • 28