最大流最小割定理是網絡流理論的重要定理。是指在一個網絡流中,能夠從源點到達匯點的最大流量等于如果從網絡中移除就能夠導致網絡流中斷的邊的集合的最小容量和。即在任何網絡中,最大流的值等于最小割的容量。
基本內容
現實生活中,人們經常見到一些網絡,如鐵路網、公路網、通信網、運輸網等等。這些網絡有一個共同的特點,就是在網絡中都有物資、人或信息等某種量從一個地方流向另一個地方,如何安排這些量的流動以便取得最大效益是一個很有意義的實際問題。50年代福特(Ford)、富克遜(Fulkerson)建立的“網絡流理論”,是網絡應用的重要組成部分。
最大流
給定指定的一個有向圖,其中有兩個特殊的點源S(Sources)和匯T(Sinks),每條邊有指定的容量(Capacity),求滿足條件的從S到T的最大流(MaxFlow)。
最小割
割是網絡中定點的一個劃分,它把網絡中的所有頂點劃分成兩個頂點集合S和T,其中源點,匯點。記為,滿足條件的從S到T的最小割(Min cut)。
相關定理
定理一:
如果f是網絡中的一個流,是任意一個割,那么f的值等于正向割邊的流量與負向割邊的流量之差。
證明:
設X和Y是網絡中的兩個頂點集合,用表示從X中的一個頂點指向Y的一個頂點的所有弧(弧尾在X中,弧頭在Y中)的流量和。只需證明:即可。
下列結論成立:
如果X∩Y=,那么: 成立。
根據網絡流的特點:
如果V既不是源點也不是匯點,那么:;任何一個點,流入的與流出的量相等。
如果V是圓,那么:。
對于S中的所有點V都有上述關系式,相加得到: 。
又因為: 。
所以: 定理得證。
推論一:
如果f是網絡中的一個流,是一個割,那么f的值不超過割的容量。
推論二:
網絡中的最大流不超過任何割的容量。
定理二:
在網絡中,如果f是一個流,是一個割,且f的值等于割的容量,那么f是一個最大流, 是一個最小割。
證明:
令割的容量為C,所以流f的流量也為C。假設另外的任意流,流量為,根據流量不超過割的容量,則,所以f是最大流。假設另外的任意割,容量為,根據流量不超過割的容量,所以有,故,是最小割。
定理結論
在任何的網絡中,最大流的值等于最小割的容量。
結論一:
最大流時,最小割中,正向割邊的流量=容量,逆向割邊的流量為0。
結論二:
在最小割中:
源點s屬于S。
如果i屬于S,結點j滿足:有弧,并且或者有弧,并且那么j屬于S。否則不是最小割。即從s出發能找到的含有殘留的點組成集合S,其余的點組成集合T。
1.源點s屬于S。
2.如果i屬于S,結點j滿足:有弧,并且,或者有弧,并且那么j屬于S。否則不是最小割。即從s出發能找到的含有殘留的點組成集合S,其余的點組成集合T。
應用舉例
問題描述:
某軟件公司有n個可選的程序項目,其中第i個項目需要耗費資金元,開發成功后可以獲得的收益為
元。
程序項目之間不是獨立的:開發第i個項目的前提條件是必須先開發出一些其他的項目,這些項目成為第i個項目的“前驅項目”。已經給出所有項目的和以及前驅項目,請幫助該公司從這n個程序項目中選擇若干個進行開發,使獲得的總收益最大。
分析:令,凈收益。可以獲得利潤的項目集合。:虧損的項目集合。
構造網絡圖:。
1、兩類頂點:個點:原點s個匯點t,第i個項目點。
2、三種弧:如果,存在弧,容量為
如果,存在弧,容量法|
如果i個前驅項目為j,存在弧,容量為。
構造割,如果,則i的前驅。這對應一種實驗方案。最大收益為。
參考資料 >