一.最大流最小割定理.
割:對於一張網路,我們稱乙個邊集的子集為乙個割,當且僅當去掉這個邊集的子集後源點s
ss無法到達匯點ttt.
最小割:邊權和最小的割被稱為最小割.
最大流-最小割定理:一張網路的最大流等於其最小割的邊權之和.
這個東西太經典了這裡就不證了.
二.輸出一種最小割的方案.
先跑一遍最大流得到殘餘網路.容易發現 s
ss 和 t
tt 之間不連通了.
在殘餘網路上進行一次遍歷,求出從 s
ss 出發能到達的點集,和不能到達的點集.
所有 s
ss 能到達的點到 s
ss 不能到達的點的滿流邊就是一組最小割.
三.最小割的可行邊與必經邊.
顯然一張網路可能有不止乙個最小割,那麼我們如何確定一條邊是最小割的可行邊或者必經邊?
首先考慮對網路跑一遍最大流,此時我們會得到一張殘餘網路(算上反向邊).
首先,容易發現如果一條邊沒有滿流,那麼這條邊必然不是任意乙個最小割中的一條邊.
為什麼?考慮先強制刪掉這條邊再計算最小割,顯然只有當此時的最小割加上這條邊等於原來的最小割這條邊才能是一條可行邊,但是此時最大流減少的量必然小於當前邊的容量,所以這條邊不可能是一條可行邊.
但這僅僅是一條邊是可行邊的必要條件,我們還需要討論更準確的條件.
考慮殘餘網路上的一條滿流邊(x,
y)
(x,y)
(x,y
),如果x
xx還能通過其它非滿流邊到達y
yy,那麼通過上面類似的討論,我們發現這也不會是一條可行邊,同時這也是(x,
y)
(x,y)
(x,y
)作為可行邊的充分必要條件.
再來考慮(x,
y)
(x,y)
(x,y
)作為必經邊的條件,我們發現只要x
xx和源點s
ss可以相互到達,y
yy和匯點t
tt在殘餘網路上可以相互到達即可.
這兩個判定中的所有條件均可以轉化為在殘餘網路上判定兩點是否同屬於乙個scc,通過一次tarjan演算法就可以實現.
四.最小割的數學模型.
最小割有乙個對應的數學模型.
我們考慮將網路上源點s
ss和匯點t
tt外的每個點都看成乙個0/1
0/10/
1變數,最後與s
ss相連的點為0
00,與t
tt相連的點為111.
那麼對於一條邊權為v
vv的邊(s,
x)
(s,x)
(s,x
),其貢獻為vxvx
vx,同理邊(x,
t)
(x,t)
(x,t
)的貢獻為v(1
−x
)v(1-x)
v(1−x)
.而對於一條邊權為v
vv的邊(x,
y)
(x,y)
(x,y
),其貢獻為v(1
−x)y
v(1-x)y
v(1−x)
y.如果我們可以把問題抽象為n
nn個0/1
0/10/
1變數,同時貢獻為以上三種形式,此時就可以利用最小割的數學模型來解決問題了.
最大流 最小割定理
割 cut 是網路中頂點的劃分,它把網路中的所有頂點劃分成兩個頂點的集合源點s和匯點t。記為cut s,t 如下圖 源點 s 1 匯點 t 5。框外是容量,框內是流量 如下圖是乙個圖的割。頂點集合s 和t 構成乙個割。如果一條弧的兩個頂點分別屬於頂點集s和t那麼這條弧稱為割cut s,t 的一條割邊...
最大流最小割定理
在最優化理論中,最大流最小割定理提供了對於乙個網路流,從源點到目標點的最大的流量等於最小割的每一條邊的和。即對於乙個如果移除其中任何一邊就會斷開源點和目標點的邊的集合的邊的容量的總和。最大流最小割定理是線性規劃中的雙對問題的一種特殊情況,並且可以用來推導menger定理和k nig egerv ry...
最小割最大流定理
最小割最大流定理 定理一 如果f是網路中的乙個流,cut s,t 是任意乙個割,那麼f的值等於正向割邊的流量與負向割邊的流量之差。證明 設x和y是網路中的兩個頂點集合,用f x,y 表示從x中的乙個頂點指向y的乙個頂點的所有弧 弧尾在x中,弧頭在y中 的流量和。只需證明 f f s,t f t,s ...