圖論專題-學習筆記:二分圖(定義,性質,判定)
1. 前言
二分圖是圖論當中很重要的一個板塊,由二分圖的匹配與帶權匹配可以推廣出一般圖的匹配與帶權匹配。
本篇博文主要講解:二分圖的定義、性質、判定。
特別提醒的是,本篇博文不會給出任何例題與程式碼,完全就是一篇理論博文。
本文部分地方參考了 oi-wiki 的資料,在此表示感謝。
本篇博文約定:
- 圖 \(G=<V,E>\) 表示圖 \(G\) 的所有點的集合為 \(V\),所有邊的集合為 \(E\)。
- \((a,b)\) 表示 \(a\) 與 \(b\) 的連邊。
2. 二分圖
二分圖的數學語言描述如下:
給出圖 \(G=<V,E>\),從中選出兩個點集 \(V_1,V_2\),且 \(V_1 \cap V_2 = \varnothing,V_1 \cup V_2 = E\),如果 \(\forall a,b \in V_1,(a,b) \not \in E;\forall a,b \in V_2,(a,b) \not \in E\),那麼圖 \(G\) 是二分圖,後面記作 \(G=<V_1,V_2,E>\)。
說的通俗一點就是:
如果一張圖 \(G=<V,E>\) 能夠將所有點劃分成兩個組,組內的點互相都不直接連邊,那麼這張圖就是二分圖,劃分成的兩個組記作點集 \(V_1,V_2\)
比如下面的兩張圖都是二分圖:
(繪圖網址:link)
需要注意的是,二分圖不一定要連通,比如上面的右邊這張圖,並不連通,但是其仍然是一張二分圖。
二分圖中有一類二分圖叫完全二分圖。
完全二分圖的數學語言描述如下:
給出圖 \(G=<V_1,V_2,E>\),如果 \(\forall a \in V_1,b \in V_2,\) 必有 \((a,b) \in E\),那麼圖 \(G\) 是完全二分圖。
說的通俗一點就是:
選出的兩個點集之間,每個點與另外一個點集的點都有連邊。
比如下面這張圖就是完全二分圖。
需要注意的是,完全二分圖一定是連通的。
習慣上,也會稱 \(V_1\) 為左部點,\(V_2\) 為右部點。
二分圖有一個很重要的性質:圖中不會存在奇環。
為什麼不會存在奇環?
證明:以左部點為例,隨便選一個點走一條邊,一定是走到右部點,而右部點又會走回到左部點。也就是說,左部點一定連著右部點,右部點一定連著左部點。
那麼假設存在奇環,不妨設上面的一個點在左部點,那麼與其相鄰的點都在右部點,再相鄰的點都在左部點。
設點數為 \(2k+1,k \in Z\),那麼第一次選取的點為左部點,以後一次選取兩個點,那麼最後兩個點呢?根據第一段理論,這兩個點應該不在一起,但是點數為奇數,這麼選下去卻又在一起,顯然矛盾。因此原性質得證。
從這個性質中可以知道如何判定二分圖:黑白染色。
具體的,對於每一個連通塊,選擇一個點染成黑色,周圍的點染成白色,然後繼續染成黑色……如果發現有一個點既染成黑色又染成白色,那麼這張圖就不是二分圖。
同時如果是二分圖 且這張圖是連通的,那麼黑色點就是左部點,白色點就是右部點(當然左右隨意)。
判定完全二分圖呢?黑白染色後已知圖連通,左部點個數,右部點個數,算一算邊數是否等於 \(|V_1| \times |V_2|\) 就好了。\(|V|\) 表示 \(V\) 的大小。
3. 匹配
匹配(又名獨立邊集)是圖上一個重要的概念。在二分圖中求匹配等價於網路流問題。
當然這篇博文不是講網路流的
匹配就是一張圖中沒有公共點的邊的集合。
數學語言描述如下:
在圖 \(G=<V,E>\) 中,沒有公共點的邊集 \(M(M \subseteq E)\) 是圖 \(G\) 的匹配。一張圖有很多個匹配。
邊數最大的匹配稱為最大匹配。
當圖上的邊帶權值的時候,邊權和最大的匹配稱為最大權匹配。
匹配中的邊稱為匹配邊,反之稱為未匹配邊。
一個點如果在匹配中且至多屬於一條邊的端點,則將其稱為匹配點。否則稱為未匹配點。
以上定義全部摘自 圖匹配 - OI Wiki,數學語言描述除外。
定義應該還是好理解的吧。
二分圖呢?一張二分圖上的匹配稱為二分匹配。
本篇博文約定:如沒有特殊說明,那麼本文中的匹配預設為二分匹配。
而尋找最大匹配有兩種演算法:匈牙利演算法(邊不帶權)與 KM 演算法(邊帶權),後面都會一一提到。
3. 增廣路
交錯路與增廣路也是匹配(一般圖)中很重要的概念。
交錯路從非匹配邊開始,且非匹配邊與匹配邊交錯的路徑。
增廣路就是指始於非匹配點且終於非匹配點的交錯路。
當增廣路上非匹配邊比匹配邊數量大一,那麼將非匹配邊改為匹配邊,匹配邊改為非匹配邊,那麼該路徑依然是增廣路而且匹配數加一。
可以參考下面的圖理解(摘自 增廣路 - OI Wiki)
這就是求最大匹配的核心思路:尋找增廣路。
具體怎麼求就是後話了。
4. 總結
本文當中提到的定義與性質如下:
- 二分圖與完全二分圖
- 二分圖中不存在奇環
- 二分圖判定黑白染色
- 圖的匹配以及增廣路
請自查有沒有理解。