二分圖的最小點覆蓋-定理證明

最小頂點覆蓋定義:假如選了一個點就相當於覆蓋了以它爲端點的所有邊。最小頂點覆蓋就是選擇最少的點來覆蓋所有的邊。

最開始做題的時候完全沒想到最小頂點覆蓋和最大匹配有關係,之後找證明過程的時候受博主Matrix67的啓發,然後想再按自己的思路證明一下。從問題本身出發(主要還是按照增廣路特點來證明):

1、下面是一個二分圖,紅色的線表示一種可以獲得最大匹配的方案
在這裏插入圖片描述
根據二分圖的定義:圖中的每條邊(i,j)所關聯的兩個頂點i和j分別屬於這兩個互不相交的子集

那這兩個子集中任意一個子集的點肯定能夠覆蓋所有的邊:
在這裏插入圖片描述假設圖中,上面部分有n個點,下面有m個點,那麼可以確定 最小覆蓋點數≤min(n,m)。

2、然後我們去看有什麼方法可以減少點的個數:

我們知道二分圖匹配過程中獲得最大匹配後,就找不到增廣路徑了,“換句話說,我們能尋找到很多可能的增廣路,但最後都以找不到‘終點是還沒有匹配過的點’而失敗”。仔細想一下匹配失敗的過程會發現——每次都是以同子集中已經匹配成功的點結尾的,而且這個結尾點除了與它匹配的點之外,沒有與任何點相連(如果有的話就可以找到一條增光路了)。

以上圖中,下面最右邊的點爲例,我們試着去給它找增廣路徑,過程如下:
在這裏插入圖片描述
可以發現,在找增廣路徑的過程中與下面的點關聯的所有邊我們都會遍歷一次。而這些點是我們最初選擇的覆蓋所有邊的點集 中的一部分,因爲尋找過程是上下交錯的,所以這些點覆蓋的所有邊都會與上面的點相關聯——即我們完全可以用上面的點取代下面的點。
在這裏插入圖片描述
因爲是從下面出發,上下交錯,又是在下面結尾,所以通過給這些沒有匹配的點找一次增廣路徑,就可以使點集減少一個
在這裏插入圖片描述
——因此最小頂點覆蓋=二分圖的最大匹配。

通過此方式也可以得到一組最小點覆蓋:從一邊所有沒有匹配過的點出發,按照增廣路的“交替出現”的要求DFS。最終右邊沒有訪問過的點和左邊訪問過的點組成最小點覆蓋。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章