The S-Hamiltonian Cycle Problem
Abstract
Determining if an input undirected graph is Hamiltonian, i.e., if it has a cycle that visits every vertex exactly once, is one of the most famous NP-complete problems. We consider the following generalization of Hamiltonian cycles: for a fixed set S of natural numbers, we want to visit each vertex of a graph G exactly once and ensure that any two consecutive vertices can be joined in k hops for some choice of k ∈ S. Formally, an S-Hamiltonian cycle is a permutation (v0,…,vn-1) of the vertices of G such that, for 0 ≤ i ≤ n-1, there exists a walk between vi and vi+1 n whose length is in S. (We do not impose any constraints on how many times vertices can be visited as intermediate vertices of walks.) Of course Hamiltonian cycles in the standard sense correspond to S=\1\. We study the S-Hamiltonian cycle problem of deciding whether an input graph G has an S-Hamiltonian cycle. Our goal is to determine the complexity of this problem depending on the fixed set S. It is already known that the problem remains NP-complete for S=\1,2\, whereas it is trivial for S=\1,2,3\ because any connected graph contains a \1,2,3\-Hamiltonian cycle. Our work classifies the complexity of this problem for most kinds of sets S, with the key new results being the following: we have NP-completeness for S = \2\ and for S = \2, 4\, but tractability for S = \1, 2, 4\, for S = \2, 4, 6\, for any superset of these two tractable cases, and for S the infinite set of all odd integers. The remaining open cases are the non-singleton finite sets of odd integers, in particular S = \1, 3\. Beyond cycles, we also discuss the complexity of finding S-Hamiltonian paths, and show that our problems are all tractable on graphs of bounded cliquewidth.
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.