In the mathematical field of graph theory, a Hamiltonian path is a path in an undirected graph which visits each vertex exactly once. A Hamiltonian cycle is a cycle in an undirected graph which visits each vertex exactly once and also returns to the starting vertex. Determining whether such paths and cycles exist in graphs is the Hamiltonian path problem which is NP-complete.
Hamiltonian paths and cycles are named after William Rowan Hamilton who invented the icosian game, now also known as Hamilton's puzzle, which involves finding a Hamiltonian cycle in the edge graph of the dodecahedron. Hamilton solved this problem using the icosian calculus, an algebraic structure based on roots of unity with many similarities to the quaternions (also invented by Hamilton). Unfortunately, this solution does not generalize to arbitrary graphs.
A Hamiltonian path or traceable path is a path that visits each vertex exactly once. A graph that contains a Hamiltonian path is called a traceable graph.
A Hamiltonian cycle, Hamiltonian circuit, vertex tour or graph cycle is a cycle that visits each vertex exactly once (excluding the start/end vertex). A graph that contains a Hamiltonian cycle is called a Hamiltonian graph.
Similar notions may be defined for directed graphs, where edges (arcs) of a path or a cycle are required to point in the same direction, i.e., connected tail-to-head.
- a complete graph with more than two vertices is Hamiltonian
- every circle graph is Hamiltonian
- every tournament has an odd number of Hamiltonian paths
- every platonic solid, considered as a graph, is Hamiltonian
Any Hamiltonian cycle can be converted to a Hamiltonian path by removing one of its edges, but a Hamiltonian path can be extended to Hamiltonian cycle only if its endpoints are adjacent.
A tournament (with more than 2 vertices) is hamiltonian if and only if it is strongly connected.
The best characterization of hamiltonian graphs was given in 1972 by the Bondy-Chvátal theorem which generalizes earlier results by G. A. Dirac and Oystein Ore. It basically states that a graph is hamiltonian if enough edges exist. First we have to define the closure of a graph.
Given a graph G with n vertices, the closure cl(G) is uniquely constructed from G by adding for all nonadjacent pairs of vertices u and v with degree(v) + degree(u) ≥ n the new edge uv.
Bondy-Chvátal theorem (1972)
- A graph is hamiltonian if and only if its closure is hamiltonian.
As complete graphs are hamiltonian all graphs whose closure is complete are hamiltonian which is the content of the following earlier theorems by Dirac and Ore.
- A graph with n vertices (n > 2) is hamiltonian if each vertex has degree n/2 or greater.
- A graph with n vertices (n > 2) is hamiltonian if the sum of the degree of two non-adjacent vertices is n or greater.
- The Hamiltonian Page - Hamiltonian cycle and path problems,
their generalizations and variations.
- Ore, O "A Note on Hamiltonian Circuits." Amer. Math. Monthly 67, 55, 1960.
- DeLeon, Melissa, "A Study of Sufficient Conditions for Hamiltonian Cycles". Department of Mathematics and Computer Science, Seton Hall University, South Orange, New Jersey, United States of America. [PDF]
- Hamilton, William Rowan, "Memorandum respecting a new system of roots of unity". Philosophical Magazine, 12 1856
- Hamilton, William Rowan, "Account of the Icosian Calculus". Proceedings of the Royal Irish Academy, 6 1858