1. 程式人生 > >最大流為什麼會等於最小割

最大流為什麼會等於最小割

定義:有向帶權圖G,源s,目的t。

非常簡單的證明過程(A->D):

A:可行流

 1. s->t的一條通路,即是一條可行流。

     2.一條可行流中,一定可以通過去掉一些邊後,使該條流不可行。

B:最小割

  1. 割:割是G中邊的一個子集合,其中割集滿足:原圖去掉割集中的邊後,s->t的無連通路徑。
  2. 對於這些割集,使圖不連通,其本質上是使其所在的流不連通了。
  3. 最小割:所有可行的割集中,邊權值和最小的一個割集。
  4. 由上可知最小割集能導致圖不連通,那麼最小割集本質是使其邊所在的流不連通。那麼最小割集所在流的流量即是最小割

C:最大流最小割

    1.最大流充要條件:達到最大流量,則目前已無其他可行流。即目前已找不到新的連通路徑了。

    2.最小割對應的流為f,其流量等於最小割,若f不是最大流,則一定能找到不屬於f的邊,使其能構成新的連通路徑到達t,才能增加流量值。但最小割的邊集合全在流f中,意味著,目前去掉最小割的邊後,圖已經不連通,則新增非最小割邊不能改變圖的連通性,即目前已經無法增加流量。所以最小割對應的流的流量已經達到最大,即最大流。