introduction to graph theory - ucsd mathematicsjverstra/342.pdf · 1 introduction throughout these...
TRANSCRIPT
![Page 2: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/2.jpg)
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 in�nite. 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.
![Page 3: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/3.jpg)
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 dG(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
Xv2V (G)
dG(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 Kn denote the complete graph on n vertices: this is the graph consisting of all�n2
�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 Ks;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 K1;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
di�ering 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.
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)
thenH is called a spanning subgraph of G. The subgraph of G induced by a setX � V (G)
![Page 4: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/4.jpg)
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 K1;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 K1
and K2, and G � y is K3. 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, de�ned
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, Kn=e = Kn�1 for
any edge e 2 Kn and any n � 2. Another example is given below.
XY
G=X
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 Pe : e 2 E(H)
where Pe 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
![Page 5: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/5.jpg)
preceding it and succeeding it in the sequence. For example,
afa; dgdfd; egefe; agafa; dgcis 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 isa 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 di�erent cycles are adea, abea, bcdeb,
adeba, adcba, aedcba, and aebcda.
a
c
b
d
e
Figure 3 : Walks, paths and cycles.
1.6 Connected Graphs
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= K1 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 de�ne the complete graph
K1 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.
![Page 6: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/6.jpg)
Figure 4 : Components.
The following elementary proposition gives necessary and su�cient conditions for a graph
to be connected:
Proposition 1.6.1 Each of the following is equivalent to a graph G 6= K1 being con-
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.
![Page 7: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/7.jpg)
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= K1
is k-connected if and only if �(G) � k and disconnected if and only if �(G) = 0. As an
example, notice that �(Kn) = n�1 for all n � 1 { by convention K1 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.
![Page 8: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/8.jpg)
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 G1 and G2. The number of vertices of odd degree in G1 is even, by the
handshaking lemma. On the other hand, this number is congruent modulo two to the
number of vertices of G1 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 ear-
decomposition. 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.
![Page 9: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/9.jpg)
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 G0 � G1 � � � � � Gt such that G0 is a cycle,
Gt = G, and Gi is obtained from Gi+1 by removing the internal vertices of some ear in
Gi+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 re exivity, 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 de�ne
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 de�nition 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 P1; P2 � D from u to V (C) and v to V (C), such that P1
and P2 are internally disjoint from C (see Figure 6). Similarly, we can �nd vertex-disjoint
![Page 10: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/10.jpg)
paths Q1; Q2 � C from s to V (D) and t to V (D) such that Q1; Q2 are internally disjoint
from D. Now
P1 [ P2 [Q1 [Q2 + e+ g
is a cycle containing e and g, as required.
e
gC
D
P1
P2
Q1
Q2
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 e0 = fx0; x1g and ek = fxk; xk+1g be edges
of G. We have to show e0 � ek. Since G is connected, there is a path P � G of the form
x0e0x1e1x2e2 : : : xkekxk+1 Since G � xi is connected, there is a path in G � xi from xi�1to xi+1, which means that ei�1 and ei are contained in a common cycle in G, for all i. In
other words, ei�1 � ei for all i. But by transitivity, this means e0 � ek, 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 di�erent 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 sub-
graph of G with an ear decomposition. Since G contains a cycle, and a cycle exists, H
![Page 11: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/11.jpg)
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 2E(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�m�n+2
2
�di�erent cycles.
2.3 Ear Decomposition II
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, G0 � G1 � � � � � Gt such that
G0 is a cycle, Gt = G, and Gi+1 = Gi [ P for a path P internally disjoint from Gi or
Gi+1 = Gi [ C for a cycle C with exactly one vertex in common with Gi.
C
G
![Page 12: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/12.jpg)
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 su�cient 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 de�nition 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; : : : ; ngand 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 Kn, 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.
![Page 13: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/13.jpg)
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 Q0. Now jE(P 0) [ E(Q0)j � jE(P ) [ E(Q)j, by the minimality of
jE(P ) [ E(Q)j. Since jE(P 0) [ E(Q0)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 situ-
ation for k-connected graphs is more complicated when k > 2. For k = 3, it is possible to
![Page 14: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/14.jpg)
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 K4. There is no such characterization for k-connected
graphs in general.
Fortunately, Menger's Theorem 2.5.2 gives a necessary and su�cient 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 setW � 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 di�erent 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 de�nition 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
![Page 15: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/15.jpg)
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 Hu and Hv be the components of G�W containing u and v respectively. Note that Hu
and Hv 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 (Hu) contains k internally disjoint wv-
paths, where w is the vertex to which V (Hu) is contracted. Similarly, G=V (Hv) contains
k internally disjoint ux-paths, where V (Hv) 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 uu1u2u3 : : : 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 u1 and u is not adjacent to u2. If G � fu1; u2g has no uv-separator of size
k� 1, then by the minimality of G we have k internally disjoint uv-paths in G�fu1; u2g,and hence in G, a contradiction. So G�fu1; u2g contains a uv-separator W0 of size k�1.
Finally Wi = W0 [ ui 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 W0 (i.e some vertex of W0 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 W1. 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
![Page 16: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/16.jpg)
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 modi�ed 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.
![Page 17: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/17.jpg)
2.6 Exercises
1: Determine the minimum degree �(G), edge connectivity �(G) and vertex connec-
tivity �(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�22
. 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�m�n+2
2
�distinct cycles.
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 K4. Deduce that
every 3-connected graph has a sequence of edge-contractions to K4.
(b) Is it true that every 4-connected graph contains a subdivision of K5?
![Page 18: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/18.jpg)
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 K�onig-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 non-
negative 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: everyedge 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.
![Page 19: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/19.jpg)
Lemma 3.1.2 (Gallai's Lemma) LetG 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 K1;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 (K�onig'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 su�cient 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).
![Page 20: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/20.jpg)
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 su�cient 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 Hall0sCondition
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 acontradiction, suppose that there exists a set S separating a from b with jSj < jAj. LetX = AnS and Y = BnS. Now there are no edges of G between X and Y , so �(X) � S\Band �(Y ) � S \ A. Therefore
jAnSj � j�(X)j � jS \BjjBnSj � j�(Y )j � jS \ Aj
Since jSj < jAj and jAj = jBj, we have
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
![Page 21: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/21.jpg)
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 G1(A1; B1)
obtained from G by removing all vertices of X [ Y , and the graph G2(X; Y ) consisting
of all edges between X and Y . Then Hall's Condition holds in G1 and also in G2. To see
that it holds in G1, take any set S � A1. 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 � A1. By
induction G1 and G2 have matchings, say M1 and M2, saturating all their vertices in A,
and M1 [M2 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 M1;M2; : : : ;Mr
such that G =M1[M2[ � � � [Mr. For example, for even values of n, the complete graph
Kn 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 su�ces 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 satis�ed. 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 =
0BBB@
1 1 0 0
0 1 1 0
0 0 1 1
1 0 0 1
1CCCA P =
0BBB@
0 1 0 0
0 0 1 0
0 0 0 1
1 0 0 0
1CCCA
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.
![Page 22: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/22.jpg)
Proof. The matrix A can be considered as a bipartite graph: let r1; r2; : : : ; rn be the
rows of the matrix and c1; c2; : : : ; cn the columns of the matrix. Form a bipartite graph
G where one part is fr1; r2; : : : ; rng, the other part is fc1; c2; : : : ; cng, and ri is adjacent
to cj if and only if Aij = 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 = F1 [ F2 [ � � � [ Fk. Now let Pm be the matrix whose ijth entry is
1 if and only if fi; jg 2 Fm. Then Pm is a permutation matrix for m 2 f1; 2; : : : ; kg and
A = P1 + P2 + � � �+ Pk, 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 = �1P1 + � � �+ �NPN
where Pi is a permutation matrix and �i � 0 for all i andP
�i = 1.
3.4 Systems of Distinct Representatives*
Another application of Hall's Theorem 3.2.1 is to systems of distinct representatives. Let
S1; S2; : : : ; Sn be �nite sets. A system of distinct representatives (abbreviated SDR) for
S1; S2; : : : ; Sn is a set fs1; s2; : : : ; sng such that si 2 Si 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 = fS1; S2; : : : ; Sng be a family of �nite sets. Then S has a
system of distinct representatives if and only if for all I � f1; 2; : : : ; ng,�����[i2I
Si
����� � jIj:
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, satis�es 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 inSfS : 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.
![Page 23: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/23.jpg)
3.5 K�onig-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), de�ne 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 (K�onig-Ore Formula)
Let G(A;B) be a bipartite graph. Then
ex(G;A) = maxS�A
fjSj � j�(S)jg:
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 forall X � A { is satis�ed 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 H1; H2; : : : ; Hr are the odd components of G� S, then none of the Hi
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 su�cient 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
jSj � odd(G� S) Tutte0sCondition
for every set S � V (G).
![Page 24: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/24.jpg)
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 setQ � 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)jas 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 M1;M2; : : : ;Mr 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 Hi of G� S, for i 2 f1; 2; : : : ; sg where s = odd(G� S), there is exactly
one vertex of H, say vi, incident with an edge of M . Now Claim 2 gives a 1-factor Ni in
H � vi. Then
M [M1 [ � � � [Mr [N1 [N2 [ � � � [Ns
is a perfect matching of G.
![Page 25: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/25.jpg)
Even components
Matching Mi !Odd components
Matching Ni
vi
Hi
M
Figure 9 : The proof of Tutte's Theorem.
An alternative, shorter proof of Tutte's 1-Factor theorem was given by Lov�asz, 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� jXj2 + jXj+ 1
� 2n+ 1:
But jV (G)j = 2n. This contradiction shows that jXj � k = odd(G�X), as required.
SinceKn+1;n�1 does not have a perfect matching, the theorem really requires the minimum
degree n, and n� 1 will not do.
![Page 26: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/26.jpg)
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 = ;, thenTutte'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
![Page 27: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/27.jpg)
a 1-factorization, we get a d-factor. So every k-regular bipartite graph has a d-factor for
all d � k. Our aim here is to prove that every 2k-regular graph has a 2d-factor for any
d � k. To do so, we need the notion of an eulerian tour. An eulerian tour of a graph G
is a closed walk with no repeated edges such that every edge in the graph is contained in
the walk, and a graph with an eulerian tour is called eulerian. It is clear that all vertices
in an eulerian graph must have even degree, but this necessary condition turns out also
to be su�cient:
Theorem 3.7.2 (Euler's Theorem)
Let G be a connected multigraph in which all vertices have even degree. Then G has an
eulerian tour.
The proof of this theorem is fairly straightforward: one proves that a maximal closed walk
in G which does not repeat edges must in fact be eulerian { otherwise we could extend
the walk). In loose terms, this says that we can draw the graph in the plane without
lifting our pen. If we are given a graph with exactly two vertices of odd degree, then we
can �nd an eulerian trial: a walk which does not repeat edges, and starts at one vertex
and ends at the other, using all the edges of the graph. For example, an eulerian trail is
shown in the graph below:
Theorem 3.7.3
Let d � k be non-negative integers. Then
1. Every 2k-regular with an even number of nodes has a k-factor.
2. Every 2k-regular graph has a 2d-factor.
Proof. 1. If G is 2k-regular and connected, then G has an eulerian tour. Now delete
every second edge in an eulerian tour of G (we can do this since the number of edges in the
graph is djV (G)j which is even by, assumption) to obtain a k-regular spanning subgraph
{ that is, a k-factor.
2. We may assume G is connected, otherwise we pass to the components of G. Orient
the edges of an eulerian tour of G consistently, from the �rst to the last vertex of the tour
(this is called a pseudosymmetric orientation of G). Then form a bipartite graph H with
parts A = V (G) and B = V (G) where fa; bg 2 H if the edge fa; bg 2 G was directed from
a to b, where a 2 A and b 2 B. Then this bipartite graph is k-regular, so by Corollary
3.2.2, it has a 1-factor. A 1-factor of H clearly corresponds to a 2-factor of G, since a
vertex v 2 V (G) is incident with exactly two edges of any 1-factor of H. Now we remove
2-factors from G until we �nd a 2d-factor.
![Page 28: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/28.jpg)
3.8 The f-Factor Theorem*
Let G be a graph and let f : V (G)! N be any function. An f -factor of G is a subgraph
H of G such that the degree of vertex v 2 V (G) in H is f(v). For example, if f(v) = 1
for all v 2 V (G), then an f -factor corresponds to a perfect matching. A k-factor is an
f -factor where f(v) = k for all v 2 V (G).
Remarkably, Tutte's 1-Factor Theorem 3.6.1 can be extended to give a necessary and
su�cient condition for a graph to have an f -factor. For a graph G in which we wish to
�nd an f -factor, we construct an auxiliary graph Gf such that if Gf has a 1-factor, then
G has an f -factor. Let f : V (G) ! N be any function, and suppose we want to �nd
an f -factor in G. The �rst step in constructing Gf is to replace each edge e 2 E(G)
by a path Pe of length three with the same endpoints as e such that the paths of length
three are pairwise internally disjoint. Let this new graph be denoted by G0 (see Figure
11). Now for each vertex v 2 V (G), we replace v with (or split into) a set of f(v) new
vertices, and join all f(v) new vertices to all neighbours of v in G0 to obtain Gf . These
new sets of vertices will be denoted S(v). The graph Gf is said to be constructed from G
by vertex-splitting. An illustration is given below with f(x1) = 2, f(x2) = 1, f(x3) = 1,
f(y1) = 2, f(y2) = 2.
x1
x2
x3 G0
y1
y2
S(x1)S(y1)
Gf
Figure 11 : Vertex Splitting
Note that if we contract the sets S(v) in Gf , we obtain G0, so in this sense splitting is
the inverse of contraction.
Lemma 3.8.1 Let f : V (G)! N, and let Gf be constructed from G by vertex-splitting.
Then Gf has a 1-factor if and only if G has an f -factor.
Proof* First suppose Gf has a 1-factor. Let H be the subgraph of Gf spanned by
the edges of this 1-factor. Let H0 � G0 be obtained from H by contracting each set
![Page 29: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/29.jpg)
S(v) � V (H) to a single vertex. Now for all e 2 E(G), either the middle edge of Pe is
in H0 or the �rst and last edges of Pe are in H0, since H is a 1-factor of G. The number
of edges e 2 E(G) incident with v 2 V (G) such that jE(Pe) \ E(H0)j = 2 is exactly
jS(v)j = f(v), since H is a 1-factor in Gf . Let
F = fe 2 E(G) : jE(Pe) \ E(H0)j = 2g:
Then the degree of v 2 V (F ) is f(v), and F is an f -factor of G. Next suppose F � G
is an f -factor. De�ne H0 so that the �rst and last edge of Pe are in H0 if and only if
e 2 E(F ), and the middle edge of Pe is in H0 if and only if e 62 E(F ). It is now easy to
construct a 1-factor of Gf from H0.
Using this lemma, a necessary and su�cient condition can be presented for a graph to
have an f -factor: one just translates Tutte's 1-Factor Theorem 3.6.1 for the graph Gf
to the graph G. However, the formula is complicated, so for simplicity we restrict our
attention to f -factors in bipartite graphs.
Theorem 3.8.2 (Bipartite f-factor theorem)
Let G(A;B) be a bipartite graph and let f : V (G)! N be any function. Then G has an
f -factor if and only if the following two conditions hold for any set X � A and Y � B:
1:P
x2A f(x) =P
y2B f(y)
2:P
x2X f(x) � e(X; Y ) +P
y2BnY f(y):
Proof* Suppose G has an f -factor, F . ThenP
x2A f(x) = jE(F )j = Py2B f(y) and
this gives Theorem 3.8.2.1. To prove Theorem 3.8.2.2 let X � A and Y � B. Let m(Y )
be the number of edges of F between X and Y . Then
m(B) =Xx2X
f(x) = m(Y ) +m(BnY ):
Now Theorem 3.8.2.2 follows since m(Y ) � e(X; Y ) and m(BnY ) �Py2BnY f(y).
Assume Theorem 3.8.2.1 and Theorem 3.8.2.2 hold and let Gf be constructed from G by
vertex-splitting. If Af and Bf are the parts ofGf , then Theorem 3.8.2.1 shows jAf j = jBf j.We now prove that j�(X�)j � jX�j for all setsX� � Af , and deduce thatGf has a 1-factor,
by Hall's Theorem 3.2.1. By Lemma 3.8.1, this gives an f -factor in G. Let
X = fx 2 A : S(x) \X� 6= ;g and Y = fy 2 B : �(X�) \ S(y) = ;g:
In words, X is the set of vertices of A obtained from X� when we contract all the sets
S(x) for x 2 A, and Y is the set of vertices of B obtained from �(X�) when we contract
![Page 30: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/30.jpg)
all the sets S(y) for y 2 B. Let Z be the set of vertices of X� which are internal vertices
of the paths Pe. Since S(x) has size f(x), jX�j =Px2X f(x) + jZj. By Theorem 3.8.2.2,
j�(X�)j � e(X; Y ) + jZj+X
y2BnY
f(y) � jX�j:
This completes the proof.
A bipartite graph G(A;B) is said to be (r; s)-regular if every vertex of A has degree r and
every vertex of B has degree s. As an example of an application of the bipartite f -factor
theorem, we prove that every (r; s)-regular bipartite graph has an (a; b)-regular spanning
subgraph provided as = br and a � r, b � s.
Corollary 3.8.3 * Let G(A;B) be an (r; s)-regular bipartite graph, and let a and b be
non-negative integers such that as = br. Then G has a spanning (a; b)-regular bipartite
graph.
Proof. De�ne f(x) = a for x 2 A and f(y) = b for y 2 B. We have to �nd an f -factor
in G, so we check the conditions (1) and (2) of Theorem 3.8.2. Condition (1) holds since
rjAj = sjBj = jE(G)j andXx2A
f(x) = ajAj = a
rjE(G)j = as
rjBj = bjBj =
Xy2B
f(y):
Now we check (2): let X � A and Y � B. Then
Xx2X
f(x)�X
y2BnY
f(y) = ajXj � bjBnY j:
We have to prove that e(X; Y ) is at least this quantity. Now as every vertex of B has
degree s in G, we have
e(X;BnY ) � sjBnY j:Therefore
e(X; Y ) = e(X;B)� e(X;BnY )� rjXj � sjBnY j= ajXj � sa
rjBnY j
= ajXj � bjBnY j:
This completes the proof.
![Page 31: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/31.jpg)
3.9 Tutte-Berge Formula
The Tutte-Berge Formula is the analog of the K�onig-Ore Formula for non-bipartite graphs,
and gives a method for �nding �0(G). We de�ne ex(G) to be the minimum number of
vertices of G exposed by a matching of G { thus ex(G) = jV (G)j � 2�0(G).
Theorem 3.9.1 (Tutte-Berge Formula)
For any graph G,
ex(G) = maxS�V (G)
fodd(G� S)� jSjg:
The proof of this theorem is left as an exercise. The theorem can be used to give lower
bounds on �0(G) for various graphs. For example, we apply the Tutte-Berge Formula
3.9.1 to cubic graphs { graphs where all the vertices have degree three { to get a lower
bound on �0(G):
Theorem 3.9.2 *
Let G be a cubic graph on n vertices. Then G has a matching of size at least 7n16.
Proof. It may be assumed that G is connected, otherwise we pass to the components
of G. We have to �nd an upper bound for ex(G), namely ex(G) � n=8. By the Tutte-
Berge Formula 3.9.1, this is the same as showing odd(G � X) � jXj � n=8 for all sets
X � V (G). Let X � V (G) have size , and let � be the number of odd components of
G � X with at most three vertices, and � be the number of odd components of G � X
with at least �ve vertices. Let's call these �-components and �-components, respectively.
Then odd(G�X)�jXj = �+�� . Now each �-component H of G is K1 or K3 or a path
on three vertices. In each case, since G is cubic, e(V (H); X) � 3. Each �-component F
of G has e(V (F ); X) � 1. On the other hand, e(X; V (G)nX) � 3jXj, since every vertex
of X has degree three. Therefore
3� + � � 3 :
Next we observe that there are n� vertices in G�X, but also at least �+ 5� vertices
in G�X, so
� + 5� � n� :
We want to maximize �+�� subject to the above two inequalities. It is not hard to see
that we must have � = 0, � = 3n=16 and = n=16, in which case ex(G) = �+�� = n=8,
as required.
In fact, one can show that for an r-regular graph
ex(G) �
8>>><>>>:
n
r + 1if r is even
(r � 1)n
(r + 1)2if r is odd:
![Page 32: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/32.jpg)
The proof is similar to Theorem 3.9.2, and is left as an exercise. These results cannot be
improved: for example Theorem 3.9.2 is best possible: if we take k copies of the graph
shown in Figure 10, we get a cubic graph on n = 16k vertices with no matching of size
more than 7k = 7n=16.
3.10 Matching Algorithms*
In bipartite graphs, K�onig's Theorem gives a practical way to �nd a maximum matching,
using the notion of an augmenting path. An alternating path in a graphG with a matching
M is a path whose every alternate edge is in M . An augmenting path for a matching M
is an alternating path whose �rst and last edges are not in M .
Theorem 3.10.1 (Berge)
A matching M in a graph G is a maximum matching if and only if M does not admit any
augmenting paths.
Proof. IfM is a maximum matching, it clearly admits no augmenting path. Conversely,
suppose M is a matching which does not admit an augmenting path, and jM j < jN j forsome maximum matching N . Then M [ N is a graph of maximum degree at most two,
and so all the components of M [ N are paths or cycles (a linear forest). But since
jN j > jM j, and any cycle in M [ N has as many edges of M as of N , there must be a
path P such that jE(P ) \M j < jE(P ) \ N j. This means that the �rst and last edge of
the path are in N , and so the path augments M , a contradiction.
K�onig's matching algorithm (also known as the Hungarian Method) is as follows: start
with the set of exposed vertices with respect to a matching M , and grow all alternating
paths in G, starting at the exposed vertices. At some point, an alternating path must
become an augmenting path, unlessM is already a maximum matching. Having found an
augmenting path, we �nd a larger matching than M and repeat the process. The details
of implementation are omitted.
The situation for general graphs is more complicated. In the case of general graphs, the
algorithm we present is known as Edmonds' Matching Algorithm. The idea is similar to
K�onig's Algorithm, except that the following lemma is needed:
Lemma 3.10.2 (Cycle Shrinking) Let G be a graph and let C be an odd cycle in G.
Suppose that M is a matching in G such that every edge of M contains two vertices or
no vertices of C. Let M 0 be the matching in G=V (C) obtained from M . Then M is a
maximum matching in G if and only if M 0 is a maximum matching in G=V (C).
Similar to K�onig's Algorithm, Edmonds' Algorithm begins with the construction of an
alternating forest, each of whose components is rooted at a vertex exposed by a matching
![Page 33: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/33.jpg)
M . Those vertices at even distance from the roots are called outer vertices, the rest are
called inner vertices. Let F be a maximal alternating forest in G, with respect to M . It
is clear that no outer vertex of F is joined to a vertex of V (G)nV (F ), otherwise we couldadd that vertex as an inner vertex of F and get a larger forest. Also no edge of G joins
two di�erent components of F , else we could add such an edge to make F larger. Finally
we consider an edge e of G joining two vertices of F . By maximality of F , F + e contains
an odd cycle, C. We now apply Lemma 3.10.2 and contract C and repeat. An example
is shown below.
![Page 34: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/34.jpg)
3.11 Exercises
1: Prove that in a bipartite graph, the condition odd(G � X) � jXj implies Hall's
Condition, without using Tutte's 1-Factor Theorem.
2: In each case, prove that the graph G has a perfect matching when G is
(a) a 2n� 2n bipartite graph of minimum degree at least n.
(b) a 2n-vertex graph of minimum degree at least n.
(c) a 2n-vertex 2-connected graph not containing an induced K1;3.
3: Let G be a 2r-regular graph on n vertices and ; 6= X � V (G).
(a) Show that at most jXj components of G�X have at most 2r vertices.
(b) Via the Tutte-Berge Formula 3.9.1, show that �0(G) � n2(1� 1
2r+1).
(c) Find in�nitely many examples with �0(G) = n2(1� 1
2r+1).
4: Let G(A;B) be a bipartite graph such that jBj = kjAj, and let f(x) = k for all
x 2 A and f(y) = 1 for all y 2 B. Prove that G has an f -factor if and only if
j�(X)j � kjXj for each set X � A.
5. Let G(A;B) be an n by n bipartite graph with j�(X)j � minfkjXj; ng for all setsX � A and X � B. Prove that G has a k-factor.
6* A square matrix A is doubly stochastic if each of its entries is non-negative and
every row and every column of A has the same sum, s. A permutation matrix is a
matrix with exactly one non-zero entry in each row and column. Prove that if A
is a doubly stochastic, then
A = �1P1 + �2P2 + � � �+ �kPk
where each Pi is a permutation matrix, and �i � 0 are reals satisfyingPk
i=1 �i = s.
7. (a) Prove that every (r�1)-edge-connected r-regular graph has a 1-factor for r � 2.
(b) Find an example of an r-regular (r�2)-edge-connected graph with no 1-factor,
for each r � 2.
![Page 35: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/35.jpg)
4 Flows and Cuts
In a digraph ~G = (V; ~E), let �+(x) and ��(x) denote the sets of vertices adjacent from x
and to x, respectively. Thus
�+(x) = fy : (x; y) 2 ~Eg ��(x) = fy : (y; x) 2 ~Eg:Let s; t 2 V (G). A static (s; t)- ow is a function f : ~E ! R0 such that for all x 2 V nfs; tg:
Xy2�+(x)
f(x; y) =X
y2��(x)
f(y; x)
This last requirement is known as Kircho�'s Law. The ow in an arc e 2 ~E is f(e). The
value of the ow f from s to t is de�ned by
v(f) =X
y2�+(s)
f(s; y)�X
y2��(s)
f(y; s):
Lemma 4.0.1 For any (s; t)- ow f ,
v(f) =X
y2��(t)
f(y; t)�X
y2�+(t)
f(t; y):
Proof. This follows from Kircho�'s Law. First note that
Xx2V (G)nfs;tg
24 Xy2�+(x)
f(x; y)�X
y2��(x)
f(y; x)
35 = 0:
In the bracketed term, the ow f(e) through an arc e is counted once with positive sign
and once with negative sign, except for arcs containing s or t. So the sum is exactly
Xx2fs;tg
24 Xy2��(x)
f(y; x)�X
y2�+(x)
f(x; y)
35 = 0
which gives the lemma.
4.1 The Max-Flow Min-Cut Theorem
The aim of this section is to give a formula for v(f) when each arc can accept only a
limited ow. The capacity of an arc e 2 ~E is denoted c(e), and we required that the ow
f(e) in arc e is at most c(e) for every arc e 2 ~E. An example of a network with capacities
is shown below.
![Page 36: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/36.jpg)
s t
2
1
2
1
2
Figure 11 : Flows and cuts
In the network in Figure 11, we could assign a ow of 1 in every arc except the top left
and lower right arc of capacity 2, where the ow can be made 2. It is easily checked that
this is a ow, and its value is 3. It turns out that this is a maximum ow. The max- ow
min-cut theorem gives an algorithm for �nding the largest ow in terms of cuts in any
network
If S � V and s 2 S and t 62 S, then the cut induced by S is the set of arcs from S to
V nS. This set of arcs is denoted (S; S), and is called an (s; t)-cut. The capacity of S is
c(S; S) =X
e2(S;S)
c(e):
Evidently c(S; S) � v(f) for any ow f . The main theorem of this section states that
equality holds for minimum cuts and maximum ows. A minimum (s; t)-cut is an (s; t)-cut
(S; S) with a minimum value of c(S; S). For example, in Figure 11, a minimum cut, such
as (fsg; V nfsg), has size three. A maximum (s; t)- ow is an (s; t)- ow with maximum
value. It is an exercise to check that the set fv(f) : f is an (s; t)- owg has a maximum
value.
Theorem 4.1.1 (Max-flow Min-cut Theorem)
The maximum value of an (s; t)- ow equals the minimum value of an (s; t)-cut.
Proof. Let f be a maximum ow. Then v(f) � c(S; S) for every S with s 2 S and
t 62 S, so v(f) is at most the capacity of a minimum cut. We show that some cut has
capacity v(f) by de�ning a set S � V with c(S; S) = v(f). De�ne S as follows: �rst put
s into S. Then for every arc (x; y) such that x 2 S and c(x; y) > f(x; y), put y 2 S,
and for every arc (y; x) with x 2 S and f(y; x) > 0, put y 2 S. We claim t 62 S and
c(S; S) = v(f). Suppose that t 2 S. Then there exists a path x1x2 : : : xr where xi 2 S for
all i and x1 = s and xr = t and, de�nition of S,
c(xi; xi+1)� f(xi; xi+1) > 0 or f(xi+1; xi) > 0
for each i. Let � be the smallest of all these positive numbers. De�ne a new ow g by
taking
g(xi; xi+1) = f(xi; xi+1) + �
![Page 37: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/37.jpg)
if c(xi; xi+1)� f(xi; xi+1) > 0, and taking
g(xi+1; xi) = f(xi+1; xi)� �
if f(xi+1; xi) > 0. Then v(g) = v(f) + �, contradicting the maximality of f . We conclude
that t 62 S. Finally, since f(y; x) = 0 for every x 2 S and y 2 S,
v(f) =X
(x;y)2(S;S)
f(x; y)�X
(x;y)2(S;S)
f(y; x)
=X
(x;y)2(S;S)
c(x; y) = c(S; S):
This completes the proof.
The proof of the max- ow min-cut theorem gives an algorithm for �nding a maximum
ow. Start with a ow f . Then one constructs the set S in the theorem, and consider the
cases t 2 S and t 62 S separately. If t 2 S, then we can increase the ow f by � along a
path from s to t. If t 62 S, then f is a maximum ow and v(f) = c(S; S).
4.2 Menger's Theorem in Digraphs
An (a; b)-path in a digraph is a directed path from a to b Recall that a digraph is strongly
connected if and only if each ordered pair (a; b) of its vertices is joined by an (a; b)-path,
and k-arc-connected if the deletion of any k� 1 arcs leaves a strongly connected digraph.
For a pair of vertices (a; b) in a digraph, a set X separates (a; b) if the removal of X
gives a digraph with no (a; b)-path. It is possible to generalize Menger's Theorem 2.5.3
to digraphs in the following manner:
Theorem 4.2.1 (Edge-Form of Menger's Theorem in Digraphs)
The maximum number of arc-disjoint (a; b)-paths in a digraph is equal to the minimum
number of arcs separating (a; b). In particular, a digraph is k-arc-connected if and only if
each ordered pair its vertices is joined by k arc-disjoint directed paths.
The analog of Menger's Theorem 2.5.2 for k-vertex-connected digraphs is also true. These
two theorems as well as Hall's Theorem 3.2.1 follow from the max- ow min-cut theorem,
due the following result about integer valued ows:
Theorem 4.2.2 (Integrality Theorem)
Let f be a maximum (s; t)- ow in a digraph where all arcs have integer capacities. Then
f(e) is an integer for all e 2 ~E.
![Page 38: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/38.jpg)
Proof. In the proof of the max- ow min-cut theorem, the number � is an integer. So
if t 2 S, then we can increase the value of a given ow by � along a path from s to t. If
t 62 S, then c(S; S) is the value of a maximum ow, and it is clearly an integer. Since the
total capacity is �nite, the algorithm must terminate.
We leave the veri�cation of Menger's and Hall's Theorems as an exercise. The max- ow
min-cut theorem can also be generalized to the case of multiple sources and sinks. The
vertex form of the max- ow min-cut theorem involves restrictions on the capacities c(x)
of vertices: we require that for every vertex x 2 V ,
X(x;y)
f(x; y) � c(x):
An (s; t)-cut is a set S of vertices such that there is no (s; t)- ow in ~G�S. The capacity ofan (s; t) cut S is de�ned by c(S) =
Px2S c(x). The vertex form of the max- ow min-cut
theorem is as follows:
Theorem 4.2.3 (Vertex-Form of Max-Flow Min-Cut Theorem)
The maximum value of an (s; t)- ow equals the minimum capacity of an (s; t)-cut.
In fact this theorem follows from the max- ow min cut theorem: we can create a new
digraph ~H = (W; ~F ) from ~G = (V; ~E) by replacing each x 2 V with two vertices x� and
x+, joined by the arc (x�; x+), and add the arc (x+; y�) to ~F whenever (x; y) 2 ~E. By
adding appropriate capacities on the arcs, one can show
minS�W
c(S; S) = minS�V
c(S)
and the value of a maximum ow in H equals the value of a maximum ow in G. The
details are left as an exercise.
4.3 Maximum Cuts
In this section, a cut in a graph G is the set of edges (X; Y ) for some partition of V (G)
into two sets X and Y . The size of the cut is e(X; Y ), the number of edges between X
and Y . A maximum cut is a cut of maximum size. In other words, a maximum cut is a
maximum bipartite subgraph of G. The �rst result we state shows that a maximum cut
of G has size at least 12jE(G)j. The proof uses the pigeonhole principle { and the idea will
be used in later material many times.
Proposition 4.3.1 Every graph has a cut containing half of its edges.
![Page 39: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/39.jpg)
Proof. We consider the sum of the sizes of all cuts (X; Y ) of a graph G = (V;E). Recall
that the number of ordered partitions (X; Y ) of a set V into two parts is exactly 2jV j,
since there are 2jV j ways to choose X, and this choice completely determines Y . Therefore
X(X;Y )
e(X; Y ) = 2Xe2E
2jV j�2 = 2jV j�1jEj:
Since there are 2jV j ordered partitions of V , there must be a partition (X; Y ) such that
e(X; Y ) � 1
2jV j� 2jV j�1jEj = 1
2jEj
as required.
The above proposition does not give an algorithm for �nding a cut containing 12jEj edges.
The next result gives an alternative proof which gives a linear time algorithm. A balanced
cut is a cut (X; Y ) such that jXj � jY j � jXj+ 1.
Theorem 4.3.2
Let G be a graph. Then there exists a balanced cut (X; Y ) of G of size at least 12jE(G)j.
Proof. For convenience, we assume jV (G)j = 2n (the case that jV (G)j is odd is dealt
with similarly). Let (A;B) be any partition of G, where A = fa1; a2; : : : ; ang and B =
fb1; b2; : : : ; bng. Let X1 = fa1g and Y1 = fb1g. At stage i � n, if
e(ai; Yi�1) + e(bi; Xi�1) � e(bi; Xi�1) + e(ai; Yi�1)
then we let Xi = Xi�1 [ ai and Yi = Yi�1 [ bi, otherwise we let Yi = Yi�1 [ ai and
Xi = Xi�1[ bi. Let X = Xn and Y = Yn. Then (X; Y ) is a balanced cut of G. It remains
to check e(X; Y ) � 12jE(G)j. It is su�cient to prove that e(Xi; Yi) � 1
2jEij where Ei is the
set of edges in the subgraph induced by Xi [ Yi. For i = 1, this is clear, since X = fa1gand Y = fb1g. Suppose the statement is true for i < j. Then by induction
e(Xj; Yj) � e(Xj�1; Yj�1) +1
2e(faj; bjg; Xj�1 [ Yj�1)
� 1
2jEj�1j+ 1
2e(faj; bjg; Xj�1 [ Yj�1)
� 1
2jEjj:
This completes the proof.
The algorithmic question of �nding a maximum cut is well-researched. It is known that it
is NP-hard to determine the size of a maximum cut in a general graph. According to the
above theorem a maximum cut can be found in linear time if it has size 12jEj, however it
is more challenging to �nd a maximum cut if its size is larger than 12jEj. A breakthrough
![Page 40: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/40.jpg)
came with an algorithm of Goemans and Williamson, who showed that in polynomial
time, one can �nd a cut in a graph whose size is 87% of the maximum cut, and that it is
NP-hard to �nd a cut of size 94% of the maximum cut. Their algorithm starts with the
following idea: sprinkle the vertices of the graph along a rigid circle, and replace the edges
of the graph with springs. The vertices are free to move along the circle, until equilibrium
is reached. At equilibrium, one then checks all possible cuts of the graph along a diameter
of the circle, and one is likely to obtain larger cuts than guaranteed by Proposition 4.3.1.
![Page 41: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/41.jpg)
4.4 Exercises
1. Find a maximum (s; t)- ow in the network shown in Figure 12, starting with the
given ow f consisting of unit ow in the (s; t)-path of length four at the top of
the diagram. Also �nd a minimum cut in the network.
2. Prove the edge-form of Menger's Theorem 4.2.1 for digraphs by using the max- ow
min-cut theorem and the integrality theorem.
3. Prove the bipartite f -factor theorem using the max- ow min-cut theorem and the
integrality theorem.
4. Prove that every graph G contains a bipartite subgraph H such that dH(v) �12dG(v) for every v 2 V (G).
5. Prove that every graph G contains a cut (X; Y ) such that e(X; Y ) � 12e(G) and
e(X) � 13e(G) and e(Y ) � 1
3e(G), where e(X) and e(Y ) are the number of edges
in G[X] and G[Y ] respectively.
6. Prove that for every graph G = (V;E), there is a partition (X1; X2; : : : ; Xr) of V
such thatrXi=1
i�1Xj=1
e(Xi; Xj) � (1� 1
r)jEj:
7. Let ~G = (V; ~E) be a digraph. Prove that there exists a cut (X; Y ) of ~G such that
the number of arcs from X to Y is at least 14j ~Ej.
![Page 42: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/42.jpg)
5 Vertex and Edge-Colouring
A proper k-edge-colouring of a graph G is a function � : E(G) ! f1; 2; : : : ; kg such that
if e; f 2 E(G) intersect, then �(e) 6= �(f). The minimum k for which G has a proper
k-edge-colouring is denoted �0(G), and referred to as the edge-chromatic number of G.
Another way of saying it is: �0(G) is the minimum number of matchings which partition
E(G). A graph G is k-edge colourable if �0(G) � k, and k-edge-chromatic if �0(G) = k.
It is left as an exercise to verify that �0(Kn) = n� 1 when n is even and �0(Kn) = n if n
is odd. The main theorem we prove on edge colouring is Vizing's Theorem, which states
that �0(G) is either �(G) or �(G) + 1, where �(G) denotes the maximum degree of G.
A proper k-colouring of a graph G is a function � : V (G) ! f1; 2; : : : ; kg such that if
u; v 2 V (G) are adjacent, then �(u) 6= �(v). The chromatic number of G is denoted �(G),
and is the minimum k for which G has a proper k-colouring. Thus �(G) is the minimum
number of independent sets which partition V (G). For example, �(Kn) = n, and a graph
G is bipartite if and only if �(G) � 2. We say that a graph is k-colourable if �(G) � k
and k-chromatic if �(G) = k. The main theorem on vertex colouring is Brook's Theorem,
which states that �(G) � �(G) when G is not an odd cycle or a complete graph (for
those graphs one has �(G) = �(G) + 1).
5.1 Vizing's Theorem
For any graph, it is clear that �0(G) � �(G) { all the edges incident with a vertex of
degree �(G) must have di�erent colours in a proper colouring. The main theorem we
prove on edge-colouring is Vizing's Theorem. Before proceeding to Vizing's Theorem, we
discuss edge-colourings of bipartite graphs. K�onig's Theorem states that �0(G) = �(G)
for any bipartite graph G { thus determining �0(G) in bipartite graphs is relatively easy:
Theorem 5.1.1 (K�onig's Theorem)
For any bipartite multigraph G, �0(G) = �(G).
First Proof. The �rst proof we give relies on Hall's Theorem 3.2.1: we know by
Corollary 3.2.2 that every k-regular bipartite multigraph has a k-colouring. So if we can
show that G is contained in a �(G) regular bipartite multigraph, then we are done. To
prove this, add edges to G until we obtain a multigraph H such that all vertices in one
part of G = G(A;B), say A, have degree �(G). Now take two copies of H, say H1(A;B)
and H2(A;B), and if y 2 B has degree d, add �(G)�d multiple edges between the vertex
of H1(A;B) corresponding to y and the vertex in H2(A;B) corresponding to y. Then we
obtain a graph J which is �(G)-regular, so �0(J) = �(G) = �0(G).
Second Proof. The second proof we give is by induction on jE(G)j. If jE(G)j = 0 then
the theorem is clear. Suppose jE(G)j > 0 and let e = fx; yg 2 E(G). By induction, the
![Page 43: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/43.jpg)
graph G� e is �(G)-edge-colourable. If there is a colour i which is not used on any edges
incident with x or y, then we can assign colour i to fx; yg to get a �(G)-edge-colouring
of G. So we may assume that the colours at x are 1; 2; : : : ;�(G) � 1 and the colours
at y are 2; 3; : : : ;�(G). Let H be the subgraph of G spanned by edges of colours 1 and
�(G). Then the component of H containing x is a path or a cycle. It cannot be a cycle,
otherwise x would be incident with an edge of colour 1 and colour �(G) in the cycle,
contradicting that �(G) is missing at x. So the component of H containing x is a path,
P . If P ends at y, then since P has odd length we would have an edge of colour 1 at y, a
contradiction. So P ends at a vertex z 6= y. Now z is not incident with any edge of colour
1 or �(G) in G�E(P ), otherwise we could extend the path or the edge is incident with a
vertex w of the path, but then the colouring would not be a proper edge-colouring. Now
interchange colours 1 and �(G) along the path P , to obtain a proper colouring of G� e
where the colour 1 does not appear at x. Finally, assign e the colour 1 to get a proper
colouring of G.
The next remarkable theorem tells us that �0(G) is either the maximum degree of G or
one more than that. For example, for the complete graph Kn, we have �0(Kn) = n � 1
if n is even and �0(Kn) = n if n is odd (the �rst statement does require a proof { it is
equivalent to saying we can partition Kn into n�1 edge-disjoint matchings when n is even
{ this is left as an exercise). Perhaps surprisingly, it is NP-hard to determine whether
�0(G) = �(G) or �0(G) = �(G) + 1.
Theorem 5.1.2 (Vizing's Theorem)
For every graph G of maximum degree �, �0(G) = � or �0(G) = � + 1.
Proof.* Since � di�erent colours are needed at a vertex of degree � in G, �0(G) � �.
Now we prove by induction on jE(G)j that G is � + 1-colourable, which gives �0(G) �� + 1. If jE(G)j = 0, then the theorem is clearly true. Suppose jE(G)j > 0, and let
fx; y1g 2 E(G) be any edge of G. By induction, G1 = G � fx; y1g is � + 1-colourable.
Now if there is a colour, say colour c1, missing at y1 and missing at x, then we can assign
edge fx; y1g the colour c1. So we can assume that an edge on x, say fx; y2g has colour
c1. Let c be a colour missing at x { we know c appears on y1 otherwise fx; y1g could
be coloured with colour c. In general, we construct a maximal sequence y1; y2; : : : ; yk of
neighbours of x such that ci is missing at yi and fx; yi+1g has colour ci for all i < k, and
colour ck is missing at yk and does not appear on any edge fx; yg for y 62 fy1; y2; : : : ; ykg.
Case 1. For all i < k, ck 6= ci. In this case, a proper edge-colouring of G is found by
recolouring fx; yjg with colour cj for all j � k. Note that the colouring is proper since
colour cj is missing at yj for all j � k. An illustration is provided in Figure 13.
![Page 44: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/44.jpg)
y1y4
y5
y2y3
yk
c1c2
ck�1
c3
c4
no c1
no c2no c3
no c4
no c5
no ck
y1y4
y5
y2y3
yk
c2c3
ck
c4
c5
c1
Figure 13 : Rotate colours around x
Case 2. For some i < k, ck = ci. In this case, recolour all edges fx; yjg for j � i with
colour cj { so far we still have a proper colouring since colour cj is missing at yj for
j � i. This is shown for i = 4 in the left diagram in Figure 14. Then fx; yi+1g is the newuncoloured edge, since the edge fx; y1g has now received colour c1. Now let H denote the
subgraph of G consisting of edges of colour c and edges of colour ck. Then the components
of H are paths and cycles, since H has maximum degree at most two. Also x; yi+1; yk all
have degree one in H, so either x; yi+1 are in di�erent components of H or x; yk are in
di�erent components of H. We consider these cases separately. If x; yi+1 are in di�erent
components of H, then we interchange colours c and ci in the component of H containing
yi+1. In this new colouring, colour c is missing at x and missing at yi+1, so we can assign
the edge fx; yi+1g the colour c (see Figure 14). If x; yk are in di�erent components of H,
then recolour the edge fx; yjg for i < j < k with colour cj, so that fx; ykg is the new
uncoloured edge. Then H is unchanged (we never recoloured edges of colour c or ci) so we
may interchange the colours c and ck in the component of H containing yk. In doing so,
c becomes a missing colour at x and yk, so the uncoloured edge fx; ykg can be coloured
with colour c. This completes the proof.
y1y4
y5c
c4
y2y3
yk
c1c2c3
ck�1
c4 y1y4
y5
y2y3
yk
c2c3
ck�1
c4
c
c1
c4
c
Figure 14 : Interchanging colours in components of H
![Page 45: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/45.jpg)
5.2 Brook's Theorem
The chromatic number of a graph G is the minimum number of colours which can be
assigned to the vertices of G so that no two adjacent vertices have the same colour. This
number is denoted �(G). Unlike in the case of edge-colouring, �(G) can be arbitrarily
small relative to �(G): for example �(G) � 2 if and only if G is a bipartite graph. One
also notices that �(G) = �(G) + 1 is possible, since �(Kn) = n and �(C) = 3 when C is
an odd cycle. In fact these are the only cases where �(G) = �(G) + 1:
Theorem 5.2.1 (Brook's Theorem) Let G be a connected graph of maximum degree
�. Then �(G) � �(G), unless G is an odd cycle or a complete graph.
To prove this theorem, we will �rst prove a proposition which often gives a better bound
for �(G) than �(G). The idea is to remove vertices of small degree from the graph and to
notice that whenever we remove a vertex of degree k from a graph G and obtain a graph
with a proper (k+ 1)-colouring, then we can reinsert the vertex and colour it to obtain a
proper (k + 1)-colouring of G.
Proposition 5.2.2 Let d(G) denote the largest possible value of �(H) taken over all
subgraphs of G. Then �(G) � d(G) + 1.
Proof. By de�nition, G has a vertex v of degree at most d(G). When we remove this
vertex from G, we obtain a graph G0 and clearly d(G0) � d(G). Therefore G0 is (d(G)+1)-
colourable. Now v has d(G) neighbours, so we can de�nitely assign v a colour from the
d(G) + 1 colours used to colour G0, to obtain a proper colouring of G.
A graph is called d-degenerate if d(G) � d, and we refer to d(G) as the degeneracy of the
graph. So the proposition states that a d-degenerate graph is (d+ 1)-colourable. We will
use this fact later on when colouring planar graphs.
Proof of Brook's Theorem. Since a graph G of maximum degree � is de�nitely �-
degenerate, �(G) � �+1, by the last proposition. We omit the proof that if �(G) = �+1
then G is an odd cycle or a complete graph.
Recall that the contracting of a pair of vertices fa; bg � V (G) is the graph G=fa; bgobtained from G by identifying the vertices a and b and joining the new vertex ab to all
neighbours of a and all neighbours of b. Suppose a and b are not adjacent in G; then a
k-colouring of G=fa; bg gives a k-colouring of G: all vertices of G have the same colour
as G=fa; bg, except the vertices a and b are both assigned the colour of ab. So the set
of all proper colourings of G=fa; bg is in 1-1 correspondence with the set of all proper
colourings of G in which a and b receive the same colour. Similarly, the set of colourings
of G� e for an edge e 2 E(G) is in 1-1 correspondence with the colourings of G in which
the endpoints of e get di�erent colours. These two notions are key reductions throughout
the theory of graph colouring.
![Page 46: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/46.jpg)
5.3 Exercises
1. Determine �(G) and �0(G) for each of the graphs drawn below. Determine also
d(G), the degeneracy of each graph. You need not justify your answers.
G1 G2
Figure 15
2. Prove that �0(K2n�1) = 2n� 1.
3. Prove that �0(K2n) = 2n� 1.
4. Let G1 and G2 be graphs and suppose that G1 \ G2 is a complete graph. Prove
that �(G1 [G2) � �(G1) + �(G2)� �(G1 \G2).
5. A decomposition of a graph G into bipartite graphs is a collection of edge-disjoint
bipartite graphs B1; B2; : : : ; Bk such that G = B1 [ B2 [ � � � [ Bk. Prove the
following:
(a) if G has a decomposition into k bipartite graphs, then G is 2k-colourable.
(b) K2k has a decomposition into k bipartite graphs.
(c) K2k+1 does not have a decomposition into k bipartite graphs.
(d) Let X be a set of 2k + 1 distinct points in the plane. Prove some three points
in X form a triangle whose largest angle is at least �(1� 1=k).
[Hint: for 0 � i < k de�ne a graph Bi consisting of all edges fa; bg where a; b 2 X
and the line through a and b has slope in the range [tan i�=k; tan(i+1)�=k). Now
use 4(c).]
6. Prove that �(G)�(G) � jV (G)j for any graph G (recall that �(G) is the indepen-
dence number of G.)
![Page 47: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/47.jpg)
6 Planar Graphs
Roughly speaking, a graph is planar if and only if it can be drawn in the plane without
any two of its edges crossing. More formally, an embedding of a graph G = (V;E) is a
function f : V ! R2 together with a set of continuous curves Ce : e 2 E such that f is
one-to-one and the curve Ce for e = fu; vg has endpoints f(u) and f(v). The graph G
is planar if the curves Ce : e 2 E intersect only at their endpoints { that is any point in
the intersection of two of the curves is an endpoint of both of the curves. A drawing of
G without crossings is called a plane embedding of G, or a plane graph. Thus a graph is
planar if and only if it has a plane embedding. These notions can be made more rigorous
using the terminology of topology and, more generally, we can talk about embeddings
of a graph in a topological space. For example, a geometric realization of a graph is a
topological space whose points are the vertices and such that the edges are homeomorphic
to the closed interval [0; 1]. For details, the reader is referred to the survey of topological
graph theory by Archdeacon.
The main theorem of this section, which we will prove, is a necessary and su�cient
condition for a graph to be planar { and a characterization of planar graphs. Recall that
a subdivision of a graph G is any graph obtained from G by replacing each edge of G
with a path with the same endpoints as the edge, such that paths may meet only at their
endpoints.
Theorem 6.0.1 (Kuratowski's Theorem)
A graph is planar if and only if it contains no subdivision of K5 and no subdivision of
K3;3.
The proof of this theorem is in Section 6.3.
6.1 Euler's Formula
Throughout this section, we deal only with connected graphs. If G is a plane graph, then
R2nG consists of a union of disjoint connected plane regions, which are called faces of G.
The boundary @F of a face F of G is the set of points in the closure of F which are not
in the interior of F . Each plane graph has a face which is in�nite, which we refer to as
the in�nite face. The boundary walk of F , which we also denote by @F , is the closed
walk consisting of edges and vertices in the boundary of F . We denote by F (G) the set
of faces of a plane graph G. The degree of a face F 2 F (G) is the length of the walk @F ,
and denoted deg(F ).
![Page 48: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/48.jpg)
Figure 16
The graph on the left in Figure 16 has six faces, all boundary walks of which are cycles
of length four { so every face has degree four. The tree in the centre has only one face {
the in�nite face { and since a tree on n vertices has n � 1 edges and the boundary walk
goes through each edge twice, the degree of the in�nite face is 2(n� 1). In the graph on
the right, there are two faces, one of degree six and one of degree ten.
The degrees of the faces in a plane graph depend very much on the way the graph is
drawn in the plane: for example, the graph on the right in Figure 16 can be redrawn as
a new plane graph by ipping one of the bridges into the in�nite face, thereby producing
two new faces, both of degree eight. In Section 1.2, we will come back to the issue of
uniqueness of the face degrees.
There is a very useful analog of the handshaking lemma for face degrees in a plane graph.
If we add up the degree of every face F 2 F (G), we observe that every edge of the graph
is counted exactly twice. This is true since an edge in a cycle is counted once for each
of the faces on either side of it, and an edge which is not in a cycle is a bridge (Lemma
1.7.1), and therefore counted twice in one boundary walk. These observations give the
following useful fact:
Theorem 6.1.1
Let G be a plane graph. Then
XF2F (G)
deg(F ) = 2jE(G)j:
For the examples in Figure 16, one checks that the theorem holds. In general, note the
a bridge on the boundary of a face is counted twice in the boundary walk of that face,
whereas all other edges in the boundary are counted once.
Theorem 6.1.1 is very useful in conjunction with Euler's Formula and the handshaking
lemma for proving non-existence of planar graphs with given face and vertex degrees.
Euler's Formula relates jF (G)j, jE(G)j and jV (G)j as follows:
![Page 49: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/49.jpg)
Theorem 6.1.2 (Euler's Formula)
Let G be a connected plane graph. Then
jV (G)j � jE(G)j+ jF (G)j = 2:
The proof of this theorem is quite straightforward: if one proceeds by induction on jE(G)j,starting with trees, where jE(G)j = jV (G)j � 1, then the induction step goes as follows:
for jE(G)j > jV (G)j � 1, if e 2 E(G), then by induction
jV (G� e)j � jE(G� e)j+ jF (G� e)j = 2:
Now sinceG is not a tree, we can choose e to be part of a cycle inG, and so e is not a bridge.
Therefore G� e is connected, and jE(G� e)j = jE(G)j � 1 and jF (G� e)j = jF (G)j � 1.
It follows that
jV (G)j � (jE(G)j � 1) + (jF (G)j � 1) = 2
and this gives Euler's Formula 6.1.2.
As an example of an application, it has been known for millenia that there are only platonic
solids { these are the unique r-regular plane graphs in which all faces have degree s, where
(r; s) 2 f(3; 3); (3; 4); (4; 3); (5; 3); (3; 5)g. For example, lets see why (r; s) = (4; 4) is not
possible. By Theorem 6.1.1, we have 4jF (G)j = 2jE(G)j. By the handshaking lemma,
4jV (G)j = 2jE(G)j. By Euler's Formula 6.1.2, jV (G)j � jE(G)j + jF (G)j = 2. But the
left hand side is zero, so this is a contradiction { so there is no 4-regular plane graph with
all faces of degree four. The platonic solids are shown below.
Another useful application is to give a su�cient condition for non-planarity, rather than
trying to draw the graph in every possible way:
Theorem 6.1.3
Let G be a planar graph containing a cycle. Then jE(G)j � gg�2
(jV (G)j�2), where g is thelength of a shortest cycle inG. In particular, for any planar graphG, jE(G)j � 3jV (G)j�6,and therefore G is 5-degenerate.
Proof. Since every face has degree at least g, Theore 6.1.1 gives gjF (G)j � 2jE(G)j.Putting this in Euler's Formula 6.1.2, we get
jV (G)j � jE(G)j+ 2
gjE(G)j � 2
which, rearranged, gives the required bound on jE(G)j. The right side of the formula
is maximized when g = 3, in which case we get jE(G)j � 3jV (G)j � 6 for all planar
graphs G. By the handshaking lemma, if all vertices of G had degree at least six, then
jE(G)j � 3jV (G)j, a contradiction to what we just proved. So every planar graph has a
![Page 50: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/50.jpg)
vertex of degree at most �ve. Since every subgraph of G is also planar, this means that
every subgraph of G has a vertex of degree at most �ve, so G is 5-degenerate.
By Theorem 6.1.3, any graph satisfying jE(G)j > gg�2
(jV (G)j � 2) can't be planar. In
particular, K5 is not planar since jE(K5)j = 10 and g = 3, and K3;3 is not planar since
jE(K3;3)j = 9 and g = 4. If a graph is not planar, then neither is any subdivision of it.
So in particular any subdivision of K5 or K3;3 is not planar, and Kuratowski's Theorem
6.0.1 states that these are the two reasons for a graph not being planar: either it contains
a subdivision of K5, or a subdivision of K3;3. We will prove this in Section 6.3.
6.2 Colouring Planar Graphs
Euler's Formula 6.1.2 also can be applied to vertex-colouring of planar graphs. Recall that
a graph is d-degenerate if every subgraph of G (including G itself) has minimum degree
at most d. Also, any d-degenerate graph is (d + 1)-colourable, by Proposition 5.2.2. By
Theorem 6.1.3, every planar graph is 5-degenerate, so this means that every planar graph
is 6-colourable. Here is another example: suppose we have a planar graph G of girth
at least six. Then jE(G)j � 32(jV (G)j � 2) by Theorem 6.1.3, so every subgraph of G
must have a vertex of degree at most two, by the handshaking lemma. Therefore G is
2-degenerate, which means that G is 3-colourable.
In fact, every planar graph is 5-colourable. We prove this theorem, since the ideas can be
used later in Kuratowski's Theorem 6.0.1.
Theorem 6.2.1
Every planar graph is 5-colourable.
Proof.* Proceed by induction on jV (G)j. If jV (G)j � 5, then the theorem is true: just
assign all vertices di�erent colours. Now suppose jV (G)j > 5. If G has a vertex v of
degree at most four, then G � v is 5-colourable by induction, and we can extend this
colouring to v by assigning to v a colour which does not appear on any of its neighbours,
since there were �ve colours but at most four neighbours of v. So now we assume G has
no vertex of degree at most four. Since G is 5-degenerate, by Theorem 6.1.3, G has a
vertex v of degree �ve. If all neighbours of v are adjacent to each other, then they form
a K5, but K5 is not planar, so that is a contradiction. Therefore we can pick neighbours
a and b of v which are not adjacent. Now consider the graph H = G=fa; b; vg { that is,
we contract a; b and v to a single vertex w. By induction, H is 5-colourable. For each
u 2 V (G)nfa; b; vg, assign to u the colour it received in H. Assign a and b the colour
that w received in H { we can do that since a and b are not adjacent. Finally, we've used
four colours on the neighbours of v, since a and b got the same colour, so there is a �fth
colour which can be assigned to G. This proves that G is 5-colourable.
![Page 51: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/51.jpg)
Perhaps the most famous theorem in all of graph theory is the 4-colour theorem, proved
by Appel and Haken (1976): every planar graph is 4-colourable. Unfortunately, there is
no proof known which is not computer assisted. The shortest proof is currently the one
in Robertson and Seymour (1997).
Theorem 6.2.2 (4-Colour Theorem)
Every planar graph is 4-colourable.
6.3 Drawing Planar Graphs*
We remarked earlier that there are many plane embeddings for a given planar graph G;
even the degrees of the faces can change with di�erent embeddings. In fact, we can go
from any plane embedding of G to any other plane embedding of G using the notion of
Stereographic Projection. In particular, we can make any face of a plane embedding the
in�nite face:
Proposition 6.3.1 Every face of a plane embedding G0 of a graph G is the in�nite face
of some plane embedding of G. Furthermore, if every edge of G0 is a straight line, then
we can ensure that every edge of the new embedding is also a straight line.
Proof.* Let S denote a sphere of diameter one placed so that the xy-plane is tangent to
S at the origin. Then wrap the plane embedding G0 of G around the sphere. Formally,
consider the function f which maps a point (x; y) to the point (x; y; z) 2 S which is at
height 1 � 1=(1 + x2 + y2) in the plane de�ned by the line through the origin and (x; y)
and the z-axis. Note that f is a bijection between R2 and SnN , where N = (0; 0; 1)
denotes the north pole of S. Let H be the image of G0 under f . Keeping H �xed, rotate
the sphere until some face F of H contains the north pole of S. Now apply f�1 to get
an embedding of G, namely f�1(H), with the property that the face F of f�1(H) is the
in�nite face. The second statement of the theorem is left as an excercise.
Figure 17 : Stereographic projection
![Page 52: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/52.jpg)
Perhaps the most natural embedding would be to try to draw the edges as striaght lines.
This can be done, by the following theorem:
Theorem 6.3.2 (Fary's Theorem)
Every simple planar graph has a plane embedding in which all edges are straight line
segments.
Proof. By Theorem 6.1.3, every planar graph is 5-degenerate. Now we proceed by
induction on jV (G)j, the number of vertices in a planar graph G. If jV (G)j � 3, then
the result is obvious. Suppose G is a planar graph with jV (G)j > 3. We may assume
that G is maximal planar { so G + e is not planar anymore for any edge e. Then if G0
is a plane embedding of G, all faces of G0 have degree three, otherwise we could add a
diagonal edge in some face. Now let v be a vertex of degree at most �ve in G0. Then
G0 � v has a plane embedding, call it H, such that all the edges are straight lines. Let
v1; v2; : : : ; vk be the neighbours of v, where k � 5. Then there is a cycle C � H such
that V (C) = fv1; v2; : : : ; vkg { since every face of G0 is of degree three, every face of H
containing non-neighbours of v on its boundary is a triangle. This means that C is the
boundary of a face of H. By Proposition 6.3.1, we can make C the boundary of a �nite
face of H. Now place v in the interior of C so that v sees all vertices of C { that is, we can
draw a straight line segment from v to each vertex v1; v2; : : : ; vk. This is an embedding of
G in which all edges are straight line segments.
Concerning properties of the drawing of a planar graph, we have seen that there are,
in general, plane embeddings with di�erent face degrees (Figure 16). Furthermore, we
can't ensure that the faces are convex, even for 2-connected planar graphs, for example
K2;3 has no embedding in which all faces are convex. However, Tutte showed that every
3-connected planar graph can be drawn with convex faces and straight line edges, and
Whitney's Theorem states that the embedding is unique.
Theorem 6.3.3 (Tutte-Whitney Theorem)
Every 3-connected planar graph has a unique embedding in the plane in which every face
is a convex polygon and every edge is a straight line segment.
A natural physical interpretation is to nail down the edges of a cycle which is a face in
a plane embedding of G, and replace the edges with rubber bands. Then, allowing this
dynamical system to reach equilibrium in terms of the laws of physics, Tutte proved that
the plane embedding at equilibrium is a convex straight line embedding. We do not prove
this or Theorem 6.3.3 here.
![Page 53: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/53.jpg)
6.4 Duality*
Let G be a plane graph, and let G� denote the pseudograph obtained by placing a vertex
vf in the interior of each face f 2 F (G) and whose edges are de�ned as follows: (1)
for each bridge on the boundary of a face f 2 F (G), join vf to vf with a loop in G�
passing through the bridge. (2) for each edge e 2 E(G) on the boundary of distinct faces
f; g 2 F (G), join vf and vg by an edge in G� which crosses e. Then G� is referred to as
the plane (or combinatorial) dual of G. Examples of duals are shown in Figure 18:
Figure 19 : Duality
There are many uses of duality in planar graphs, but for brevity we mention one example
in colouring. The map colouring problem is to colour the faces of a plane graph in such a
way that whenever two faces share an edge, they have di�erent colours. Now by drawing
the dual of a planar graph, we see that the map colouring problem on a plane graph is
equivalent to the vertex colouring problem in the dual, except that we have to remove all
loops in the dual. By the 4-colour theorem, this means that the regions of any map can
be coloured in four colours in such a way that adjacent regions have di�erent colours. In
fact, even more is true: if we want to prove the 4-colour theorem for plane graphs, it is
su�cient to consider maximal plane graphs on at least three vertices(i.e. if we add any
edge we get a non-planar graph). In a maximal plane graph, all faces are bounded by
triangles (exercise), and therefore the dual of a maximal plane graph is a cubic graph. It
can also be checked that every maximal plane graph, except a triangle, is 3-connected, and
that the dual is therefore also 3-connected. The oldest approach to the 4-colour theorem
is to try to prove that every cubic graph is 3-edge-colourable: in fact this is equivalent to
the 4-colour theorem.
Theorem 6.4.1 Every planar graph is 4-colourable if and only if every cubic planar
3-connected graph has edge-chromatic number three.
Proof. Let G be a planar graph and let G0 be a plane embedding of G. Then G0 is
contained in a maximal plane graph G1. If every planar graph is 4-colourable, then G1 is
![Page 54: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/54.jpg)
4-colourable which means that the map G�1 is 4-face-colourable and cubic. Since G1 is 3-
connected, no edge of G�1 is a bridge so every edge of G
�1 is on the boundary of exactly two
faces. Now assign edge-colour 1 to those edges of G�1 on the boundary of faces of colour
1 and 2, or colour 3 and 4, assign edge-colour 2 to those edges of G�1 on the boundary
of faces of colours 1 and 3, or colours 2 and 4, and assign edge-colour 3 to all remaining
edges of G. One checks that this is a proper 3-edge-colouring of G�, as required.
De�ne G;G0; G1; G�1 as in the �rst part of the proof. If every cubic planar graph is 3-edge-
colourable, then G�1 has a proper 3-edge-colouring, with colours 1, 2 and 3. That is to say
that G�1 = M1 [M2 [M3 where Mi is the perfect matching consisting of edges of colour
i. Then H1 =M1 [M2 is a plane graph and H2 =M1 [M3 is a plane graph. Colour the
faces of H1 with colours 1 and 2, and colour the faces of H2 with colours 1' and 2'. To
get a colouring of the faces of G�1, and hence a colour of G, colour a face F with colour
(i; j0) if it is contained in a region of colour i in H1 and a region of colour j0 in H2. Then
the number of colours we used is four, and one checks that this a proper colouring of the
faces of G�1.
Tait conjectured that all 3-connected cubic planar graphs are hamiltonian { i.e. contain
a spanning cycle { but this is false, as a counterexample of Tutte on 46 vertices showed.
If Tait's conjecture had been true, then we could colour the hamiltonian cycle red and
blue, and the remaining matching with green to get a proper 3-colouring of every cubic
3-connected graph.
6.5 Kuratowski's Theorem
In this section, we'll give a proof of Kuratowski's Theorem 6.0.1. Before doing so, we
de�ne �-graphs: a �-graph is any graph consisting of the union of three internally disjoint
paths between two points. Recall that a block of a graph is a maximal 2-connected
subgraph of G, or a bridge of G. To prove Kuratowski's Theorem 6.0.1, we need the
following decomoposition theorem for graphs with no �-subgraphs:
Proposition 6.5.1 Let G be a connected graph containing no �-graph. Then every
block of G is a cycle or K2 and G is a tree of cycles and K2s, as shown in Figure 19 below.
Proof.* Let B be a block of G. If B 6= K2, then B has an ear-decomposition, by
Theorem 2.2.1. If B is not a cycle, then we can �nd a cycle C � B and an ear P � B
internally disjoint from C such that P [ C is a �-graph, a contradiction. So every block
is a cycle. We prove the second statement by induction on the number of blocks in G. It
is clear if G has only one block, since then G is a cycle or K2. Suppose G has at least two
blocks, and let v be a cutvertex of G. Then G = G1 [ G2 where G1 and G2 share only
the vertex v. By induction, G1 and G2 are trees of cycles and K2s, and joining G1 and
G2 at v, we get that G itself is a tree of cycles and K2s.
![Page 55: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/55.jpg)
Figure 19 : Tree of cycles and K2s
In the chapter on connectivity, we saw that it is true that every connected graph has a
\tree of blocks" structure { instead of cycles and K2s, we allow any pattern of blocks
intersecting in a tree like manner. An endblock of a graph is a block of G containing at
most one cutvertex of G. In Proposition 6.5.1, these correspond to the leaves of the tree
in the tree structure of blocks. In Figure 19, there are exactly fourteen endblocks. A �nal
bit of notation is the following: if C is a cycle in a plane graph G, then int(C) denotes
the set of vertices of G inside C, and ext(C) denotes the set of vertices of G outside C.
Proof.* We already saw that if a graph contains a subdivision of K5 or K3;3, then it is
not planar. Now we prove that if G is not planar, then G contains a subdivision of K5 or
K3;3. Let G be a minimal non-planar graph which contains no subdivision of K5 or K3;3.
This means that every proper subgraph of G is planar. We may assume G is connected.
Also we assume jV (G)j > 6 { this is a matter of checking some cases.
Part 1 �(G) � 3.
Suppose, for a contradiction, that v 2 V (G) has degree less than three. Contract an edge
fu; vg 2 E(G). Then G=fu; vg is planar, by minimality of G, and since v has degree at
most two, it follows easily that G is planar. Therefore �(G) � 3.
Part 2 For e 2 E(G), G(e) = G=e�fzeg contains no �-graph, where e is contracted to ze.
Suppose T � G=e�fzeg is a �-graph. Now G=e has a plane embedding, H, by minimality
of G. Now T � H �fzeg splits the plane into three connected regions. So by Proposition
6.3.1, we can assume ze 2 int(C) and ext(C) is non-empty, for some cycle C � H � fzeg.By minimality ofG, G�ext(C) has a plane embedding, G1 (see Figure 20). By Proposition
6.3.1, we can ensure C is on the boundary of the in�nite face in G1. Now combine the
plane graphs H � int(C) (dotted in Figure 20) and G1 to get a plane embedding of G.
![Page 56: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/56.jpg)
Figure 20 : Plane embedding of G1
Part 3 For e 2 E(G), G(e) has at most one vertex of degree one.
Since �(G) � 3, by Part 1, G(e) has no isolated vertices and if G(e) has two leaves, u and
v, then u and v are both adjacent to both endpoints of e. So u and v have degree exactly
three. If e = fx; yg, then the edges fx; yg; fu; xg; fu; yg; fv; xg; fv; yg form a �-graph in
G. By Part 2, this implies G � fu; v; x; yg has no edges, and so the neighbourhood of
every vertex of G�fu; v; x; yg is a subset of fu; v; x; yg. But u and v have degree exactly
three, so there can be at most two vertices in G � fu; v; x; yg, and G has at most six
vertices, a contradiction to jV (G)j > 6 (see Figure 21).
Figure 21 : Vertices of degree one in G(e)
Now we complete the proof. By Part 2 and Proposition 6.5.1, every block of G(e)� fzegis K2 or a cycle, for any e 2 E(G). By Part 3, G(e) has at most one vertex of degree
one, so some endblock of G(e) is a cycle, C. Let fu; vg 2 E(C), where neither u nor v is
a cutvertex of G(e). Then u and v have degree two in G(e), so they are each adjacent to
an endpoint of e. Therefore the subgraph of G induced by V (C) [ e contains a �-graph.
By Part 2, this means no edge of G(e) is vertex-disjoint from C. By Part 3, this means
G(e) = C [ fw; ag for some a 62 V (C), or G(e) = C. Now since jV (G)j > 6, there is
![Page 57: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/57.jpg)
a path P � C � fwg with jV (P )j � 3 (see Figure 22). The subgraph of G induced by
V (P ) [ e contains a �-graph, by the same argument as above. But if G(e) = C [ fw; ag,then fw; ag is disjoint from this �-graph since jV (C)j � 4, and if G(e) = C, some edge
of C is disjoint from this �-graph since jV (C)j � 5, contradicting Part 2. This completes
the proof.
Figure 22 : The path P � C
6.6 Graphs on Surfaces
In this section, we study drawing graphs on general surfaces without crossings. Rather
than assume background in general topology, we will de�ne everything in elementary
terms, keeping in mind that everything can be made rigorous through topology. The
surfaces we look at will all be orientable: these are closed surfaces which consist of a sphere
with a �nite number of handles (or tube) attached. For example, the torus consists in
attaching one handle to the sphere, and the double torus consists in attaching two handles
to the sphere. The number of handles attached to S is called the genus of S, and denoted
(S). The Euler characteristic of S is �(S), de�ned by 2� 2 (S). For example, the Euler
characteristic of the sphere is two, whereas the euler characteristic of the torus is zero.
Let G be a graph. An embedding of G in S is a map f : V (G) ! S together with a
continuous curve on S joining f(u) to f(v) whenever fu; vg 2 E(G). For example, an
embedding of K5 on the torus is shown below. It is convenient to call a graph toroidal if
it can be embedded on the torus without crossings.
Figure 23 : Toroidal embedding of K5.
![Page 58: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/58.jpg)
The de�nition of faces in a drawing without crossings, and their boundaries and degrees,
are the same as for plane graphs. For example, in the toroidal embedding of K5 in Figure
23, there are �ve faces, four having degree three and one having degree four. It is a good
exercise to try to embed other graphs, for example K4;4, in the torus.
The genus of a graph G, denoted (G), is the minimum possible value of such that G
embeds without crossings in a surface of genus . So (K5) = 1. The Euler characteristic
of G is �(G) = 2 � 2 (G) )not to be confused with the chromatic number). The Euler-
Poincar�e formula is an analog of Euler's Formula 6.1.2 for surfaces, and it says that the
number of faces in any embedding of a graph on a surface of characteristic � does not
depend on the embedding:
Theorem 6.6.1 (Euler-Poincar�e Formula)
Let G be a graph of Euler characteristic � embedded without crossings in a surface S of
characteristic �, then
jV (G)j � jE(G)j+ jF (G)j = �:
The proof of this theorem can be achieved by induction on e. Actually it is convenient
rather to prove that jV (G)j � jE(G)j � jF (G)j = �(G) + c(G) � 1 where c(G) is the
number of components of G. For instance, if G has a bridge e, then �(G) = �(G � e)
and jF (G)j = jF (G � e)j and c(G � e) = c(G) + 1 so the induction step works. Now
suppose G has no bridges. Then for an edge e 2 E(G) such that �(G � e) = �(G), we
have jF (G� e)j = jF (G)j � 1 and again the induction step works. Finally if �(G� e) =
�(G) � 1, then e must have been the only edge on some handle of S. Then one veri�es
that jF (G � e)j = jF (G)j + 1, so the induction step works. The details are left to the
reader. The formula is called the Euler-Poncar�e Formula 6.6.1, since Poincar�e gave a
topological generalization of it, where edges are replaced by simplices. The �rst proof of
the Euler-Poincar�e Formula 6.6.1 for general � was given by Lhuilier.
A natural consequence of the Euler-Poincar�e Formula 6.6.1 is that jE(G)j � 3jV (G)j�3�
whenever G is a graph which can be embedding in a surface of characteristic � without
crossings. This shows, for example, that K8 cannot be embedding on the torus without
crossings, since jE(K8)j =�82
�= 28 whereas 3jV (K8)j � 3� = 24. Another consequence is
that the degeneracy of a graph G embedded in S without crossings satis�es
d(G) � b6� 6�
jV (G)jc:
So we can extend our result about planar graphs being 6-colourable to higher genus
surfaces.
![Page 59: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/59.jpg)
Theorem 6.6.2 (Heawood's Map-Colouring Theorem)
The chromatic number of a graph embedding without crossings in a surface of character-
istic � � 0 is at most
h(�) = b12(7 +
p49� 24�)c
Furthermore, if G is a minimal h(�)-chromatic graph drawn on a surface of characteristic
� 6= �2, then G = Kh(�).
Proof. First we prove the upper bound h(�) � b12(7+
p49� 24�)c. Let G be embedded
on a surface S of characteristic � without crossings. We may assume that G is a minimal
k-chromatic graph on S, where k = h(�). By Proposition 5.2.2 (or by just deleting a
vertex of small degree) it follows that �(G) � k � 1. Therefore jE(G)j � k�12jV (G)j, by
the handshaking lemma. On the other hand jE(G)j � 3jV (G)j�3�, by the Euler-Poincar�eFormula 6.6.1. Therefore
k � 1
2jV (G)j � 3jV (G)j � 3�
which is the same as
(k � 7)jV (G)j+ 6� � 0:
Since we assumed � � 0, k � 7 follows from the fact that K7 can be embedded on the
torus. Now jV (G)j � k since �(G) � k � 1, so
k2 � 7k + 6� � 0:
This gives 2k � 7�p49� 24�, and we clearly must take the positive square root. This
proves the upper bound on h(�).
* The second part of the proof is to show G = Kk. If G 6= Kk then jV (G)j � k + 2, and
it is an excercise to prove that if jV (G)j = k + 2, then G consists of a pentagon disjoint
from Kk�3 together with all edges between the pentagon on the Kk�3. In particular,
jE(G)j = �k+22
�� 5. This is greater than 3(jV (G)j � �), contradicting the Euler-Poincar�e
Formula 6.6.1. Therefore jV (G)j � k + 3. Now �(G) � k � 1 � 6, and by Brook's
Theorem, G is not k � 1 regular, otherwise it would be k � 1 colourable. Therefore
jE(G)j > jV (G)j(k � 1)
2:
This gives k2 � 4k � 20 + 6� � 0 and so k � 2 +p24� 6�. This is not possible unless
� = �2.
Note that we do not include the case of plane graphs, where h(�) = 4. Surprisingly, this
case also agrees with the above formula for h(�). Also, we avoided � = �2. The full
classi�cation, for all � and even for all surfaces (not only orientable ones) was given by
![Page 60: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/60.jpg)
Ringel and Youngs. It should be notes that better results can be obtained for a graph of
girth g > 3: in that case, the Euler-Poincar�e Formula 6.6.1 can be used to give
jE(G)j � g
g � 2(jV (G)j � �)
and then one can colour these graphs with fewer colours, by repeating the pattern of the
proof of Theorem 6.6.2.
6.7 Characterization of Graph on Surfaces*
We give the following quote from the book of Mohar and Thomassen:
\Graphs on surfaces form a natural link between discrete and continuous
mathematics. They enable us to understand both graphs and surfaces bet-
ter. It would be di�cult to prove the celebrated classi�cation theorem for
(compact) surfaces without the use of graphs. Map color problems are
usually formulated and solved as problems concerning graphs."
Which graphs are embed in a surface of genus without crossings? A consequence of
one of the deepest theorems in mathematics, called the Graph Minors Theorem, due to
Robertson and Seymour, is that for any , there exists a �nite list of graphs H such that
any graph which does not embed on a surface of genus contains a graph inH as a minor.
Kuratowski's Theorem 6.0.1 is such a result for planar graphs, where H0 = fK5; K3;3g.Unfortunately, for surfaces of higher genus, the known list is prohibitively long, and the
smallest possible list is not known. The shortest proof that there is a �nite list is due to
Thomassen.
A very natural question on embedding graphs is the following: in the last section, we
gave embeddings of graphs on surfaces where some of the faces were a bit unorthodox:
they are not homeomorphic to plane disks. While it is true that every 2-connected planar
graph has an embedding where every face is homeomorphic to a disk, it is not known if
every 2-connected graph can be embedded in some surface in such a way that all faces
are homeomorphic to disks. This is known as the strong embeddability conjecture, and
it remains open It has many other consequences in graph theory; for example, does every
2-connected graph contain a set of cycles such that every edge is in either one or two of
the cycles? For planar graphs, this is clear: the boundaries of the faces will do, and then
every edge is in exactly two cycles. The conjecture also has implications for the existence
of nowhere zero 5- ows. For more information on graphs on surfaces, see Archdeacon or
Mohar and Thomassen.
![Page 61: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/61.jpg)
6.8 Exercises
1: A maximal plane graph is a plane graph G = (V;E) with n � 3 vertices such that
if we join any two non-adjacent vertices in G, we obtain a non-plane graph.
(a) Draw a maximal plane graphs on six vertices.
(b) Show that a maximal plane graph on n points has 3n � 6 edges and 2n � 4
faces.
2: Which of the graphs in Figure 1 is planar? Justify your answer.
Figure 1
3: Show that every planar graph with no triangles is 3-degenerate, and 4-colourable.
4. (a) Prove that if G is a graph of girth g which can be embedded in a surface of
characteristic � without crossings, then jE(G)j � g(jV (G)j � �)=(g � 2).
(b) Use (a) to prove that the graph in Figure 2 is not toroidal. [2]
Figure 2
![Page 62: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/62.jpg)
5: Prove that K5;5 does not embed on the torus, and give a drawing of K4;4 on the
torus.
6: (a) The crossing number of a graph G is the smallest number of pairs of edges
which cross, taken over all drawings of G in the plane, where no three edges cross
at a single point. Find the crossing number of K5 and the crossing number of K3;3.
(b) Prove that the crossing number of Kn;n is at most
jn2
k2jn� 1
2
k2:
[Hint: draw the vertices in one part of Kn;n along the y-axis and the vertices in
the other part of Kn;n along the x-axis.]
![Page 63: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/63.jpg)
7 Extremal Graph Theory
Let ex(n;H) denote the maximum number of edges that an n-vertex graph can have
without containing a copy of the graph H. This is known as the extremal number for
H, and in this section we study the value of ex(n;H) for various H. A graph on n
vertices with no H and with ex(n;H) edges is called an extremal graph. Let's start
by observing ex(n;K2) = 0 and ex(n;K1;2) = bn=2c { for the last statement, notice
that a graph with no K1;2 must be a matching. In fact, more generally, ex(n;K1;s) can
be determined quite easily: a graph with no K1;s has maximum degree at most s � 1.
Therefore ex(n;K1;s) = b(s� 1)n=2c, by the handshaking lemma. There is one problem:
this is only valid for n � s. If n � s, then the answer is ex(n;K1;s) =�n2
�. This is a
general trend: if n is less than jV (H)j, then ex(n;H) =�n2
�. However, we are usually
interested in the behaviour of ex(n;H) for large values of n. The �rst case of interest
which we study is the case H = Kr.
7.1 Tur�an's Theorem
To go about constructing a graph on n vertices with many edges and no complete graph
on r + 1 vertices, take disjoint sets V1; V2; : : : ; Vr, where jV1j+ jV2j+ : : : jVrj = n and join
all vertices in Vi to all vertices in Vj for all i 6= j and i; j 2 f1; 2; : : : ; rg. This graph is
called a complete r-partite graph { for r = 2 it is a bipartite graph with parts V1 and V2.
Note that an r-partite graph cannot possibly contain Kr+1, since �(Kr+1) = r + 1. The
number of edges an r-partite graph is
Xi6=j
jVijjVjj:
Since jV1j + jV2j + � � � + jVrj = n, this expression is maximized when all the Vis are as
equal in size as possible, so jVij = bn=rc or jVij = dn=re for all i 2 f1; 2; : : : ; rg.
The Tur�an graph, denoted Tr(n), is the unique r-partite graph all of whose parts have sizes
as equal as possible. For r = 2, this corresponds to a complete bipartite graph with parts
of size bn=2c and dn=2e. So the number of edges in T2(n) is exactly bn2=4c. In general, we
let tr(n) denote the number of edges in Tr(n) { it is not a very nice number to determine,
but it is roughly (1 � 1r)�n2
�. Tur�an's Theorem ?? states that ex(n;Kr+1) = tr(n) when
n � r. But it says even more: the only graph with tr(n) edges and no Kr+1 is Tr(n) { so
Tr(n) is the unique extremal graph. The inductive proof we give is fairly subtle. It relies
on two facts: �rst that we can't add any edges to Tr(n) without creating a Kr+1, and
second, the degrees of Tr(n) are as close together as possible amongst all n-vertex graphs
with tr(n) edges.
![Page 64: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/64.jpg)
Theorem 7.1.1 (Tur�an's Theorem)
Let G be an n-vertex graph containing no Kr+1. Then jE(G)j � tr(n), with equality if
and only if G = Tr(n).
Proof.* We prove the theorem by induction on n, the number of vertices in G, starting
with n = r. The statement we prove is that if G is an n-vertex graph with no Kr+1
and jE(G)j � tr(n), then G = Tr(n). This proves the theorem: if jE(G)j > tr(n) then
delete edges until tr(n) edges remain, but then the graph is Tr(n), and we can't add
any edges to Tr(n) without creating a Kr+1. If n = r, then tr(n) = tr(r) =�rr
�, and
clearly jE(G)j � �r2
�implies G = Kr = Tr(r), as required. Now suppose n > r, and
let G be a graph on n vertices containing no Kr+1 and with at least tr(n) edges. Delete
edges from G until jE(G)j = tr(n). Now Tr(n) is a graph with tr(n) edges with the
largest minimum degree amongst all graphs with tr(n) edges. Therefore �(G) � �(Tr(n)).
Now every vertex of Tr(n) has degree n � bn=rc or n � dn=re, so �(Tr(n)) = n � dn=re.Furthermore, if x has degree �(Tr(n)) in Tr(n), then Tr(n)� fxg = Tr(n� 1). Therefore
tr(n)� �(Tr(n)) = tr(n� 1). This shows that if v is a vertex of smallest degree in G, then
jE(G� v)j = jE(G)j � �(G) � tr(n)� �(Tr(n)) = tr(n� 1):
By induction, G � v = Tr(n � 1). This means that v has degree exactly �(Tr(n)) =
n�en=re. Now since G has no Kr+1, v is joined to vertices in r � 1 parts of Tr(n � 1).
But since v has degree exactly n� dn=re, v must be joined to the r� 1 smallest parts of
Tr(n� 1), which means that G = Tr(n), as required.
There are some very di�erent proofs of Tur�an's Theorem, for example using probability
and using algebra. We refer to Bollob�as for some other proofs. If H is any graph of
chromatic number r � 3, one can prove in theory that ex(n;H) = ex(n;Kr) + n2� for
some real number > 0. This is the Erd}os-Simonovits-Stone Theorem, but the proof is
beyond the scope of this text:
Theorem 7.1.2 * (Erd}os-Simonovits-Stone Theorem)
Let H be a graph of chromatic number r � 3. Then
limn!1
ex(n;H)
ex(n;Kr)= 1:
The proof consists in showing that the theorem is true when H = Tr(N), for any N � r.
For general H, if H has chromatic number r, then H � Tr(N) where N = jV (H)j,so proving the theorem for Tr(N) is enough to prove the theorem for all graphs H of
chromatic number r. We give an explicit example for �nnding the extremal number for a
non-complete graph of chromatic number three:
Proposition 7.1.3 Let G be a graph with bn2=4c + 2 edges and n � 5 vertices. Then
G contains two triangles intersecting in one vertex (a bowtie).
![Page 65: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/65.jpg)
Proof. Proceed by induction on n, starting with n = 5. For n = 5, we have at least
eight edges. The cases must be checked. Now suppose n > 5 and let G be an n-vertex
graph with at least bn2=4c+2 edges. By deleting some edges from G, we can assume that
G has exactly bn2=4c+ 2 edges. Now by the handshaking lemma:
1
2�(G)n �
jn24
k+ 2:
This means �(G) � 2nbn2
4c+ 4
n. If n is even, say n = 2m where m � 3, then
�(G) � m+2
m
and since m � 3 and �(G) is an integer, we have �(G) � bn=2c. Now suppose n = 2m+1
where m � 3. Then
�(G) � 2m2
2m+ 1+
4
2m+ 1< m+
2
m
so again �(G) � bn=2c. Now let v be a vertex of degree �(G) in G. Then
jE(G� v)j �jn24
k+ 2�
jn2
k=j(n� 1)2
4
k+ 2:
By induction, G� v contains a bowtie, so G contains a bowtie.
As an exercise, the reader should construct an n-vertex graph with bn2=4c edges and no
bowtie, for all n � 5. In fact, the reader will notice that the proof depends only on the
base case n = 5, in the sense that we can reduce everything to the case n = 5 by deleting
vertices of small degree. This approach is valid for all graphs of chromatic number at least
three, however, the base cases become very di�cult to verify, and ex(n;H) is generally
very hard to determine exactly.
7.2 K�ovari-S�os-Tur�an Theorem*
The Erd}os-Simonovits-Stone Theorem tells us asymptotically that ex(n;Kr) and ex(n;H)
are the same, provided H has chromatic number at least three. This leaves the case
of chromatic number two { bipartite graphs. Unfortunately, ex(n;H) is a mystery for
a general bipartite graph H, so we restrict our attention to H = Kr;s, the complete
bipartite graph with parts of sizes r and s. Since every bipartite graph H is contained in
the complete bipartite graph with parts of size jV (H)j, this shows that ex(n;H) � cn1�1=h
when jV (H)j = h. Before we prove the main theorem for ex(n;Kr;s), we state a numerical
lemma:
Lemma 7.2.1 Let a1; a2; : : : ; an and positive real numbers and let a be their average. If
a � r, thennXi=1
�air
�� n
�a
r
�:
![Page 66: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/66.jpg)
Proof This lemma is really saying that the function f(x) =�xr
�is convex when x � r.
So it is enough to show that f 00(x) � 0 for all real x � r. Now
f(x) =x(x� 1) : : : (x� r + 1)
r!
so
f 00(x) = x(x� 1) : : : (x� r + 1) �r�1Yi=0
1
x� i> 0:
Theorem 7.2.2 (K�ovari-S�os-Tur�an Theorem)
Let r; s be positive integers, and suppose r � s. Then
ex(n;Kr;s) � cn2�1=r
where c is a constant depending only on r and s.
Proof. Let G be an n-vertex graph not containing Kr;s. The number of sets of r vertices
of G is exactly�nr
�. Now for a vertex v 2 V (G) of degree d(v), there are exactly
�d(v)r
�sets of size r in the neighbourhood of v. So the total number of sets of size r which are
in the neighbourhood of a vertex is
Xv2V (G)
�d(v)
r
�:
Note that we might have counted some sets of size r more than once. But what we do
know is that no set of size r could have been counted s times, otherwise that set of size r
would be in the neighbourhood of s vertices in V (G), and that would give a Kr;s in G. So
Xv2V (G)
�d(v)
r
�� (s� 1)
�n
r
�:
Applying Lemma 7.2.1,
n
�2jE(G)j=n
r
�� (s� 1)
�n
r
�:
After a calculation, we get jE(G)j � cn2�1=r.
The Zarankiewicz Problem asks for the maximum number of ones in a 0-1 matrix which
contains no r by r submatrix of 1s. Using the K�ovari-S�os-Tur�an Theorem, it is possible
to show that there are at most cn2�1=r ones in such a matrix. This follows by noting that
every 0-1 matrix is the incidence matrix of a bipartite graph, and the bipartite graph
cannot contain Kr;r if the matrix has no r by r submatrix of 1s. This problem has been
solved only in the cases r = 2 and r = 3, and remains open even for r = 4.
![Page 67: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/67.jpg)
8 Ramsey Theory
Ramsey theory quali�es the statement that in a su�ciently large irregular system, there
must be a subsystem in which there is complete order. In the particular case of graph
theory, Ramsey's Theorem 8.0.3 says that every su�ciently large graph contains either a
complete graph of order k or an independent set of size k. The graph Ramsey number
R(s; t) is minimum number n such that every graph on n vertices contains either an
independent set of size s or a complete graph of order t. Note that R(s; t) and R(t; s) are
equal. That R(s; t) is �nite is given by the following theorem:
Theorem 8.0.3 (Ramsey's Theorem for Graphs)
For all integers s; t � 2,
R(s; t) � R(s� 1; t) +R(s; t� 1):
In particular, R(s; t) � �s+t�2s�1
�.
Proof. We proceed by induction on s + t. The theorem is true if s = 2 or t = 2, since
R(1; t) = 1 and R(2; t) = t for all t � 1. Now suppose s > 2 and t > 2. Let G be a
graph with R(s� 1; t) +R(s; t� 1) vertices. Then for a vertex v 2 V (G), there are either
R(s � 1; t) vertices of G adjacent to v or R(s; t � 1) vertices which are not adjacent to
v. If there are R(s� 1; t) vertices adjacent to v, then amongst those vertices, there must
be a complete graph of order s � 1 or an independent set of size t. In the latter case,
we are done, and in the former, a complete graph of order s� 1 in the neighbourhood of
v together with v gives a complete graph of order s in G. A similar argument works if
R(s; t�1) vertices of G are not adjacent to v. Therefore R(s; t) � R(s�1; t)+R(s; t�1).
The second statement follows by induction on s+ t, since
�s+ t� 2
s� 1
�=
�s+ t� 3
s� 2
�+
�s+ t� 3
t� 2
�:
An equivalent statement of the theorem is to say that if we colour the edges of a complete
graph red and blue, then we are guaranteed to �nd either a red Ks or a blue Kt { the blue
edges are the ones missing from the graph G and the red ones are in G in the theorem
above. The theorem can be slightly improved in the case R(s � 1; t) and R(s; t � 1) are
both even: in this case one can get R(s; t) � R(s� 1; t) +R(s; t� 1)� 1. The details are
left as an exercise.
A graph on R(s; t)� 1 vertices containing no Ks and no independent set of size t is called
a Ramsey graph. Constructions of graphs without Ks and without independent sets of
size t are most generally given by a technique known as the probabilistic method { it is
![Page 68: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/68.jpg)
accepted as a very di�cult problem to give explicit constructions of Ramsey Graphs. In
fact, the value of R(s; t) is not known for any pair (s; t) where s; t > 5. It is known that
R(3; 3) = 6, and this follows from the above proof: R(3; 3) � R(2; 3) + R(3; 2) = 6 and
R(3; 3) > 5 since a cycle of length �ve does not contain a triangle or an independent set
of size three. The Ramsey Numbers R(3; t) are known for t � 9, and R(4; 4) = 18 and
R(4; 5) = 25. No other Ramsey Numbers are known; in particular, R(5; 5) is not known.
Ramsey Theory is much more general than the above description for graphs. For example,
if we colour all�nr
�of the r-element subsets of f1; 2; : : : ; ng, Ramsey's Theorem 8.0.4 says
that there will be k points such that all r-element subsets of the k points are red or all
r-element subsets of the k points are blue.
Theorem 8.0.4 * (Ramsey's Theorem for Set Systems)
Let r; s; t be positive integers. Then there exists a number N = R(r)(s; t) such that if
we colour the r-element subsets of f1; 2; : : : ; Ng with two colours, then either we �nd an
s-element set all of whose r-element sets are red or a t-element set all of whose r-element
subsets are blue.
Upper bounds for the numberR(r)(s; t) are extremely large, and can be found by induction,
as in the proof of the last theorem, which is the case r = 2.
8.1 Erd}os-Szekeres Problem*
Ramsey Theory has some nice applications, and we discuss one of them here. Suppose we
are given f(n) points in general position in the plane { this means that no three are in a
straight line. We want to know how large f(n) must be to guaranteee that n of the points
are in convex position { meaning that they form the vertices of a convex n-gon. This
problem is known as the Erd}os-Szekeres Problem. Erd}os and Szekeres conjectured that
f(n) = 2n�2 + 1, and this problem remains open. For small n it is quite easy: f(3) = 3,
and f(4) = 5: to see that f(4) = 5: let the points be x1; x2; x3; x4; x5. If x1; x2; x3; x4 are
not in convex position and then one of those points is inside three of the others. Let's
say x4 is inside x1; x2; x3. If x5 is not inside x1; x2; x3, then x1; x2; x3; x5 are in convex
position, and we are done. So we can assume x5 is inside x1; x2; x3. Then the line through
x4 and x5 does not cross one of the sides of the triangle with vertices x1; x2; x3 { say it
does not cross the side x1x2. Now x1x2x4x5 are in convex position, as required. It can
be shown that f(5) = 9, but this is more complicated. The existence of f(n) for n > 5 is
guaranteed by Ramsey's Theorem 8.0.4:
Theorem 8.1.1
Amongst any set of R(4)(n; 5) points in the plane, there are n points in convex position.
In particular, f(n) � R(4)(n; 5).
![Page 69: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/69.jpg)
Proof. Let X be a set of R(4)(n; 5) points in the plane. Colour a quadruple of points red
or blue according to whether the triangle formed by the points has no other point of X
inside. Since jXj = R(4)(n; 5) points, there must be n points all of whose quadruples are
red or �ve points all of whose quadruples are blue. But it is impossible to draw �ve points
in the plane so that any four of them form a blue quadruple - this is precisely f(4) = 5!
So there must be n points all of whose quadruples are red { that means all the n points
form a convex polygon.
This theorem gives an upper bound on f(n), but does not tell us how big f(n) really is
as a function of n, since R(4)(n; 5) is very large indeed { in fact R(4)(n; 5) � 2cn2
for some
c > 0. While it is possible to show f(n) � R(3)(n; n), this Ramsey number is also too big
to be of practical use in estimating f(n). The best bound on f(n) known for large n is
f(n) ��2n� 5
n� 3
�+ 2 < 22n�5
and it can be shown that there are 2n�2 + 1 points in the plane such that no n are in
convex position, so 2n�2 + 1 � f(n) < 22n�5 for large n.
![Page 70: Introduction to Graph Theory - UCSD Mathematicsjverstra/342.pdf · 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](https://reader031.vdocuments.us/reader031/viewer/2022021512/5b17fc377f8b9a3c258b5ab8/html5/thumbnails/70.jpg)
8.2 Exercises
1: (a) Let G be a graph on n � 4 vertices. Prove that if jE(G)j � bn2=4c + 1, then
G contains two triangles sharing exactly one edge.
(b) Construct a graph on n vertices with bn2=4c edges and which does not contain
two triangles sharing an edge.
2: Prove that ex(n;C5) = bn2=4c+ 1 for n � 6, where C5 is the pentagon.
3: (a) Let G be an r-regular graph of girth at least 2g+1. Prove that for any vertex
v 2 V (G), the number of vertices at distance at most g from v is at least
f(d; g) = 1 + d+ d(d� 1) + +d(d� 1)2 + � � �+ d(d� 1)g�1:
(b) Prove that the Petersen graph has exactly f(3; 5) vertices at distance at most
two from every vertex.
4. Let G(A;B) be a bipartite graph containing no cycle of length six and no K2;3.
Prove that we can delete a quarter of the edges of G to get a subgraph with no
cycles of length four.
[Hint: delete edges independently from di�erent cycles of length four.]
5: (a) Prove that R(s; t) � R(s; t�1)+R(s�1; t)�1 when R(s; t�1) and R(s�1; t)
are both even.
(b) Use (a) to show that R(3; 4) = 9.
[Hint: for (a) use the fact that every graph with an odd number of vertices contains
a vertex of even degree. For (b), create a graph on f0; 1; 2; : : : ; 7g where i is joinedto i+ 3; i+ 4 and i+ 5 mod 8.]
6: Prove that f(n) � R(3)(n; n).
[Hint: colour fx; y; zg red if in clockwise order around the triangle with vertices
x; y and z, x appears before y and y appears before z.]