1. 程式人生 > >最大權閉合圖

最大權閉合圖

概念引入

在一個圖中,我們選取一些點構成集合,記為V,且集合中的出邊(即集合中的點的向外連出的弧),所指向的終點(弧頭)也在V中,則我們稱V為閉合圖。最大權閉合圖即在所有閉合圖中,集合中點的權值之和最大的V,我們稱V為最大權閉合圖。

上圖中閉合圖有

     {5}、{2,5}、{4,5}

     {2,4,5}、{3,4,5}

     {1,2,3,4,5}、{1,2,4,5}

最大權閉合圖為{3,4,5}。

 

  [線性規劃與網路流24題 2] 太空飛行計劃問題

這道題中,實驗依賴於儀器,而實驗和儀器都有權值,且儀器為負,實驗為正。

針對本題而言,我們將實驗與儀器間連一條有向邊,實驗為起點(弧尾),儀器為終點(弧頭)。則如果我們選擇一個閉合圖,那麼這個閉合圖中包含的實驗所需要的儀器也最這個閉合圖裡。而最大權閉合圖即為題目的解。

 

瞭解了最大權閉合圖的概念,接下來我們就需要知道如何求最大權閉合圖。

首先我們將其轉化為一個網路(現在不要問為什麼,接下來會證明用網路可以求解)。構造一個源點S,匯點T。我們將S與所有權值為正的點連一條容量為其權值的邊,將所有權值為負的點與T連一條容量為其權值的絕對值的邊,原來的邊將其容量定為正無窮。

上圖即被轉化為如左圖網路。

 

 

 

 

首先引入結論,最小割所產生的兩個集合中,其源點S所在集合(除去S)為最大權閉合圖,接下來我們來說明一些結論。

  • 證明:最小割為簡單割。

        引入一下簡單割的概念:割集的每條邊都與S或T關聯。(請下面閱讀時一定分清最小割與簡單割,容易混淆)

        那麼為什麼最小割是簡單割呢?因為除S和T之外的點間的邊的容量是正無窮,最小割的容量不可能為正無窮。所以,得證。

  • 證明網路中的簡單割與原圖中閉合圖存在一一對應的關係。(即所有閉合圖都是簡單割,簡單割也必定是一個閉合圖)。

        證明閉合圖是簡單割:如果閉合圖不是簡單割(反證法)。那麼說明有一條邊是容量為正無窮的邊,則說明閉合圖中有一條出邊的終點不在閉合圖中,矛盾。

        證明簡單割是閉合圖:因為簡單割不含正無窮的邊,所以不含有連向另一個集合(除T)的點,所以其出邊的終點都在簡單割中,滿足閉合圖定義。得正。

  • 證明最小割所產生的兩個集合中,其源點S所在集合(除去S)為最大權閉合圖。

        首先我們記一個簡單割的容量為C,且S所在集合為N,T所在集合為M。

        則C=M中所有權值為正的點的權值(即S與M中點相連的邊的容量)+N中所有權值為負的點權值的絕對值(即N中點與T中點相連邊的容量)。記(C=x1+y1);(很好理解,不理解畫一個圖或想象一下就明白了)。

        我們記N這個閉合圖的權值和為W。

        則W=N中權值為正的點的權值-N中權值為負的點的權值的絕對值。記(W=x2-y2);

        則W+C=x1+y1+x2-y2。

        因為明顯y1=y2,所以W+C=x1+x2;

        x1為M中所有權值為正的點的權值,x2為N中權值為正的點的權值。

        所以x1+x2=所有權值為正的點的權值之和(記為TOT).

        所以我們得到W+C=TOT.整理一下W=TOT-C.

        到這裡我們就得到了閉合圖的權值與簡單割的容量的關係。

        因為TOT為定值,所以我們欲使W最大,即C最小,即此時這個簡單割為最小割,此時閉合圖為其源點S所在集合(除去S)。得正。

 

至此,我們就將最大權閉合圖問題轉化為了求最小割的問題。求最小割用最小割容量=最大流,即可將問題轉化為求最大流的問題。