京都大学 情報学研究科 数理工学専攻 2022年8月実施 グラフ理論
Author
祭音Myyura
Description
日本語版
非負実数全体の集合を R + \mathbb{R}_+ R + で表す.N = [ G , c ] N=[G, c] N = [ G , c ] を点集合 V V V 枝集合 E E E をもつ単純有向グラフ G = ( V , E ) G=(V, E) G = ( V , E ) および容量関数 c : E → R + c: E \rightarrow \mathbb{R}_+ c : E → R + からなるネットワークとする.
点の部分集合 X , Y ⊆ V X, Y \subseteq V X , Y ⊆ V に対し,X X X 内の点から Y Y Y 内の点へ向かう枝の集合を E ( X , Y ) E(X, Y) E ( X , Y ) と記す.
指定された二点 s , t ∈ V s, t \in V s , t ∈ V に対し,次を満たす関数 f : E → R + f: E \rightarrow \mathbb{R}_+ f : E → R + を ( s , t ) (s, t) ( s , t ) -フローと呼ぶ.
流量保存則: ∑ e ∈ E ( { v } , V ∖ { v } ) f ( e ) − ∑ e ∈ E ( V ∖ { v } , { v } ) f ( e ) = 0 , ∀ v ∈ V ∖ { s , t } , 容量制約: f ( e ) ≤ c ( e ) , ∀ e ∈ E . \begin{aligned}
&\text{流量保存則: } \sum_{e\in E(\{v\}, V\setminus \{v\})} f(e) - \sum_{e \in E(V \setminus \{v\}, \{v\})} f(e) = 0, \forall v \in V \setminus \{s, t\}, \\
&\text{容量制約: } f(e) \le c(e), \forall e \in E.
\end{aligned} 流量保存則 : e ∈ E ({ v } , V ∖ { v }) ∑ f ( e ) − e ∈ E ( V ∖ { v } , { v }) ∑ f ( e ) = 0 , ∀ v ∈ V ∖ { s , t } , 容量制約 : f ( e ) ≤ c ( e ) , ∀ e ∈ E .
( s , t ) (s, t) ( s , t ) -フロー f f f の流量 val ( f ) \text{val}(f) val ( f ) を
val ( f ) : = ∑ e ∈ E ( { s } , V ∖ { s } ) f ( e ) − ∑ e ∈ E ( V ∖ { s } , { s } ) f ( e ) \text{val}(f) := \sum_{e\in E(\{s\}, V \setminus \{s\})} f(e) - \sum_{e\in E(V \setminus \{s\}, \{s\})} f(e) val ( f ) := e ∈ E ({ s } , V ∖ { s }) ∑ f ( e ) − e ∈ E ( V ∖ { s } , { s }) ∑ f ( e )
で定める.また s ∈ X , t ∈ V ∖ X s \in X, t \in V \setminus X s ∈ X , t ∈ V ∖ X を満たす点の部分集合 X ⊆ V X \subseteq V X ⊆ V を ( s , t ) (s, t) ( s , t ) -カットと呼び,その容量 cap ( X ) \text{cap}(X) cap ( X ) を
cap ( X ) : = ∑ e ∈ E ( X , V ∖ X ) c ( e ) \text{cap}(X) := \sum_{e \in E(X, V \setminus X)} c(e) cap ( X ) := e ∈ E ( X , V ∖ X ) ∑ c ( e )
で定める.以下の問いに答えよ.
(i) 任意の ( s , t ) (s, t) ( s , t ) -フロー f f f と ( s , t ) (s, t) ( s , t ) -カット X X X に対し以下が成り立つことを証明せよ.
val ( f ) = ∑ e ∈ E ( X , V ∖ X ) f ( e ) − ∑ e ∈ E ( V ∖ X , X ) f ( e ) ≤ cap ( X ) . \text{val}(f) = \sum_{e \in E(X, V \setminus X)}f(e) - \sum_{e \in E(V\setminus X, X)} f(e) \le \text{cap}(X). val ( f ) = e ∈ E ( X , V ∖ X ) ∑ f ( e ) − e ∈ E ( V ∖ X , X ) ∑ f ( e ) ≤ cap ( X ) .
(ii) 与えられた ( s , t ) (s, t) ( s , t ) -フローf に対して定められる残余ネットワーク N f = [ G f = ( V , E f ) , c f ] N_f = [G_f = (V, E_f ), c_f] N f = [ G f = ( V , E f ) , c f ] の作り方を説明せよ.
(iii) 残余ネットワーク N f N_f N f が s s s から t t t へ至る有向路を持たないような ( s , t ) (s, t) ( s , t ) -フロー f f f に対し,S S S を N f N_f N f において s s s から到達可能な点の集合とする.このとき N N N において val ( f ) = cap ( S ) \text{val}(f) = \text{cap}(S) val ( f ) = cap ( S ) が成り立つことを証明せよ.
(iv) X X X を N N N において容量 cap ( X ) \text{cap}(X) cap ( X ) を最小にする任意の ( s , t ) (s, t) ( s , t ) -カットとする.このとき (iii) の残余ネットワーク N f N_f N f において s s s から V ∖ X V \setminus X V ∖ X のどの点へも到達できないことを証明せよ.
English Version
Let R + \mathbb{R}_+ R + denote the set of nonnegative reals.
Let N = [ G , c ] N=[G, c] N = [ G , c ] be a network that consists of a simple directed graph G = ( V , E ) G=(V, E) G = ( V , E ) with a vertex set V V V and an edge set E E E and a capacity function c : E → R + c: E \rightarrow \mathbb{R}_+ c : E → R + .
For vertex subsets X , Y ⊆ V X, Y \subseteq V X , Y ⊆ V , let E ( X , Y ) E(X, Y) E ( X , Y ) denote the set of edges that leave a vertex in X X X and enter a vertex in Y Y Y .
For two designated vertices s , t ∈ V s, t \in V s , t ∈ V , an ( s , t ) (s, t) ( s , t ) -flow is defined to be a function f : E → R + f: E \rightarrow \mathbb{R}_+ f : E → R + which satisfies the following:
Flow conservation law: ∑ e ∈ E ( { v } , V ∖ { v } ) f ( e ) − ∑ e ∈ E ( V ∖ { v } , { v } ) f ( e ) = 0 , ∀ v ∈ V ∖ { s , t } , Capacity constraint: f ( e ) ≤ c ( e ) , ∀ e ∈ E . \begin{aligned}
&\text{Flow conservation law: } \sum_{e\in E(\{v\}, V\setminus \{v\})} f(e) - \sum_{e \in E(V \setminus \{v\}, \{v\})} f(e) = 0, \forall v \in V \setminus \{s, t\}, \\
&\text{Capacity constraint: } f(e) \le c(e), \forall e \in E.
\end{aligned} Flow conservation law: e ∈ E ({ v } , V ∖ { v }) ∑ f ( e ) − e ∈ E ( V ∖ { v } , { v }) ∑ f ( e ) = 0 , ∀ v ∈ V ∖ { s , t } , Capacity constraint: f ( e ) ≤ c ( e ) , ∀ e ∈ E .
The flow value val ( f ) \text{val}(f) val ( f ) of an ( s , t ) (s, t) ( s , t ) -flow f is defined to be
val ( f ) : = ∑ e ∈ E ( { s } , V ∖ { s } ) f ( e ) − ∑ e ∈ E ( V ∖ { s } , { s } ) f ( e ) \text{val}(f) := \sum_{e\in E(\{s\}, V \setminus \{s\})} f(e) - \sum_{e\in E(V \setminus \{s\}, \{s\})} f(e) val ( f ) := e ∈ E ({ s } , V ∖ { s }) ∑ f ( e ) − e ∈ E ( V ∖ { s } , { s }) ∑ f ( e )
An ( s , t ) (s, t) ( s , t ) -cut is defined to be a vertex subset X ⊆ V X \subseteq V X ⊆ V such that s ∈ X s \in X s ∈ X and t ∈ V ∖ X t \in V \setminus X t ∈ V ∖ X , and its capacity cap ( X ) \text{cap}(X) cap ( X ) is defined to be
cap ( X ) : = ∑ e ∈ E ( X , V ∖ X ) c ( e ) \text{cap}(X) := \sum_{e \in E(X, V \setminus X)} c(e) cap ( X ) := e ∈ E ( X , V ∖ X ) ∑ c ( e )
Answer the following questions.
(i) Prove that for any ( s , t ) (s, t) ( s , t ) -flow f f f and any ( s , t ) (s, t) ( s , t ) -cut X X X
val ( f ) = ∑ e ∈ E ( X , V ∖ X ) f ( e ) − ∑ e ∈ E ( V ∖ X , X ) f ( e ) ≤ cap ( X ) . \text{val}(f) = \sum_{e \in E(X, V \setminus X)}f(e) - \sum_{e \in E(V\setminus X, X)} f(e) \le \text{cap}(X). val ( f ) = e ∈ E ( X , V ∖ X ) ∑ f ( e ) − e ∈ E ( V ∖ X , X ) ∑ f ( e ) ≤ cap ( X ) .
holds.
(ii) For a given ( s , t ) (s, t) ( s , t ) -flow f f f , show how to construct its residual network N f = [ G f = ( V , E f ) , c f ] N_f = [G_f = (V, E_f ), c_f] N f = [ G f = ( V , E f ) , c f ] .
(iii) For an ( s , t ) (s, t) ( s , t ) -flow f f f such that the residual network N f N_f N f has no directed path from s s s to t t t , let S S S denote the set of all vertices reachable from s s s in N f N_f N f . Prove that val ( f ) = cap ( S ) \text{val}(f) = \text{cap}(S) val ( f ) = cap ( S ) holds in N N N .
(iv) Let X X X be an ( s , t ) (s, t) ( s , t ) -cut with the minimum capacity cap ( X ) \text{cap}(X) cap ( X ) in N N N . Prove that no vertex in V ∖ X V \setminus X V ∖ X is reachable from s s s in the residual network N f N_f N f in (iii).
题目描述
记 R + \mathbb R_+ R + 为非负实数集。网络 N = [ G , c ] N=[G,c] N = [ G , c ] 由简单有向图 G = ( V , E ) G=(V,E) G = ( V , E ) 及容量函数 c : E → R + c:E\to\mathbb R_+ c : E → R + 构成。对 X , Y ⊆ V X,Y\subseteq V X , Y ⊆ V ,令 E ( X , Y ) E(X,Y) E ( X , Y ) 为从 X X X 指向 Y Y Y 的边集。对指定顶点 s , t s,t s , t ,( s , t ) (s,t) ( s , t ) 流是满足中间顶点流量守恒及 0 ≤ f ( e ) ≤ c ( e ) 0\le f(e)\le c(e) 0 ≤ f ( e ) ≤ c ( e ) 的函数 f : E → R + f:E\to\mathbb R_+ f : E → R + ,其流值为
val ( f ) = ∑ e ∈ E ( { s } , V ∖ { s } ) f ( e ) − ∑ e ∈ E ( V ∖ { s } , { s } ) f ( e ) . \operatorname{val}(f)=
\sum_{e\in E(\{s\},V\setminus\{s\})}f(e)
-\sum_{e\in E(V\setminus\{s\},\{s\})}f(e). val ( f ) = e ∈ E ({ s } , V ∖ { s }) ∑ f ( e ) − e ∈ E ( V ∖ { s } , { s }) ∑ f ( e ) .
满足 s ∈ X s\in X s ∈ X 、t ∉ X t\notin X t ∈ / X 的 X ⊆ V X\subseteq V X ⊆ V 称为 ( s , t ) (s,t) ( s , t ) 割,容量为
cap ( X ) = ∑ e ∈ E ( X , V ∖ X ) c ( e ) . \operatorname{cap}(X)=
\sum_{e\in E(X,V\setminus X)}c(e). cap ( X ) = e ∈ E ( X , V ∖ X ) ∑ c ( e ) .
回答:
对任意 ( s , t ) (s,t) ( s , t ) 流 f f f 和 ( s , t ) (s,t) ( s , t ) 割 X X X ,证明
val ( f ) = ∑ e ∈ E ( X , V ∖ X ) f ( e ) − ∑ e ∈ E ( V ∖ X , X ) f ( e ) ≤ cap ( X ) . \operatorname{val}(f)=
\sum_{e\in E(X,V\setminus X)}f(e)
-\sum_{e\in E(V\setminus X,X)}f(e)
\le\operatorname{cap}(X). val ( f ) = e ∈ E ( X , V ∖ X ) ∑ f ( e ) − e ∈ E ( V ∖ X , X ) ∑ f ( e ) ≤ cap ( X ) .
说明如何为给定流 f f f 构造残量网络
N f = [ G f = ( V , E f ) , c f ] N_f=[G_f=(V,E_f),c_f] N f = [ G f = ( V , E f ) , c f ] 。
若 N f N_f N f 不含从 s s s 到 t t t 的有向路,令 S S S 为其中从 s s s 可达的顶点集。证明
val ( f ) = cap ( S ) \operatorname{val}(f)=\operatorname{cap}(S) val ( f ) = cap ( S ) 。
令 X X X 为 N N N 中任意一个最小容量 ( s , t ) (s,t) ( s , t ) 割。证明在第 3 问的残量网络 N f N_f N f 中,从 s s s 无法到达 V ∖ X V\setminus X V ∖ X 中的任何顶点。
流—割弱对偶 :由割上的净流恒等式及容量约束证明任意流值不超过任意割容量。
残量网络与无增广路判据 :构造正反向残量边,并由从源点的可达集证明流值等于某个割容量。
最大流—最小割定理的结构结论 :在达到最优值后比较任意最小割,证明残量可达集包含于其源侧。
Kai
(i)
We can rewrite the flow conservation law for any node u ∈ V ∖ { s , t } u \in V \setminus \{s, t\} u ∈ V ∖ { s , t } as
∑ v ∈ V f ( u , v ) − ∑ v ∈ V f ( v , u ) = 0 \sum_{v \in V}f(u, v) - \sum_{v \in V} f(v, u) = 0 v ∈ V ∑ f ( u , v ) − v ∈ V ∑ f ( v , u ) = 0
then we have
val ( f ) = ∑ e ∈ E ( { s } , V ∖ { s } ) f ( e ) − ∑ e ∈ E ( V ∖ { s } , { s } ) f ( e ) = ∑ v ∈ V f ( s , v ) − ∑ v ∈ V f ( v , s ) + ∑ u ∈ X − { s } ( ∑ v ∈ V f ( u , v ) − ∑ v ∈ v f ( v , u ) ) \begin{aligned}
\text{val}(f) &= \sum_{e\in E(\{s\}, V \setminus \{s\})} f(e) - \sum_{e\in E(V \setminus \{s\}, \{s\})} f(e) \\
&= \sum_{v \in V} f(s, v) - \sum_{v \in V} f(v, s) + \sum_{u \in X - \{s\}} \Big(\sum_{v \in V} f(u, v) - \sum_{v \in v} f(v, u) \Big)
\end{aligned} val ( f ) = e ∈ E ({ s } , V ∖ { s }) ∑ f ( e ) − e ∈ E ( V ∖ { s } , { s }) ∑ f ( e ) = v ∈ V ∑ f ( s , v ) − v ∈ V ∑ f ( v , s ) + u ∈ X − { s } ∑ ( v ∈ V ∑ f ( u , v ) − v ∈ v ∑ f ( v , u ) )
Expanding the right-hand summation and regrouping terms yields
val ( f ) = ∑ v ∈ V f ( s , v ) − ∑ v ∈ V f ( v , s ) + ∑ u ∈ X ∖ { s } ∑ v ∈ V f ( u , v ) − ∑ u ∈ X ∖ { s } ∑ v ∈ V f ( v , u ) = ∑ v ∈ V ( f ( s , v ) + ∑ u ∈ X ∖ { s } f ( u , v ) ) − ∑ v ∈ V ( f ( v , s ) + ∑ u ∈ X ∖ { s } f ( v , u ) ) = ∑ v ∈ V ∑ u ∈ X f ( u , v ) − ∑ v ∈ V ∑ u ∈ X f ( v , u ) = ∑ v ∈ X ∑ u ∈ X f ( u , v ) + ∑ v ∈ V ∖ X ∑ u ∈ X f ( u , v ) − ∑ v ∈ X ∑ u ∈ X f ( v , u ) − ∑ v ∈ V ∖ X ∑ u ∈ X f ( v , u ) \begin{aligned}
\text{val}(f) &= \sum_{v \in V} f(s, v) - \sum_{v \in V}f(v,s) + \sum_{u \in X \setminus \{s\}} \sum_{v \in V} f(u, v) - \sum_{u \in X \setminus \{s\}} \sum_{v \in V} f(v,u) \\
&= \sum_{v \in V} \Big(f(s,v) + \sum_{u \in X \setminus \{s\}}f(u,v) \Big) - \sum_{v \in V} \Big(f(v,s) + \sum_{u\in X \setminus \{s\}} f(v, u) \Big) \\
&= \sum_{v \in V} \sum_{u\in X} f(u, v) - \sum_{v \in V}\sum_{u \in X} f(v, u) \\
&= \sum_{v \in X} \sum_{u\in X} f(u, v) + \sum_{v \in V \setminus X} \sum_{u\in X} f(u, v) - \sum_{v \in X} \sum_{u \in X} f(v, u) - \sum_{v \in V \setminus X} \sum_{u \in X} f(v, u)
\end{aligned} val ( f ) = v ∈ V ∑ f ( s , v ) − v ∈ V ∑ f ( v , s ) + u ∈ X ∖ { s } ∑ v ∈ V ∑ f ( u , v ) − u ∈ X ∖ { s } ∑ v ∈ V ∑ f ( v , u ) = v ∈ V ∑ ( f ( s , v ) + u ∈ X ∖ { s } ∑ f ( u , v ) ) − v ∈ V ∑ ( f ( v , s ) + u ∈ X ∖ { s } ∑ f ( v , u ) ) = v ∈ V ∑ u ∈ X ∑ f ( u , v ) − v ∈ V ∑ u ∈ X ∑ f ( v , u ) = v ∈ X ∑ u ∈ X ∑ f ( u , v ) + v ∈ V ∖ X ∑ u ∈ X ∑ f ( u , v ) − v ∈ X ∑ u ∈ X ∑ f ( v , u ) − v ∈ V ∖ X ∑ u ∈ X ∑ f ( v , u )
The two summations ∑ v ∈ X ∑ u ∈ X f ( u , v ) \sum_{v \in X} \sum_{u\in X} f(u, v) ∑ v ∈ X ∑ u ∈ X f ( u , v ) and ∑ v ∈ X ∑ u ∈ X f ( v , u ) \sum_{v \in X} \sum_{u \in X} f(v, u) ∑ v ∈ X ∑ u ∈ X f ( v , u ) are actually the same, since for all vertices x , y ∈ V x, y \in V x , y ∈ V , the term f ( x , y ) f(x,y) f ( x , y ) appears once in each summation. therefore
val ( f ) = ∑ v ∈ V ∖ X ∑ u ∈ X f ( u , v ) − ∑ v ∈ V ∖ X ∑ u ∈ X f ( v , u ) = ∑ e ∈ E ( X , V ∖ X ) f ( e ) − ∑ e ∈ E ( V ∖ X , X ) f ( e ) ≤ ∑ e ∈ E ( X , V ∖ X ) f ( e ) ≤ ∑ e ∈ E ( X , V ∖ X ) c ( e ) (capacity constraint) = cap ( X ) \begin{aligned}
\text{val}(f) &= \sum_{v \in V \setminus X} \sum_{u\in X} f(u, v) - \sum_{v \in V \setminus X} \sum_{u \in X} f(v, u) \\
&= \sum_{e \in E(X, V \setminus X)}f(e) - \sum_{e \in E(V\setminus X, X)} f(e) \\
&\le \sum_{e \in E(X, V \setminus X)}f(e) \\
&\le \sum_{e \in E(X, V \setminus X)}c(e) \ \ \ \ \ \ \text{(capacity constraint)} \\
&= \text{cap}(X)
\end{aligned} val ( f ) = v ∈ V ∖ X ∑ u ∈ X ∑ f ( u , v ) − v ∈ V ∖ X ∑ u ∈ X ∑ f ( v , u ) = e ∈ E ( X , V ∖ X ) ∑ f ( e ) − e ∈ E ( V ∖ X , X ) ∑ f ( e ) ≤ e ∈ E ( X , V ∖ X ) ∑ f ( e ) ≤ e ∈ E ( X , V ∖ X ) ∑ c ( e ) (capacity constraint) = cap ( X )
(ii)
We define the residual capacity c f ( u , v ) c_f (u, v) c f ( u , v ) by
c f ( u , v ) = { c ( u , v ) − f ( u , v ) if ( u , v ) ∈ E f ( v , u ) if ( v , u ) ∈ E 0 otherwise. c_f(u,v) = \left\{
\begin{aligned}
&c(u,v) - f(u, v) &\text{if } (u, v) \in E \\
&f(v, u) &\text{if } (v, u) \in E \\
&0 &\text{otherwise.}
\end{aligned}
\right. c f ( u , v ) = ⎩ ⎨ ⎧ c ( u , v ) − f ( u , v ) f ( v , u ) 0 if ( u , v ) ∈ E if ( v , u ) ∈ E otherwise.
and the edge set E f E_f E f by
E f = { ( u , v ) ∈ V × V ∣ c f ( u , v ) > 0 } E_f = \{(u,v) \in V \times V \ \mid \ c_f(u,v) > 0\} E f = {( u , v ) ∈ V × V ∣ c f ( u , v ) > 0 }
(iii)
To prove val ( f ) = cap ( S ) \text{val}(f) = \text{cap}(S) val ( f ) = cap ( S ) , we prove the following two conditions:
(a) All outgoing edges from the cut S S S must be fully saturated.
(b) All incoming edges to the cut S S S must have zero flow.
Assume that there exists an outgoing edge ( u , v ) ∈ E (u, v) \in E ( u , v ) ∈ E , u ∈ S u \in S u ∈ S , v ∈ V ∖ S v \in V \setminus S v ∈ V ∖ S such that it is not saturated, i.e. f ( u , v ) < c ( u , v ) f(u, v) < c(u, v) f ( u , v ) < c ( u , v ) .
This implies that there exists an edge ( u , v ) ∈ E f (u, v) \in E_f ( u , v ) ∈ E f , u ∈ S u \in S u ∈ S , v ∈ V ∖ S v \in V \setminus S v ∈ V ∖ S , therefore there exists a path from s s s to v v v , which is contradictory to the definition of S S S .
Hence, any outgoing edge ( u , v ) (u, v) ( u , v ) is fully saturated.
Assume that there exists an incoming edge ( v , u ) ∈ E (v, u) \in E ( v , u ) ∈ E , u ∈ S u \in S u ∈ S , v ∈ V ∖ S v \in V \setminus S v ∈ V ∖ S such that it carries some non-zero flow, i.e. f ( v , u ) > 0 f(v, u) > 0 f ( v , u ) > 0 .
This implies that there exists an edge ( u , v ) ∈ E f (u, v) \in E_f ( u , v ) ∈ E f , u ∈ S u \in S u ∈ S , v ∈ V ∖ S v \in V \setminus S v ∈ V ∖ S , therefore there exists a path from s s s to v v v , which is contradictory to the definition of S S S .
Hence, any incoming edge ( v , u ) (v, u) ( v , u ) must have zero flow.
Finally, we have
val ( f ) = ∑ e ∈ E ( S , V ∖ S ) f ( e ) − ∑ e ∈ E ( V ∖ S , S ) f ( e ) = ∑ e ∈ E ( S , V ∖ S ) c ( e ) − 0 = Cap ( S ) \begin{aligned}
\text{val}(f) &= \sum_{e \in E(S, V \setminus S)}f(e) - \sum_{e \in E(V\setminus S, S)} f(e) \\
&= \sum_{e \in E(S, V \setminus S)}c(e) - 0 \\
&= \text{Cap}(S)
\end{aligned} val ( f ) = e ∈ E ( S , V ∖ S ) ∑ f ( e ) − e ∈ E ( V ∖ S , S ) ∑ f ( e ) = e ∈ E ( S , V ∖ S ) ∑ c ( e ) − 0 = Cap ( S )
(iv)
Prove by contradiction: W.l.o.g we assume that there exists only one vertex v ∗ ∈ S ∩ ( V ∖ X ) v^* \in S \cap (V \setminus X) v ∗ ∈ S ∩ ( V ∖ X ) , i.e. S ∖ X = { v ∗ } S \setminus X = \{v^*\} S ∖ X = { v ∗ } .
From the flow conservation law we have
∑ u ∈ V f ( u , v ∗ ) = ∑ u ∈ V f ( v ∗ , u ) ∑ u ∈ S ∩ X f ( u , v ∗ ) + ∑ u ∈ V ∖ S f ( u , v ∗ ) = ∑ u ∈ S ∩ X f ( v ∗ , u ) + ∑ u ∈ V ∖ S f ( v ∗ , u ) \begin{aligned}
\sum_{u \in V} f(u, v^*) &= \sum_{u \in V} f(v^*, u) \\
\sum_{u \in S \cap X} f(u, v^*) + \sum_{u \in V \setminus S} f(u, v^*) &= \sum_{u \in S \cap X} f(v^*, u) + \sum_{u \in V \setminus S} f(v^*, u)
\end{aligned} u ∈ V ∑ f ( u , v ∗ ) u ∈ S ∩ X ∑ f ( u , v ∗ ) + u ∈ V ∖ S ∑ f ( u , v ∗ ) = u ∈ V ∑ f ( v ∗ , u ) = u ∈ S ∩ X ∑ f ( v ∗ , u ) + u ∈ V ∖ S ∑ f ( v ∗ , u )
From (iii) we know that
∑ u ∈ V ∖ S f ( u , v ∗ ) = 0 \sum_{u \in V \setminus S} f(u, v^*) = 0 u ∈ V ∖ S ∑ f ( u , v ∗ ) = 0
and
∑ u ∈ V ∖ S f ( v ∗ , u ) = ∑ u ∈ V ∖ S c ( v ∗ , u ) \sum_{u \in V \setminus S} f(v^*, u) = \sum_{u \in V \setminus S} c(v^*, u) u ∈ V ∖ S ∑ f ( v ∗ , u ) = u ∈ V ∖ S ∑ c ( v ∗ , u )
Hence we have
∑ u ∈ V ∖ S c ( v ∗ , u ) = ∑ u ∈ S ∩ X f ( u , v ∗ ) − ∑ u ∈ S ∩ X f ( v ∗ , u ) \sum_{u \in V \setminus S} c(v^*, u) = \sum_{u \in S \cap X} f(u, v^*) - \sum_{u \in S \cap X} f(v^*, u) u ∈ V ∖ S ∑ c ( v ∗ , u ) = u ∈ S ∩ X ∑ f ( u , v ∗ ) − u ∈ S ∩ X ∑ f ( v ∗ , u )
Since v ∗ v^* v ∗ is reachable from s s s in N f N_f N f , we know that either
(a) there exists an edge u v ∗ , u ∈ S ∩ X u v^*, u \in S \cap X u v ∗ , u ∈ S ∩ X such that c f ( u v ∗ ) > 0 c_f(u v^*) > 0 c f ( u v ∗ ) > 0 , i.e., f ( u , v ∗ ) < c ( u , v ∗ ) f(u, v^*) < c(u, v^*) f ( u , v ∗ ) < c ( u , v ∗ )
or
(b) there exists an edge v ∗ u , u ∈ S ∩ X v^* u, u \in S \cap X v ∗ u , u ∈ S ∩ X such that c f ( v ∗ u ) > 0 c_f(v^* u) > 0 c f ( v ∗ u ) > 0 . i.e., f ( v ∗ , u ) > 0 f(v^*, u) > 0 f ( v ∗ , u ) > 0
Both cases imply that
∑ u ∈ V ∖ S c ( v ∗ , u ) < ∑ u ∈ S ∩ X c ( u , v ∗ ) \sum_{u \in V \setminus S} c(v^*, u) < \sum_{u \in S \cap X} c(u, v^*) u ∈ V ∖ S ∑ c ( v ∗ , u ) < u ∈ S ∩ X ∑ c ( u , v ∗ )
Then we consider the capacity of cut X ∪ { v ∗ } X \cup \{v^*\} X ∪ { v ∗ }
Cap ( X ∪ { v ∗ } ) = Cap ( X ) + ∑ u ∈ V ∖ S c ( v ∗ , u ) − ∑ u ∈ S ∩ X c ( u , v ∗ ) < Cap ( X ) \begin{aligned}
\text{Cap}(X \cup \{v^*\}) &= \text{Cap} (X) + \sum_{u \in V \setminus S} c(v^*, u) - \sum_{u \in S \cap X} c(u, v^*) \\
&< \text{Cap} (X)
\end{aligned} Cap ( X ∪ { v ∗ }) = Cap ( X ) + u ∈ V ∖ S ∑ c ( v ∗ , u ) − u ∈ S ∩ X ∑ c ( u , v ∗ ) < Cap ( X )
which is contradictory to the fact that X X X is a minimum cut.