Introduction to Graph Theory

Similar documents
Assignment 1 Introduction to Graph Theory CO342

Part II. Graph Theory. Year

List of Theorems. Mat 416, Introduction to Graph Theory. Theorem 1 The numbers R(p, q) exist and for p, q 2,

Matching Theory. Figure 1: Is this graph bipartite?

Definition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1

Exercise set 2 Solutions

K 4 C 5. Figure 4.5: Some well known family of graphs

Graph Connectivity G G G

Module 7. Independent sets, coverings. and matchings. Contents

6 Planar Graphs. 6.1 Euler's Formula

Graph Theory S 1 I 2 I 1 S 2 I 1 I 2

Theorem 3.1 (Berge) A matching M in G is maximum if and only if there is no M- augmenting path.

5 Graphs

Adjacent: Two distinct vertices u, v are adjacent if there is an edge with ends u, v. In this case we let uv denote such an edge.

Number Theory and Graph Theory

6. Lecture notes on matroid intersection

by conservation of flow, hence the cancelation. Similarly, we have

Fundamental Properties of Graphs

A graph is finite if its vertex set and edge set are finite. We call a graph with just one vertex trivial and all other graphs nontrivial.

9 Connectivity. Contents. 9.1 Vertex Connectivity

Characterizing Graphs (3) Characterizing Graphs (1) Characterizing Graphs (2) Characterizing Graphs (4)

Basics of Graph Theory

Key Graph Theory Theorems

Module 11. Directed Graphs. Contents

AMS /672: Graph Theory Homework Problems - Week V. Problems to be handed in on Wednesday, March 2: 6, 8, 9, 11, 12.

MATH 350 GRAPH THEORY & COMBINATORICS. Contents

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings

CHAPTER 2. Graphs. 1. Introduction to Graphs and Graph Isomorphism

Math 443/543 Graph Theory Notes 11: Graph minors and Kuratowski s Theorem

Figure 1: A cycle's covering. Figure : Two dierent coverings for the same graph. A lot of properties can be easily proved on coverings. Co

PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS

MATH 363 Final Wednesday, April 28. Final exam. You may use lemmas and theorems that were proven in class and on assignments unless stated otherwise.

Weak Dynamic Coloring of Planar Graphs

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1

Math 443/543 Graph Theory Notes

Advanced Combinatorial Optimization September 17, Lecture 3. Sketch some results regarding ear-decompositions and factor-critical graphs.

Discrete mathematics , Fall Instructor: prof. János Pach

CS 311 Discrete Math for Computer Science Dr. William C. Bulko. Graphs

Math 170- Graph Theory Notes

1 Matching in Non-Bipartite Graphs

Pebble Sets in Convex Polygons

Section 3.1: Nonseparable Graphs Cut vertex of a connected graph G: A vertex x G such that G x is not connected. Theorem 3.1, p. 57: Every connected

G G[S] G[D]

Math 443/543 Graph Theory Notes

Lecture Notes on Graph Theory

5 Matchings in Bipartite Graphs and Their Applications

Sources for this lecture. 3. Matching in bipartite and general graphs. Symmetric difference

Rigidity, connectivity and graph decompositions

1 Digraphs. Definition 1

Chapter 4. square sum graphs. 4.1 Introduction

GRAPHS, GRAPH MODELS, GRAPH TERMINOLOGY, AND SPECIAL TYPES OF GRAPHS

Matching and Planarity

1 Matchings in Graphs

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.

Hamiltonian cycles in bipartite quadrangulations on the torus

Elements of Graph Theory

Recognizing Interval Bigraphs by Forbidden Patterns

Introduction III. Graphs. Motivations I. Introduction IV

Characterizations of Trees

CMSC 380. Graph Terminology and Representation

Planar graphs. Chapter 8

1. a graph G = (V (G), E(G)) consists of a set V (G) of vertices, and a set E(G) of edges (edges are pairs of elements of V (G))

if for every induced subgraph H of G the chromatic number of H is equal to the largest size of a clique in H. The triangulated graphs constitute a wid

Lecture 20 : Trees DRAFT

GRAPH DECOMPOSITION BASED ON DEGREE CONSTRAINTS. March 3, 2016

Graph and Digraph Glossary

v V Question: How many edges are there in a graph with 10 vertices each of degree 6?

The Structure of Bull-Free Perfect Graphs

Discrete Mathematics (2009 Spring) Graphs (Chapter 9, 5 hours)

Subdivisions of Graphs: A Generalization of Paths and Cycles

Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching. 1 Primal/Dual Algorithm for weighted matchings in Bipartite Graphs

2. Lecture notes on non-bipartite matching

[8] that this cannot happen on the projective plane (cf. also [2]) and the results of Robertson, Seymour, and Thomas [5] on linkless embeddings of gra

All 0-1 Polytopes are. Abstract. We study the facial structure of two important permutation polytopes

A Nim game played on graphs II

Jordan Curves. A curve is a subset of IR 2 of the form

4. (a) Draw the Petersen graph. (b) Use Kuratowski s teorem to prove that the Petersen graph is non-planar.

Two Characterizations of Hypercubes

DO NOT RE-DISTRIBUTE THIS SOLUTION FILE

THE FREUDENTHAL-HOPF THEOREM

WUCT121. Discrete Mathematics. Graphs

Discrete mathematics II. - Graphs

Matchings. Examples. K n,m, K n, Petersen graph, Q k ; graphs without perfect matching. A maximal matching cannot be enlarged by adding another edge.

arxiv: v2 [math.co] 13 Aug 2013

Math 776 Graph Theory Lecture Note 1 Basic concepts

Localization in Graphs. Richardson, TX Azriel Rosenfeld. Center for Automation Research. College Park, MD

5.1 Min-Max Theorem for General Matching

Assignment 4 Solutions of graph problems

Treewidth and graph minors

Solutions to Problem Set 2

Paths, Flowers and Vertex Cover

V10 Metabolic networks - Graph connectivity

IMO Training 2008: Graph Theory

Topics in Combinatorial Optimization February 5, Lecture 2

Ordinary Differential Equation (ODE)

CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

BIL694-Lecture 1: Introduction to Graphs

Week 9-10: Connectivity

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Transcription:

Introduction to Graph Theory DRAFT COPY J. A. Verstraete jverstra@math.uwaterloo.ca

1 Introduction Throughout these notes, a graph G is a pair (V; E) where V is a set and E is a set of unordered pairs of elements of V. The elements of V are called vertices and the elements of E are called edges. If G = (V; E) is a graph, then we typically denoted by V (G) = V its vertex set and E(G) = E its edge set. In almost all situations, V (G) is a nite set, and we will make it clear when V (G) is allowed to be innite. If u; v 2 V (G), then u and v are adjacent if fu; vg 2 E(G), and the edge fu; vg is said to be incident with vertices u and v. We refer to u and v as the endpoints of the edge fu; vg. It is convenient to draw V (G) as a set of points in the plane and each edge as a curve between its endpoints in the plane, as in Figure 1(a). A multigraph is a pair (V; E) where V is a set and E is a multiset of unordered pairs of elements of V { we allow E to contain repetitions of the same unordered pair. Occasionally we allow E(G) to consist of pairs fv; vg which are referred to as loops, in which case G is referred to as a pseudograph { see Figure 1(b). A directed graph { digraph for short { is a pair (V; E) where V is a set and E is a set of ordered pairs of G. The elements of E are called arcs, and we draw them in the plane as curves with an arrow indicating the direction of the arc { see Figure 1(c). If G = (V; E) is a graph, then an orientation of G is a digraph ~ G = (V; ~ E) where one of (u; v), (v; u) is in ~ E for each fu; vg 2 E(G). Figure 1(c) is an orientation of Figure 1(a). (a) (b) (c) Figure 1 : Graphs, multigraphs, pseudographs, digraphs.

1.1 Degrees and Neighbourhoods The degree of a vertex v in a graph G is the number of edges incident with v, and is denoted d G (v), or just d(v) for short. An important fact involving the degrees of a graph G, which we will use on numerous occasions, is X v2v (G) d G (v) = 2jE(G)j: This is known as the handshaking lemma { when we add up the degrees of vertices every edge is counted twice, once for each of its endpoints. An important consequence of the handshaking lemma is that the number of vertices of odd degree in any graph must be even. The neighbourhood of v in G is denoted G (v), and is the set of vertices of G which are adjacent to v. We write (G) and (G) for the smallest and largest degree of a vertex in G, respectively. For example, if G is the graph in Figure 1(a), then (G) = 1 and (G) = 3. The neighbourhood of a set X V (G), which we denote by (X), is the set of vertices of V (G)nX with at least one neighbour in X. For sets X; Y V (G), we write e(x; Y ) for the set of edges of G with one endpoint in X and the other endpoint in Y. 1.2 Basic classes of graphs Let K n denote the complete graph on n vertices: this is the graph consisting of all possible edges on n vertices. A bipartite graph is a graph G such that V (G) can be partitioned into two sets A and B such that each edge of G has one endpoint in A and one endpoint in B. The sets A and B are called the parts of G. Let K s;t denote the complete bipartite graph with s vertices in one part and t vertices in the other: this graph consists of all st possible edges between a set of size s and a set of size t. We refer to K 1;t as a star. A planar graph is a graph which can be drawn in the plane in such a way that no two edges cross. The n-dimensional cube, or n-cube, is the graph whose vertex set is the set of binary strings of length n, and whose edge set consists of pairs of strings diering in one position. A tree is a connected graph without cycles, and a forest is a vertex-disjoint union of trees and isolated vertices. The vertices of degree one in a tree or forest are often called leaves. A cycle is a connected graph all of whose vertices have degree two, and a path is a tree with exactly two vertices of degree one. Those vertices are sometimes called the endpoints of the paths, and the other vertices of the path are called internal vertices. Two paths are internally disjoint if they share no internal vertices. n 2 1.3 Subgraphs If H and G are graphs and V (H) V (G) and E(H) E(G), then H is called a subgraph of G. To denote that H is a subgraph of G, we write H G. If in addition V (H) = V (G) then H is called a spanning subgraph of G. The subgraph of G induced by a set X V (G)

is the subgraph of G whose vertex set is X and whose edge set consists of all edges of G with both endpoints in X. An induced subgraph of G is a subgraph of the form G[X] for some set X V (G). If F E(G) is a set of edges of G, then the subgraph of G spanned by F, denoted G hf i, is the subgraph (X; F ) where X is the set of vertices covered by the edges of F. For example, the graph K 1;3 is a subgraph, but not an induced subgraph, of the graph in Figure 1(a). 1.4 Deletions and Contractions If G = (V; E) is a graph and X V and L E, then G X denotes G[V nx] and G L denote G henli. In the case that X = fxg, we write G x instead of G X. For example, if G is the graph in Figure 1(a) and x is the vertex of degree three in Figure 1(a), and y is the vertex of degree one, then G x consists of a disjoint union of K 1 and K 2, and G y is K 3. If G = (V; E) is a graph and F is a set of unordered pairs in V, then G + F denotes the graph (V; E [ F ). If H = (W; F ) is a graph, then G [ H is the graph (V [ W; E [ F ) and G \ H is the graph (V \ W; E \ F ). If X is a set of vertices of G = (V; E), then G=X = (W; F ) denotes the contraction of X in G, dened by W = (V nx) [ fxg and F = G[V nx] [ ffv; xg : v 2 (X)g. In other words, we shrink X to a single vertex x, and join x to all neighbours of X. For example, K n =e = K n 1 for any edge e 2 K n and any n 2. Another example is given below. G=X X Y G=Y Figure 2 : Contraction A graph H is a minor of a graph G if H can be obtained from G by a sequence of contractions and deletions of edges of G. This is usually written H G. A subdivision of a graph H is a graph consisting of the union of internally disjoint paths P e : e 2 E(H) where P e has the same endpoints as e. In other words, we subdivide each edge of G by replacing it with a path. 1.5 Walks and Paths A walk in a graph G = (V; E) is an alternating sequence of vertices and edges, whose rst and last elements are vertices, and such that each edge joins the vertices immediately

preceding it and succeeding it in the sequence. For example, afa; dgdfd; egefe; agafa; dgc is a walk in the graph in Figure 3. If the vertices of a walk are all distinct, then it is referred to as a path, and the length of the path is the number of edges in the path. The vertices of degree one in a path are called endvertices and the remaining vertices are called internal vertices. For example, the walk given above is not a path, but afa; dgdfd; ege is a path. For convenience, we often omit the edges and list the vertices in order along the path, such as ade instead of afa; dgdfd; ege. If the endpoints of a walk are u and v, then we say the walk is a uv-walk. If the rst and last vertex of the walk are the same, then the walk is referred to as a closed walk. A cycle is a closed walk with the same number of edges as vertices. For example, in Figure 3, the dierent cycles are adea, abea, bcdeb, adeba, adcba, aedcba, and aebcda. d c e a b 1.6 Connected Graphs Figure 3 : Walks, paths and cycles. Vertices u and v in a graph G are joined (or connected) by a path if there is a uv-path in G. A graph G 6= K 1 is connected if and only if every pair of vertices of G is joined by a path, and G is disconnected otherwise. It is convenient to dene the complete graph K 1 to be disconnected. A component of a graph G = (V; E) is a maximal connected subgraph of G or an isolated vertex of G (that is, a vertex of degree zero, which we refer to as a trivial component). Here the word `maximal' means maximal with respect to the number of edges: in other words, if we add any other edge of E(G) to a component of G, we obtain a disconnected graph. The graphs in Figure 1(a) and Figure 3 are connected, whereas the graph below has three (nontrivial) components.

Figure 4 : Components. The following elementary proposition gives necessary and sucient conditions for a graph to be connected: being con- Proposition 1.6.1 Each of the following is equivalent to a graph G 6= K 1 nected: 1. There is only one component in G. 2. Every pair of vertices of G is joined by a walk. 3. Every pair of vertices of G is joined by a path. 4. For some vertex u 2 V (G), there is a uv-walk for every v 2 V (G). 5. Every cut of G is non-empty. 1.7 Trees and Bridges A bridge of G is an edge e 2 E(G) such that G e has more components than G. For example, in Figure 1(a), the top edge e is a bridge since G has one component but G e has two components. It is easy to spot the bridges of a graph, using the following lemma: Lemma 1.7.1 An edge e 2 E(G) is a bridge if and only if it is not contained in any cycle in G. Consequently in a graph with no bridges, every edge is in a cycle. A tree is a connected graph with no cycles (graphs with no cycles are often called acyclic). The following proposition characterizes trees: Proposition 1.7.2 Each of the following is equivalent to a graph G being a tree: 1. The graph G is connected and every edge of G is a bridge. 2. Every pair of vertices of G is joined by a unique path. 3. The graph G is minimally connected. 4. The graph G is maximally acyclic. Once more, the words `maximal' and `minimal' are taken to be with respect to the number of edges in the graph. Thus Proposition 1.7.2.4 says that a graph is a tree if and only if whenever we add a new edge to the graph we create a cycle. By part 1, if we remove any edge from a tree, we obtain two components, each of which is a tree. From this, by strong induction on the number of edges in a tree, one can prove that a tree on n vertices has n 1 edges. Proposition 1.7.3 A tree with n vertices has exactly n 1 edges.

Let G be a connected graph. While the current graph contains a cycle, pick an edge of the cycle and remove it. By Lemma 1.7.1, we did not disconnect the graph, so if we repeat this procedure we eventually obtain a spanning subgraph of G which is acyclic and connected { a tree. Proposition 1.7.4 Any connected graph contains a spanning tree. 2 Connectivity and Menger's Theorem In this section, we will prove Menger's Theorem (Theorem 2.5.2), which states that a graph is k-connected if and only if each pair of its vertices is joined by k internally disjoint paths. We also consider the edge-connectivity version of Menger's Theorem (Theorem 2.5.3. To lead up to Menger's Theorem, we discuss a structural characterization of graphs with no bridges and graphs with no cut vertices, called ear decomposition. 2.1 Vertex and Edge Cuts A cut of a connected graph G is a set of vertices or edges whose removal from G gives a disconnected graph. A cut vertex of a connected graph G is a vertex x such that G x is disconnected. A graph G is k-connected if every vertex cut of G has size at least k, and k-edge-connected if every edge cut of G has size at least k. The connectivity of a graph G, denoted (G), is the smallest size of a vertex cut of G. Thus a graph G 6= K 1 is k-connected if and only if (G) k and disconnected if and only if (G) = 0. As an example, notice that (K n ) = n 1 for all n 1 { by convention K 1 is disconnected. The edge-connectivity of G, denoted (G), is the smallest size of an edge cut of G. A vertex cut of size (G) or edge cut of size (G) is called a minimum cut. The following lemma is intuitively clear, however a little work is required to prove (G) (G), and we leave the proof as an exercise. Lemma 2.1.1 For any graph G, (G) (G) (G). The lemma actually follows immediately from Menger's Theorem 2.5.2. It can also be shown that for any non-negative integers k l d there exists a graph with (G) = k, (G) = l and (G) = d, so the lemma cannot be improved in general. In the next lemma we make two elementary observations about minimum cuts: Lemma 2.1.2 Let X be a minimum cut in a connected graph G. 1. If X E(G), then G X has exactly two components. 2. If X V (G), and W is the vertex set of a component of G X, then (W ) = X.

For example, if e is a bridge of G, then Lemma 2.1.2 says that G e has exactly two components. Note that if X is a minimum vertex cut in G, then G X may have any number of components. Another useful lemma concerns the parity of (G) relative to the degrees of vertices in G: Lemma 2.1.3 If all vertices of a graph G have even degree, then (G) is even. Proof. If G is not connected, then (G) = 0, as required. Suppose G is connected and let L be a minimum edge cut in G. By Lemma 2.1.2 part 1, G L has exactly two components, say G 1 and G 2. The number of vertices of odd degree in G 1 is even, by the handshaking lemma. On the other hand, this number is congruent modulo two to the number of vertices of G 1 incident with an odd number of edges in L. So the number of vertices of odd degree in L must also be even, which implies (G) = jlj is even. Our nal observation will be used many times in the material to follow. The proof is left as an exercise. Lemma 2.1.4 Let G be a k-connected graph and let A be a set of at least k vertices in G. Then the graph obtained from G by adding a new vertex adjacent to all vertices in A is k-connected. To approach Menger's Theorem 2.5.2, we consider rst the case of 2-edge-connected graphs and 2-connected graphs, which admit good characterizations. 2.2 Ear Decomposition I* In this section we will give method for constructing all 2-connected graphs, called eardecomposition. Let G be a graph and P G a path all of whose internal vertices have degree two in G. Then P is called an ear of G (see Figure 5). P G Figure 5 : Ear decomposition.

The main theorem in this section says that a graph is 2-connected if and only if it can be built from a cycle by adding ears. More precisely, a graph G has an ear decomposition if there is sequence of subgraphs of G, say G 0 G 1 G t such that G 0 is a cycle, G t = G, and G i is obtained from G i+1 by removing the internal vertices of some ear in G i+1. Theorem 2.2.1 (Ear decomposition) A graph G is 2-connected if and only if it has an ear-decomposition. Before proceeding to the proof of this theorem, we establish a few structural properties of 2-connected graphs. Definition 2.2.2 An equivalence relation on a set S is a set R of ordered pairs of elements of S with the following properties: 1. (a; a) 2 R 2. if (a; b) 2 R then (b; a) 2 R. 3. if (a; b); (b; c) 2 R then (a; c) 2 R. The properties 1, 2 and 3 of an equivalence relation are called reexivity, symmetry and transitivity, respectively. If (a; b) 2 R, we say that a and b are equivalent under R. For example, if G = (V; E) is a graph and R = f(u; v) 2 V V : u and v are joined by a pathg; then R is an equivalence relation, and any two vertices in a component of G are equivalent under R. To prove this, the main thing to check is transitivity: that if u and v are joined by a path and v and w are joined by a path then also u and w are joined by a path. It is convenient, rather than writing (u; v) 2 R, to write u v. For our purposes, we dene an equivalence relation on the edge set of a graph G = (V; E) as follows: for e; f 2 E, e f if and only if e = f or some cycle in G contains both e and f. The following lemma says that is indeed an equivalence relation: Lemma 2.2.3 For any graph G, the relation is an equivalence relation on E(G). Proof. By denition we know e e for any edge e 2 E(G), and e f is clearly the same as f e. It remains to verify transitivity: we have to prove that if some cycle C G contains e and f, and some cycle D G contains f and g, then some cycle in G contains both e and g. Suppose g = fu; vg and e = fs; tg. If e; g 2 E(C) or e; g 2 E(D), then C or D is a cycle containing e and g, as required. Suppose this is not the case. Then we can nd vertex-disjoint paths P 1 ; P 2 D from u to V (C) and v to V (C), such that P 1 and P 2 are internally disjoint from C (see Figure 6). Similarly, we can nd vertex-disjoint

paths Q 1 ; Q 2 C from s to V (D) and t to V (D) such that Q 1 ; Q 2 are internally disjoint from D. Now P 1 [ P 2 [ Q 1 [ Q 2 + e + g is a cycle containing e and g, as required. Q 2 e P 2 C g Q 1 D P 1 Figure 6 : Transitivity of Theorem 2.2.4 For a graph G with at least three vertices and no isolated vertices, the following three statements are equivalent: 1. G is 2-connected 2. every two edges of E(G) are in a common cycle 3. any two vertices of V (G) are in a common cycle. Proof. We show rst that 1 implies 2. Let e 0 = fx 0 ; x 1 g and e k = fx k ; x k+1 g be edges of G. We have to show e 0 e k. Since G is connected, there is a path P G of the form x 0 e 0 x 1 e 1 x 2 e 2 : : : x k e k x k+1 Since G x i is connected, there is a path in G x i from x i 1 to x i+1, which means that e i 1 and e i are contained in a common cycle in G, for all i. In other words, e i 1 e i for all i. But by transitivity, this means e 0 e k, as required. So 1 implies 2. To prove that 2 implies 3, let u; v 2 V (G) and select an edge e containing u and an edge f 6= e containing v (this edge exists because G has at least three vertices). Then e f by assumption, so some cycle in G contains both u and v, as required. So 2 implies 3. Finally, to show 3 implies 1, G x is connected for any x 2 V (G), otherwise we get the contradiction that two vertices in dierent components of G x are not on a cycle in G. Proof of Theorem 2.2.1 Suppose G is 2-connected, and let H be a maximal subgraph of G with an ear decomposition. Since G contains a cycle, and a cycle exists, H

certainly exists. Suppose, for a contradiction, that H 6= G. Then there exists an edge e 2 E(G)nE(H). If e joins two vertices of H, then H + e has an ear decomposition, contradicting the maximality of H. Therefore e has an endpoint not in H. Let f be any edge of H. Then e and f are contained in a common cycle, C, by Theorem 2.2.4 part 2. In particular, C contains at least two vertices of H, so there is a path P C, internally disjoint from H, and with both endpoints in H. But then P is an ear of H [ P, contradicting the maximality of H. We conclude that H = G. The proof of the converse statement is left as an exercise. The following theorem is an immediate corollary of the ear decomposition theorem. For this theorem, we require the notion of contraction of a set of vertices in a graph. Theorem 2.2.5 Let G be a 2-connected multigraph with at least four vertices. Then, for any edge e 2 E(G), at least one of G e or G=e is 2-connected. Proof. If e is an ear of G, then G e is 2-connected. One shows that if e is not an ear of G, then G=e is 2-connected, by considering the ear decomposition of G. The details are left as an exercise. The theorem on ear decomposition is very useful for proving statements about 2-connected graphs by induction. For example, it is possible to show that a 2-connected graph with m edges and n vertices has at least dierent cycles. 2.3 Ear Decomposition II m n+2 2 Here we prove an ear-decomposition theorem for 2-edge-connected graphs. It cannot be the same as the 2-connected case, since the graph consisting of the union of two cycles sharing exactly one vertex does not have an ear decomposition in the sense of the last section. The new ear decomposition is described as follows: a graph G has an ear decomposition if there is a sequence of subgraphs of G, G 0 G 1 G t such that G 0 is a cycle, G t = G, and G i+1 = G i [ P for a path P internally disjoint from G i or G i+1 = G i [ C for a cycle C with exactly one vertex in common with G i. C G

Figure 7 : New ear decomposition. The proof of the ear-decomposition theorem is similar to that of Theorem 2.2.1: Theorem 2.3.1 A graph is 2-edge-connected if and only if it has an ear decomposition. Proof. Suppose G has an ear decomposition. Let e be an edge of G. It is sucient to prove that e is contained in a cycle { then e cannot be a bridge of G by Lemma 1.7.1. If e is not in a cycle, then e is a bridge of G. Let P be an ear of G. Since e is a bridge of G, P can never contain e, since there is a cycle in G containing all edges of P. Therefore e survives our procedure, but then e must be in a cycle, a contradiction. So G must be 2-edge-connected. Now suppose that G is 2-edge-connected. Then G contains a cycle, so G has a subgraph with an ear decomposition. Therefore H be a maximal subgraph of G which has an ear decomposition. We'll show H = G. If H 6= G, then there is an edge e of G joining a vertex of H to a vertex of G not in H, otherwise H + e has an ear decomposition. This edge is in a cycle C, by Lemma 1.7.1. If this cycle contains only one vertex of H, then H [ C has an ear-decomposition, a contradiction. Therefore the cycle contains two vertices in H, and we can nd a shortest path between two vertices of H in G to add to H, a contradiction. So H = G. 2.4 Connected digraphs* A directed path in a digraph is an orientation of a path such that all edges are oriented from one end of the path to the other. There is a natural notion of connectivity in digraphs, which we call strong connectivity. The basic idea is to replace paths with directed paths in the denition of connectivity: a digraph G is strongly connected if for each ordered pair (u; v) of vertices of G, there is a directed path in G from u to v { we call this a (u; v)-path for short. For example, if we direct all the edges of a cycle clockwise, then we have a strongly connected digraph. On the other hand, the digraph with vertex set f1; 2; : : : ; ng and arc set f(i; j) : 1 i < j ng is far from strongly connected. Recall that an orientation of a graph G is a digraph obtained by replacing each edge fu; vg 2 E(G) with an ordered pair (u; v) or (v; u). For example, the last example above of a non-strongly connected digraph is an orientation of K n, the complete graph on n vertices. A digraph G is strongly k-connected if the removal of fewer than k vertices of G gives a strongly connected digraph. Later we will prove the analog of Menger's Theorem 4.2.1 for strongly k-connected digraphs, but for now we concentrate on the case k = 1. Corollary 2.4.1 A graph is 2-edge-connected if and only if it has a strongly connected orientation.

Proof. Let fx; yg be an edge of G. Then there is an orientation giving a directed path from x to y and a directed path from y to x. It follows that the edge fx; yg is contained in a cycle in G, and G is 2-edge-connected, by Lemma 1.7.1. Next suppose G is 2-edge-connected and consider an ear decomposition of G. Proceed by induction on the number of edges of G. If G is a cycle, then we orient all the edges clockwise for a strongly connected orientation. Suppose G is not a cycle, and P is an ear in the ear decomposition. Then G = H [ P where H is 2-edge-connected and P is internally disjoint from H. By induction, H has a strongly connected orientation. An appropriate orientation of P gives a strongly connected orientation of G. In fact this theorem generalizes to 2k-edge-connected graphs for all k 1, but we do not prove this here: Theorem 2.4.2 A graph G is 2k-edge-connected if and only if it has a strongly k- connected orientation. We are, however, able to prove Menger's Theorem 2.5.2 in the case of 2-edge-connected graphs. Unfortunately the proof is rather technical. Theorem 2.4.3 A graph G is 2-edge-connected if and only if there exist two edge-disjoint uv-paths for each pair of distinct vertices u; v 2 V (G). Proof. It is evident that G is 2-edge-connected if there exist two edge-disjoint u-v paths for each fu; vg V (G). For the converse, x a pair fu; vg V (G). By Lemma 1, we may choose an orientation G ~ of G containing directed u-v and v-u paths, P and Q. We choose G ~ and the paths P; Q so that je(p ) [ E(Q)j is a minimum. It will be shown that P and Q are edge-disjoint. Let H be the graph spanned by E(P )4E(Q) and let F be the component of H containing u. If v 62 V (F ), then there is an edge-cut L E(P ) \ E(Q) separating V (F ) from v. However there is no orientation of the edges of L which admits the directed paths P and Q, a contradiction. So v 2 V (F ). Observe that every vertex of H, and therefore F, has even degree. By Lemma 2, (F ) is even, and so F is 2-edge connected. By Lemma 1, we may choose an orientation of F containing directed u-v and v-u paths, P 0 and Q 0. Now je(p 0 ) [ E(Q 0 )j je(p ) [ E(Q)j, by the minimality of je(p ) [ E(Q)j. Since je(p 0 ) [ E(Q 0 )j je(p )4E(Q)j je(p ) [ E(Q)j, we conclude that E(P )4E(Q) = E(P ) \ E(Q), so P and Q are edge-disjoint, as required. 2.5 Menger's Theorem So far we have characterized 2-edge-connected graphs and 2-connected graphs. The situation for k-connected graphs is more complicated when k > 2. For k = 3, it is possible to

give a good structural characterization of k-connected graphs, but for larger values of k no such characterization is available. The characterization for 3-connected graphs includes the following useful theorem: Theorem 2.5.1 Let G be a 3-connected graph on at least ve vertices. Then there exists an edge e 2 E(G) such that G=e is 3-connected. From this theorem, one can deduce that by a sequence of edge-contractions, every 3- connected graph can be reduced to K 4. There is no such characterization for k-connected graphs in general. Fortunately, Menger's Theorem 2.5.2 gives a necessary and sucient condition for a graph to be k-connected. Let u and v be vertices in a graph G, and let P and Q be uv-paths. Then P and Q are internally disjoint if the only vertices they have in common are u and v. A uv-separator is a set W V (G)nfu; vg such that u and v are in distinct components of G W. Theorem 2.5.2 (Menger's Theorem - Vertex Form) The minimum size of a uv-separator in a graph G is equal to the maximum number of pairwise internally disjoint uv-paths in G. In particular, a graph is k-connected if and only if each pair of its vertices is connected by k pairwise internally disjoint paths. The vertex-form of Menger's Theorem has an edge-form, for k-edge-connected graphs. A set L E(G) is a uv-edge-separator if u and v are in dierent components of G L. Theorem 2.5.3 (Menger's Theorem - Edge Form) The minimum size of a uv-edge-separator in a graph G equals the maximum size of a set of pairwise edge-disjoint uv-paths in G. In particular, a graph is k-edge-connected if and only if each pair of its vertices is connected by k pairwise edge-disjoint paths. We will not give a direct proof of the edge form of Menger's Theorem; rather it may be proved by using the vertex form of Menger's Theorem applied to line graphs (see the exercises). Proof of Theorem 2.5.2* For k = 1 the theorem is just the denition of a connected graph. Now suppose k 2. If there are k internally disjoint uv- paths in G, then clearly k vertices are required to separate u from v, as at least one vertex is required to destroy each of the internally disjoint uv-paths. Now suppose k vertices are required to separate u from v. Let G be a counterexample to the theorem with the smallest possible value of k, and with the smallest number of edges. Now u and v do not have a common neighbour x, otherwise

G x is a counterexample to the theorem with k 1 vertices separating u from v but at most k 2 internally disjoint u-v paths. Now let W be a set of k vertices separating u from v. We consider two cases. Case 1. Both u and v are not adjacent to all vertices in W { in other words there is a vertex of W which is not adjacent to u, and there is a vertex of W which is not adjacent to v. Let H u and H v be the components of G W containing u and v respectively. Note that H u and H v have each at least two vertices, by the assumption that u and v are not adjacent to all vertices in W. By the minimality of G, G=V (H u ) contains k internally disjoint wvpaths, where w is the vertex to which V (H u ) is contracted. Similarly, G=V (H v ) contains k internally disjoint ux-paths, where V (H v ) is contracted to x. Deleting w from the rst set of paths and x from the second, and taking the union of all the resulting paths, we obtain the requisite k internally disjoint uv-paths. Case 2. One of u and v is adjacent to all vertices in W. We reduce this case to Case 1. Let uu 1 u 2 u 3 : : : v be a shortest uv-path. Since u and v have no common neighbours, this path has length at least three. In particular, v is not adjacent to u 1 and u is not adjacent to u 2. If G fu 1 ; u 2 g has no uv-separator of size k 1, then by the minimality of G we have k internally disjoint uv-paths in G fu 1 ; u 2 g, and hence in G, a contradiction. So G fu 1 ; u 2 g contains a uv-separator W 0 of size k 1. Finally W i = W 0 [ u i for i 2 f1; 2g are uv-separators of size k in G, and we can assume that u is not adjacent to all vertices of W 0 (i.e some vertex of W 0 is not adjacent to u), since u and v have no common neighbours. Now both u and v are not adjacent to all vertices in W 1. So we are back in Case 1. If A and B are sets of vertices in a graph G, then an AB path is a path with one endpoint in A and the other in B, and no other vertices in A [ B. Corollary 2.5.4 (Fan Lemma) Let G be a graph with at least k + 1 vertices. Then the following statements are equivalent: 1. G is k-connected. 2. for any set X V (G) of size k and any u 2 V (G)nX, there are k paths from u to X with only the vertex u in common. 3. for any sets A; B V (G) of size k, there exist k vertex-disjoint AB paths. Proof. First suppose G is k-connected. To prove 2 from 1, let G be the graph obtained from G by adding a vertex x adjacent to all vertices in X. Since jxj k, the graph G is k-connected, by Lemma 2.1.4. By Theorem 2.5.2, there exist k internally disjoint ux paths in G. Removing x from all of these paths, we have k paths from u to X with only u in common. To prove 3 from 1, let G be the graph obtained from G by adding a vertex a adjacent to all vertices in A and a vertex b adjacent to all vertices in B. Since jaj k

and jbj k, the graph G is k-connected. By Menger's Theorem, there exist k internally disjoint ab paths in G. Removing a and b from these paths gives k vertex-disjoint AB paths in G. To prove 1 from 2, we will show that every pair of vertices of G is joined by k internally disjoint paths. Let u; v 2 V (G). If fu; vg 2 E(G), then we remove the edge fu; vg from G to get a (k 1)-connected graph. By induction on k, this graph has k 1 internally disjoint paths, so together with the edge fu; vg, we have a set of k internally disjoint uv-paths. So we assume fu; vg 62 V (G). Now u has degree at least k, since 2 provides k paths from u to any set in V (G)nfug of size k, such that the paths have only u in common. Now let X (u) have size k. By 2, there are k paths from v to X with only the vertex v in common. These paths are easily modied to give k internally disjoint paths from u to v (note that at most one of the k paths from v to X may contain u). Therefore 2 implies 1. The proof that 3 implies 1 is similar.

2.6 Exercises 1: Determine the minimum degree (G), edge connectivity (G) and vertex connectivity (G) for each of the following two graphs. You do not need to justify your answers. (a) (b) 2: (a) Prove that for any graph G, (G) (G) (G). (b) For each three positive integers d; k and ` where k ` d, nd an example of a graph where (G) = d, (G) = k and (G) = `. 3: Let G be a graph of order n k + 1 such that (G) n+k 2 2. Prove that G is k-connected. 4: Let G be a graph of maximum degree at most three. Prove that (G) = (G). 5* Let G be a 2-connected graph with m edges and n vertices. Prove that G contains at least m n+2 distinct paths connecting u and v for any pair of distinct vertices u; v 2 V (G), and at least distinct cycles. m n+2 2 6: The line graph of a graph G = (V; E) is the graph L(G) = (E; F ), where the edge set is F = ffe; fg E : e \ f 6= ;g. Prove the edge-form of Menger's Theorem by applying the vertex form of Menger's Theorem 2.5.2 to line graphs. 7: (a) Prove that every 3-connected graph contains a subdivision of K 4. Deduce that every 3-connected graph has a sequence of edge-contractions to K 4. (b) Is it true that every 4-connected graph contains a subdivision of K 5?

3 Matchings and Factors A matching in a graph is a set of pairwise disjoint edges of the graph. In this section we are interested in determining the size of a largest matching in a given graph and when a graph has a perfect matching { that is, a matching covering all its vertices. For bipartite graphs, this question is completely answered by Hall's Theorem 3.2.1 and the Konig-Ore Formula. For general graphs, Tutte's 1-Factor Theorem 3.6.1 and the Tutte-Berge Formula 3.9.1 apply. At the end of the chapter, we consider the more general notion of an f-factor in a graph: this is a spanning subgraph where the vertex degrees are prescribed by the nonnegative integer-valued function f. Some of the proofs of the main results in this chapter are algorithmic { in the sense that maximum matchings in graphs can be found very fast { see Edmonds' Matching Algorithm. It turns out that this problem can be reduced to the problem of nding perfect matchings. The problem of determining a maximum matching is related to the problems of nding largest independent sets, edge-covers and vertex covers in a graph. 3.1 Independent Sets and Covers An independent set in a graph G is a set X of vertices no pair of which is an edge of G { in other words the subgraph G[X] induced by X has no edges. The maximum size of an independent set in a graph G is denoted (G). An independent set of edges in a graph is a set of vertex-disjoint edges in the graph { a matching. The maximum size of a matching in a graph G is denoted 0 (G), and any matching of size 0 (G) is called a maximum matching in G. If the matching covers all vertices of G, then it is called a perfect matching or 1-factor of G. A vertex which is not covered by a given matching is called unsaturated or exposed, and those vertices which are covered are called saturated. A vertex cover of G is a set of vertices X V (G) such that e \ X 6= ; for every edge e 2 E(G) { in other words, a set of vertices which intersects every edge of G. The minimum size of a vertex cover of G is denoted (G). An edge cover of G is a set of edges covering every vertex of G { that is a set E E(G) such that for every vertex v 2 V (G), there is an edge of E incident with v. The minimum size of an edge-cover is denoted 0 (G). In this subsection we describe equations relating (G), 0 (G), (G) and 0 (G). Lemma 3.1.1 For any multigraph G, (G) + (G) = jv (G)j. Proof. * If I is an independent set of vertices in G, then V (G)nI is a vertex cover: every edge of G has at least one endpoint in V (G)nI since no edges have both endpoints in I. Conversely, if C is a vertex cover, then every edge is incident with C so no edges have both endpoints in V (G)nC. Therefore V (G)nC is an independent set of G. We conclude that (G) + (G) = jv (G)j.

Lemma 3.1.2 (Gallai's Lemma) Let G be a multigraph with no isolated vertices. Then 0 (G) + 0 (G) = jv (G)j. Proof. Let M be a matching in G of size 0 (G) { a maximum matching. Then no edge of G has both endpoints in V (G)nV (M), so V (G)nV (M) is an independent set of vertices. Now let us choose one edge incident with each vertex in V (G)nV (M) and all edges of M. The set of edges we get, say F, is an edge-cover of size je(m)j + jv (G)nV (M)j = jv (G)j 0 (G). Therefore 0 (G) jv (G)j 0 (G). Conversely, let F be an edge-cover of G of size 0 (G) { a minimum edge-cover. Then F e is not an edge cover for any e 2 E(F ). This means that each edge of F must cover one of its endpoints uniquely, so every edge of F has an endpoint of degree one in F. In particular, every component of F is a star { a K 1;t for some t 1 (see Figure 8). Pick one edge from each component of F to get a matching M with je(m)j equal to the number of components of F. Since all components of F are stars, 0 (G) je(f )j = jv (F )j je(m)j = jv (G)j je(m)j jv (G)j 0 (G): This completes the proof. Figure 8 : Structure of minimal edge-covers Theorem 3.1.3 (Konig's Theorem) If G(A; B) is a bipartite multigraph with no isolated vertices, then 0 (G) = (G) and 0 (G) = (G). Proof. * It is sucient to show 0 (G) = (G), by the last two lemmas. We give a proof of the theorem using Menger's Theorem 2.5.2. Add a vertex a adjacent to all vertices in A and a vertex b adjacent to all vertices in B. By Menger's Theorem 2.5.2, the maximum number of internally disjoint ab-paths in this new graph equals the minimum number of vertices required to separate a from b. The maximum number of internally disjoint paths is 0 (G), and the minimum number of vertices required to separate a from b is (G). Therefore 0 (G) = (G).

3.2 Hall's Theorem Let X be a set of vertices in a graph G. Recall that (X) denotes the neighbourhood of X, namely fy 2 V (G)nX : xy 2 E(G) for some x 2 Xg: Hall's Theorem gives a necessary and sucient condition for a bipartite graph to have a perfect matching { and in fact a matching covering all vertices of one part. There are many proofs of Hall's Theorem; we give two proofs. Theorem 3.2.1 (Hall's Theorem) Let G(A; B) be a bipartite multigraph. Then G has a perfect matching if and only if j (X)j jxj Hall 0 scondition for every set X A and every set X B. First Proof. The rst proof we give is based on Menger's Theorem 2.5.2. First we observe that jaj = jbj, since jbj j (A)j jaj and jaj j (B)j jbj. Let H be the graph obtained from G by adding a vertex a adjacent to all vertices of A and a vertex b adjacent to all vertices of B. Then G has a perfect matching if and only if there exist jaj internally disjoint paths from A to B. By Menger's Theorem 2.5.2, such paths exist if and only if the minimum number of vertices required to separate a from b is jaj. For a contradiction, suppose that there exists a set S separating a from b with jsj < jaj. Let X = AnS and Y = BnS. Now there are no edges of G between X and Y, so (X) S \B and (Y ) S \ A. Therefore Since jsj < jaj and jaj = jbj, we have jansj j (X)j js \ Bj jbnsj j (Y )j js \ Aj jansj + jbnsj = jaj + jbj jsj > jaj: So if we add the two preceding inequalities, we obtain jaj < jsj, a contradiction. Second Proof. The second proof is a direct proof, and we prove something a bit stronger: by induction on jaj, we prove that if j (X)j jxj for every set X A in a graph G, then G contains a matching saturating all vertices of A. Note that this proves Hall's Theorem, since we could apply the same statement to B to get a matching saturating all vertices of B. If jaj = 1, then the statement is true. Suppose jaj > 1. We consider two cases. The rst case is that j (X)j > jxj for all X A. In this case, pick any edge of G and remove both endpoints of that edge, say a and b. Then we obtain the bipartite graph H(Anfag; Bnfbg). In this bipartite graph, Hall's Condition holds

in Anfag, and therefore H has a matching, M, saturating all vertices of Anfag. Now M [ fa; bg is the required matching in G. The second case is that for some X A or X B, j (X)j = jxj. Let Y = (X). In this case, consider the graph G 1 (A 1 ; B 1 ) obtained from G by removing all vertices of X [ Y, and the graph G 2 (X; Y ) consisting of all edges between X and Y. Then Hall's Condition holds in G 1 and also in G 2. To see that it holds in G 1, take any set S A 1. Then: j G1 (S)j + j G2 (X)j j G (X [ S)j jx [ Sj = jxj + jsj and since j G2 (X)j = j G (X)j = jxj, we have j G1 (S)j jsj for any S A 1. By induction G 1 and G 2 have matchings, say M 1 and M 2, saturating all their vertices in A, and M 1 [ M 2 is a matching in G saturating all vertices of A. A 1-factorization of a graph G is a collection of edge-disjoint 1-factors M 1 ; M 2 ; : : : ; M r such that G = M 1 [ M 2 [ [ M r. For example, for even values of n, the complete graph K n has a 1-factorization. Corollary 3.2.2 Let G(A; B) be a k-regular bipartite multigraph, where k 1. Then G has a 1-factorization. Proof. It suces to prove that G has a perfect matching. To see this, we apply Hall's Theorem 3.2.1. For a set X A or X B, there are kjxj edges of G incident with exactly one vertex of X. There are also kj (X)j edges incident with exactly one vertex of (X). This set of edges contains all edges incident with X, so kj (X)j kjxj and Hall's Condition is satised. Therefore by Hall's Theorem 3.2.1 G has a 1-factor. 3.3 Doubly Stochastic Matrices* A natural application of this corollary is to doubly stochastic matrices. A matrix A is doubly stochastic if all its entries are non-negative and all its columns and rows have the same sum, say k. A matrix is a permutation matrix if it has exactly one non-zero entry in each row and column. Examples of a doubly stochastic matrix A and a permutation matrix P are given below: A = 0 B @ 1 1 0 0 0 1 1 0 0 0 1 1 1 0 0 1 1 C A P = 0 B @ 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 C A Corollary 3.3.1 Let A be a doubly stochastic 0-1 matrix, where all columns and rows sum to k. Then A is a sum of k permutation matrices.

Proof. The matrix A can be considered as a bipartite graph: let r 1 ; r 2 ; : : : ; r n be the rows of the matrix and c 1 ; c 2 ; : : : ; c n the columns of the matrix. Form a bipartite graph G where one part is fr 1 ; r 2 ; : : : ; r n g, the other part is fc 1 ; c 2 ; : : : ; c n g, and r i is adjacent to c j if and only if A ij = 1. Then since each row has k ones and each column has k ones, the bipartite graph is k-regular. In particular, this bipartite graph has a 1- factorization, say G = F 1 [ F 2 [ [ F k. Now let P m be the matrix whose ijth entry is 1 if and only if fi; jg 2 F m. Then P m is a permutation matrix for m 2 f1; 2; : : : ; kg and A = P 1 + P 2 + + P k, as required. A more general fact is left as an exercise: if A is any doubly stochastic matrix, and the rows and columns sum to 1, then A is contained in the convex hull of the set of permutation matrices, namely A = 1 P 1 + + N P N where P i is a permutation matrix and i 0 for all i and P i = 1. 3.4 Systems of Distinct Representatives* Another application of Hall's Theorem 3.2.1 is to systems of distinct representatives. Let S 1 ; S 2 ; : : : ; S n be nite sets. A system of distinct representatives (abbreviated SDR) for S 1 ; S 2 ; : : : ; S n is a set fs 1 ; s 2 ; : : : ; s n g such that s i 2 S i for all i. For example, the sets f1; 2; 3g, f2g, f3g have a system of distinct representatives whereas f1; 2; 3g, f2; 3g, f1; 3g, f2g do not. Corollary 3.4.1 Let S = fs 1 ; S 2 ; : : : ; S n g be a family of nite sets. Then S has a system of distinct representatives if and only if for all I f1; 2; : : : ; ng, [ S i jij: i2i Proof. Let A = S and B = f1; 2; : : : ; ng. Then the bipartite graph G(A; B), where a 2 A is joined to b 2 B if b 2 A, satises Hall's Condition, and therefore has a perfect matching. A perfect matching in this bipartite graph is equivalent to a system of distinct representatives for S. In the proof of this corollary, we gave a one-to-one correspondence between bipartite graphs and collections of sets. For a given collection of sets S, the graph so formed is often called the bipartite incidence graph of S. Since a bipartite k-regular graph has a perfect matching, we see that if S is a collection of sets such that each set S 2 S has size k, and each point in S fs : S 2 Sg is contained in exactly k sets in S, then S has a system of distinct representatives, since the bipartite incidence graph is k-regular.

3.5 Konig-Ore Formula Hall's Theorem 3.2.1 gives a formula for nding 0 (G) in a bipartite graph. For a bipartite graph G(A; B), dene ex(g; A) = jaj 0 (G): this is the number of vertices of A exposed by a maximum matching. Hall's Theorem 3.2.1 gives a formula for ex(g; A): Theorem 3.5.1 (Konig-Ore Formula) Let G(A; B) be a bipartite graph. Then ex(g; A) = maxfjsj j (S)jg: SA Proof.* Let d be the left hand side of the identity in the corollary. Add d vertices to B, all adjacent to all vertices of A. Then Hall's Condition { namely j (X)j jxj for all X A { is satised in this new graph, so it has a matching covering all vertices of A, by Hall's Theorem 3.2.1. It follows that G has a matching of size at least jaj d. Therefore ex(a) d. Conversely, if M is a matching of size jaj ex(a), then each set S A has at least jsj ex(a) neighbours in B. In other words, j (S)j jsj ex(a) so d jsj j (S)j ex(a), as required. As an exercise, one can prove that a bipartite graph G(A; B) of minimum degree and maximum degree contains a matching of size at least jaj=. 3.6 Tutte's 1-Factor Theorem There is a natural condition for a graph G to have a perfect matching: if S is a set of vertices of G and H 1 ; H 2 ; : : : ; H r are the odd components of G S, then none of the H i can have a perfect matching, so each sends at least one edge of a perfect matching to S. In particular jsj r, so we have for all S V (G), jsj odd(g S): Note that if S = ;, this asserts that G has an even number of vertices. Tutte's Theorem shows, remarkably, that this is also a sucient condition. Theorem 3.6.1 (Tutte's 1-Factor Theorem) Let G be a graph. Then G has a perfect matching if and only if for every set S V (G). jsj odd(g S) T utte 0 scondition

Proof.* The proof we give is by induction on jv (G)j, the case jv (G)j = 2 being trivial. Let S be the largest subset of G such that equality holds in jsj odd(g S). Such an S exists, because jv (G)j is even, and so G s has at least one odd component for each s 2 V (G). Let F and H denote generic odd and even components of G S. Claim 1. The graph H has a 1-factor. For any R V (H), as required we have: odd(h R) + odd(g S) = odd(g R [ S) jrj + jsj: By induction H has a 1-factor. Claim 2. The graph F 0 = F v has a 1-factor for any v 2 V (F ). By induction, if this is false, then there exists a set Q V (F 0 ) such that odd(f 0 Q) > jqj. Now for any set R V (F ), odd(f R) + jrj jv (F )j 1 mod 2 since F has an odd number of vertices (this step is really key to the proof). Therefore odd(f 0 Q) jqj + 2, and so if T = S [ fvg [ Q, then jt j odd(g T ) = odd(g S) 1 + odd(f 0 Q) jsj + jqj + 1: This shows odd(g T ) = jt j, contradicting the maximality of S, and the claim is proved. Claim 3. Let G(S; C) be the bipartite graph formed from G by contracting each odd component of G S to a single vertex, and taking all edges with one end in S and one end in the set C of contracted vertices. Then G(S; C) has a perfect matching. To prove this, we use Hall's Theorem 3.2.1: for every set X C, jxj = odd(g (X)) j (X)j as required. Since jsj = jcj = odd(g S), there is a 1-factor in G(S; C). To complete the proof of Tutte's 1-Factor Theorem, put together all the 1-factors that we found in Claims 1{3. Let M 1 ; M 2 ; : : : ; M r be 1-factors in the even components of G. Now let M be a 1-factor in G(S; C). Then the edges of M form a matching in G, and for each odd component H i of G S, for i 2 f1; 2; : : : ; sg where s = odd(g S), there is exactly one vertex of H, say v i, incident with an edge of M. Now Claim 2 gives a 1-factor N i in H v i. Then M [ M 1 [ [ M r [ N 1 [ N 2 [ [ N s is a perfect matching of G.

M Even components Matching Mi! H i v i Odd components Matching Ni Figure 9 : The proof of Tutte's Theorem. An alternative, shorter proof of Tutte's 1-Factor theorem was given by Lovasz, and is standard in many books. We give a simple example of an application of Tutte's Theorem to nding matchings in graphs with large minimum degree: Theorem 3.6.2 * Let G be a graph on 2n vertices of minimum degree at least n. Then G has a perfect matching. Proof. We have to check Tutte's Condition: jxj odd(g X) for all sets X V (G). Since G has minimum degree at least n and 2n vertices, G is connected by assignment 1 question 4. In particular, G is its own even component, so odd(g X) = 0 when X is empty. So Tutte's Condition holds for X = ;. Now suppose X is not empty. If jxj n, then we are done since the number of components of G X is at most 2n jxj n (they could all have one vertex in the worst case), so Tutte's Condition holds in that case. Next suppose 0 < jxj < n, and let F be any component of G X. Then every vertex of F has at most jxj neighbours in X (see illustration), so every vertex of F has degree at least n jxj in F. In particular, jv (F )j n jxj + 1. So we've proved that every component of G X has at least n jxj + 1 vertices. If there are k jxj + 1 components in G X, then the number of vertices in G is at least k(n jxj + 1) + jxj (jxj + 1)(n jxj + 1) + jxj jxjn + n jxj 2 + jxj + 1 2n + 1: But jv (G)j = 2n. This contradiction shows that jxj k = odd(g X), as required. Since K n+1;n 1 does not have a perfect matching, the theorem really requires the minimum degree n, and n 1 will not do.

3.7 Factors in Regular Graphs* In the last section we gave an example of a cubic graph with no perfect matching. However, the cubic graph has three bridges (see Figure 9), and bridges restrict the possibilities for a perfect matching { it is not hard to see that every bridge of a cubic graph is contained in all perfect matchings of the graph. An r-regular graph is a graph in which all vertices have degree r, and a cubic graph is a graph in which all vertices have degree three. A graph is bridgeless if and only if it has no bridges { that means that every one of its components is 2-edge-connected. Theorem 3.7.1 (Petersen's Theorem) Any cubic bridgeless graph has a 1-factor. Proof. We have to check Tutte's Condition. Pick a set S V (G). If S = ;, then Tutte's Condition holds since G has an even number of vertices and is connected. Then there are at least two edges from S to each odd component of G S. If H is an odd component of G S, then it contains an even number of vertices of degree three, so it must send to S an odd number of edges. It must send at least three edges. So we have 3r edges out of odd components. On the other hand, G is cubic so jsj r, as required. An extension of Petersen's Theorem is that we can actually allow at most two bridges and still nd a 1-factor. In fact every (r 1)-edge-connected r-regular graph has a 1- factor. This we leave as an exercise since the proof is similar to Petersen's Theorem. As an exercise, it is possible to construct an (r 2)-edge-connected r-regular graph with no 1-factors. In case r = 3 the following cubic graph has no matching of size more than fourteen, and the graph has sixteen vertices: Figure 10 : A cubic graph with no perfect matching A natural generalization of a 1-factor is a d-factor. A d-factor of a graph is a spanning d-regular subgraph. For example, we showed that every k-regular bipartite graph has a 1-factorization (see Corollary 3.2.2), which means that if we take any d of the 1-factors in