The traveling salesman problem for cubic graphs
Abstract
We show how to find a Hamiltonian cycle in a graph of degree at most three with n vertices, in time O(2^{n/3}) ~= 1.260^n and linear space. Our algorithm can find the minimum weight Hamiltonian cycle (traveling salesman problem), in the same time bound. We can also count or list all Hamiltonian cycles in a degree three graph in time O(2^{3n/8}) ~= 1.297^n. We also solve the traveling salesman problem in graphs of degree at most four, by randomized and deterministic algorithms with runtime O((27/4)^{n/3}) ~= 1.890^n and O((27/4+epsilon)^{n/3}) respectively. Our algorithms allow the input to specify a set of forced edges which must be part of any generated cycle. Our cycle listing algorithm shows that every degree three graph has O(2^{3n/8}) Hamiltonian cycles; we also exhibit a family of graphs with 2^{n/3} Hamiltonian cycles per graph.
- Publication:
-
arXiv e-prints
- Pub Date:
- February 2003
- DOI:
- arXiv:
- arXiv:cs/0302030
- Bibcode:
- 2003cs........2030E
- Keywords:
-
- Computer Science - Data Structures and Algorithms;
- F.2.2
- E-Print:
- 20 pages, 8 figures. A preliminary version of this paper appeared at the 8th Worksh. Algorithms and Data Structures, LNCS 2748, Springer-Verlag, 2003, pp. 307-318. This version generalizes an algorithm from the previous version, to generate all cycles instead of counting them. It also includes a derandomized version of the degree-four algorithm and an implementation of the cycle listing algorithm