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.

Highlights

  • The traveling salesman problem and the closely related Hamiltonian cycle problem are two of the most fundamental of NP-complete graph problems [7]

  • Despite much progress on exponential-time solutions to other graph problems such as chromatic number [3, 4, 9] or maximal independent sets [2,11,14], the only worst-case bound known for finding Hamiltonian cycles or traveling salesman tours is that for a simple dynamic program, using time and space O(2nnO(1)), that finds Hamiltonian paths with specified endpoints for each induced subgraph of the input graph

  • We show that more sophisticated backtracking can solve the forced traveling salesman problem for cubic graphs in time O(2n/3) ≈ 1.260n and linear space

Read more

Summary

Introduction

The traveling salesman problem and the closely related Hamiltonian cycle problem are two of the most fundamental of NP-complete graph problems [7]. Despite much progress on exponential-time solutions to other graph problems such as chromatic number [3, 4, 9] or maximal independent sets [2,11,14], the only worst-case bound known for finding Hamiltonian cycles or traveling salesman tours is that for a simple dynamic program, using time and space O(2nnO(1)), that finds Hamiltonian paths with specified endpoints for each induced subgraph of the input graph We consider the forced traveling salesman problem in which the input is a multigraph G and set of forced edges F ; the output is a minimum cost Hamiltonian cycle of G, containing all edges of F. The path endpoint, and backtracking when the chosen edge leads to a previous vertex, solves this problem in time O(2n) and linear space; this is already an improvement over the general graph dynamic programming algorithm. Our proof implies that every degree three graph has O(23n/8) Hamiltonian cycles; we do not know whether this bound is tight, but we exhibit an infinite family of graphs with 2n/3 Hamiltonian cycles per graph

The Algorithm and its Correctness
Implementation Details
Analysis
Degree Four
Listing All Hamiltonian Cycles
Graphs with Many Hamiltonian Cycles

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.