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 SV, 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