Ore's theorem
Template:Short description Script error: No such module "For".
Ore's theorem is a result in graph theory proved in 1960 by Norwegian mathematician Øystein Ore. It gives a sufficient condition for a graph to be Hamiltonian, essentially stating that a graph with sufficiently many edges must contain a Hamilton cycle. Specifically, the theorem considers the sum of the degrees of pairs of non-adjacent vertices: if every such pair has a sum that at least equals the total number of vertices in the graph, then the graph is Hamiltonian.
Formal statement
Let GScript error: No such module "Check for unknown parameters". be a (finite and simple) graph with n ≥ 3Script error: No such module "Check for unknown parameters". vertices. We denote by deg vScript error: No such module "Check for unknown parameters". the degree of a vertex vScript error: No such module "Check for unknown parameters". in GScript error: No such module "Check for unknown parameters"., i.e. the number of incident edges in GScript error: No such module "Check for unknown parameters". to vScript error: No such module "Check for unknown parameters".. Then, Ore's theorem states that if
then GScript error: No such module "Check for unknown parameters". is Hamiltonian.
Proof
It is equivalent to show that every non-Hamiltonian graph Template:Mvar does not obey condition (∗). Accordingly, let Template:Mvar be a graph on n ≥ 3Script error: No such module "Check for unknown parameters". vertices that is not Hamiltonian, and let Template:Mvar be formed from Template:Mvar by adding edges one at a time that do not create a Hamiltonian cycle, until no more edges can be added. Let xScript error: No such module "Check for unknown parameters". and yScript error: No such module "Check for unknown parameters". be any two non-adjacent vertices in Template:Mvar. Then adding edge xyScript error: No such module "Check for unknown parameters". to Template:Mvar would create at least one new Hamiltonian cycle, and the edges other than xyScript error: No such module "Check for unknown parameters". in such a cycle must form a Hamiltonian path v1v2...vnScript error: No such module "Check for unknown parameters". in Template:Mvar with x = v1Script error: No such module "Check for unknown parameters". and y = vnScript error: No such module "Check for unknown parameters".. For each index iScript error: No such module "Check for unknown parameters". in the range 2 ≤ i ≤ nScript error: No such module "Check for unknown parameters"., consider the two possible edges in Template:Mvar from v1Script error: No such module "Check for unknown parameters". to viScript error: No such module "Check for unknown parameters". and from vi − 1Script error: No such module "Check for unknown parameters". to vnScript error: No such module "Check for unknown parameters".. At most one of these two edges can be present in Template:Mvar, for otherwise the cycle v1v2...vi − 1vnvn − 1...viScript error: No such module "Check for unknown parameters". would be a Hamiltonian cycle. Thus, the total number of edges incident to either v1Script error: No such module "Check for unknown parameters". or vnScript error: No such module "Check for unknown parameters". is at most equal to the number of choices of iScript error: No such module "Check for unknown parameters"., which is n − 1Script error: No such module "Check for unknown parameters".. Therefore, Template:Mvar does not obey property (∗), which requires that this total number of edges (deg v1 + deg vnScript error: No such module "Check for unknown parameters".) be greater than or equal to nScript error: No such module "Check for unknown parameters".. Since the vertex degrees in Template:Mvar are at most equal to the degrees in Template:Mvar, it follows that Template:Mvar also does not obey property (∗).
Algorithm
Script error: No such module "Footnotes". describes the following simple algorithm for constructing a Hamiltonian cycle in a graph meeting Ore's condition.
- Arrange the vertices arbitrarily into a cycle, ignoring adjacencies in the graph.
- While the cycle contains two consecutive vertices vi and vi + 1 that are not adjacent in the graph, perform the following two steps:
- Search for an index j such that the four vertices vi, vi + 1, vj, and vj + 1 are all distinct and such that the graph contains edges from vi to vj and from vj + 1 to vi + 1
- Reverse the part of the cycle between vi + 1 and vj (inclusive).
Each step increases the number of consecutive pairs in the cycle that are adjacent in the graph, by one or two pairs (depending on whether vj and vj + 1 are already adjacent), so the outer loop can only happen at most n times before the algorithm terminates, where n is the number of vertices in the given graph. By an argument similar to the one in the proof of the theorem, the desired index j must exist, or else the nonadjacent vertices vi and vi + 1 would have too small a total degree. Finding i and j, and reversing part of the cycle, can all be accomplished in time O(n). Therefore, the total time for the algorithm is O(n2), matching the number of edges in the input graph.
Related results
Ore's theorem is a generalization of Dirac's theorem that, when each vertex has degree at least n/2Script error: No such module "Check for unknown parameters"., the graph is Hamiltonian. For, if a graph meets Dirac's condition, then clearly each pair of vertices has degrees adding to at least nScript error: No such module "Check for unknown parameters"..
In turn Ore's theorem is generalized by the Bondy–Chvátal theorem. One may define a closure operation on a graph in which, whenever two nonadjacent vertices have degrees adding to at least nScript error: No such module "Check for unknown parameters"., one adds an edge connecting them; if a graph meets the conditions of Ore's theorem, its closure is a complete graph. The Bondy–Chvátal theorem states that a graph is Hamiltonian if and only if its closure is Hamiltonian; since the complete graph is Hamiltonian, Ore's theorem is an immediate consequence.
Script error: No such module "Footnotes". found a version of Ore's theorem that applies to directed graphs. Suppose a digraph G has the property that, for every two vertices u and v, either there is an edge from u to v or the outdegree of u plus the indegree of v equals or exceeds the number of vertices in G. Then, according to Woodall's theorem, G contains a directed Hamiltonian cycle. Ore's theorem may be obtained from Woodall by replacing every edge in a given undirected graph by a pair of directed edges. A closely related theorem by Script error: No such module "Footnotes". states that an n-vertex strongly connected digraph with the property that, for every two nonadjacent vertices u and v, the total number of edges incident to u or v is at least 2n − 1 must be Hamiltonian.
Ore's theorem may also be strengthened to give a stronger conclusion than Hamiltonicity as a consequence of the degree condition in the theorem. Specifically, every graph satisfying the conditions of Ore's theorem is either a regular complete bipartite graph or is pancyclic Script error: No such module "Footnotes"..
References
- Script error: No such module "citation/CS1"..
- Script error: No such module "citation/CS1"..
- Script error: No such module "citation/CS1"..
- Script error: No such module "citation/CS1"..
- Script error: No such module "citation/CS1"..