7.3 Menger’s theorem

Similar to Max-flow min-cut theorem, Menger’s theorem also can be proven under differing frameworks. We shall prove two of them and leave the rest as exercises.

Theorem 7.18.

(Menger’s theorem for edge-connectivity on digraphs) Let st in a di-graph G. Then we have that

λ(s,t) :=max{k:there exist k edge-disjoint st directed paths }
=min{|E|:E is an st directed cut.}=:C(s,t),

where E is an st directed cut if every directed path from s to t contains at least one edge in E.

As a corollary of the above theorem, we get the following more global result on edge-connectivity of directed graphs. For directed graphs too, we defined edge-connectivity as

λ(G):=min{|E|:E is an st directed cut for some st}.

Then Theorem 7.18 yields immediately that

λ(G)=max{k:there exist k edge-disjoint st directed paths for all st}. (7.1)

The proof of Theorem 7.18 proceeds by first showing that deletion of incoming edges at s and outgoing edges at t do not change the LHS or RHS. Then, we shall show that by setting c1 on E, the LHS equals the max-flow and the RHS equals the min-cut thereby proving the theorem via max-flow min-cut theorem for digraphs.

Figure 7.2: The dotted line shows the minimum directed cut and it can be seen that there are two edge disjoint paths
Proof of Theorem 7.18.

Assume that λ(s,t)>0 else the theorem holds trivially.

Observe that λ(s,t),C(s,t) remain unchanged if we delete incoming edges at s and outgoing edges at t and so we shall assume that there are no incoming edges at s and outgoing edges at t.

Suppose there are k edge-disjoint paths. Then, any st edge-cut E has to contain at least one edge from each of the disjoint paths and hence |E|k. Thus, we trivially get that λ(s,t)C(s,t) as in the Max-flow Min-cut theorem.

Now we construct a directed network on G by assigning capacity 1 to every edge. Since c1, the max-flow f is integral and further f{0,1}. Trivially, if v(f)λ(s,t) as we can send a unit flow along each of the disjoint paths and strength and flow properties are preserved under addition. Consider the graph Gf:=(V,{e:f(e)=1}). Since v(f)1, there is a st path P1 in the graph Gf (see Exercise 7.20 for a more general claim). Now consider the graph GfP1. This is nothing but the graph Gf1:=(V,{e:f1(e)=1}) where f1(e)=f(e)𝟏[eP1]. Since e𝟏[eP1] is also a flow, by linearity f1 is also a flow and further v(f1)=v(f)1. Now, the same argument as above yields that there is a st path P2 in GfP1 if v(f1)1 and also P2 is edge-disjoint of P1. Repeating this argument, we can obtain v(f) many edge-disjoint st paths i.e., λ(s,t)=MF(s,t):= max-flow in G.

By our definition of capacity, note that C(S,Sc)=|E(S×Sc)| for sS,tS. Since

{EE:GE disconnects s,t}{E(S×Sc):sS,tS,SV},

we have that C(s,t)MC(s,t):= min-cut in G. Thus we have that

MF(s,t)=λ(s,t)C(s,t)MC(s,t).

Now, from the Max-flow Min-cut theorem for directed graphs (Exercise 7.12), we have that the inequalities are all equalities and the proof is complete. ∎

Exercise 7.19.

Give a direct proof that C(s,t)=MC(s,t).

Exercise(A) 7.20.

Prove the following more general version of the claim used in the above proof : If f is a st flow with v(f)>0, then there exists a directed st path in the graph Gf:={e:f(e)>0}.

SV is an st vertex cut if any directed path from s to t has a vertex in S.

Theorem 7.21.

(Menger’s theorem for vertex-connectivity on digraphs) Let st in a di-graph G such that (s,t)E. Then we have that

max{k:there exist k vertex-disjoint st directed paths }=min{|E|:E is an st vertex cut.}

One can easily obtain a corollary for vertex connectivity similar to (7.1). We leave the statement to the reader.

Proof.

One can try to prove a Max-flow Min-cut theorem for vertex capacities and then use the same to prove Menger’s theorem. But we will use a graph transformation to reduce the vertex-connectivity case to edge-connectivity case itself.

Consider the following enhanced graph G : V:={s,t}{x1,x2:xV{s,t}} and as for the edges E, sx1 if sx in G ; x2t if xt in G ; x2y1 if xy in G ; x1x2 for all x1,x2. Set c(x1,x2)=1 for all x and c otherwise.

Note that any directed st path in G is of the form sa1a2b1b2z1z2t where sabzt is the corresponding directed st path in G. Further if P1,P2,,Pk are vertex-disjoint st paths in G, the corresponding paths in G are trivially edge-disjoint as well. Conversely, let P1,P2 be two edge disjoint paths in G, say sa1a2b1b2z1z2t and sa1a2b1b2z1z2t respectively. Then edge-disjointness implies that (a1,a2)(a1,a2),,(z1,z2) and similarly (b1,b2) and so on. Thus, the corresponding paths P1,P2 in G are vertex-disjoint. Thus we have that

λ(s,t):= max edge-disjoint st paths in G= max vertex-disjoint st paths in G=:κ(s,t).

If SV{s,t} is a st vertex cut in G, then {(x1,x2):xS} is an st edge-cut in G. In other words, if C(s,t) is the min edge-cut in G and VC(s,t) is the min vertex-cut in G, then we have from the above inclusion that C(s,t)VC(s,t). Consider a edge-cut FE in G such that F{(x1,x2):xV{s,t}}. If (y2,x1)F (even y2=s is allowed), then replace (y2,x1) with (x1,x2). This yields a cut F such that |F||F| depending on whether (x1,x2)F or not. Similarly if (x2,y1)F (y1=t is allowed) then replace this edge by (x1,x2). Again we get a cut F such that |F||F|. Repeating this procedure we get a cut F{(x1,x2):xV{s,t}} and |F||F|. Setting S={x:(x1,x2)F}, we obtain an st vertex cut of G such that |S|=|F|. Thus VC(s,t)C(S,t) and so C(s,t)=VC(s,t).

Since λ(s,t)=κ(s,t) and C(s,t)=VC(s,t), Menger’s theorem for vertex connectivity follows Menger’s theorem for edge connectivity (Theorem 7.18).

Exercise(A) 7.22.

(Menger’s theorem for edge connectivity ; Menger (1927)) Let G be a finite undirected graph and u and v two distinct vertices. Then the size of the minimum edge cut for v and v (the minimum (u,v)-edge cut) is equal to the maximum number of pairwise edge-disjoint paths from u to v.

Exercise(A) 7.23.

(Menger’s theorem for vertex connectivity ; Menger (1927)) Let G be a finite undirected graph, and let u and v be nonadjacent vertices in G. Then, the maximum number of pairwise-internally-disjoint (u,v)-paths in G equals the minimum number of vertices from V(G)u,v whose deletion separates u and v.

See https://en.wikipedia.org/wiki/Menger’s_theorem for versions of Menger’s theorem and variants. Menger’s theorem has more direct proofs as well, see [Sudakov 2019, Chapter3] for example.