【最小路徑覆蓋】
首先給出公式:DAG的最小路徑覆蓋數=DAG圖中的節點數-相應二分圖中的最大匹配數.
一個PXP的有向圖中,路徑覆蓋就是在圖中找一些路徑,使之覆蓋了圖中的所有頂點,且任何一個頂點有且只有一條路徑與之關聯;(如果把這些路徑中的每條路徑從它的起始點走到它的終點,那么恰好可以經過圖中的每個頂點一次且僅一次);如果不考慮圖中存在回路,那么每條路徑就是一個弱連通子集。

上圖中,對應左邊的DAG建立構造右邊的二分圖,可以找到二分圖的一個最大匹配M:1-3',3-4',那么M中的這兩條匹配邊怎樣對應DAG中的路徑的邊?
邊覆蓋集:通俗地講,所謂邊覆蓋集,就是G中所有的頂點都是E*中某條邊的鄰接頂點(邊覆蓋頂點),一條邊只能覆蓋2個頂點。
注意:在無向圖中存在用盡量少的邊去“覆蓋”住所有的頂點,所以邊覆蓋集有極小與最小的區別。
極小邊覆蓋:若邊覆蓋E*中的任何真子集都不是邊覆蓋集,則稱E*是極小邊覆蓋集。
最小邊覆蓋:邊數最小的邊覆蓋稱為最小邊覆蓋,通俗地講,就是極小邊覆蓋中的最小的一個集合。
最小邊覆蓋在二分圖中的應用:最小邊覆蓋 = 最大獨立集 = n - 最大匹配,這個是二分圖上的一個性質。
【二分圖相關性質】
二分圖中,點覆蓋數是匹配數。
(1) 二分圖的最大匹配數等於最小覆蓋數,即求最少的點使得每條邊都至少和其中的一個點相關聯,很顯然直接取最大匹配的一段節點即可。
(2) 二分圖的獨立數等於頂點數減去最大匹配數,很顯然的把最大匹配兩端的點都從頂點集中去掉這個時候剩余的點是獨立集,這是|V|-2*|M|,同時必然可以從每條匹配邊的兩端
取一個點加入獨立集並且保持其獨立集性質。
(3) DAG的最小路徑覆蓋,將每個點拆點后作最大匹配,結果為n-m,求具體路徑的時候順着匹配邊走就可以,匹配邊i→j',j→k',k→l'....構成一條有向路徑。
(4) 最大匹配數=左邊匹配點+右邊未匹配點。因為在最大匹配集中的任意一條邊,如果他的左邊沒標記,右邊被標記了,那么我們就可找到一條新的增廣路,所以每一條邊都至少
被一個點覆蓋。
(5) 最小邊覆蓋=圖中點的個數-最大匹配數=最大獨立集。