11.3 Hamiltonian Paths and Cycles - Dr. Travers Page of...

Preview:

Citation preview

11.3 Hamiltonian Paths and Cycles

The Icosian Game

The puzzleCan you determine a route along the edges of the graph that begins atsome vertex and then returns there after having visited every othervertex exactly once?

Definitions

DefinitionA Hamiltonian path is a path that visits each vertex once.

DefinitionA Hamiltonian cycle (or circuit) is a closed path that visits each vertexonce.

DefinitionA graph that has a Hamiltonian cycle is called Hamiltonian.

Definitions

DefinitionA Hamiltonian path is a path that visits each vertex once.

DefinitionA Hamiltonian cycle (or circuit) is a closed path that visits each vertexonce.

DefinitionA graph that has a Hamiltonian cycle is called Hamiltonian.

Definitions

DefinitionA Hamiltonian path is a path that visits each vertex once.

DefinitionA Hamiltonian cycle (or circuit) is a closed path that visits each vertexonce.

DefinitionA graph that has a Hamiltonian cycle is called Hamiltonian.

Which are Hamiltonian?

Of the following, which have Hamiltonian cycles? Hamiltonianpaths?

Showing a Graph is Not Hamiltonian

Rules:

1 If a vertex v has degree 2, then both of its incident edges must bepart of any Hamiltonian cycle.

2 During the construction of a Hamiltonian cycle, no cycle can beformed until all of the vertices have been visited.

3 If during the construction of a Hamiltonian cycle two of theedges incident to a vertex v are required, then all other incidentedges can be deleted.

GoalTo begin a construction of a Hamiltonian cycle and show at somepoint during the construction that it is impossible to proceed anyfurther.

Showing a Graph is Not Hamiltonian

Rules:

1 If a vertex v has degree 2, then both of its incident edges must bepart of any Hamiltonian cycle.

2 During the construction of a Hamiltonian cycle, no cycle can beformed until all of the vertices have been visited.

3 If during the construction of a Hamiltonian cycle two of theedges incident to a vertex v are required, then all other incidentedges can be deleted.

GoalTo begin a construction of a Hamiltonian cycle and show at somepoint during the construction that it is impossible to proceed anyfurther.

Example

Is the given graph G Hamiltonian?

a• •b •c

v• •w •x

d• •e •f

Solution

First apply rule 1 to vertices v,w and x

a• •b •c

v• •w •x

d• •e •f

Solution (cont.)

Now apply rule 1 and 3 to vertex b

a• •b x •c

v• •w •x

d• •e •f

Solution (cont.)

Now apply rule 3 to vertex a

a•x

•b x •c

v• •w •x

d• •e •f

Now, there is only one edge incident to c and by rule 1 noHamiltonian cycle can exist.

Another Example

Is the following graph Hamiltonian?

a• b• •c

•v w•

d• e• •f

Sufficiency Conditions

TheoremOre’s Theorem(1960) Suppose that G is a graph with n ≥ 3 verticesand for all distinct nonadjacent vertices x and y,

deg(x) + deg(y) ≥ n

The G has a Hamiltonian circuit.

Proof Suppose that G has no Hamiltonian circuit. We will show thatfor some nonadjacent vertices x, y ∈ V(G),

degG(x) + degG(y) < n (∗)

where degG(a) means the degree of a in G.

Sufficiency Conditions

TheoremOre’s Theorem(1960) Suppose that G is a graph with n ≥ 3 verticesand for all distinct nonadjacent vertices x and y,

deg(x) + deg(y) ≥ n

The G has a Hamiltonian circuit.

Proof Suppose that G has no Hamiltonian circuit. We will show thatfor some nonadjacent vertices x, y ∈ V(G),

degG(x) + degG(y) < n (∗)

where degG(a) means the degree of a in G.

Proof of Ore’s Theorem (cont.)

If we add edges to G, we eventually obtain a complete graph, whichhas a Hamiltonian circuit. Thus, in the process of adding edges, wemust eventually hit a graph H with the property that H has noHamiltonian circuit but adding any more edges to H gives us a graphwith a Hamiltonian circuit. We will show that in H, there arenonadjacent x and y so that

degH(x) + degH(y) < n (∗∗)

But degG(a) ≤ degH(a) for all a, so (∗∗) implies (∗).

Pick any nonadjacent vertices x and y in H. Then H plus the edge{x, y} has a Hamiltonian circuit. Since H does not, this circuit mustuse the edge {x, y}. Hence, it can be written as

x, y, a1, a2, . . . , an−2, x

Proof of Ore’s Theorem (cont.)

If we add edges to G, we eventually obtain a complete graph, whichhas a Hamiltonian circuit. Thus, in the process of adding edges, wemust eventually hit a graph H with the property that H has noHamiltonian circuit but adding any more edges to H gives us a graphwith a Hamiltonian circuit. We will show that in H, there arenonadjacent x and y so that

degH(x) + degH(y) < n (∗∗)

But degG(a) ≤ degH(a) for all a, so (∗∗) implies (∗).

Pick any nonadjacent vertices x and y in H. Then H plus the edge{x, y} has a Hamiltonian circuit. Since H does not, this circuit mustuse the edge {x, y}. Hence, it can be written as

x, y, a1, a2, . . . , an−2, x

Proof of Ore’s Theorem (cont.)

•y •a1 •a2 . . . •ai−1 •ai •ai+1 . . . •an−2 •x

Now, V(H) = {x, y, a1, a2, . . . , an−2}. Moreover, we note that fori > 1,

{y, ai} ∈ E(H)⇒ {x, ai−1} 6∈ E(H) (∗ ∗ ∗)For if not, then

y, ai, ai+1, . . . , an−2, x, ai−1, ai−2, . . . , a1, y

is a Hamiltonian circuit in H, which is a contradiction. So, (∗ ∗ ∗) and{x, y} 6∈ E(H) imply (∗∗).

•y •a1 •a2 . . . •ai−1 •ai •ai+1 . . . •an−2 •x

//

Proof of Ore’s Theorem (cont.)

•y •a1 •a2 . . . •ai−1 •ai •ai+1 . . . •an−2 •x

Now, V(H) = {x, y, a1, a2, . . . , an−2}. Moreover, we note that fori > 1,

{y, ai} ∈ E(H)⇒ {x, ai−1} 6∈ E(H) (∗ ∗ ∗)For if not, then

y, ai, ai+1, . . . , an−2, x, ai−1, ai−2, . . . , a1, y

is a Hamiltonian circuit in H, which is a contradiction. So, (∗ ∗ ∗) and{x, y} 6∈ E(H) imply (∗∗).

•y •a1 •a2 . . . •ai−1 •ai •ai+1 . . . •an−2 •x

//

Consequence

CorollaryDirac(1952) Suppose that G is a graph with n ≥ 3 vertices and eachvertex has degree at least n

2 . The G has a Hamiltonian circuit.

Why are we not proving this?

Another Theorem

TheoremA connected graph of order n ≥ 3 with a bridge does not have aHamiltonian cycle.

The proof is in the text.

Construction of a Hamiltonian Circuit

We will use this graph to illustrate the construction.

y1• •y2

y5• •y6

y4• •y3

The Construction

Step 1Start with any vertex and construct the longest path you can.

γ : y1 − y2 − y3 − y4

y1• •y2

y5• •y6

y4• •y3

Construction(cont.)

Step 2Check to see if y1 and ym are adjacent.a) If y1 and ym are not adjacent, go to (3). Else y1 and ym are adjacentand go to (b).b) If m = n, stop and the output is a Hamiltonian cycle.

γ : y1 − y2 − y3 − y4 − y1

c) Locate a vertex z not on γ and a vertex yk on γ such that z isadjacent to yk. Replace γ with a path of length m + 1 given by

z− yk − . . .− ym − y1 . . .− yk−1

and go back to (2).

Construction(cont.)

y1• •y2

y5• •z

y4• •y3

γ : z− y3 − y4 − y1 − y2

Step 3Locate a vertex yk with 1 < k < m such that y1 and yk are adjacentand yk−1 and ym are adjacent. Replace γ with the path

γ : y1 − . . .− yk−1 − ym − . . .− yk

The two ends of the path, namely y1 and yk, are adjacent, and go backto (2)(b).

Construction(cont.)

After renumbering, we now we return to (2)

y4• •y5

z• •y1

y3• •y2

z− y4 − y5 − y1 − y2 − y3

and then renumber

y2• •y3

y1• •y4

y6• •y5

Construction(cont.)

After renumbering, we now we return to (2)

y4• •y5

z• •y1

y3• •y2

z− y4 − y5 − y1 − y2 − y3

and then renumber

y2• •y3

y1• •y4

y6• •y5

Construction(cont.)

When we return to (2), we have the m = 6, so when we add the finaledge to return to start, we have completed the cycle.

y2• •y3

y1• •y4

y6• •y5

Recommended