342 Notes
342 Notes
Walk: a sequence of vertices and edges of G: v1 , e1 , v2 , e2 , . . . , ek−1 , vk such that the ends of edge ei are vi
and vi+1 . Vertices and edges are not necessarily unique.
Path: a walk in which the vertices are distinct. Since vertices must be distinct, the edges also are. For
A, B ⊆ V (G), an AB-path is one which starts at A, ends at B, and every other vertex in the path is in
neither A nor B.
Circuit: a walk v1 , e1 , . . . , ek−1 , vk such that v1 = vk and v1 , v2 , . . . , vk−1 are distinct. A loop is a circuit of
length 1, and parallel edges create a circuit of length 2.
Forest: a graph with no circuits. Each component is a tree.
Graph: G = (V, E, i) is a triple, where V is a finite set of vertices, E is a finite set of edges with V ∩ E = ∅,
and i : V × E → {0, 1, 2} is an incidence function. i(v, e) = 0 if vertex v does not touch edge e, i(v, e) = 1
if v is incident with e, and i(v, e) = 2 if e is a loop and both ends of e are at v. Both loops and parallel
edges are allowed in this course, a simple graph refers to a graph with neither. Every edge e has exactly two
ends,
P where the ends are not necessarily unique. The ends of e are u, v such that i(u, e) = i(v, e) 6= 0. Also,
v∈V i(v, e) = 2 for every edge e.
Adjacent: u and v are adjacent in G if either u 6= v and i(u, e) = i(v, e) = 1 for some e ∈ E or u = v and
i(u, e) = i(u, v) = 2 for some e ∈ E. So a vertex is adjacent to itself if there is a loop.
Incident: v ∈ V and e ∈ E are incident in G if i(v, e) 6= 0.
P
Degree: deg(v) = e∈E i(v, e). So loops count for 2. A degree 0 vertex is isolated, a degree 1 vertex is a
leaf.
Subgraph: a subgraph of G = (V, E, i) is a graph H = (V 0 , E 0 , i0 ) where V 0 ⊆ V, E 0 ⊆ E 0 and i0 is the
restriction of i to the domain V 0 × E 0 . Since H has to be a graph, you cannot do weird things like take an
edge and only remove one end.
Induced subgraph: if X ⊆ V , then the subgraph G[X] is induced by X is the subgraph (X, E 0 , i0 ) where
E 0 is all edges in E with both ends in X and i0 is the restriction of i to the domain X × E 0 . Informally, a
subgraph of G is obtained by removing edges/vertices arbitrarily. An induced subgraph is obtained by just
removing vertices then taking all incident edges.
Graph union: let G1 = (V1 , E1 , i1 ) and G2 = (V2 , E2 , i2 ). Suppose the subgraph obtained from G1 by
restricting to V1 ∩ V2 and E1 ∩ E2 is the same as the subgraph obtained from G2 by restricting to these sets.
This means G1 , G2 “agree” on their common vertices and edges. Then, G1 ∪ G2 is the graph with vertex set
V1 ∪ V2 , edge set E1 ∪ E2 , in which a vertex v is incident to an edge e iff e, v are incident in G1 or G2 .
Direct sum: when V1 ∪ E1 and V2 ∪ E2 are disjoint, then the union G1 ∪ G2 is the direct sum and is written
G1 ⊕ G2 .
Graph difference: for a set X(⊆ V ∪ E) and G = (V, E, i), then G − X is the subgraph of G with vertex
set V \X, edge set E\X 0 , where X 0 is the set of all edges either in X or incident with a vertex in X.
1
2 Connectivity
2.1 Concepts
Connected: Vertices u, v are connected if there is a uv-walk. A graph is connected iff G(V ) 6= 0 and every
pair of vertices are connected in G. The empty graph is disconnected. This connectedness property can be
viewed as an equivalence relation, meaning all three of the following hold:
1. Reflexive: u is connected to u for all u ∈ V . Take the trivial walk u.
2. Symmetric: if u is connected to v then v is connected to u. Reverse the walk.
3. Transitive: if u is connected to v and v is connected to w, then u is connected to w. Join the two walks
end to end. Since these are walks and not paths, the result is still a walk.
The equivalence classes of this relation form the vertex sets of each of the components of G. In other words,
an equivalence class of this relation is a subset of vertices V 0 such that every vertex in V 0 is connected to
every other vertex in V 0 but not connected to any vertex outside of V 0 .
Component: a maximal connected subgraph. Alternatively, the induced subgraph of the form G[X] where
X is an equivalence class of the relation “is connected to”.
Every graph is uniquely expressible as the direct sum of connected graphs where the sum are its components.
Thus, you don’t want the empty graph to be connected because you can arbitrarily add empty graphs into
this sum and it would no longer be unique.
Paths, circuits as graphs: a path (as a graph) is one where the edges and vertices form a path, an
alternating sequence of unique vertices and edges. A circuit as a graph is one where the edges and vertices
form a circuit.
AB-path: a path with one end in A and the other in B, where A, B are disjoint sets of vertices in a graph
G and the other vertices of the path are in V (G)\A ∪ B. Similarly, an aB-path where a ∈ V (G) is equivalent
to an {a}B-path. Same for an ab-path.
Separation: a set X ⊆ V ∪ E separates A and B in G if there is no AB-path in G − X. An edge is a bridge
(or, cut edge) if there are vertices u, v of G that are not separated by the empty set but are separated by {e}.
Separator: for a connected graph G, a set X is a separator if G − X is non-empty and disconnected. An
AB-separator is a separator where there is no path from any vertex in A to any vertex in B. Similarly for
aB-separator, ab-separator.
Cut vertex: a vertex v such that there is some pair of vertices a, b which is not separated by the empty set
but is separated by {v}. Or, a, b are a connected pair of vertices separated by v. Or, {v} is a separator.
k-connected: For k ≥ 1, G is k-connected if |V (G)|> k and there is no X ⊆ V (G) with |X|< k such that
G − X is not connected. A few observations:
1. For graphs with more than one vertex, it is disconnected iff it is not 1-connected. Graphs with one
vertex are not 1-connected because |V (G)|6> 1. Thus, being 1-connected is equivalent to being connected
and |V (G)|≥ 2.
2. Being 2-connected is equivalent to being connected, |V (G)|≥ 3, and no cut vertex.
3. Any graph with a leaf is not 2-connected because the leaf’s neighbour is a cut vertex.
4. The easiest example of a 2-connected graph is any circuit. As seen later, adding paths to a 2-connected
graph results in a bigger 2-connected graph.
2
5. Every graph is 0-connected except the empty graph.
6. A k-connected graph is not necessarily k + 1, k + 2, . . . connected but is k − 1, k − 2, . . .-connected,
assuming there are enough vertices in the graph.
7. All vertices in a k-connected graph has degree at least k.
Adding a path: Originally, the added path P must have only its two ends in common with the graph G
that it is added to and |V (P )|> 1. If G0 is the result of adding P to G, then G0 = G ∪ P .
Block: a maximal connected subgraph that has no cut vertex. Thus, blocks are either 2-connected or have
≤ 2 vertices. A graph is 2-connected iff it has one block and contains more than 2 vertices.
Block graph of a graph G: a simple (no multiple edges or loops) bipartite graph with bipartition (B, K)
where B is the set of blocks of G and K is the set of cut vertices of G so that a block b is adjacent in the
block graph to a cut vertex w of G iff w ∈ b. Observations:
1. The block graph encodes how the blocks are pieced together to form G. Given the blocks and block
graph, you can recover G.
2. All block graphs are forests because if there were a circuit, then the blocks in the circuit would not be
blocks.
3. Since block graphs are forests, they are also planar.
4. A graph is planar iff each block is planar. Since blocks are 2-connected, they allow you to reduce a
general graph into its blocks which are all 2-connected then find some way to join the result back
together.
5. Any subgraph of G with no cut vertex is wholly contained within a single block (or equal to a single
block)
Trying to define a block equivalent for 3-connectedness is very difficult since it is hard to formalize a notion
of decomposing a graph into 3-connected pieces. What can we say about the block graph of a block graph?
Edge contraction: Given an edge e in G = (V, E, i) with ends u, v, then G/e is the graph with edge set
E\{e}, vertex set (V \{u, v}) ∪ {xuv } where xuv is a new vertex, in which each edge with an end at u or v
in G now has an end at xuv replacing it and the rest of the graph is the same. If there is another edge f
from u to v, then it becomes a loop at xuv and a loop at either u or v remains a loop at xuv . If e is a loop
from u to u, then it is removed entirely. It is possible to contract an edge in a 2-connected graph to obtain a
non-2-connected graph.
Internally disjoint (IDJ): Suppose a, b ∈ V (G), a 6= b. Then, a, b-paths P1 , . . . , Pk are IDJ if V (P1 )\{a, b},
. . . , V (Pk )\{a, b} are disjoint sets and the sets E(P1 ), . . . , E(Pk ) are disjoint. It’s important that the edge
sets are disjoint to deal with cases where a, b are adjacent.
Wheel: For n ≥ 3, an n-wheel is the graph with one “center” vertex and the rest form a circle around the
center and every outer vertex is connected to its neighbouring outer vertices and also the center vertex. Is
3-connected but the spoke edges can be neither deleted nor contracted while maintaining 3-connectivity
whereas the rim edges can be contracted while maintaining 3-connectivity. Since all edges in a wheel have at
least one end with degree 3, then deleting any edge from a wheel will lose 3-connectedness.
3
Theorem: A loopless graph G is 2-connected iff G can be obtained starting from a circuit, by successively
adding paths. Or, there exists a sequence of graphs G1 , G2 , . . . , Gk such that G1 is a circuit, Gk = G, and for
1 ≤ i < k, Gi is 2-connected and Gi+1 is obtained from Gi by adding a path. This is an “ear decomposition”
of G. G must be loopless because circuits do not have loops and you cannot add paths to a circuit to form a
graph with a loop.
Proof : The ← is in A1. For the → direction, let G be a loopless 2-connected graph and let l be maximal so
that there exists subgraphs G1 , . . . , Gl of G so that G1 is a circuit and each Gi is 2-connected, and arises
from Gi−1 by adding a path. Since every 2-connected graph has a circuit, l ≥ 1. Since adding a single
new edge between vertices of Gl is an example of adding a path, the maximality of l implies that every
edge in G between two vertices of Gl is an edge of Gl . In other words, Gl is an induced subgraph of G. If
V (Gl ) = V (G), then Gl = G so the theorem holds so we may assume V (Gl ) 6= V (G). Let u be a vertex in G
but not Gl . Since G is connected, there must be an edge from u to a vertex v which is in Gl . Because G is
2-connected, there is still a path P from u to V (Gl ) in the graph G − v. By construction, every vertex in P
is not in V (Gl ) besides the end vertex. Concatenating v to the start of P results in a path P 0 from v to some
other vertex not v in Gl . Thus, the two ends of P 0 are in V (Gl ) but the rest of the vertices in P 0 are not.
Now the graph Gl ∪ P 0 is a subgraph of G obtained from Gl by adding a path. It is 2-connected because of
the ← direction. This contradicts the maximality of l, so it must be the case that Gl = G. This is similar to
an inductive proof: “look at the end of the longest sequence, then prove the end is the current graph”.
Theorem: A graph G is the union of its blocks.
Proof : For every edge e from x to y, the subgraph of x, e, y has no cut vertex so e is contained in some block
by definition of maximal. Similarly, a single vertex is not a cut vertex so it is also in some block. Therefore,
each vertex and edge of G is contained in a block of G, so G is the union of its blocks.
Theorem: Any two blocks intersect in at most one vertex (and no edges).
Proof : Let B1 , B2 be blocks and let x, y ∈ V (B1 ) ∩ V (B2 ) be distinct. By maximality of B1 , B2 , the
subgraph B1 ∪ B2 has a cut vertex w. Let a, b be vertices separated by w. Let z ∈ {x, y}\{w}. Since B1 has
no cut vertex, each of a and b is connected to z in either B1 − w or B2 − w, and hence in B1 ∪ B2 − w. So,
a, b are connected in B1 ∪ B2 − w, a contradiction. (Note: by choosing z like this, we simultaneously handle
all cases for if both a, b are in B1 , both in B2 , or one in B1 and other in B2 without being explicit).
Theorem: If G is connected and e ∈ E(G), G/e is connected.
Proof : Suppose a, b are separated in G/e. There must be an ab-path P in G since G is connected and P
must contain e. Suppose the two ends of e are u, v. Replacing u, e, v with the new vertex that arises from
contraction in P gives an ab-path in G/e.
Lemma: Let k ≥ 1. If G is k-connected and X ⊆ V (G) with |X|= k, then each vertex in X has a neighbour
in each component of G − X.
Proof : Suppose there were a vertex v ∈ X and a component C of G − X so that v has no neighbour in
C. Let C 0 be the vertices in C. Since G is k-connected, there is a path from v to some vertex u in C 0 in
G − (X\{v}). Since v has no neighbours in C 0 , this path must contain at least one vertex not in C 0 . And in
G − X, this vertex would be connected to u, a contradiction since they are in different components of G − X.
Theorem: If e ∈ E(G) with ends u, v, and X ⊆ V (G) ∪ E(G) containing none of e, u, v, then (G − X)/
e = (G/e) − X. Or, contracting then deleting is the same as deleting then contracting.
Proof : The vertex sets of both (G − X)/e and (G/e) − X contains every vertex in G, except those in X
and u, v and additionally contains xuv . The edge sets contain every edge in G, except those in X and with
one end at u and another end at v and edges with at least one end at u or v will now have their end at xuv .
Since the vertex and edge sets and adjacency is the same, the graphs are the same.
4
Theorem: If G is 2-connected, e ∈ E(G), |V (G)|> 3, then either G/e or G − e is 2-connected. This could
be useful for induction, you can either contract or delete an edge and preserve 2-connectedness.
Proof : Suppose that neither G/e nor G − e is 2-connected. Thus, G/e has a cut vertex y and G − e has a cut
vertex z. So, (G/e) − y and G − {e, z} are disconnected graphs. Let u, v be the ends of e and u 6= v because if e
were a loop, then certainly G/e, G − e would both still be 2-connected. If y 6= xuv , then (G/e) − y = (G − y)/e
but G − y is connected so (G − y)/e is connected, a contradiction to the choice of y. Therefore y = xuv , so
(G/e) − y = G − {u, v}.
Now, we want to argue that z is not a cut vertex of G − e, this will be a contradiction. Recall (G/e) − y is
disconnected, let C be a component of (G/e) − y = G − {u, v} that does not contain z. By an above lemma,
C contains a neighbour u0 of u and a neighbour v 0 of v, and since C does not contain z, u, or v, then u0 and
v 0 are connected in G − {e, z}. Therefore, u and v are connected in G − {e, z}. Let a be a vertex of G − z.
Since G is 2-connected, G − z is connected, so there is a path from a to u or v in G − z. Since you don’t
need edge e to go from a to u or v, then there is a path from a to u or v in G − {e, z}. So, a is connected to
u or v in G − {z, e} and u and v are connected in G − {e, z}, so a and u are connected in G − {z, e}. a was
arbitrary thus G − {e, z} is connected, a contradiction to the choice of z.
This theorem does not hold for 3-connected graphs. For example, for any spoke edge of an n-wheel, either
removing or contracting the edge will cause the graph to no longer be 3-connected.
Tutte’s Theorem (1961): If G is a 3-connected graph with |V (G)|> 4, then G has an edge e so that G/e
is 3-connected. This means you can now do induction on 3-connected graphs, provided you are willing to
contract an edge.
Proof : Suppose that the statement is false and G/e is not 3-connected for any edge e. First, we prove the
following claim.
Claim: For every edge e with distinct ends x, y, there is a vertex z 6∈ {x, y} so that G − {x, y, z} is
disconnected and each of the vertices x, y, z has a neighbour in each component of G − {x, y, z}.
Proof : Let axy be the vertex of G/e created by contracting. Since G/e is not 3-connected, there is a set Z
so that |Z|= 2 and (G/e) − Z is not connected. If axy 6∈ Z, then (G/e) − Z = (G − Z)/e, a contradiction
since (G/e) − Z is not connected but (G − Z)/e is. So, azy ∈ Z. Let z be the other element of Z. Now
the disconnected graph (G/e) − Z is equal to G − {x, y, z}. So G − {x, y, z} is disconnected and the other
part follows from what was proved last lecture.
Now back to the actual proof. Choose e with ends x, y so that the number of vertices of the smallest
component C of G − {x, y, z} is as small as possible, where z is given by the above claim. Let v be a neighbour
of z in C. Now, by the claim, there is a vertex w so that G − {v, z, w} is disconnected and each of v, z, w has
a neighbour in each component of G − {v, z, w}. Since x, y are adjacent (edge e) in G, and G − {v, z, w} has
5
at least two components, there is a component D of G − {v, z, w} containing neither x nor y. (So D is also a
component of G − {v, z, w, x, y}). We argue that V (D) ⊆ V (C) and in fact D doesn’t contain v but C does
so we argue V (D) ⊂ V (C), this will be a contradiction since C was chosen to be as small as possible. To
see this, let b ∈ V (D). Since v has a neighbour v 0 in D and D is a component of G − {v, z, w, x, y}, there is
a path from b to v in G − {z, w, x, y}. So, there is a path from b to v in G − {x, y, z}. So, b is in the same
component as v in G − {x, y, z}. So b ∈ V (C). So V (D) ⊂ V (C).
6
Proof : Let C be a component of H and C 0 be a corresponding component of H 0 = H/e (so C = C 0 if
e 6∈ E(C) and C 0 = C/e otherwise). Then C contains a vertex in A iff C 0 contains a vertex in A0 , by
the definition of A0 . This is also true for B, B 0 . So H contains an AB-path iff some component C of H
contains a vertex in A and a vertex in B which is true iff some component C 0 of H 0 contains a vertex in
A0 and a vertex in B 0 and that is true iff H 0 contains an A0 B 0 -path.
Claim 2 : There do not exist k disjoint A0 B 0 -paths in G/e.
Proof : Suppose that k disjoint A0 B 0 -paths P1 , . . . , Pk existed in G/e. Each path Pi not containing xe is
also an AB-path in G. If none of the Pi contain xe , then G therefore has k disjoint AB-paths, contrary
to the choice of G as a counter example. If one of the Pi , say P1 , contains xe . Let H be the subgraph of
G with vertex set (V (P1 )\{xe }) ∪ {u, v} and edge set E(P1 ) ∪ {e}. Now H/e = P1 . By claim 1, since P1
has (is) an A0 B 0 -path, H contains an AB-path P10 . Now since P1 , . . . , Pk are vertex disjoint, the paths
P10 , P2 , . . . , Pk are vertex disjoint AB-paths in G. This is a contradiction.
Now back to the proof. Since G/e is not a counter example (there do not exist k disjoint A0 B 0 -paths
in G/e) by claim 2, then the smallest A0 B 0 -separator X 0 in G/e has size < k. If xe 6∈ X 0 , then since
(G/e) − X 0 = (G − X 0 )/e, then (G − X 0 )/e contains no A0 B 0 -paths. But by claim 1 with H = G − X 0 , then
H has no AB-path. So X 0 is a AB-separator in G of size less than k, a contradiction. Therefore, xe ∈ X 0 .
Let X = (X 0 /{xe }) ∪ {u, v} (un-contract e).
Note that (G/e)−X 0 = G−X, and since X is an AB-separator in G, |X|≥ k. Since |X 0 |< k and |X|= |X 0 |+1,
then |X|= k. Let X = {x1 , . . . , xk }. If there were an AX-separator Y in G − e with |Y |< k, then (G − e) − Y
would contain no AX-paths. Since every AB-path in G contains an AX-path in G − e, then Y is an
AB-separator in G, a contradiction since |Y |< k. So the smallest size of an AX-separator in G − e is ≥ k.
Similarly, the smallest size of an XB-separator is ≥ k. Since G − e is not a counter example, then there
are k disjoint AX-paths P1 , . . . , Pk in G − e. Say that xi is the end in X of Pi . Similarly, since |X|= k,
we can find k disjoint XB-paths Q1 , . . . , Qk where xi is the end in X of Qi . If there were a vertex z in
(Pi − X) ∩ (Qj − X), for some i, j, then let a be the end of Pi in A and b be the end of Qi in B. Then a
and z are connected in G − X and z and b are connected in G − X. So a and b are connected in G − X,
contradicting the fact that X is supposed to be an AB-separator. So the paths Pi , Qj for any i, j intersect
only at their ends in X. So Pi , xi , Qi where 1 ≤ i ≤ k gives a collection of k disjoint AB-paths in G, a
contradiction.
Proof of 3* summary: Suppose G, A, B, k is a counter example where |E(G)| is as small as possible. Show
that there is some non-loop edge e in G. Define A0 , B 0 in G/e. Show that there is an AB-path in H iff
there is an A0 B 0 -path in H/e for any subgraph H of G containing e. Show that there are not k disjoint
A0 B 0 -paths in G/e. Define X 0 to be the smallest A0 B 0 -separator in G/e. Show that the new vertex given
from contraction is in X 0 . Define X to be X 0 with this new vertex removed and the original two vertices
added. Show that |X|= k. Show that there are k disjoint AX paths and k disjoint XB-paths and show that
we can glue these paths together to get k disjoint AB-paths.
Version 2 for non-adjacent: If a, b are non-adjacent vertices of G, and |X|= k is the size of a smallest
ab-separator with a, b 6∈ X, then there are k internally disjoint ab-paths in G. This is the same as Version 2
from above but a, b are non-adjacent. We will use Version 3∗ to prove this.
Proof : Let A be the set of neighbours of a and B be the set of neighbours of b. Let k 0 be the smallest size
of an AB-separator X 0 in G. Since G − X 0 contains no AB-paths and every ab-path contains an AB-path
(every ab-path involves a neighbour of a and a neighbour of b, since a, b are not adjacent), then X 0 is an
ab-separator, so k 0 = |X 0 |≥ k. Therefore, by Version 3∗ , there are k vertex disjoint AB-paths P1 , . . . , Pk . So,
there are k internally disjoint ab-paths of the form (a, P1 , b), . . . , (a, Pk , b). Note we could not have chosen
A = {a}, B = {b} because Version 3∗ gives completely disjoint paths, but here we want internally disjoint
paths which start and end at a, b.
Fan Lemma: If a ∈ V (G) and B ⊆ V (G) with a 6∈ B, then exactly one of the following is true:
7
1. There exist k paths P1 , . . . , Pk , each starting at a, all disjoint except their intersection at a, and the
only vertex in B in each path is the last one.
2. There is a set X ⊆ V (G)\{a} so that |X|< k and G − X has no aB-paths.
Proof : In Assignment 2, using Version 3∗ .
Theorem: Let k ≥ 2. If G is a k-connected graph and A is a set of ≤ k vertices of G, then G has a circuit
containing each vertex in A. Note that for k = 2, this theorem is the same as Menger’s theorem because a
circuit is the same as two IDJ paths, but is quite different for k > 2.
Proof : Let C be a circuit that contains as many vertices in A as possible. Since k ≥ 2 and 2-connected
graphs have circuits, such a C exists. Suppose for contradiction C did not contain every vertex in A. Let
a ∈ A\V (C). Let m = min(|C|, k).
Since G is k-connected, by the Fan Lemma, there are m aC-paths Q1 , . . . , Qm which are disjoint except
at a. Whether k < |V (C)| or k ≥ |V (C)|, since C does not contain every vertex in A and |A|≤ k, there
is some path P such that P is a subgraph of C, the two ends of P are the ends of two paths Qr , Qs , for
any 1 ≤ r, s ≤ m, and no other vertex in P is in A. Now, let C 0 be the circuit obtained from removing P
from C and adding Qr , Qs . C 0 contains all the vertices in A that C contained but also contains a. This is a
contradiction to the maximality of C.
Theorem: Let k ≥ 2. Every k-connected graph G with |V (G)|≥ 2k contains a circuit of length at least 2k.
Proof : In assignment 2, using the Fan Lemma.
8
3 Planarity
3.1 Concepts
Planar: an adjective that describes a graph. A planar graph has a plane drawing.
Plane graph: a pair G = (V, E) where:
1. V is a finite subset of R2
2. Each e ∈ E is a (continuous) “arc” whose “endpoints” are in V .
3. The interiors of the edges in E are disjoint from each other and from the vertices. Thus, no two
edges cross and no edge can touch a vertex besides its endpoints. Two edges cannot touch (except at
endpoints).
A plane graph G = (V, E) naturally corresponds to a graph G0 = (V, E, i). G0 is the abstract graph defined
by G and G is a plane drawing or plane embedding of G0 . G is a specific drawing of G0 in the plane.
Curve: a subset of R2 that is homeomorphic to the unit interval [0, 1] ⊆ R. The homeomorphism is f ([0, 1]),
where f : [0, 1] → R2 is a continuous and injective (one-to-one) function. The endpoints of the curve are f (0)
and f (1).
Closed curve: a subset of R2 of the form f ([0, 1]) where f : [0, 1] → R2 is a continuous and injective
function on the domain (0, 1) with f (0) = f (1), (f is not one-to-one at 0 and 1). Curves and closed curves
are polygonal if they are a union of a finite number of straight line segments (can be drawn using only
straight lines). An arc is a polygonal curve, a polygon is a polygonal closed curve.
Open disc: with radius r > 0, center a in R2 , is a set of the form D = {x ∈ R2 : ||x − a||< r}. A disc
contains all points in this ”circle” but not the boundary points. A closed disc includes the boundary points.
A single point is not an open disc.
Open set: a set X ⊆ R2 such that every x ∈ X is contained in an open disc D ⊆ X. Informally, an open
set does not contain any boundary points. Since this topology content is in the context of the planarity of
graphs, all definitions are specifically only for R2 . R2 itself is an open set, as is the empty set.
Closed set: a set X ⊆ R2 such that R2 \X is open. Informally, closed sets contain all boundary points.
Some sets can be neither open nor closed.
Bounded set: a set X ⊆ R2 such that X ⊆ D for some disc D.
Compact set: a set X ⊆ R2 that is closed and bounded.
Connectedness: two points x1 , x2 ∈ X are connected (also called linked) in a set X ⊆ R2 if x1 = x2 or
there is an arc contained in X with endpoints x1 , x2 . Like before, connectedness is an equivalence relation
and its equivalence classes are the components of X.
Face: the faces of a plane graph G are the components of R2 \G = R2 \(V ∪ (∪E)). The (∪E) here is the
union of all the edges in E and is needed because E itself is not a subset of R2 . Equating G to (V ∪ (∪E)) is
an abuse of notation, since G is being used to mean the set of points in a vertex or edge of the plane graph
G. This loose notation is used often later on. Each face is a subset of R2 and is an open set.
Frontier: the frontier of a face f of a plane graph G is the set {x ∈ G : every disc centered at x contains a
point in f }. Informally, the lines/curves which make up the face boundary in a plane graph.
Boundary: the boundary of a face f is the subgraph corresponding to the frontier of a face f . Whereas the
frontier is a subset of R2 , the boundary is an actual graph.
9
Degree: the degree of a face is the number of edges (not necessarily all unique) in the walk around the
boundary of the face. A loop gives a face of degree 1.
Subdividing: Let e ∈ E(G) with ends u1 , u2 (may be equal if e is a loop). The graph H obtained from G
by subdividing e is the graph obtained from G by deleting the edge e, adding a new vertex ve , and adding
new edges e1 = ve u1 , e2 = ve u2 . As well,
1. degH (ve ) = 2
2. G is isomorphic to the graphs H/e1 and H/e2
3. G is planar iff H is planar and G, H have plane drawings that correspond to the same set of points in
R2
Subdivision: a subdivision of a graph G is any graph obtained from G by repeatedly subdividing edges. G
is a subdivision of itself and if H is non-planar and G is a subdivision of H, then G is non-planar.
Minor: G has H as a minor (or, G has an H-minor) if H can be obtained from G by deleting vertices/edges
and contracting edges. Or, H can be obtained from a subgraph of G by contracting edges. G is a minor of
itself.
Topological minor: G has H as a topological minor if some subdivision of H is contained in G as a subgraph.
If H is a topological minor of G, then it is also a minor of G but the other direction is not necessarily true.
For example, K5 is a minor of the Petersen graph but not a topological minor. It is clear that K5 is not a
topological minor of the Petersen graph because the Petersen graph does not have five vertices of degree at
least 4 to serve as the “terminal” vertices of the subdivision.
10
Claim 1 : If X is the frontier of a face f of a plane graph G, then every edge e either satisfies e0 ⊆ X or
e ∩ X = ∅. And, for each edge e, the set e0 is contained in the frontier of ≤ 2 faces. Recall e is actually a
set of line segments.
Proof : Consider the set G\e0 ⊆ R2 . Since G\e0 is also a plane graph, it is a closed and compact set.
Now each x ∈ e0 is not in G\e0 , so since R2 \(G\e0 ) is open, there is a disc Dx centered at x that does not
intersect G\e0 . Since e is a finite union of line segments, by choosing Dx small enough, we can guarantee
that Dx ∩ e is the union of 2 radii of Dx . Since Dx \G contains 2 equivalence classes with respect to
linkedness, it follows that x is the frontier of ≤ 2 faces.
Now, let x1 , x2 be points in the interior of e. Let e[x1 , x2 ] be the sub-arc of e with x1 , x2 as endpoints. Let
L1 , L2 be the perpendiculars at x1 , x2 to the initial/final line segments (might not be parallel) and let R
be the region of the plane bounded by L1 , L2 containing e[x1 , x2 ]. By the compactness of e[x1 , x2 ], and the
existence of the discs Dx , there is a finite collection D1 , . . . , Dk of discs whose union contains e[x1 , x2 ] and
each Di only intersects G in e, and in the union of two radii of Di . By choosing the Di appropriately, we may
assume that their centres appear “in order” along the arc from x1 to x2 and that each Di intersects Di+1 .
Let f be a face with x1 on its frontier. Choose points a0 , a1 , . . . , ak−1 such that: a0 ∈ D1 , ai ∈ Di ∩ Di+1
for each i ≥ 1 and ai is linked to ai+1 in (Di ∪ Di+1 )\e for each i ≥ 0. Inductively, a0 is linked to ak−1 in
R2 \G. So, f contains a point in a face of G containing x2 on its frontier; f has x2 on its frontier. Overall, we
have shown that for each edge e and face f , either e0 is contained in the frontier of f , or e0 is disjoint from
the frontier of f . And also, that e is contained in the frontier of ≤ 2 faces. In fact, if e0 is contained in the
frontier of f , then e is also contained in the frontier of f because each disc around an endpoint of e contains
a disc around a point in e0 .
Theorem: If e is a cut edge, it is contained in exactly one face boundary. Otherwise, e is in a circuit, and is
contained in two face boundaries.
Corollary: If G is a plane forest (a forest drawn on a plane), then G has exactly one face, the unbounded
face and its boundary is the edges of G.
Theorem: Let G be a plane graph and P be a path of G so that G is obtained from a plane graph H by
adding the path P . Then there is a single face f of H that contains the interior of P , each face of H other
than f is still a face of G, and the face of H containing P is the union of two faces f1 , f2 of G and the interior
of P . And, if f is bounded by a circuit, so are f1 , f2 .
Corollary: G has exactly one more face than H.
Theorem: Every face boundary in a 2-connected, loopless graph G is a circuit.
Proof : Recall that there are 2-connected plane graphs G1 , . . . , Gk so that G1 is a circuit, Gk = G, and each
Gi+1 is obtained from Gi by adding a path. The theorem above shows that each face of Gi is bounded by a
circuit and the same is true of Gi+1 because every face of Gi+1 is either also a face of Gi or is a face f of Gi
that was split into two which share the new path and the circuit face boundary of f in Gi .
Theorem: If G is a plane graph, e is a cut edge of G, then G − e has the same number of faces as G
Theorem: Drawing graphs on a sphere is the same as drawing on a plane due to stereographic projection.
Euler’s formula: Let F (G) be the set of faces of the plane graph G. If G is connected, then |V (G)|−|E(G)|+|F (G)|=
2. This works even if G has loops and parallel edges.
Proof : Let G be a counter example with as few edges as possible. If G has no circuit, then G is a tree,
so |E(G)|= |V (G)|−1 and |F (G)|= 1 since trees have only the unbounded face, so the formula holds,
so G is not a counter-example. Thus, G has a circuit containing an edge e. By a theorem from above,
|F (G)|= |F (G − e)|+1. Since G − e is not a counter example, then 2 = |V (G − e)|−|E(G − e)|+|F (G − e)|=
|V (G)|−(|E(G − e)|−1) + (|F (G)|−1), a contradiction since G is a counter example.
11
Theorem: If f is a face of a plane graph G that is not a forest, then the boundary of f contains a circuit of
G.
Theorem: If G is a simple planar graph with |V (G)|≥ 3, then |E(G)|≤ 3|V (G)|−6. If G has no triangles,
then |E(G)|≤ 2|V (G)|−4.
Proof : This proof involves counting a set in two different ways to prove equality. Let X = {(f, e) : e is an
edge in the boundary of a face f }. If G is a P
forest, then |E(G)|≤ |V (G)|−1 ≤ 2|V (G)|−4 ≤ 3|V (G)|−6, so the
theorem holds. Otherwise, note that |X|= f ∈F (G) (number of edges in the boundary of f ), which is ≥ 3|F |
because each face boundary
P contains a circuit by the theorem above and G is simple, so all circuits have
size ≥ 3. Also, |X|= e∈E(G) (number of faces with e in the boundary), which is ≤ 2|E(G)| because each
edge is in at most two face boundaries. Therefore, 3|F |≤ |X|≤ 2|E(G)|, so |F |≤ 23 |E(G)|. Then by Euler’s
formula, 2 = |V (G)|−|E(G)|+|F |≤ |V (G)|−|E(G)|+ 23 |E(G)|. So, |E(G)|≤ 3|V (G)|−6. If G is triangle free,
then each face boundary has size at least 4, so 2|E(G)|≥ |X|≥ 4|F |, so 12 |E(G)|≥ |F |, so by Euler’s formula,
2 = |V (G)|−|E(G)|+|F |≤ |V (G)|− 12 |E(G)|, so |E(G)|≤ 2|V (G)|−4.
Theorem: K3,3 and K5 are not planar.
Proof : By the above theorem, K5 does not satisfy |E(G)|≤ 3|V (G)|−6 and K3,3 has no triangles and does
not satisfy |E(G)|≤ 2|V (G)|−4. However, note that removing any edge from K5 , K3,3 does make it planar.
Theorem: If G has a non-planar graph H as a subgraph, then G is non-planar.
Question: Given a planar graph G and two planar drawings G1 , G2 , if e1 , e2 ∈ E(G) are in the same face
boundary of a face in G1 , are they necessarily in the same face boundary of some face in G2 ? No, and the
picture below illustrates a counter-example. e1 , e2 are in the face boundary of f in G1 but are not in the
boundary of any face in G1 . G2 is obtained by G1 by “reflecting” the middle four vertices and edges along
the center vertical.
Theorem: If f is a face of a plane graph G, then a plane graph G+ can be obtained by adding a vertex v
inside f and an edge from v to each vertex in the boundary of f .
Proof : By the definition of linkedness.
Recall: if G is a 2-connected loopless plane graph, every face boundary is a circuit.
Theorem: If G is a simple 3-connected plane graph, then a circuit C of G is the boundary of a face iff C is
induced (chordless) and G − C is connected (C is non-separating).
Proof : For the ← direction, let C be an induced and non-separating circuit of a plane graph G. Let f1 , f2
be the two faces of the plane graph C. If f1 , f2 both contain points of the drawing of G, since C is chordless,
each contains a vertex of the drawing of G. Call the vertices v1 ∈ f1 , v2 ∈ f2 . By the Jordan curve theorem,
there is no v1 v2 -path in G − C because any v1 v2 -path needs to use some vertex in C, a contradiction since
G − C is connected. Thus, there cannot be a vertex in both f1 , f2 , so at least one of them is a face of the
graph; C is its boundary.
For the → direction, let C be a circuit that is the boundary of a face f . Let G+ be the plane graph by
adding a new vertex v + into f in G and connecting it to all the vertices in C, which is possible by an above
12
theorem. Suppose C has a chord xy. Since G is simple, then triangles cannot have chords, so |V (C)|≥ 4
and x is not adjacent to y in C, so there exist vertices u, v in different components of C − {x, y}. But since
G is 3-connected, there is a path P in G − {x, y} with ends u0 , v 0 where u0 , v 0 are in different components
of C − {x, y}. Note that u is not necessarily equal to u0 and same with v, v 0 . Now, the path P , the edge
xy, the paths around C from x to u0 to y to v 0 , and the edges from v + to x, u0 , y, v 0 give a subgraph of G+
that is a subdivision of K5 , where x, u0 , y, v 0 , v + are the “terminal” vertices of the K5 , so G+ is nonplanar,
a contradiction. Next, suppose G − C is disconnected, and let x, y be vertices in different components of
G − C. By 3-connectedness and Menger’s theorem, there are 3 internally disjoint xy-paths P1 , P2 , P3 in G.
But since x, y are in different components of G − C, these paths do not exist in G − C, so there is a vertex
ui ∈ V (C) ∩ V (Pi ) for each i ∈ {1, 2, 3}. Now, the paths from x to ui and from ui to y and the edges from
v + to ui form a K3,3 subdivision that is a subgraph of G+ , a contradiction to the planarity of G+ . v + is
adjacent to ui because since C is a face boundary and ui ∈ V (C), so ui is on the boundary, so v + can be
added as by the theorem above. Overall, we constructed either a K5 or K3,3 topological minor to contradict
planarity. The pictures below illustrate the two.
An interesting note about this theorem is that the conditions that C is chordless and non-separating are
combintorial, meaning that they are independent of how G is drawn. However, C being a boundary does
depend on how the graph is drawn (see question from above). So, this theorem allows us to conclude
something about specific drawings of a graph from something independent from any drawing.
Theorem: If G is planar, then G/e is planar for all edges e.
Theorem: H is a topological minor of G iff there is an injective function ϕ with domain V (H) ∪ E(H) that
maps vertices of H to vertices of G and edges of H to paths or circuits of G such that:
1. ϕ(v) ∈ V (G) for all v ∈ V (H) are distinct (call these vertices ϕ(v) terminals)
2. For each e ∈ E(H) with ends u, v, if e is not a loop, then ϕ(e) is a path with ends ϕ(u), ϕ(v) ∈ V (G)
and if e is a loop, then ϕ(e) is a circuit containing ϕ(u) = ϕ(v).
3. For distinct e, e0 ∈ E(H), ϕ(e) and ϕ(e0 ) only intersect at ϕ(u) ∈ V (G) if u is a common end of e, e0 in
H.
Theorem: H is a minor of G iff there is an injective function ϕ with domain V (H) ∪ E(H) that maps
vertices of H to connected subgraphs of G and edges of H to edges of G such that:
1. The subgraphs ϕ(v) : v ∈ V (H) are vertex disjoint.
2. For each e ∈ E(H) with ends u, v, the edge ϕ(e) has ends in ϕ(u) and ϕ(v) and is not an edge of either.
Note that if there are parallel edges or loops in H, varphi also gives parallel edges or loops in G.
Theorem: If G has H as a topological-minor, it has H as a minor (proof in A3).
Theorem: If H has max degree ≤ 3 and G has a H as a minor, then it has H as a topological minor (proof
in A3).
Theorem: G has K5 or K3,3 as a topological minor iff G has K5 or K3,3 as a minor. Specifically, if a graph
has a K3,3 minor, it has a K3,3 top-minor and if it has a K5 minor, it has a K5 or K3,3 top-minor.
13
Proof : In combination with the above theorems, it is only necessary to show that if G has a K5 minor, it
has a K5 or K3,3 topological minor. Let G be a counter example with as few edges as possible. All graphs
with a K5 minor have at least 10 edges. If G has 10 edges, then G is just a K5 possibly with some isolated
vertices, so G has a topological K5 . Thus, G has at least 11 edges so there is an edge e of G such that G − e
or G/e has a K5 minor. By the minimality of G, G − e or G/e has a K5 or K3,3 topological minor H. If H
is a topological minor of G − e, since G − e is a subgraph of G, then H is also a topological minor of G, a
contradiction. So, H is a topological minor of G/e.
Let u, v be the ends of e, let x = xuv be the identified vertex in G/e. Let T be the set of paths between
terminal vertices corresponding to the topological copy of H inside G. Let P 0 be the set between the terminals
that give H. If x 6∈ T and x is not in any of the paths in P 0 , then T and P 0 give a topological copy of H
inside G, contrary to the choice of G. If x is an internal vertex of path P ∈ P 0 (ie x 6∈ T ), then there is a
path P0 of G with the same ends as P , such that E(P ) ⊆ E(P0 ) ⊆ E(P ) ∪ {e}. Now, removing P from P 0
and adding P0 , and together with T , gives a topological copy of H in G, a contradiction. Otherwise, x ∈ T .
So, x corresponds to a vertex a of H and each edge f of H incident with a corresponds to a path Pf ∈ P 0
with x as an end. There is also a path Pf0 of G with E(Pf ) = E(Pf0 ) and either u or v as an end. If one of u
and v (say u) is an end of ≤ 1 of the paths Pf0 , then we can replace this Pf0 with either itself or Pf0 ∪ {e} to
give a topological copy of H in G and the rest of the paths are unchanged. If this is not the case, then each
of u and v is an end of ≥ 2 of the paths Pf0 . Since the number of Pf0 is equal to the degree of a in H, and H
is either K3,3 or K5 , it follows that H = K5 (since all terminal vertices in top minors of K3,3 have degree 3)
and each of u, v is an end of exactly two Pf0 . But this contains a subdivision of K3,3 , contrary to the choice
of G. This case is illustrated in the picture below, the square and circles indicate the K3,3 bipartition.
14
have it, but G/e is also not a counter example by the minimality of G. So, G/e is planar. Let x be the
identified vertex in G/e (the new one given from contraction) and u, v be the two ends of e. Since G/e is
3-connected, then (G/e) − x is 2-connected, so each face of (G/e) − x is bounded by a circuit. Let C be the
circuit bounding the face containing x, in some drawing of G/e. So, every neighbour of x in G/e is a vertex
of C. For some A ⊆ V (C), define an A-interval to be a path contained in V (C) with both endpoints in A
but no internal vertices in A.
Circle Lemma: If A, B ⊆ V (C), there are four possible outcomes:
1. |A ∪ B|≤ 2
2. |A ∩ B|≥ 3
3. There are distinct vertices a1 , b1 , a2 , b2 in cyclic order around C so that a1 , a2 ∈ A, b1 , b2 ∈ B.
4. There is an A-interval containing B or vice versa.
Proof : Assume without loss of generality that |A|≤ |B|. If |A|≤ 1, then either |B|≤ 1 (so |A ∪ B|≤ 2)
or there is a B-interval containing A, so outcome 1 or 4 holds. Otherwise, suppose |A|≥ 2. If there is
some b1 ∈ B\A, then b1 is contained in an A-interval I with ends a1 , a2 . If B ⊆ I, then outcome 4 holds.
Otherwise, there is some b2 ∈ B\I, and now a1 , b1 , a2 , b2 give outcome 3. Otherwise, there is no b1 in
B\A, so B ⊆ A, but since |A|≤ |B|, then B = A. Then, both A ∪ B = A ∩ B = A, and since |A|≥ 2, if
|A|= 2, then outcome 1 holds and if |A|> 2, then outcome 2 holds.
Now, by the Circle Lemma, where A is the set of neighbours of u in C and B is the set of neighbours of v in
C, outcomes 2 and 3 give a K5 topological minor or a K3,3 topological minor, respectively. Outcome 1 is
impossible because if |A ∪ B|≤ 2, since A ∪ B is a separator in G/e, this contradicts the 3-connectedness of
G/e. Outcome 4 gives a planar drawing of G. All these are contradictions. Note that in this proof, we used
3-connectedness to ensure (G/e) − x is 2-connected thus each face boundary is a circuit so x fits neatly on
the inside of a circuit. The cases for each outcome of the Circle Lemma are illustrated below.
We have now proven Kuratowski’s for 3-connected graphs and will extend it to general graphs.
Lemma: If G is a planar graph, then:
1. G has a plane drawing contained in {(x, y) ∈ R2 : x > 0}; every point has positive x coordinate.
2. For every vertex v of G, G has a plane drawing so that v is at the origin, and every other point has
strictly positive x coordinate.
3. For every pair of adjacent vertices u and v of G, there is a plane drawing of G where u is at the
origin, v is at (0, 1) and every other point in the drawing has positive x-coordinate.
The negative x coordinate equivalent also works.
Proof of (3): Recall that using stereographic projection, given a plane drawing, we can create another
plane drawing where any face is the unbounded face. So, we use stereographic projection to find a drawing
of G where the edge from u to v is on the unbounded face then shift this drawing so that all x-coordinates
are positive. Move u, v to the desired positions and re-route edges consistently.
15
For the general case, we wish to show that if G has no K3,3 -minor or K5 -minor, then G is planar.
Proof : Let G be a minimal counter example with as few vertices as possible. G is not 3-connected (because
we earlier proved that Kuratowski’s holds for 3-connected graphs) and |V (G)|≥ 5 because all graphs with
fewer than 5 vertices are planar. Every proper minor (given by deleting a vertex or contracting an edge) of G
is not a counterexample, so is planar. If G is disconnected, then let C be a component of G. G − C and C are
planar by the minimality of G, so G is planar. Otherwise, G is connected. If G is not 2-connected, then G
has a cut vertex v. Let G1 , G2 be graphs intersecting at only v, so that G = G1 ∪ G2 . By the above Lemma
item 2, we can draw G1 so that v is at the origin and every other vertex of G1 has negative x-coordinate and
we can draw G2 so that v is at the origin and every other vertex has positive x-coordinate. This gives a plane
drawing of G, a contradiction. Next, suppose G is 2-connected. Since G is not 3-connected, it has vertices
u, v so that G − {u, v} is disconnected. Let G1 , G2 be graphs on ≥ 3 vertices, with intersection {u, v} so that
G1 ∪ G2 = G. We wish to use the above Lemma part 2 but u, v might not be adjacent. So, let G01 , G02 be
obtained from G1 , G2 by adding a new edge e from u to v. Since G is 2-connected, G2 is connected, so it
contains a path P2 from u to v. And, G1 ∪ P2 has G01 as a minor, so G01 is a minor of G. Similarly, G02 is a
minor of G. Since G01 , G02 are proper minors of G (because they each have fewer vertices than G), then they
have no K3,3 or K5 minors and are planar by the minimality of G. Now, glue together drawings of G01 , G02 by
the Lemma part 3. This gives a plane drawing of a graph with G as a subgraph (since we have an extra edge
e, the drawing is not exactly G), a contradiction. This completes the proof of Kuratowski’s theorem.
Question: Can we decide if a graph is planar in polynomial time (in n = |V (G)|)?
We can test 3-connectedness in polynomial time by deleting every possible set of 1 or 2 vertices and using BFS
to check whether the remaining graph is connected. Consider a 3-connected graph G. The polynomial time
algorithm for planarity testing is to find an edge e such that G/e is 3-connected (by guessing e then checking
if G/e is 3-connected). If G has parallel edges or loops, remove them. Thus, |E(G)|∈ O(n2 ). Recursively
run the algorithm on G/e. If the algorithm gives a K3,3 or K5 minor, then this is a minor of G, so by
Kuratowski’s, G is not planar. Otherwise, the algorithm will eventually give a planar drawing of G/e. Then,
use the proof of the Circle Lemma (the construction of the circuit C) to get a planar drawing of G.
16
4 Matchings
Assume graphs in this section are simple unless explicitly stated otherwise, because parallel edges are pointless
in the context of matchings and matchings cannot contain loops by definition. Also, “max matching” is taken
to mean maximum matching, not maximal.
4.1 Concepts
Matching: in a graph G, is a set of non-loop edges so that no two edges have an end in common. ν(G) is
the size of a maximum (largest) matching of G. A maximal matching is one where you cannot add more
edges to it, but is not necessarily maximum. A maximum (or maximal) matching cannot fail to saturate two
adjacent vertices because then you could add that edge to the matching to give a larger one.
Saturated: a vertex that is an end of an edge in a matching M is saturated by M , or, M -saturated.
Otherwise, unsaturated. M saturates 2|M | vertices.
|V (G)|
Perfect matching: one of size 2 which saturates every vertex. A graph with an odd number of vertices
has no perfect matching.
(Vertex) cover: a set U ⊆ V (G) such that every edge has an end in U . Or, G − U has no edges. The size of
a minimum (smallest) vertex cover is denoted τ (G). Edge covers are not discussed in this course, so assume
cover means vertex cover. All odd circuits have τ (G) 6= ν(G), all even circuits have a perfect matching,
τ (G) = ν(G). For a path on n vertices, ν = d n2 e = τ , regardless of whether n is even or odd.
Avoidable: a vertex v is avoidable if ν(G − v) = ν(G). Or, there is some maximum matching of G that
does not saturate v. Every vertex in an odd length circuit is avoidable.
Hypomatchable: G is hypomatchable if for all v ∈ V (G), the graph G − v has a perfect matching (thus,
has an odd number of vertices). A graph is hypomatchable iff every vertex is avoidable (proof later). And,
ν(G − v) = 12 |V (G − v)|= 12 |V (G) − 1|
odd: odd(G) is the number of odd components of G (components with an odd number of vertices).
G[F ]: for F ⊆ E(G), G[F ] is the graph obtained from G by deleting all edges not in F .
Berge Witness: a set S ⊆ V (G) such that ν(G) = 12 (|V (G)|+|S|− odd(G − S)) (the Tutte-Berge formula
holds). From a theorem below, S must exist for every G but might not be unique.
17
Konig’s Theorem (1931): If G is bipartite, then τ (G) = ν(G). So, in G, there is either a matching of size
k or a cover of size < k. So, by finding a small cover, we can prove that a matching of a certain size does
not exist. Note that this equality might not hold if G is not bipartite and the simplest counter example is a
triangle (a triangle is the smallest non-bipartite graph). Or, for example, there is no matching of size 3 in a
5-circuit nor is there a cover of size < 3.
Proof using Menger’s theorem: A vertex cover X of a graph G with bipartition (A, B) is such that
G − X has no edges, or, such that G − X has no AB-paths since every edge is an AB-path. So, τ (G) is the
size of the smallest such X. By Menger’s theorem, this is equal to the maximum size of a collection of vertex
disjoint AB-paths, which is equal to the size of a maximum matching in G, ν(G). Therefore, τ (G) = ν(G).
Proof by Rizzi (2000): Let G be a minimum counter example with as few edges as possible. So, |E(G)|> 0.
And, ν(G) < τ (G) and ν(H) = τ (H) for every proper subgraph H of G. G is connected, because otherwise,
if C is a component of G, then ν(G) = ν(C) + ν(G − C) = τ (C) + τ (G − C) = τ (G), a contradiction. We
can assume that |E(C)|> 0 here because components with zero edges do not affect matchings nor covers so
are degenerate cases. Next, since G is a counter-example, it is not a path or even circuit (these all have
ν(G) = τ (G)) and since G is bipartite, it is also not an odd circuit because an odd circuit is indeed a
counter-example. So, since G is connected, but is not a path or circuit, it has a vertex u of degree ≥ 3. Let v
be a neighbour of u. If ν(G − v) < ν(G), then let U be a minimum cover of G − v. Now, U ∪ {v} is a cover of
G. So, τ (G) ≤ |U ∪ {v}|= |U |+1 = τ (G − v) + 1 = ν(G − v) + 1 ≤ ν(G) < τ (G), a contradiction. Otherwise,
consider ν(G − v) = ν(G). Let M be a maximum matching of G − v, so M is also a maximum matching of G.
Thus, there is some max matching M 0 of G that does not saturate v (for simplicity, just call M 0 as M ). So,
M must saturate u because otherwise we can add the uv edge into this matching to get a larger one, so there
is some edge incident with u that is in M . Let f be an edge of G incident with u but not v and also such that
f 6∈ M . This exists because deg(u) ≥ 3. By the minimality of G, we have ν(G − f ) = τ (G − f ), since G − f
is not a counter example and is bipartite. So, M is a max matching of G − f because f 6∈ M , so G − f has a
cover U such that |U |= |M | (take U as a min cover). If U is a cover of G, then ν(G) = |M |= |U |= τ (G), a
contradiction. So, U is not a cover of G, so u 6∈ U because otherwise, it would also be a cover of G because
we would have covered the edge f using u. But, the edge from u to v is an edge of G − f , so has one end in
U , giving v ∈ U . So v is a vertex of G − f that is in the cover U but is not saturated by M . Since every edge
in M contains a vertex in U , it follows that |U |> |M |, a contradiction.
Theorem: If S ⊆ V (G) such that odd(G − S) > |S|, then G has no perfect matching.
Proof : A perfect matching would require an edge from each of these odd components into a vertex in S but
there are not enough vertices in S to support this. Or, S is capable of covering at most |S| odd components
in G − S. Note this theorem also holds if S = ∅.
Theorem: If S ⊆ V (G) and M is a matching of G, then G has at least odd(G − S) − |S| vertices that are
not saturated by M .
Proof : Every odd component of G − S that contains no unsaturated vertex has a vertex joined by an edge
of M to a vertex in S. There are at most |S| edges of M with an end in S, so at least odd(G − S) − |S| odd
components of G − S contain an unsaturated vertex.
So, when M is a maximum matching, then the number of unsaturated vertices, |V (G)|−2|M |, is ≥ odd(G −
S) − |S| for each S ⊆ V (G). Re-arranging, we can get an upper bound on ν(G),
1
ν(G) ≤ (|V (G)|− odd(G − S) + |S|) for all S ⊆ V (G)
2
1
= min (|V (G)|− odd(G − S) + |S|)
2 S⊆V (G)
Let M, M 0 be matchings of G. G[M ] gives a graph where every vertex has degree ≤ 1 because if a vertex had
degree ≥ 2, then there would be ≥ 2 edges in M which share a common end. Similarly, G[M ∪ M 0 ] gives
18
a graph where every vertex has degree ≤ 2. A vertex of degree 2 is saturated by both matchings. Thus,
since there is no vertex of degree ≥ 3, each component of G[M ∪ M 0 ] is a path or a cycle, and is one of the
following:
1. An even circuit (odd circuit is not possible), where every vertex in the circuit is saturated by both
M, M 0
2. A path of length 0 (length is the number of edges), a single vertex unsaturated by either
3. A path of length 1, the edge is in M or M 0 or both
4. A path of length > 1, all internal vertices are saturated by both M, M 0 and end vertices are saturated
by one of M, M 0
If P is a path component of odd length > 1, then the edges of the path alternate between being in M and
being in M 0 ; either |P ∩ M |< |P ∩ M 0 | or |P ∩ M 0 |< |P ∩ M |. Let ∆ be the symmetric difference (the
symmetric difference of two sets is the union minus the intersection). If |P ∩ M 0 |< |P ∩ M |, then M 0 ∆P
is a matching larger than M 0 . So if M and M 0 are both maximum matchings, then every path component
that is not an edge of M ∩ M 0 has even length because an alternating odd path would contract one of the
matchings being maximum. We can use G[M ∪ M̂ ] where M̂ is maximum to prove that for any non-maximum
matching M , there is another matching that saturates a proper superset of the vertices that M saturates (see
assignment 4).
Theorem: If ν(G) = ν(G − v) for all v ∈ V (G), then every component is hypomatchable.
Proof : Let G such that ν(G) = ν(G − v) for all v ∈ V (G). Denote u ? v if u = v or ν(G − {u, v}) < ν(G).
If u, v are adjacent in G, then ν(G − {u, v}) < ν(G) (ie u ? v) because otherwise, you can take a maximum
matching of G − {u, v} and add the uv edge to give a larger matching, a contradiction. Also, if u ? v, then any
max matching of G must saturate at least one of u, v, or else this max matching would still be in G − {u, v}.
We want to show that ? is an equivalence relation. Clearly ? is reflexive and symmetric, we want to show
that it is transitive. Suppose that u1 , v, u2 are distinct with u1 ? v and v ? u2 . Suppose for contradiction
that u1 6? u2 (ie ν(G − {u1 , u2 }) = ν(G)). Therefore there is a max matching M of G not saturating u1 or
u2 and there is a max matching M 0 of G not saturating v (since ν(G) = ν(G − v)). So, each of u1 , v, u2 is
saturated by at most 1 of M and M 0 so has degree ≤ 1 in G[M ∪ M 0 ], so is on the end of a path component
of G[M ∪ M 0 ]. Therefore there is some path component P of G[M ∪ M 0 ] that has some ui as an end but does
not have v as an end (because v cannot be the end of two paths in G[M ∪ M 0 ]). P has even length (because
M, M 0 are maximal so each cannot be augmented). Therefore, M 0 ∆P is a matching of size |M 0 | that does
not saturate ui or v. This contradicts the fact that ui ? v (because any max matching must saturate at least
one of ui , v). Thus, u1 ? u2 . Since transitivity holds, and u ? v if u, v are adjacent, then any pair of vertices in
the same component are related by ?.
Now, back to the actual proof, we wish to show that every component H of G is hypomatchable. If there is
some u in H such that H − u does not have a perfect matching, then a maximum matching of H − u also
does not saturate another vertex v of H. So, ν(G − {u, v}) = ν(G), a contradiction since u ? v (since H is a
component).
Theorem: If G is hypomatchable, then it is connected.
Proof : Suppose for contradiction G is not connected. Since G has an odd number of vertices, either G has
an odd number of components, each with an odd number of vertices (in which case, removing one vertex from
any component leaves a non-zero number of odd components, which clearly do not have a perfect matching),
or G has one odd component and at least one even component. However, removing a vertex from the even
component cannot produce a perfect matching.
Tutte-Berge Theorem: ν(G) = 12 minS⊆V (G) (|V (G)|+|S|− odd(G − S)). We earlier showed that ν(G) was
upper-bounded by this but in fact for every maximum matching, there is a set S for which equality holds.
19
This S can act a concise certificate to show that there is no larger matching because if there is an M, S such
that |M | is equal to the expression above, then S is a Berge witness and M is a maximum matching.
Proof : Let G be a counter example with as few vertices as possible. Clearly |V (G)|> 0.
Claim 1 : G is connected.
Proof : If not, let H be a component of G. Since H and G − H are not counterexamples,
ν(G) − 1 ≥ ν(G − v)
1
= (|V (G − v)|+|S0 |− odd(G − v − S0 ))
2
1
= (|V (G)|−1 + |S 0 |−1 − odd(G − S 0 ))
2
This gives,
1
ν(G) ≥ (|V (G)|+|S 0 |− odd(G − S 0 ))
2
1
≥ min (|V (G)|+|S|− odd(G − S))
2 S⊆V (G)
Since we showed the upper bound earlier and now have a lower bound, then they are equal. This
contradicts the choice of G as a counter example.
So by claim 1 and 2 and a theorem from above, G is hypomatchable and thus has an odd number of vertices.
So, ν(G − v) = 12 |V (G − v)| for all v, so ν(G) = 12 (|V (G)|−1) = 12 (|V (G)|+|S|− odd(G − S)), when S = ∅, a
contradiction since G is supposed to be a counter-example.
Theorem (Tutte): G has a perfect matching iff odd(G − S) ≤ |S| for all S ⊆ V (G).
Proof : Comes from the Tutte-Berge formula.
Theorem (Petersen): If G is a 3-regular graph with no cut edge then G has a perfect matching.
Proof : If not, there is a set S with odd(G − S) > |S|. We see that for every odd set X ⊆ V (G), there is
an
P odd number of edges leaving X (exactly one end in X), because if F is the set of edges leaving X, then
x∈X deg(x) = |F |+2|E(G[x])|, so |F | is odd. However, since there is no cut edge, each component of G − S
20
has at least two edges into S. But since each odd component of G − S must have an odd number of edges
leaving it and each of these edges must have the other end in S (or else it would not be a component in
G − S), then the total number of edges with an end in S is ≥ 3 odd(G − S) > 3|S|, a contradiction to the
3-regularity of G.
Theorem: If S is a Berge Witness, in a max matching, there are exactly odd(G − S) − |S| unsaturated
vertices.
Proof : Comes from Tutte-Berge formula.
Theorem: If S is a Berge Witness and S 0 is such that odd(G − S 0 ) − |S 0 |≥ odd(G − S) − |S|, then S 0 is also
a Berge Witness.
Proof : Since S is a Berge Witness, ν(G) = 12 (|V (G)|+|S|− odd(G − S)) however since |S 0 |− odd(G − S 0 ) ≤
|S|− odd(G − S), then S 0 is also a Berge Witness since the Tutte-Berge formula takes the minimum over all
subsets of V (G).
Question: What is the structure of G and its max matchings relative to a Berge Witness S?
Answer: For any matching, there are at least odd(G − S) − |S| odd components of G − S that contain an
unsaturated vertex. So, by the theorem above, since S is a Berge Witness, there are exactly odd(G − S) − |S|
unsaturated vertices in a max matching M , so each must be in a different odd component and every other
vertex is saturated by M . Thus,
1. Every odd component of G − S containing no unsaturated vertices must have a vertex that is matched
by M to a vertex in S
2. Every vertex in S is matched to a vertex in some odd component of G − S
3. Every max matching must saturate all vertices in S and all vertices in all even components of G − S
and no vertices in an even component is matched by M to a vertex in S
This gives a natural partition of any graph G into three sets, as given by the next theorem.
Gallai-Edmonds Theorem: Let D be the set of avoidable vertices in a graph G. Let A be the set of
vertices not in D but with a neighbour in D. Let C be V (G) − A ∪ D. Then,
1. A is a Berge Witness in G
2. Every odd component of G − A is hypomatchable and D is the set of vertices in these odd components
3. Every even component of G − A has a perfect matching and C is the set of vertices in these even
components
Proof (Kotlov, 2000): We will construct sets Â, D̂, Ĉ and show that they have the required properties.
Let  be a Berge Witness in G, chosen so that:
1. the number of non-hypomatchable odd components of G − Â is minimized
2. if there is more than one Berge Witness which causes a tie in condition 1, then choose  to be as small
as possible
We inductively assume the theorem holds for all graphs with fewer vertices than G.
Claim 1 : Every odd component of G − Â is hypomatchable.
Proof : Let H be a non-hypomatchable odd component of G − Â and let v ∈ V (H) so that H − v has
no perfect matching. Inductively, there is a Berge Witness X for H − v such that every odd component
of (H − v) − X is hypomatchable. Since X is a Berge witness for H − v and H − v is even (but has
no perfect matching), then there are at least two vertices unsaturated in a max matching of H − v, so
odd((H − v) − X) − |X|≥ 2 (recall there are exactly odd((H − v) − X) − |X| unsaturated vertices in the
21
max matching of H − v since X is a Berge witness). We now argue that  ∪ {v} ∪ X is a Berge witness
for G.
odd(G − (Â ∪ {v} ∪ X)) − |Â ∪ {v} ∪ X| = (odd(G − Â) − 1) + (odd(H − v − X)) − |Â|−|X|−1
= (odd(G − Â) − |Â|) + (odd((H − v) − X) − |X|) − 2
≥ odd(G − Â) − |Â|
The first equation odd(G − (Â ∪ {v} ∪ X)) = (odd(G − Â) − 1) + (odd(H − v − X)) holds because all
the odd components excluding H of G − Â still exist in G − (Â ∪ {v} ∪ X) and instead of counting H
as a single odd component, we count odd(H − v − X) since X ⊆ V (H), v ∈ V (H). By a theorem above,
this inequality shows that  ∪ {v} ∪ X is a Berge witness for G. Also, G − ( ∪ X ∪ {v}) has fewer
non-hypomatchable odd components than G − Â has because H (a non-hypomatchable odd component
of G − Â) was broken down into a bunch of even components and hypomatchable odd components in
G − (Â ∪ X ∪ {v}) since X is a Berge witness for H − v, so the number of non-hypomatchable odd
components decreased by 1. However, since  ∪ {v} ∪ X is both a Berge witness and such that its deletion
leaves fewer non-hypomatchable odd components than G − Â, this is a contradiction to the choice of Â
(by condition 1 of the choice).
Claim 2 : For every nonempty set A0 ⊆ Â, at least |A0 |+1 odd components of G − Â have a neighbour in
A0 .
Proof : Let A0 ⊆ Â be a set violating this. Let A0 = {v1 , . . . , vk }. In a max matching M , the vertices
v1 , . . . , vk are matched to vertices in different odd components H1 , . . . , Hk of G − Â. Since A0 violates the
claim, H1 , . . . , Hk are the only odd components of G − Â having a neighbour in A0 . We now show that
Â\A0 is a Berge witness.
By a theorem from above, this inequality shows that Â\A0 is a Berge witness. We have that odd(G −
(Â\A0 )) ≥ (odd(G − Â) − k) because there are k odd components H1 , . . . , Hk that have a neighbour in A0
so at most we can lose k odd components by not deleting A0 . Next, all odd components of G − Â that
are not in {H1 , . . . , Hk } are odd components of G − (Â\A0 ). The rest of the vertices of G − (Â\A0 ) are
partitioned by the connected, even sets Hi ∪ {vi } and the even components of G − Â. Thus, G − (Â\A0 )
has no odd components that are not odd components of G − Â. But, |Â\A0 |< |Â| and G − (Â\A0 ) has no
more non-hypomatchable odd components than G − Â, this contradicts the choice of  (by condition 2 of
the choice).
Claim 3 : Every vertex in an odd component of G − Â is avoidable.
Proof : Let v be a vertex of an odd component H of G − Â. We want to show that there is a matching
M of G that matches every vertex in  to a vertex in an odd component of G −  other than H. By
claim 2, each set A0 ⊆ Â has neighbours in at least |A0 | odd components of G − Â other than H and the
existence of M follows from Hall’s Marriage Theorem, since this part of the graph is bipartite. Since M
saturates ≤ 1 vertex from each odd component of G − Â, no vertices of any even component of G − Â,
and saturates  itself, by claim 1 and the fact that even components of G −  have perfect matchings, M
can be extended to a max matching of G avoiding v.
From these claims, we have proved that there exists a Berge Witness  such that,
1. Every odd component of G − Â is hypomatchable
2. Each nonempty set A0 ⊆ A has edges to ≥ |A0 |+1 odd components of G − Â
3. Every vertex in an odd component of G − Â is avoidable
22
Since every vertex in  or an even component of G −  is unavoidable, claim 3 implies that the set of vertices
in odd components of G − Â is equal to the set of avoidable vertices of G. Also by claim 3, every vertex in Â
has a neighbour in D = {avoidable vertices of G} and clearly no vertex outside of  ∪ D has a neighbour in
D, so  = {neighbours of vertices in D that are not in D} = A. C is the rest of the vertices. The overall
idea of the proof is that we constructed  subject to two conditions then proved that it is in fact equal to A.
Theorem: If G has no avoidable vertices (it has a perfect matching), then the Gallai-Edmonds partition is
D = A = ∅, S = V (G).
Proof : Since G has a perfect matching, no vertex is avoidable so D is empty, thus A is empty, so C contains
every vertex.
Theorem: If G is hypomatchable, then the Gallai-Edmonds partition is D = V (G), A = S = ∅.
Proof : Since G is hypomatchable, every vertex is avoidable.
Theorem: Every vertex in a Berge witness is unavoidable.
Proof : Let S be a Berge witness and let x ∈ S. There are exactly odd(G − S) − |S| vertices not saturated
by M , each one in some odd component of G − S, so x 6∈ G − S must be saturated.
Theorem: Consider a Gallai-Edmonds decomposition. Every Berge witness S is a subset of A ∪ C.
Proof : From the theorem above, no vertex in D is in any Berge witness. So, the result follows. A is itself a
Berge witness and an example of one which includes some vertex in C is:
Here, ν(G) = 3, and in a Gallai-Edmonds decomposition, the avoidable vertices D are the bottom four, A is
the middle two, and C is the top two. But, S = {v, w} is a Berge witness since 3 = 12 (8 + 2 − 4).
Theorem: If M is a non-maximum matching in G, then there is an M -augmenting path in G. The opposite
direction is trivial (proof in A4 and also Midterm 2).
Question: How do you find a max matching given an arbitrary graph efficiently (in polynomial time)? The
brute force solution is to check all subsets of edges but this is inefficient. A better idea is to take any matching
and try to find an augmenting path. If there is none, then the matching is maximum or otherwise, take the
symmetric difference of the path and repeat.
Let M be a matching in a graph G and u be an M -unsaturated vertex of G. An M -alternating tree T
rooted at u is a tree subgraph of G containing u so that for each v ∈ V (T )\{u}, the path in T from u to
v is M -alternating, and v is saturated. Also, every leaf vertex of T has even distance from u in T . By
this definition, for all v ∈ V (T )\{u}, the matching edge incident with v is also an edge of T . Given an
M -alternating tree T rooted at u, the outer, inner vertices of T are those at even, odd distance from u,
respectively. Note that T is not induced and by construction, it is as big as possible while maintaining the
conditions. An M -alternating forest F is a subgraph of G whose components are M -alternating trees. The
inner and outer vertices of F are the inner and outer vertices of each component.
Theorem: For a matching M in G, we can efficiently find a maximal M -alternating forest F so that,
23
1. Every M -unsaturated vertex of G is a vertex of F . More specifically, is a root of an M -alternating tree
in F .
2. No edge of G joins two outer vertices in different components of F , or joins an outer vertex of F to
a vertex outside F because otherwise, this would give an augmenting path in the forest which is not
possible by definition.
3. The neighbours of each outer vertex v in F are either inner vertices of F or outer vertices in the same
component of F as v and inner vertices can be adjacent to anything.
Or, if we cannot find such an F that satisfies these conditions, we can find an M -augmenting path.
Proof : Consider the following algorithm to find F . Let u1 , . . . , uk be the unsaturated vertices of G. Start
by setting Ti = {ui } for each i and let F be the forest whose components are Ti . While there is an outer
vertex v in Ti of F with a neighbour v 0 outside F :
1. Since v 0 6∈ V (F ), v 0 is saturated (recall we started each unsaturated vertex as a root of Ti ) and therefore
matched by M to some w 6∈ V (F ).
2. Add v 0 , w to Ti as well as the edge from v to v 0 and the matching edge from v 0 to w to form a larger
M -alternating forest F .
When the loop terminates, all neighbours of outer vertices of F are in F . If some vi , vj are outer vertices in
distinct components Ti , Tj of F and are adjacent in G, then Pi ∪ {vi vj } ∪ Pj is an M -augmenting path, where
Pi is the path in Ti from the root to vi . Therefore, if we cannot find an M -augmenting path, F satisfies the
hypothesis of the claim.
Now, let F be the maximal M -alternating forest given by the above algorithm. If there are no edges in F
between outer vertices (we consider this case later), let S be the set of inner vertices. Outer vertices are
isolated in G − S and each form odd components of size 1. So, odd(G − S) − |S| is ≥ the number of outer
vertices minus the number of inner vertices of F . In each tree Ti of F , the number of outer vertices is equal
to |M ∩ E(Ti )|+1, where the +1 is for the root. Also, since there is exactly one more outer vertex (the root)
than inner vertices in each tree of F , the number of outer vertices minus the number of inner vertices of F is
equal to the number of components of F , and this is equal to the number of unsaturated vertices in M by
definition of F since the algorithm starts by setting each unsaturated vertex as the root of some tree of F .
Therefore, S is a Berge witness and M is a max matching.
For bipartite graphs, it is always the case that there are no edges e in G between outer vertices x, y in the
same tree in F , because otherwise there would be an odd circuit. The below illustrates this odd circuit and
also an M -alternating tree.
Blossom Algorithm: Let C be an odd circuit in G and M be a matching of G such that M ∩ E(C) is a
maximum matching of C and M does not saturate C (exactly one vertex of C is not saturated by M ). Call
C a blossom. Then, M is a max matching of G iff M \E(C) is a max matching of G/C (proof in A5). And,
if M0 is any matching of G/C, then M0 can be extended to a matching of G of size |M0 |+ 12 (|E(C)|−1). So,
24
given a matching M and blossom C for M , we can reduce the problem of finding a matching larger than M
to finding a max matching of G/C.
This leads to the blossom algorithm, which handles the second case of the theorem from above: start with a
matching M of G and construct the forest F . If there is an edge e in G between outer vertices x, y in the
same tree in F , let C be the odd circuit of T ∪ {e} containing e, let P be the shortest path in T from the root
to C (see picture above). C is a blossom in the matching M ∆P , which has size |M |. Now use C recursively
to either conclude that M ∆P is a max matching in G (thus, M is a max matching as well) or to find a larger
matching in G. Since matchings have size < 12 |V (G)|, we only find an augmenting path or recurse O(|V (G)|)
times, so this is a polynomial time algorithm. An extension of this problem is to find the max matching of a
weighted graph (see CO 450).
25
5 Algebraic Graph Theory
This unit focuses on the branch of algebraic graph theory that involves linear algebra.
5.1 Concepts
Incidence matrix: the |V (G)|×|E(G)| matrix denoted B(G) whose elements are in F2 (the field containing
only 0, 1 and 1 + 1 = 0) and B(G)v,e = 1 if e is incident with v and 0 otherwise. The rows represent vertices
and the columns represent edges and each column has two 1’s, thus sums to 0 in F2 . Assume no loops.
Signed incidence matrix: denoted B, obtained from B(G) by changing exactly one of the 1 entries in
each column containing two 1’s into a −1. No longer in F2 but 1 − 1 = 0 anyway.
B(G)u : the row of B(G) corresponding to vertex u
B(G)v : the B(G) matrix with the row corresponding to v removed. Note that Lv (the Laplacian matrix)
gives a (|V (G)|−1) × (|V (G)|−1) matrix since v corresponds to both a row and a column in B, B T and
Lv = B v (B T )v .
P
δ(U ): each row v of B(G) corresponds to a set of edges incident with v. For U ⊆ V (G), u∈U B(G)u gives a
(row) vector that corresponds to the set of edges of G with exactly one end in U . This is because if an edge
has both ends in U , the sum gives 1 + 1 = 0. δ(U ) is the set of edges of G with exactly one end in U and is
also a cut of G. Alternatively δG (U ), or δ(u) for U = {u}.
P
Cut space: Cut(G), is equal to the row space of B(G) because as seen above, vectors of the form u∈U B(G)u
for U ⊆ V (G) are exactly the elements of the row space of B(G) (because in F2 , all coefficients of linear
combinations are 0 or 1) and are also cuts of G.
Orthogonal complement: recall from Math 235, for a subspace W of a vector space V with a bilinear
form B, the orthogonal complement W ⊥ is all vectors in V that are orthogonal to every vector in W . And
recall, Null(B(G)) = Row(B(G))⊥ by the fundamental theorem of linear algebra.
Cycle: a set of edges for which every vertex has even degree, can be considered a union of edge disjoint
circuits (proof by induction, remove one circuit).
Null space: let v be a vector corresponding to a set F ⊆ E(G) (ie, the i-th component of v is 1 iff ei ∈ F .
The following sequence of iff hold,
1. B(G)v = 0
2. uT v = 0 for each row (vector) u of B(G)
3. since 1 + 1 = 0, |δ(x) ∩ F | is even for each vertex x of G
4. the degree of x is even in G[F ]
5. every component of G[F ] is Eulerian (recall from Math 239) and has an Euler tour
6. F is a cycle
Null(B(G)) is the set of all subsets of edges which form a cycle (the set of all Eulerian subsets).
Cycle space: Cycle(G), equal to Null(B(G)) = Row(B(G))⊥ = Cut(G)⊥ .
Dual graph: for G = (V, E, i), the dual graph is G∗ = (F, E, i∗ ) where the vertices are the faces of G and
the edges are between any two faces separated by an edge (the edge set of G∗ is the same E)
Totally unimodular: a matrix is totally unimodular if all its determinant is in {0, 1, −1}.
26
Laplacian matrix: denoted L or L(G) for a graph G, is equal to the |V (G)|×|V (G)| matrix BB T . Note
that Lu,w = BuT Bw and BuT Bw = −1 if u, w are adjacent, 0 if u, w are non-adjacent, and deg(u) if u = w.
Also, note Lv = B v (B T )v .
For each r × r submatrix B 0 of Bv , either B 0 is a spanning tree and det(B 0 ) = ±1, or det(B 0 ) = 0 and B 0 is
not a spanning tree. The sum gives the result.
27
Cayley’s Theorem: Kn has nn−2 unique spanning trees.
Proof : By the Matrix tree theorem, we just need to calculate det(Lv ). Since Kn is complete, Lv has n − 1
down the diagonals and −1 in all the non-diagonal entries. So, Lv = nIn−1 − Jn−1 , where In−1 is the n − 1
by n − 1 identity) and Jn−1 is the n − 1 by n − 1 matrix with 1’s everywhere. Suppose x is an eigenvector
of Lv with eigenvalue λ. Then, Lv x = (nIn−1 − Jn−1 )x = λx. So, −Jx = (λ − n)x and Jx = (n − λ)x.
Thus, x is an eigenvector of J with eigenvalue n − λ iff x is eigenvector of Lv with eigenvalue λ. Next
dim(Null(Jn−1 )) = n − 1 − dim(Row(Jn−1 )) and dim(Row(Jn−1 )) = n − 2. So, 0 is an eigenvalue of J with
multiplicity n − 2. The last eigenvalue is n − 1 (since the trace of Jn−1 is equal to the sum of the eigenvalues).
Overall, Jn−1 has eigenvalues 0, . . . , 0 (n − 2 times) and n − 1 once. So, Lv has eigenvalues n − 0, . . . , n − 0
(n − 2 times) and n − (n − 1) once. Therefore, det(Lv ) = nn−2 · 1 = nn−2 .
28
6 Extra
Extra material covered in lecture for personal interest and will not be tested.
29
Proof : Intuitively, Alice begins by picking any edge in a perfect matching M then for whichever edge Bob
chooses, it cannot be in M since it shares a common end with the edge that Alice chose. So then, Alice
chooses another edge in M which is incident with the new vertex that Bob extended the path to. Formally,
consider the first turn where Alice cannot choose an edge of a perfect matching M . Say Bob just extended
the path P by a vertex w. But, every vertex of P , excluding w, has its match in P , so Alice can extend using
the match of w.
Theorem: If G is hypomatchable, then Bob can force a win.
Proof : Intuitively, suppose Alice picks an edge from u to v to start off. Then, Bob considers a perfect
matching Mv of G − v and uses the same strategy as Alice used above. The rest of the proof is similar to the
above proof.
Theorem: Consider a Gallai-Edmonds partition A, C, D of G. If C 6= ∅, then Alice can win.
Proof : Let M be a maximum matching of G and suppose Alice starts with an edge e0 ∈ M with both
ends in C. Say Bob uses vertex w and Alice is stuck. But then, the portion of the path from e0 to w is
M -alternating, w is M -unsaturated, and both ends of e0 are unavoidable, a contradiction since both ends of
e0 are in C.
Theorem: If C = ∅, then the first player to choose an edge with an end in D loses.
Proof : Similar to the above proof.
30
7 Other
Induction is often useful to prove theorems on graphs. A more elegant version of induction is to assume
some graph is a minimum counter-example (eg, fewest edges, fewest vertices, etc). Then, removing an edge
or vertex, etc gives a smaller graph, which is not a counter-example, so the proposition must hold for that
graph. Then, show that the counter-example is not actually a counter-example. The base case is typically
the empty graph or graph with 1 vertex or something simple.
Common proof techniques which naturally set up a contradiction for you: shortest walk, longest path, smallest
circuit.
Ideas from Math 239 that are potentially useful:
Ps
1. Handshaking lemma for faces: i=1 deg(fi ) = 2|E(G)| for each face fi of G
2. If G contains a circuit, then in a plane drawing of G, the boundary of each face contains a circuit (but
the boundary is not necessarily itself a circuit). Intuitively, since G is not a tree and has a circuit, it
has more than one face and each face must be separated from other faces by a circuit.
3. A tree T has at most one perfect matching. The proof is by strong induction on the number of vertices.
The base cases are trivial. Let u be a leaf and v be its neighbour in T . Remove u, v to get a forest. By
strong induction, each tree in the forest has at most one perfect matching M . And if there is a perfect
matching in T , it is given by adding the edge from u to v to M since this edge is the only one which
can saturate u.
31