The traveling salesman problem for cubic graphs
摘要
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.
引用
@article{arxiv.cs/0302030,
title = {The traveling salesman problem for cubic graphs},
author = {David Eppstein},
journal= {arXiv preprint arXiv:cs/0302030},
year = {2007}
}
备注
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