Connectivity
Connectivity
1 Introduction
We have seen that trees are minimally connected graphs, i.e., deleting any edge of the tree gives us a
disconnected graph. What makes trees so susceptible to edge deletions? One intuitive reason is that trees
have a an almost constant average degree (if T = (V, E) then the average degree is 2(|V | − 1)/|V | < 2).
What happens as the average degree increases? Do we get graphs that have better connectivity? In this
lecture we study the connectivity of graphs, and cover Mander’s theorem (which roughly states the converse,
that is high connectivity implies large minimum degree) and Menger’s theorem. Before we proceed, we need
to introduce some notation.
¶1. Notation: Throughout this lecture we will use G = (V, E) for an undirected graph. A subgraph
G0 = (V 0 , E 0 ) of G = (V, E) is a graph for which V 0 ⊆ V and E 0 ⊆ E. Given V 0 ⊆ V , the subgraph of G
that has its vertex set V 0 and the edges with all their vertices in V 0 as its edge set is called the subgraph
induced by V 0 , and denoted as G[V 0 ]. We can similarly define a subgraph induced by a subset of edges.
Given a subset U ⊆ V , G − U denotes the graph obtained by deleting the vertices U from V and all the
edges incident on U from E; when U is a singleton {v}, we simply write G − v, and informally say “removing
the vertex v from G”. Given a subset X of edges, by G − X we mean the graph (V, E \ X), i.e., the graph
obtained by deleting the edge associations in X, but not deleting the vertices; for a single edge e, we simply
write G − e, and it informally means “removing an edge e from G”.
• •
G G0 G00
• • • • • •
• • • • • •
Figure 1: A graph G and two subgraphs G0 , G00 ; G0 is an induced subgraph but not G00 .
¶2. Vertex Cuts: A vertex v separates G if removing v from G causes the component of G containing
v to become disconnected. In other words, there is a pair of vertices in G such that all the paths between
these two vertices pass through v. We call v a cut vertex. A graph G is said to be k-vertex-connected if
for all subsets U ⊆ V , |U | < k, G − U remains connected. The maximum value of k for which G remains k-
vertex-connected is called its vertex connectivity, κ(G) 1 . So, for the complete graph Kn , κ(Kn ) = n − 1.
Also, κ(G) = 0 iff G is already disconnected or it is a single vertex.
¶3. Edge Cuts: Similar to above, we say that an edge e separates G if G − e causes the component
of G containing e to become disconnected. In other words, there is a pair of vertices in G such that all the
paths between these two vertices pass through e. We call e a bridge. It is not hard to see that bridges
1 An alternative definition is a minimization one: the minimum number of vertices that can be deleted to make G disconnected;
see Bondy-Murty.
1
cannot be contained in any cycle (in fact, that is one way to characterize them). From this characterization
it follows that another way to characterize a tree is a connected graph with all edges as bridges. We can
represent an edge-cut for a graph as [S, S], where the edges are contained in the set S × S. A graph G is
said to be k-edge-connected if for all subsets X ⊆ E, |X| < k, G − X remains connected. The maximum
value of k for which G remains k-edge-connected is called its edge connectivity, κ0 (G). What is κ0 (Kn )?
It is n − 1 again, because every vertex has degree n − 1 and to disconnect a vertex we have to remove these
edges.
• •
•
• •
The following theorem shows the relation between vertex-connectivity, edge-connectivity and minimum
degree of the graph.
Theorem 1 (Whitney’s Theorem (1932)). For a graph G,
Proof. Let’s prove the easier identity: κ0 is at most the minimum degree of the graph. Certainly, if we
remove all the edges incident on a vertex with least degree then we get a disconnected graph. Thus we have
the upper bound on κ0 .
The κ(G) ≤ κ0 (G) intuitively makes sense, since “burning the bridges” is the same as “burning the posts
on one side of the bridges”. Let’s be more precise. Suppose [S, S] is an edge cut with the smallest size. Our
aim is to construct a vertex-cut of a size at most κ0 . We consider two cases:
• When all the vertices in S, S are neighbours. In this case, the size of the edge-cut is κ0 = |S| · |S| =
k(n−k), which is greater than (n−1), for all values of k = 1, . . . , n−1. But, no matter what, κ ≤ n−1.
Thus κ ≤ κ0 .
• Otherwise there is a pair of vertices (x, y) such that x ∈ S, y ∈ S and xy is not an edge. We want to
construct a vertex cut that separates these two vertices. The path from x to y has to go through a
neighbouring vertex of x. There are two possibilities for the neighbour: it either belongs to S, or it is
in S. Let B be all the neighbours of x of the first type. For x to connect to y via a neighbour in S, the
neighbour has to reach one of the other bridge-heads in S − x. Let A be all the bridge-heads except
for x. Then it is clear that A ∪ B forms a vertex-cut for xy. The cardinality of this vertex set is the
number of bridges, which is κ0 . Thus κ ≤ κ0 . See Figure 3. Note that we could have also separated x
and y by deleting the set {x} ∪ A; however, this is not allowed x has to be present after deletion; also
S \ ({x} ∪ A) may be empty.
Q.E.D.
We now further explore what k-connected graphs look like. What is a 1-connected graph? It is simply a
connected graph. What is 2-connected, or 3-connected graph?
2 Two-connected Graphs
A connected graph that has no cut vertices is called a block. In other words, every block is a 2-connected
graph. A block of a graph G is a maximal subgraph that is 2-connected, or a bridge, or an isolated vertex.
2
S S
A
B
Figure 3: Constructing a vertex cut for the edge xy from the edge-cut [S, S]. The dashed paths in S can
crossover to S; to do that, however, they must use an edge ending in a vertex in A.
A graph can thus be represented as a union of its blocks; because of their maximality, two blocks of a graph
can only meet at a single vertex, which must necessarily be a cut-vertex for the graph. In this sense, blocks
are the 2-connected analogues of components. See Figure 4 for illustration.
• •
• • • •
• •
(a)
• •
• • • • • •
• •
(b)
We now present a different characterization of blocks, but to do that we need the following definition:
Two paths in a graph connecting the same pair of vertices are said to be independent if they do not share
any vertices besides the starting and the ending vertex.
Theorem 2 (Whitney (1932)). A graph G with three or more vertices is a block iff each pair of vertices in
G is connected by at least two independent paths, i.e., every pair of vertices is on a cycle.
Proof. If any pair of vertices of G is connected by at least two independent paths then clearly there is no
cut-vertex separating them. Thus G is 2-connected.
We give two proofs of the converse: one by induction, and other by contradiction.
3
Let u, v be two vertices in G. Our first proof will do an induction on the distance between u and v. The
base case is when they are adjacent. If the only path between u and v is the edge uv, then this edge is a
bridge, but this cannot be since G is 2-connected. Now suppose that all pairs of vertices at distance less than
k > 1 are on a cycle. We then show that any pair of vertices at distance k are also on a cycle. Suppose u, v
are two vertices at distance k. Consider a u to v path of distance k, and let w be the vertex that precedes v
on this path; let P be that path from u to w. Since u to w are at a distance k − 1, it follows that there is
a u-w path Q independent of P . Since G is two connected, if we consider the graph G − w, then there is a
path P 0 that connects u and v. Now there are three cases to consider:
1. P 0 is independent of P and Q. In that case, the paths P v and P 0 are independent.
2. P 0 is independent of either P or Q, but not both; say it is independent of Q. In that case, the paths
Qv and P 0 are independent.
3. P 0 is independent of neither P nor Q. Let x be the last common vertex on P 0 with either P or Q, i.e.,
the path xP 0 v does not meet either P or Q. Since P 0 intersects both P and Q, there must be such a
vertex; moreover, x 6= w, since P 0 was a u to v path in G − w. Say x is on P . Then the paths uP xP 0 v
and Qv are independent. This is illustrated in Figure 5. Note that if x = v, which will happen if Q
passes through v, then P v and uQv are already independent paths.
By way of contradiction, suppose that there are two vertices u, v such that all the paths between them are
not independent, or equivalently, they are not on a cycle. Then we want to show that there is a cut vertex
separating u and v. To argue about the paths from u to v, we want to first order the vertices. One way to do
this is to do a depth first traversal (DFT) of G from u, label all the vertices in a pre-order traversal, and for
each vertex w let a(w) be the smallest ancestor that can be reached from w through one of its descendants;
note that there can only be back edges in this traversal, since G is undirected. We want to characterize
when are two vertices u and v on a cycle in such a DFT. It is clear that if a(v) = u then they are on a
cycle, however, this is not necessary. The only other possibility is the following: consider the path between
v and a(v); if there is a vertex w on this path such that a(w) = u then u and v are also on a cycle. Thus
two vertices are on a cycle iff in the path P from v to a(v) there is a vertex w such that a(w) = u. In our
setting, however, u and v are not on a cycle. The cut vertex separating u and v is the ancestor a(w), where
w ∈ P , closest to u. This is shown in Figure 6.
Q.E.D.
P
x
0
P
u w v
P0
u w x=v
As a corollary it follows that every pair of vertices must be on a cycle, and hence the degree of every
vertex is at least two. But we can say more about the structure of a block, to do that we introduce another
definition: for A, B ⊆ V , an A − B path is a path that starts from a vertex in A and ends in a vertex in B,
and none of whose internal vertices are in A ∪ B. The sets A, B may not be disjoint; if they are the same and
equal to C then we just write C-path (“C” for the intended cycle, though the actual path may not introduce
one). We call a graph two-constructible if it can be constructed as follows: any cycle is two-constructible;
4
u = a(w) u
a(w)
a(v) a(v)
w w
v v
Figure 6: Finding a cut vertex between two vertices that are not on any cycle.
given a two-constructible graph C on, we construct a two-constructible graph from it by adding a C-path
between any two vertices of C; such a construction has been illustrated in Figure 7.
5
2. Amongst all edges e and vertex z that yield a vertex cut in G, choose an edge xy and a corresponding
vertex z such that the component C has the smallest possible number of vertices. We will derive a
contradiction to this assumption.
3. Let v be a neighbour of z in C. Note that the neighbourhood of v is strictly contained in C.
4. By the same argument as in (1) we know there is a triplet {z, v, w} that forms a vertex cut for G.
Moreover, w cannot be either x or y; say it is y then {z, v, y} does not form a vertex cut as x is
connected to all the components.
5. Since xy is an edge and {z, v, w} forms a vertex cut there must be a component D in G − {z, v, w} that
does not contain x, y (otherwise {z, v, w} do not form a vertex cut, since there is just one component
containing x and y).
6. Now D contains a neighbourhood of v, and hence must be contained strictly inside C. That is |D| < |C|.
But this gives us an edge zv, a vertex w and a component D, that is smaller than C, which is a
contradiction to how we had chosen C.
Q.E.D.
C z
v
D
Figure 8: Every 3-connected graph has a contractible edge yielding a 3-connected graph.
We now give a characterization of 3-connected graphs by Tutte. To do that we need the following
definition: A graph is 3-constructible if there is a sequence of graphs G0 , . . . , Gn such that G0 = K4 , and
Gi+1 is obtained by picking a vertex v of Gi , splitting it into two vertices x, y connected with an edge such
that the both the vertices are connected to a subset of the neigbours of v, their degree is at least three, and
each neighbour of v is a neighbor of at least one of x or y. Note: the resulting may be 4-connected, but it is
still 3-connected.
Theorem 5 (Tutte 1961). A graph is 3-connected iff it is 3-constructible
Proof. If G is 3-connected then by the lemma above there always is a contractable edge. So there exists
a sequence of graphs starting from G.
Suppose Gi is 3-connected but Gi+1 is not then it has a vertex cut S of size two. Since xy is an edge in
Gi+1 there are two cases to consider:
1. Both x, y belong to the same connected component of Gi+1 − S. But then Gi = Gi+1 /xy is not
3-connected, a contradiction.
2. Either x or y belongs to S. Then contracting xy still gives us a graph Gi that has a vertex cut of size
two, which is again a contradiction.
So Gi+1 is 3-connected. Q.E.D.
6
4 The Fundamental Theorem of Graph Connectivity
Menger’s theorem was proposed by him in the context of topological studies in defining a curve (see Kurven-
theorie, and his description of the discovery of the theorem). However, the original proof had a gap, which
was later corrected by Nöbling and independently by Menger. It was D. König who introduced the result
in his book. Harary later called this result as the fundamental theorem of graph connectivity. The theorem
gives us an alternate definition of k-connectedness. It describes the connections between the vertices in a
k-connected graph.
Theorem 6 (Menger’s Theorem 1927). Let G be a graph and A, B ⊆ V . Then the minimum number of
vertices separating A from B in G is equal to the maximum number of vertex disjoint (or independent) A − B
paths in G.
Let k(A, B) be the minimum number of vertices needed to separate A from B in G. We prove the
following stronger claim:
Theorem 7. Given k = k(A, B), and n < k disjoint A − B paths P1 , . . . , Pn , there exists n + 1 vertex
disjoint A − B paths Q1 , . . . , Qn+1 whose starting and end vertices contain the starting and end vertices of
P1 , . . . , P n .
Proof. The proof is by McCuaig and is a clever induction on |G| − |B|. Base case: B = G. Then A ⊆ B.
and k(A, B) = |A|. The n independent paths P1 , . . . , Pn are simply n vertices of A. Since n < |A|, we know
there must be at least one more vertex v separate from P1 , . . . , Pn . These n + 1 vertices then are the n + 1
independent A − B paths.
Induction hypothesis: True for all β < |G| − |B|. Let aj ∈ A be the starting vertex of Pj and bj ∈ B
the ending vertex of Pj . Since n < k the vertices b1 , . . . , bj do not separate A from B. Thus there must be
a A − B path R that must avoid all the bj ’s. If R is vertex disjoint from P1 , . . . , Pn then our desired set
of n + 1 paths is P1 , . . . , Pn , R. Otherwise, let x be the last vertex that is on R and another path Pj ; by
reordering the paths we can assume that this path is Pn (therefore, x 6= bn , but may be x = an , i.e., R is
the edge an bn ); see Figure 9. Let C be vertices on the path xbn and D the vertices on the path xR. Define
B 0 := B ∪ C ∪ D ∪ {x}; thus k(A, B) ≤ k(A, B 0 ). Then P1 , . . . , Pn−1 , an Pn x are vertex disjoint A − B 0 paths
and since n < k(A, B 0 ) by our inductive hypothesis we know that there are n + 1 vertex disjoint A − B 0
paths Q1 , . . . , Qn+1 whose starting vertices contain a1 , . . . , an and ending vertices contain b1 , . . . , bn−1 , x and
a new vertex y 6= {b1 , . . . , bn−1 , x}. By reordering we can assume that Qn is the path that ends in x and
Qn+1 the path that ends in y. Since y 6= x, where can it come from. There are three cases to consider, and
in each case we create two new A − B paths that are vertex disjoint from Q1 , . . . , Qn−1 :
1. y ∈ C = xPn ; note bn ∈ C. In this case, we extend Qn , which ends in x, to take xR, whereas Qn+1 ,
which ends in y, is extended to continue on the path yPn and end in bn .
2. y ∈ D. In this case, we extend Qn , which ends in x, to take xPn , whereas Qn+1 , which ends in y, is
extended to continue on the path yR.
3. y ∈ B \ {C ∪ D}. In this case y is a vertex in B \ {b1 , . . . , bn }. Thus we keep the path Qn+1 as such,
but extend Qn by xPn to an A − B path.
In all the three cases we have n + 1 disjoint A − B paths as desired. See Figure 10 for an illustration.
Q.E.D.
As a corollary, we have the following local phenomenon:
Corollary 8. If ab is not an edge, then the minimum number of vertices (distinct from a, b) separating a
from b in G is equal to the maximum number of independent a-b paths.
The result follows by applying the theorem to the neighborhoods of a and b. The following theorem
captures the overall global phenomenon, and gives us an equivalent way of defining k-vertex-connectedness:
Theorem 9. A graph is k-vertex-connected iff it contains k independent paths between any two vertices.
7
a1 P1 b1
a2 P2 b2
a3 b3
an Pn xPn bn
x
R
xR
A B
Figure 9: The path R and its intersection with Pn at the vertex x.
Proof. If every pair of vertices has k independent paths between them then we cannot separate them with
fewer than k vertices, so k-connectedness is clear.
Conversely, suppose G is k-vertex-connected and there exists a pair of vertices v, w with fewer than k
independent paths. By the corollary above, we know that vw is an edge in G. Let G0 be the graph obtained
by deleting the edge vw from G. Then there are at most k − 2 independent paths connecting v, w, and hence
a vertex cut X of size at most k − 2 separating v from w in G0 . Let a be any other vertex in G0 ; there is one
because |G| > k. Then a cannot be connected to both v and w in G0 − X, but it must be connected to one
of them, say w, otherwise, X separates a from v and w by a vertex cut of size ≤ k − 2. If a is connected to
w and not to v, then X ∪ {w} separates a from v, but this is a contradiction since we have a vertex cut of
size ≤ k − 1 in a k-vertex-connected graph. Q.E.D.
Menger’s theorem applies to edge-connectivity as well: A graph is k-edge-connected iff there are k edge
disjoint paths between any two vertices.
The algorithmic aspect of finding a vertex cut, or independent paths reduces to solving a linear program.
¶4. Mixed Connectivity: A set S ⊆ V and T ⊆ E forms a disconnecting pair for vertices v, w if the
two vertices are disconnected in G − {S ∪ T }. The vertices v, w are (k, `) connected if there is disconnecting
pair (S, T ) with |S| < k and |T | ≤ ` or |S| ≤ k and |T | < `. The Beineke-Harary conjecture from 1967 states
the following:
Conjecture 1. If vertices v, w are (k, `)-connected in G then G has a system of k + ` edge-disjoint v-w
paths of which k are vertex disjoint.
8
a1 Q1 b1
a2 Q2 b2
a3 b3
Qn−2
Qn−1
Qn xPn bn
x
y
Qn+1 xR
A B
a1 Q1 b1
a2 b2
Q2
a3 b3
Qn−2
Qn−1
Qn xPn bn
x
Qn+1 xR
A B
a1 Q1 b1
a2 b2
Q2
a3 b3
Qn−2
Qn−1
Qn xPn bn
x
y
Qn+1 xR
A B
Figure 10: Three cases to consider when constructing n + 1 vertex-disjoint A − B paths from Q1 , . . . , Qn+1 .
9
Figure 11: A graph that has mixed connectivity (2, 2)
Thus the number of edges in E[F ] are strictly smaller than the number of edges in G. So there is an edge
e ∈ E \ E[F ]. From the lemma above we know that there is a corresponding subset U of vertices common
to all Fi ’s.
Consider the contracted graph G/U . Any partition P 0 of G/U induces a partition P of G where the
vertices U always belong to the same partition. Moreover, the number of cross-edges in P 0 and P are the
10
same. Thus by our assumption, every partition of P 0 has k(|P |−1) ≥ k(|P 0 |−1) cross-edges and hence by the
induction hypothesis G/U has k edge-disjoint spanning trees T10 , . . . , Tk0 . Let vU be the vertex corresponding
to the contracted U in G/U . To construct edge disjoint spanning trees Ti ’s from Ti0 ’s we do the following:
in Ti0 replace vU by the sub-tree Fi [U ], which exists by the lemma above. Why are the resulting trees are
edge-disjoint? Because, Fi ’s are edge-disjoint; the remaining edges of Ti0 are not perturbed and hence they
remain edge-disjoint by construction.
11