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 s≠t in a di-graph G. Then we have that

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

where E′ is an s−t 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 s−t directed cut for some s≠t}.

Then Theorem 7.18 yields immediately that

λ⁢(G)=max⁡{k:there exist k edge-disjoint s−t directed paths for all s≠t}. (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 c≡1 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 s−t 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 c≡1, 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 s−t path P1 in the graph Gf (see Exercise 7.20 for a more general claim). Now consider the graph Gf−P1. This is nothing but the graph Gf1:=(V,{e:f1⁢(e)=1}) where f1⁢(e)=f⁢(e)−𝟏⁢[e∈P1]. Since e→𝟏⁢[e∈P1] 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 s−t path P2 in Gf−P1 if v⁢(f1)≥1 and also P2 is edge-disjoint of P1. Repeating this argument, we can obtain v⁢(f) many edge-disjoint s−t paths i.e., λ⁢(s,t)=M⁢F⁢(s,t):= max-flow in G.

By our definition of capacity, note that C⁢(S,Sc)=|E∩(S×Sc)| for s∈S,t∉S. Since

{E′⊂E:G−E′ disconnects s,t}⊃{E∩(S×Sc):s∈S,t∉S,S⊂V},

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

M⁢F⁢(s,t)=λ⁢(s,t)≤C⁢(s,t)≤M⁢C⁢(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)=M⁢C⁢(s,t).

Exercise(A) 7.20.

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

S⊂V is an s−t 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 s≠t in a di-graph G such that (s,t)∉E. Then we have that

max⁡{k:there exist k vertex-disjoint s−t directed paths }=min⁡{|E′|:E′ is an s−t 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:x∈V−{s,t}} and as for the edges E′, s∼x1 if s∼x in G ; x2∼t if x∼t in G ; x2∼y1 if x∼y in G ; x1∼x2 for all x1,x2. Set c⁢(x1,x2)=1 for all x and c≡∞ otherwise.

Note that any directed s−t path in G′ is of the form s⁢a1⁢a2⁢b1⁢b2⁢…⁢z1⁢z2⁢t where s⁢a⁢b⁢…⁢z⁢t is the corresponding directed s−t path in G. Further if P1,P2,…,Pk are vertex-disjoint s−t 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 s⁢a1⁢a2⁢b1⁢b2⁢…⁢z1⁢z2⁢t and s⁢a1′⁢a2′⁢b1′⁢b2′⁢…⁢z1′⁢z2′⁢t 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 s−t paths in G′= max vertex-disjoint s−t paths in G=:κ(s,t).

If S⊂V−{s,t} is a s−t vertex cut in G, then {(x1,x2):x∈S} is an s−t edge-cut in G′. In other words, if C′⁢(s,t) is the min edge-cut in G′ and V⁢C⁢(s,t) is the min vertex-cut in G, then we have from the above inclusion that C′⁢(s,t)⊂V⁢C⁢(s,t). Consider a edge-cut F⊂E′ in G′ such that F⊊{(x1,x2):x∈V−{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):x∈V−{s,t}} and |F′|≤|F|. Setting S={x:(x1,x2)∈F′}, we obtain an s−t vertex cut of G such that |S|=|F′|. Thus V⁢C⁢(s,t)≤C′⁢(S,t) and so C′⁢(s,t)=V⁢C⁢(s,t).

Since λ′⁢(s,t)=κ⁢(s,t) and C′⁢(s,t)=V⁢C⁢(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.