Hamiltonian path

From Example Problems
Jump to navigation Jump to search

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.



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.

The line graph of a hamiltonian graph is hamiltonian. The line graph of an eulerian graph is hamiltonian.

A tournament (with more than 2 vertices) is hamiltonian if and only if it is strongly connected.

Bondy-Chvátal theorem

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.

Dirac (1952)

A graph with n vertices (n > 2) is hamiltonian if each vertex has degree n/2 or greater.

Ore (1960)

A graph with n vertices (n > 2) is hamiltonian if the sum of the degree of two non-adjacent vertices is n or greater.

See also

External links

their generalizations and variations.


cs:Hamiltonovská kružnice da:Hamiltonkreds de:Hamiltonkreisproblem he:מסלול המילטוני ja:ハミルトン路 pl:Graf Hamiltonowski pt:Caminho hamiltoniano zh:哈密尔顿图