1. Introduction
In this tutorial, we’ll study Menger’s theorem on finite graphs. We define a graph with vertex set
and edge set
as finite when both sets are finite.
2. Menger’s Theorem
Karl Menger formulated this theorem in the year 1927 while he was studying graph connectivity problems. It was the pioneering work in that era because it paved the way for advanced theorems in graph connectivity (max-flow min-cut, strongly connected components) and duality in linear programming.
Let’s consider a finite undirected planar graph . Here, we choose two non-adjacent vertices
and
from
:
Now, we want to disconnect from
. So, how can we do it?
For this, we first need to find out how many internally disjoint paths there are between both and
:
If we have 3 disjoint paths ,
, and
between them, then we can completely disconnect
and
by removing all edges on
,
, and
:
Menger’s theorem is about the number of nodes and edges we need to remove from a graph to disconnect two non-adjacent vertices.
3. Formal Definition
It has two formulations: the vertex and edge versions.
3.1. The Vertex Case
Let and
be distinct non-adjacent vertices in a connected graph
.
Further, we define a vertex subset as a
vertex-separator if the vertices
and
are in different components of the sub-graph
(the sub-graph we get by removing from
all the nodes
and the associated edges).
This also means there’s no path from to
in
. Thus,
separates
from
in
. We call
a
vertex-cut.
The vertex case of Menger’s theorem states that for any undirected graph and non-adjacent vertices
and
, the minimum number of vertices in a
vertex-cut is equal to the maximum number of pairwise internally disjoint paths between
and
.
3.2. The Edge Case
The edge case is similar.
We define as a
edge-separator if the vertices
and
lie in different components of the sub-graph
(sub-graph obtained after deleting
from
). By analogy with the vertex case, we also call it an edge cut.
The edge version of Menger’s theorem states that for any undirected graph and non-adjacent vertices
and
, the number of edges in the minimum edge-cut for
and
is equal to the maximum number of pairwise edge-disjoint paths from
to
.
3.3. Example
We now move on to an example to understand these definitions. Here, we have a graph :
The set (red nodes) is the minimum
vertex-cut, and the edge set
(dashed pink) is the minimum
edge-cut.
They correspond to a three-element set of internal disjoint paths (paths that don’t share any vertex other than and
)
.
No larger set of paths is disjoint internally and connects and
. So, the theorem works: the minimal edge and vertex cuts have the same cardinality as the maximum disjoint path set.
4. Proof of Menger’s Theorem
We’ll use induction on the number of edges to prove the theorem.
To improve exposition, we define as the set of all neighbors of
and
as the set of all neighboring vertices to
.
4.1. Base Case
For with no edges, the minimum
separator is the set of common vertices of
and
.
The vertices in correspond to paths between
and
, which proves the base case.
4.2. Induction
Let’s say our graph has
edges and assume that Menger’s Theorem holds for all graphs with
edges.
We aim to prove that the maximum number of independent paths between and
equals
, the size of the minimum
cut in
.
To do so, let be an edge in
, and let
be the minimum
vertex cut in
:
If has
vertices, it’s the minimum
cut for
. Since
has
edges and Menger’s theorem holds for it by the inductive hypothesis, it also holds for
.
Otherwise, has
vertices. Why? That’s because if it had fewer nodes, the minimum
cut in
would also have fewer than
vertices, which is a contradiction.
Now, each path in
is:
- either an
path in
(so it doesn’t contain the edge
)
- or a path containing
The minimum separator of and
is also the minimum separator of
and
and has
vertices. So, there are
paths from
to
. The same goes for
and
. Concatenating those paths, we get at most
paths from
to
, which we wanted to prove:
without
and one through
.
5. Max-flow Min-cut Theorem for Network Flow
The max-flow min-cut theorem is the generalized version of Menger’s theorem.
In graph and optimization theory, the max-flow min-cut theorem states that in a flow network created from a directed acyclic graph, the maximum amount of flow that can pass from the source node to the sink node
is equal to the total weight of the edges in the minimum
cut.
Let’s understand this with an example. So, we have a directed acyclic graph whose each has a flow and a capacity:
The flow is the quantity of load (processing power, network requests, etc.) we are currently transporting over that edge, and the capacity is the maximum load.
Initially, we set the flow over all edges to 0. Now, we have two minimum edge separators:
, and
. But,
has a total capacity of 7 (4+3), and
has a total capacity of 6 (4+2). So, our minimum cut is 6, and we can send a maximum of 6 units of flow from
to
in
:
6. Conclusion
In this article, we explained Menger’s theorem. It tells us that for an undirected graph with two non-adjacent vertices and
, the minimum number of vertices needed to disconnect both of them is equal to the maximum number of the internally disjoint paths between
and
.