Jump to content

Hamiltonian path

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Dwyerj (talk | contribs) at 11:34, 8 April 2008 (Notes). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A Hamiltonian cycle in a dodecahedron. Like all platonic solids, the dodecahedron is Hamiltonian.
A Hamiltonian path (black) over a graph (blue).

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 (or Hamiltonian circuit) 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.

Definitions

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 graph is Hamilton-connected if for every pair of vertices there is a Hamiltonian path between the two vertices.

A Hamiltonian cycle, Hamiltonian circuit, vertex tour or graph cycle is a cycle that visits each vertex exactly once (except the vertex which is both the start and end, and so is visited twice). A graph that contains a Hamiltonian cycle is called a Hamiltonian graph.

Similar notions may be defined for directed graphs, where each edge (arc) of a path or cycle can only be traced in a single direction (i.e., the vertices are connected with arrows and the edges traced "tail-to-head").

A Hamiltonian decomposition is an edge decomposition of a graph into Hamiltonian circuits.

Examples

Notes

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.

A Hamiltonian cycle may be used as the basis of a zero-knowledge proof.

Counting the number of Hamiltonian and Eulerian circuits on complete graphs can be achieved using a single function D(x,y) with varying arguments.

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 Øystein 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 simple 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 > 3) is Hamiltonian if, for each pair of non-adjacent vertices, the sum of their degrees is n or greater (see Ore's theorem).

The following theorems can be regarded as directed versions:

Ghouila-Houiri (1960)

A strongly connected simple directed graph with n vertices is Hamiltonian or some vertex has a full degree smaller than n.

Meyniel (1973)

A strongly connected simple directed graph with n vertices is Hamiltonian or the sum of full degrees of some two distinct non-adjacent vertices is smaller than 2n − 1.

It should be noted that the number of vertices must be doubled because each undirected edge corresponds to two directed arcs and thus the degree of a vertex in the directed graph is twice the degree in the undirected graph.

See also

  • The Hamiltonian Page - Hamiltonian cycle and path problems, their generalizations and variations.
  • Weisstein, Eric W. "Hamiltonian Circuit". MathWorld.

References