1.二分圖最小點覆蓋
給定一張二分圖,求出一個最小的點集 ,使得圖中任意一條邊都有至少一個端點屬於 。這個問題被稱爲二分圖的最小點覆蓋 (vertex cover),簡稱最小覆蓋。
Konig 定理:
二分圖最小點覆蓋包含的點數等於二分圖最大匹配包含的邊數。
2.二分圖最大獨立集
給定一張無向圖 ,滿足下列條件的點集 被稱爲圖的獨立集:
通俗地講,圖的獨立集就是任意兩點之間都沒有邊相連的點集。包含點數最多的一個就是圖的最大獨立集。
對應地,任意兩點之間都有一條邊相連的子圖被稱爲無向圖的團。點數最多的團被稱爲圖的最大團。
定理:
無向圖 的最大團等於其補圖 的最大獨立集。
注: 被稱爲 的補圖,其中 。
定理:
設 是有 個節點的二分圖, 的最大獨立集的大小等於 減去最大匹配數。
證明:
選出最多的點構成獨立集
在圖中去掉最少的點,使剩下的點之間沒有邊
用最少的點覆蓋所有的邊
因此,去掉二分圖的最小點覆蓋,剩餘的點就構成二分圖的最大獨立集。而最小點覆蓋數等於最大匹配數。故最大獨立集大小等於 減去最大匹配數。
3.有向無環圖的最小路徑點覆蓋
給定一張有向無環圖,要求用盡量少的不相交的簡單路徑,覆蓋有向無環圖的所有頂點(也就是每個頂點恰好被覆蓋一次)。這個問題被稱爲有向無環圖的最小路徑點覆蓋,簡稱最小路徑覆蓋。
設原來的有向無環圖爲 ,。把 中的每個點 拆成編號爲 和 的兩個點。建立一張新的二分圖, 作爲二分圖左部點, 作爲二分圖右部點,對於原圖的每條有向邊 ,在二分圖的左部點 與右部點 之間連邊。最終得到的二分圖稱爲 的拆點二分圖,記爲 。
定理:
有向無環圖 的最小路徑點覆蓋包含的路徑條數,等於 減去拆點二分圖 的最大匹配數。
4.有向無環圖的最小路徑可重複點覆蓋
給定一張有向無環圖,要求用盡量少的可相交的簡單路徑,覆蓋有向無環圖的所有頂點(也就是一個節點可以被覆蓋多次)。這個問題被稱爲有向無環圖的最小路徑可重複點覆蓋。
在最小路徑可重複點覆蓋中,若兩條路徑 和 在點 相交,則我們在原圖中添加一條邊 ,讓第二條路徑直接走 ,就可以避免重複覆蓋點 。
進一步地,如果我們把原圖中所有間接連通的點對 直接連上有向邊 ,那麼任何 有路徑相交的點覆蓋 一定都能轉化成 沒有路徑相交的點覆蓋。
綜上所述,有向無環圖 的最小路徑可重複點覆蓋,等價於先對有向圖傳遞閉包,得到有向無環圖 ,再在 上求一般的(路徑不可相交的)最小路徑點覆蓋。