1. 程式人生 > 其它 >圖論專題-學習筆記:二分圖(定義,性質,判定)

圖論專題-學習筆記:二分圖(定義,性質,判定)

目錄

1. 前言

二分圖是圖論當中很重要的一個板塊,由二分圖的匹配與帶權匹配可以推廣出一般圖的匹配與帶權匹配。

本篇博文主要講解:二分圖的定義、性質、判定。

特別提醒的是,本篇博文不會給出任何例題與程式碼,完全就是一篇理論博文。

本文部分地方參考了 oi-wiki 的資料,在此表示感謝。

本篇博文約定:

  1. \(G=<V,E>\) 表示圖 \(G\) 的所有點的集合為 \(V\),所有邊的集合為 \(E\)
  2. \((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\)

,後面對這張二分圖記作 \(G=<V_1,V_2,E>\)

比如下面的兩張圖都是二分圖:

(繪圖網址: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. 總結

本文當中提到的定義與性質如下:

  1. 二分圖與完全二分圖
  2. 二分圖中不存在奇環
  3. 二分圖判定黑白染色
  4. 圖的匹配以及增廣路

請自查有沒有理解。