acm-圖論的一些概念及性質

圖論的一些知識點,先mark一下

網上的東西,也不知道誰是原創。
§1圖論點、邊集和二分圖的相關概念和性質
點覆蓋、最小點覆蓋
點覆蓋集即一個點集,使得所有邊至少有一個端點在集合裏。或者說是“點” 覆蓋了所有“邊”。。極小點覆蓋(minimal vertex covering):本身爲點覆蓋,其真子集都不是。最小點覆蓋(minimum vertex covering):點最少的點覆蓋。點覆蓋數(vertex covering number):最小點覆蓋的點數。
邊覆蓋、極小邊覆蓋
邊覆蓋集即一個邊集,使得所有點都與集合裏的邊鄰接。或者說是“邊” 覆蓋了所有“點”。極小邊覆蓋(minimal edge covering):本身是邊覆蓋,其真子集都不是。最小邊覆蓋(minimum edge covering):邊最少的邊覆蓋。邊覆蓋數(edge covering number):最小邊覆蓋的邊數。
獨立集、極大獨立集
獨立集即一個點集,集合中任兩個結點不相鄰,則稱V爲獨立集。或者說是導出的子圖是零圖(沒有邊)的點集。極大獨立集(maximal independent set):本身爲獨立集,再加入任何點都不是。最大獨立集(maximum independent set):點最多的獨立集。獨立數(independent number):最大獨立集的點。

團即一個點集,集合中任兩個結點相鄰。或者說是導出的子圖是完全圖的點集。極大團(maximal clique):本身爲團,再加入任何點都不是。最大團(maximum clique):點最多的團。團數(clique number):最大團的點數。
邊獨立集、極大邊獨立集
邊獨立集即一個邊集,滿足邊集中的任兩邊不鄰接。極大邊獨立集(maximal edge independent set):本身爲邊獨立集,再加入任何邊都不是。最大邊獨立集(maximum edge independent set):邊最多的邊獨立集。邊獨立數(edge independent number):最大邊獨立集的邊數。
邊獨立集又稱匹配(matching),相應的有極大匹配(maximal matching),最大匹配(maximum matching),匹配數(matching number)。
支配集、極小支配集
支配集即一個點集,使得所有其他點至少有一個相鄰點在集合裏。或者說是一部分的“點”支配了所有“點”。極小支配集(minimal dominating set):本身爲支配集,其真子集都不是。最小支配集(minimum dominating set):點最少的支配集。支配數(dominating number):最小支配集的點數。
邊支配集、極小邊支配集
邊支配集即一個邊集,使得所有邊至少有一條鄰接邊在集合裏。或者說是一部分的“邊”支配了所有“邊”。極小邊支配集(minimal edge dominating set):本身是邊支配集,其真子集都不是。最小邊支配集(minimum edge dominating set):邊最少的邊支配集。邊支配數(edge dominating number):最小邊支配集的邊數。
最小路徑覆蓋
最小路徑覆蓋(path covering):是“路徑” 覆蓋“點”,即用盡量少的不相交簡單路徑覆蓋有向無環圖G的所有頂點,即每個頂點嚴格屬於一條路徑。路徑的長度可能爲0(單個點)。
最小路徑覆蓋數=G的點數-最小路徑覆蓋中的邊數。應該使得最小路徑覆蓋中的邊數儘量多,但是又不能讓兩條邊在同一個頂點相交。拆點:將每一個頂點i拆成兩個頂點Xi和Yi。然後根據原圖中邊的信息,從X部往Y部引邊。所有邊的方向都是由X部到Y部。因此,所轉化出的二分圖的最大匹配數則是原圖G中最小路徑覆蓋上的邊數。因此由最小路徑覆蓋數=原圖G的頂點數-二分圖的最大匹配數便可以得解。
匹配
匹配(matching)是一個邊集,滿足邊集中的邊兩兩不鄰接。匹配又稱邊獨立集(edge independent set)。
在匹配中的點稱爲匹配點(matched vertex)或飽和點;反之,稱爲未匹配點(unmatched vertex)或未飽和點。
交錯軌(alternating path)是圖的一條簡單路徑,滿足任意相鄰的兩條邊,一條在匹配內,一條不在匹配內。
增廣軌(augmenting path):是一個始點與終點都爲未匹配點的交錯軌。
最大匹配(maximum matching)是具有最多邊的匹配。
匹配數(matching number)是最大匹配的大小。
完美匹配(perfect matching)是匹配了所有點的匹配。
完備匹配(complete matching)是匹配了二分圖較小集合(二分圖X,Y中小的那個)的所有點的匹配。
增廣軌定理:一個匹配是最大匹配當且僅當沒有增廣軌。
所有匹配算法都是基於增廣軌定理:一個匹配是最大匹配當且僅當沒有增廣軌。這個定理適用於任意圖。
二分圖的性質
二分圖中,點覆蓋數是匹配數。
(1) 二分圖的最大匹配數等於最小覆蓋數,即求最少的點使得每條邊都至少和其中的一個點相關聯,很顯然直接取最大匹配的一段節點即可。
(2) 二分圖的獨立數等於頂點數減去最大匹配數,很顯然的把最大匹配兩端的點都從頂點集中去掉這個時候剩餘的點是獨立集,這是|V|-2*|M|,同時必然可以從每條匹配邊的兩端取一個點加入獨立集並且保持其獨立集性質。
(3) DAG的最小路徑覆蓋,將每個點拆點後作最大匹配,結果爲n-m,求具體路徑的時候順着匹配邊走就可以,匹配邊i→j’,j→k’,k→l’….構成一條有向路徑。
(4)最大匹配數=左邊匹配點+右邊未匹配點。因爲在最大匹配集中的任意一條邊,如果他的左邊沒標記,右邊被標記了,那麼我們就可找到一條新的增廣路,所以每一條邊都至少被一個點覆蓋。
(5)最小邊覆蓋=圖中點的個數-最大匹配數=最大獨立集。
二分圖的判定
二分圖是這樣一個圖: 有兩頂點集且圖中每條邊的的兩個頂點分別位於兩個頂點集中,每個頂點集中沒有邊直接相連接!
 無向圖G爲二分圖的充分必要條件是,G至少有兩個頂點,且其所有迴路的長度均爲偶數。
 判斷二分圖的常見方法是染色法: 開始對任意一未染色的頂點染色,之後判斷其相鄰的頂點中,若未染色則將其染上和相鄰頂點不同的顏色, 若已經染色且顏色和相鄰頂點的顏色相同則說明不是二分圖,若顏色不同則繼續判斷,bfs和dfs可以搞定!
易知:任何無迴路的的圖均是二分圖。
§2 另外一些姿勢
定理1:最大獨立集S 與 最小覆蓋集T 互補

對於無向圖:

最小點覆蓋+最大獨立集=頂點個數

最大團=補圖的最大獨立子集

關係1:給定圖G = (V,E)無孤立點,則G的極大點獨立集都是G的極小支配集。
關係2:G的點覆蓋數 a與點獨立集數 b滿足: a + b = n。
關係3:G的邊覆蓋數 a與邊獨立集數 b滿足: a + b = n。(邊獨立集數即匹配數)
關係3:給定圖G = (V,E)無孤立點,|V | = n。M是G的匹配,W是G的邊覆蓋,則|M|≤|W|,等號成立時M是G的完美匹配而W是G的最小邊覆蓋。
對於二部圖:

最小點覆蓋數 = 最大匹配數

最小路徑覆蓋 = 頂點數 – 最大(二分)匹配數

最小邊覆蓋與最小路徑覆蓋的區別:

邊覆蓋集:通俗地講,所謂邊覆蓋集,就是G中所有的頂點都是E*中某條邊的鄰接頂點(邊覆蓋頂點),一條邊只能覆蓋2個頂點。
注意:在無向圖中存在用盡量少的邊去“覆蓋”住所有的頂點,所以邊覆蓋集有極小與最小的區別。
極小邊覆蓋:若邊覆蓋E*中的任何真子集都不是邊覆蓋集,則稱E*是極小邊覆蓋集。
最小邊覆蓋:邊數最小的邊覆蓋稱爲最小邊覆蓋,通俗地講,就是極小邊覆蓋中的最小的一個集合。
最小邊覆蓋在二分圖中的應用:
最小邊覆蓋 = 最大獨立集 = n - 最大匹配,這個是二分圖上的一個性質。
最小路徑覆蓋和最小邊覆蓋不同,不要求給的圖是二分圖,而是要求是PXP的有向圖,不能有環,然後根據原圖構造二分圖,構造方法是將點一分爲二,如,i分爲i1和i2然後如果i和j有邊,那麼就在i1和j2之間連一條邊。由此構成二分圖
然後最小路徑覆蓋是n-m,n爲原圖的點的個數,m爲新造二分圖的最大匹配。

要使用上面的最小邊覆蓋的公式的前提是你已經將點集分成了左右兩個點集,如果只是一個無向圖的話那麼就可以按照下面的做法來做:
無向圖G(V,E)邊覆蓋的求解步驟:
1.將無向圖拆點,即若在無向圖中存在節點i,則將節點i拆爲i1,i2分別位於二分圖的X部和Y部.若存在邊ij,則連接二分圖的i1j2,i2j1。
2.原無向圖中的節點數爲|V|所以在構造的二分圖有2*|V|個節點。在二分圖中存在公式:
2*|V| = 2*二分圖的最大匹配數 + 二分圖中未匹配的點。其中二分圖的最大匹配數+二分圖中未匹配的點即覆蓋了二分圖中所有的點,相對於原無向圖,相當於覆蓋了每個點兩次,即原邊覆蓋的最小 值轉化爲二分圖的最大匹配數+二分圖中未匹配的點的最小值。又有公式2*|V| = 2*二分圖的最大匹配數 + 二分圖中未匹配的點,可得:
二分圖的最大匹配數+二分圖中未匹配的點 = 2*|V| - 二分圖的最大匹配數,又此結果爲覆蓋了原圖所有頂點兩次,所以結果應該除以2.
所以無向圖的最小邊覆蓋 = |V| - 二分圖的最大匹配數/2.

發佈了110 篇原創文章 · 獲贊 3 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章