Chapter 7

advertisement
Graph Theory
Chapter 7
Edges and Cycles
Ch. 7. Edges and Cycles
1
Graph Theory
Line Graph
 The line graph of G, written L(G), is the simple graph
whose vertices are edges of G, with ef E(L(G))
when e and f have a common endpoint in G.
d
d
f
f
h
e
Ch. 7. Edges and Cycles
g
h
e
g
2
Graph Theory
Eulerian circuit
 An Eulerian circuit in G yields a spanning cycle
in the line graph L(G)
– Eulerian circuit: Passing through every edge in a
graph
– Spanning cycle: passing through every vertex in a
graph
– An edge in G corresponds to a vertex in L(G)
– Hence an Eulerian circuit corresponds to a
spanning cycle
 The converse need not hold
Ch. 7. Edges and Cycles
3
Graph Theory
Eulerian circuit
d
d
f
f
h
e
g
h
e
g
Eulerian circuit:
Spanning cycle:
d, e, g, h, f
d, e, g, h, f
Ch. 7. Edges and Cycles
4
Graph Theory
Matching
 A matching in G becomes an independent set in
L(G)
– Thus ’(G) = (L(G))
• ’( ) is the independence number
• ( ) is the maximum size of matching
– Computing  is harder for graphs than for line
graphs
f
d
d
f
h
h
e
e
g
g
Independent set: {Red vertices}
Ch. 7. Edges and Cycles
Matching: {Red edges}
5
Graph Theory
Edge-Coloring
 Edge-coloring problems arise when the objects being
scheduled are pairs of underlying elements
 Example:
–
–
–
–
–
2n teams, each pair of teams plays a game
Each team plays at most once a week
Each must play 2n-1 others, need 2n-1 weeks
The games of each week must form a matching
We can schedule the season in 2n-1 weeks if and only if
we can partition E(K2n) into 2n-1 matchings
Ch. 7. Edges and Cycles
6
Graph Theory
Example
 We can schedule the season in 2n-1 weeks if and
only if we can partition E(K2n) into 2n-1 matchings
 Graph modal
Each pair = A game
Ch. 7. Edges and Cycles
The games of a week
= a matching
7
Graph Theory
k-edge-coloring
 A k-edge-coloring of G is a labeling f:E(G)→S
where |S| = k (often S = {k colors}), the edges
of one color form a color class
Black edge class
Ch. 7. Edges and Cycles
Red edge class
8
Graph Theory
k-edge-coloring
 A k-edge-coloring is proper if incident edges
have different labels, that is, each color class is
a matching
 A graph is k-edge-colorable if it has a proper kedge-coloring
 The edge-chromatic number ’(G) of a loopless
graph is the least k such that G is k-edgecolorable
– It is also called Chromatic index
Ch. 7. Edges and Cycles
9
Graph Theory
Multiplicity
 In a graph G with multiple edges, we say that a
vertex pair x, y is an edge of multiplicity m if there
are m edges with endpoints x,y
– (x y) for the multiplicity of the pair x, y
– (G) for the maximum of the edge multiplicities in G
Ch. 7. Edges and Cycles
10
If G is bipartite, then χ’(G) = (G) 7.1.7
Proof:
 Every regular bipartite graph H has a 1-factor
 By induction, H has a proper (H)-edge-coloring
 It is sufficient to show:
– Given a G with (G) = k, we have a k-regular
graph H containing G
►
11
If G is bipartite, then χ’(G) = (G) 7.1.7
Proof: continued
 To construct such a graph, H:
– Add vertices to the smaller partite set of G to
equalize the sizes.
– If the resulting graph G’ is not regular, then
• Each partite set must have a vertex with degree less
than k
• Add an edge with these two vertices as endpoints
– Continue adding such edges until the graph
become k-regular
12
If G is bipartite, then χ’(G) = (G) 7.1.7
Proof: continued
 Illustration of construction of H
(G) = 3
13
Definition 7.1.8
 A decomposition of a regular graph G into 1factors is a 1-factorization of G
 A graph with a 1-factorization is 1-factorable
 An odd cycle is not 1-factorable
– χ’(C2m+1) = 3 > (C2m+1)
– The Petersen graph also requires one and only
one extra color
χ’(C5) = 3, (C5) = 2
14
The Petersen graph is 4-edge-chromatic 7.1.9 1/2
 Petersen graph is 3-regular
 Deleting a perfect matching
– leaves a 2-factor
– All components are cycles
• 1-facorization can be completed only if they are all even
cycles
 Need to show that every 2-factor  2 C5
15
The Petersen graph is 4-edge-chromatic 7.1.9 2/2
 Consider the drawing consisting of two 5-cycles
and a matching (the cross edges) between them
 Every cycles uses an even number m of cross
edges
 m=2 or m=4 are infeasible
 m must be 0
 One 5-cycle needs 3 colors
16
Graph Theory
If G is a simple graph, then ’(G)≦(G)+1
’(G) = 3
(G) = 3
Ch. 7. Edges and Cycles
’(G) = 4
(G) = 3
17
Graph Theory
If G is a simple graph, then ’(G)≦(G)+1
Proof: (sketch)
 Let f be a proper (G)+1-edge-coloring of a
subgraph G’ of G
 If G’  G, then some edge uv is uncolored by f
 After recoloring some edges, we extend the
coloring to include uv (called augmentation)
 After e(G) augmentations, we obtain a proper
(G)+1-edge-coloring of G
Ch. 7. Edges and Cycles
18
Hamiltonian Cycles
 A Hamiltonian graph is a graph with a spanning cycle
 The spanning cycle is also called a Hamiltonian cycle
 Recall:
– Eulerian cycle passes every edge
– Hamiltanion cycle passes every vertex
 We focus on simple graph
19
Hamiltonian Cycle in Bipartite Graph
 A Hamiltonian Cycle in a bipartite graph visits
the two partite sets alternatively
 Unless the partite sets have the same size, it
has no Hamiltonian cycle
20
Graph Theory
If G has a Hamiltonian cycle, then for each nonempty
set SV, the graph G-S has at most |S| Components
proposition 7.2.3
Proof:
 When Leaving a component of G-S, a
Hamiltonian cycle can go only to S, and the
arrivals in S must use distinct vertices of S.
 Hence S must have at least as many vertices as
G-S has components
S
Ch. 7. Edges and Cycles
21
Graph Theory
Example of Proposition 7.2.3
The necessary condition
fails
Ch. 7. Edges and Cycles
The necessary condition holds,
but it is not sufficient
22
Graph Theory
If G is a simple graph with at least three vertices and
(G)n(G)/2, then G is Hamiltonian 7.2.8
Proof:
 The condition n(G) ≧ 3 is annoying but must be
included
– Since K2 is not Hamiltonian but satisfies
δ(K2) = n(K2)/2
 The proof uses contradiction and extremality
►
Ch. 7. Edges and Cycles
23
Graph Theory
If G is a simple graph with at least three vertices and
(G)n(G)/2, then G is Hamiltonian 7.2.8
Proof: continue
 If there is a non-Hamiltonian graph satisfying the
hypotheses, then adding edges cannot reduce
the minimum degree
 Thus we may restrict our attention to maximal
non-Hamiltonian graphs with minimum degree at
least n/2
– "maximal" means that adding any edge joining
nonadjacent vertices creates a spanning cycle
►
Ch. 7. Edges and Cycles
24
Graph Theory
If G is a simple graph with at least three vertices and
(G)n(G)/2, then G is Hamiltonian 7.2.8
Proof: continue
 When u ↮ v in G, the maximality of G implies
that G has a spanning path v1, ... , vn. from u= v1
to v = vn., because every spanning cycle in G +
uv contains the new edge uv
 To prove the theorem, it suffices to make a
small change in this cycle to avoid using the
edge uv; this will build a spanning cycle in G
Ch. 7. Edges and Cycles
25
Graph Theory
If G is a simple graph with at least three vertices and
(G)n(G)/2, then G is Hamiltonian 7.2.8
Proof: continue
 If a neighbor of u directly follows a neighbor of v
on the path, such as u ↔ vi+1 and v ↔ vi then (u,
vi+1 vi+2 ….,v , vi, vi-1…….. v2) is a spanning cycle
 To prove that such a cycle exists, we show that
there is a common index in the sets S and T
defined by S = { i: u ↔ vi+1 } and T = {i: v ~ vi }
►
Ch. 7. Edges and Cycles
26
Graph Theory
If G is a simple graph with at least three vertices and
(G)n(G)/2, then G is Hamiltonian 7.2.8
Proof: continue
 Summing the sizes of these sets yields
|S  T | + |S ∩ T | = |S| + |T | = d(u) + d(v)≥ n
 Neither S nor T contains the index n.
 Thus |S  T | < n, and hence |S ∩ T | ≥ 1
 We have established a contradiction by finding a
spanning cycle in G
 Hence there is no (maximal) non-Hamiltonian
graph satisfying the hypotheses
■
Ch. 7. Edges and Cycles
27
Lemma: Let G be a simple graph.
If u, v are distinct non-adjacent vertices of G with
d(u) + d(v) > n(G),
then G is Hamiltonian if and only if G+uv is
Hamiltonian 7.2.9
Proof:
 The proof is the same as for Theorem 7.2.8
28
Hamiltonian Closure
 The Hamiltonian closure of a graph G, denoted
C(G), is the graph with vertex set V(G) obtained
from G by iteratively adding edges joining pairs
of non-adjacent vertices whose degree sum is at
least n, until no such pair remains.
29
A simple n-vertex graph is Hamiltonian
if and only if its closure is Hamiltonian 7.2.11
 It is seen that the graph above begins with
vertices of degree 2 but its closure is K6
 According to Ore’s Lemma, it is proven
30
Lemma: The closure of G is well-defined. 7.2.12.
 Fortunately, the closure does not depend on the
order in which we choose to add edges when
more than one is available
31
Lemma: The closure of G is well-defined 7.2.12.
Proof: Let e1, .... er , and f1 .... , fs be sequences of
edges added in forming C(G), the first yielding
G1, and the second G2.
 If in either sequence nonadjacent vertices u and
v acquire degree summing to at least n(G), then
the edge uv' must be added before the
sequence ends
32
Lemma: The closure of G is well-defined. 7.2.12.
Proof: continue
 Thus f1, being initially addable to G, must belong
to G1
 Similarly, if f1 .... , fi-1 ∈ E(G1), then fi becomes
addable to G1, and therefore belongs to G1
 Hence neither sequence contains a first edge
omitted by the other sequence, and we have G1
⊆ G2 and G2 ⊆ G1
33
Condition to test for Hamiltonian cycles
 We now have a necessary and sufficient
condition to test for Hamiltonian cycles in simple
graphs
– It doesn't help much, because it requires us to
test whether another graph is Hamiltonian!
– Nevertheless, it does furnish a method for
proving sufficient conditions
 A condition that forces C(G) to be Hamiltonian
also forces a Hamiltonian cycle in G
34
Example
 The condition may imply C(G) = Kn
 Chvatal used this method to prove the best
possible degree sequence condition for
Hamiltonian cycles.
 Some vertex degrees can be small if others are
large enough.
35
Theorem: Let G be a simple graph with vertex
degrees d1≤ ... ≤dn", where n≥3.
If i < n/2 implies that di > i or dn-i ≥ n-i (Chvatal's
condition), then G is Hamiltonian. 7.2.13
36
Theorem: Let G be a simple graph with vertex
degrees d1≤ ... ≤dn", where n≥3.
If i < n/2 implies that di > i or dn-i ≥ n-i (Chvatal's
condition), then G is Hamiltonian. 7.2.13
Proof: Adding edges to form the closure reduces no
entry in the degree sequence.
 Also, G is Hamiltonian if and only if C(G) is
Hamiltonian.
 Thus it suffices to consider the case where C (G)
= G, which we describe by saying that G is closed.
 In this case, we prove that Chvatal's condition
implies that G = Kn.
37
Theorem: Let G be a simple graph with vertex
degrees d1≤ ... ≤dn", where n≥3.
If i < n/2 implies that di > i or dn-i ≥ n-i (Chvatal's
condition), then G is Hamiltonian. 7.2.13
Proof: continue
 We prove the contrapositive
 If G is a closed /I-vertex graph that is not a
complete graph, then we construct a value of i
less than n /2 for which Chvatal's condition is
violated.
 Violation means that at least i vertices have
degree at most i and at least n - i vertices have
degree less than n - i.
38
Theorem 7.2.13
 With G≠Kn, we choose among the pairs of
nonadjacent vertices a pair u, v with maximum
degree sum.
 Because G is closed, u ↮ v implies that d(u) +
d(v) < n.
 We choose the labels on u. v so that d(u) ≤d(v)
 Since d(u) +d(v) < n, we thus have d(u) < n/2.
Let i = d(u).
39
Theorem 7.2.13
 We need to find i vertices with degree at most i
 Because we chose a nonadjacent pair with
maximum degree sum, every vertex of V - {v}
that is not adjacent to v has degree at most d(u),
which equals i.
 There are n- 1 - d(v) such vertices, and d(u) +
d(v) ≤ n - 1 yields n - 1 - d(v) ≥ i.
40
Theorem 7.2.13
 We also need n - i vertices with degree less than n - i.
 Every vertex of V - {u} that is not adjacent to u has
degree at most d(v), and we have d(v) < n - d(u) = n - i.
 There are n -1- d(u) such vertices.
 Since d(u)≤ d(v), we can also add u itself to the set of
vertices with degree at most d(v).
 We thus obtain n - i vertices with degree less than n - i.
 We have proved that di ≤ i and dn-i< n - i for this specially
chosen I, which contradicts the hypothesis. _
41
Example: Non-Hamiltonian. graphs with
"large" vertex degrees 7.2.14
 Theorem 7.2.13 characterizes the degree sequences
of simple graphs that force Hamiltonian cycles.
 If the degree sequence fails Chvatal's condition at i ,
then the largest we can make the terms in dl, ... dn is
dj=i
for j≤ i,
dj= n - i-1 for i+1≤ j ≤ n - i,
dj= n - 1
for j > n - i.
42
Example 7.2.14.
 Let G be a simple graph realizing this degree
sequence (if it exists).
 The i vertices of degree n - 1 are adjacent to all
others (the central clique in the figure).
 This already gives i neighbors to the i vertices of
degree i, so they form an independent set and
have no additional neighbors.
43
Example 7.2.14.
 With degree n-i-1, each of the remaining n - 2i
vertices must be adjacent to all vertices except
itself and the independent set
 Thus these vertices form a clique
 The only possible realization is (Ki + Kn-2i) V Ki ,
shown below
Ki
Ki
Kn-2i
44
Example 7.2.14.
 This graph is not Hamiltonian because deleting
the i vertices of degree n - 1 leaves a subgraph
with i + 1 components.
 If a simple graph H is nonHamiltonian and has
vertex degrees d’1 ≤...≤ d’n, then Chvátal's result
implies that for some i the graph (Ki + Kn-2i) v Ki
with vertex degrees d1 ≤ ... ≤ dn satisfies dj ≥ d’j
for all i
45
Definition: A Hamiltonian path is a spanning
path 7.2.15
 Every graph with a spanning cycle has a spanning
path
 But Pn shows that the converse is not true
 We could make arguments like those above to prove
sufficient conditions for Hamiltonian paths
 But it is easier to use our previous work and prove the
new theorem by invoking a theorem about cycles
 To do this, we use a standard transformation
46
Remark: A graph G has a spanning path if and only
if the graph G v K1 has a spanning cycle
7.2.16
 This remark applies in several of the
exercises
 Here we use it to derive the analogue
for paths of Chvatal's condition for
spanning cycles.
47
Theorem: Let G be a simple graph with vertex degrees d1 ≤... ≤ dn.
If i < (n + 1)/2 implies (di ≥ i or dn+1-i ≥ n –i),
then G has a spanning path. 7.2.17
 Proof: Let G' = G v K1 let n' = n + 1, and let d’1 .... , d’n’
be the degree sequence of G'.
 Since a spanning cycle in G v K1 becomes a spanning
path in G when the extra vertex is deleted,
 It suffices to show that G' satisfies Chvatal's sufficient
condition for Hamiltonian cycles.
48
Theorem: Let G be a simple graph with vertex degrees d1 ≤... ≤ dn.
If i < (n + 1)/2 implies (di ≥ i or dn+1-i ≥ n –i),
then G has a spanning path. 7.2.17
 Since the new vertex is adjacent to all of V(G), we have
d’n’ = n and d’j= dj + 1 for j < n'. For i < n' /2 = (n + 1)/2,
the hypothesis on G yields
 d’i = di+ 1 ≥ i + 1 > i or
 d’n’-i = d’n+1-i ≥ n - i + 1 = n' - i.
 This is precisely Chvatal's sufficient condition, so G'
has a spanning cycle, and deleting the extra vertex
leaves a spanning path in G.
49
Remark 7.2.18
 The degree requirements can be weakened
under conditions such as regularity or high
toughness.
 Every regular simple graph G with vertex
degrees at least n(G)/3 is Hamiltonian (Jackson
[1980]).
 Only the Petersen graph prevents lowering the
threshold to (n(G) - 1)/3 (Zhu-Liu-Yu [1985],
partly simplified in Bondy-Kouider [1988]; see
also Exercise 13).
50
Remark 7.2.18
 It may be possible to lower the degree condition further
when connectivity is high.
 For example, Tutte [1971) conjectured that every
3·connecterl 3-regular bipartite graph is Hamiltonian.
 Horton [1982] found a counterexample with 96 vertices,
and the smallest known counterexample bas 50 vertices
(Georges [1989]), but stronger conditions of this sort may
suffice.
 Our last sufficient condition for Hamiltonian cycles
involves connectivity and independence, not degrees.
 The proof yields a good algorithm that constructs a
Hamiltonian cycle or shows that the hypothesis is false.
51
Th: If к(G) ≧α(G), then G has a Hamiltonian cycle
(unless G = K2) 7.2.19
Proof:
 With G=K2 the conditions require к(G) > 1
 Suppose that к(G)≥α(G). Let k = к(G), and let C
be a longest cycle in G
 Since δ(G)≥ к(G), and every graph with δ(G) ≥ 2
has a cycle of length at least δ(G) + 1
(Proposition 1.2.28), C has at least k + 1
vertices
52
Theorem: If к(G) ~ α(G), then G has a Hamiltonian
cycle (unless G = K2) 7.2.19
Proof: continue
 Let H be a component of G - V (C). The cycle C
has at least k vertices with edges to H;
otherwise, deleting the vertices of C with edges
to H contradicts K (G) = k
 Let u1... uk be k vertices of C with edges to H, in
clockwise order
53
Theorem: If к(G) ~ α(G), then G has a Hamiltonian
cycle (unless G = K2) 7.2.19
Proof: continue
 For i = 1……, k, let ai be the vertex immediately
following ui on C.
 If any two of these vertices are adjacent, say ai ↮
aj, then we construct a longer cycle by using ai aj,
the portions of C from ai to uj and aj to ui, and a ui,
uj-path through H (see illustration).
54
Theorem: If к(G) ~ α(G), then G has a Hamiltonian
cycle (unless G = K2) 7.2.19
Proof: continue
 If ai has a neighbor in H, then we can detour to
H between ui and ai, on C.
 Thus we also conclude that no ai has a neighbor
in H.
 Hence { a1.... ak }plus a vertex of H forms an
independent set of size k+ 1.
 This contradiction implies that C is a
Hamiltonian cycle
55
Remark 7.2.20
 Most sufficient conditions for Hamiltonian cycles
generalize to conditions for long cycles.
 The circumference of a graph is the length of its
longest cycle. A weaker form of a sufficient
condition for spanning cycles may force a long
cycle.
56
Remark 7.2.20
 Dirac [1952b] proved the first such result: a 2connected graph with minimum degree k has
circumference at least min{n,2k}.
 Proposition 1.2.28 only guarantees a cycle of
length at least k+1.
 Most long-cycle results are more difficult than the
corresponding sufficient conditions for Hamiltonian
cycles (see Lemma 8.4.36 -Theorem 8.4.37).
57
Download