1. 程式人生 > 其它 >【專題筆記#3】完美匹配

【專題筆記#3】完美匹配

霍爾定理等

Menger's Theorem

\(G\) 是一個有向簡單圖,\(u,v\)\(G\) 中兩個不相鄰的頂點,\(C\)\(u,v\) 之間的最小邊割集,則 \(|C|\) 等於 \(u\)\(v\) 之間兩兩邊獨立的路徑的數量。

我們稱 \(G\)\(k\)-邊連通圖當且僅當 \(G\) 中任意兩點之間都可以找到 \(k\) 條兩兩邊獨立的路徑。

可以用最大流最小割定理推匯出來。

Hall's Theorem

定義:在二分圖 \(G=<V_1,V_2,E>\) 中,點集 \(S \subseteq V_1\),稱 \(V_2\) 中與 \(S\) 有邊相連的點集 \(\Gamma(S)\)

\(S\) 的鄰集。

霍爾定理:

設二分圖 \(G=<V_1,V_2,E>\)\(|V_1|\le |V_2|\),則 \(G\) 中存在 \(V_1\)\(V_2\) 的完美匹配的充要條件是 \(\forall S \subset V_1\),均有 \(|S|\le |\Gamma(S)|\)

必要性是顯然的,下面來證明充分性。

我們對 \(V_1\) 的大小 \(v\) 使用歸納法,\(v=1\) 時顯然成立,假設當 \(v \le k\) 時成立,當 \(v=k+1\) 時,可以分為兩種情況:

一、若對於 \(V_1\)所有非空子集 \(S\),均滿足 \(|\Gamma(S)|\ge |S|+1\)

。那麼我們可以從兩邊隨便選一對點去匹配,剩下的部分依然滿足霍爾定理,根據歸納假設,存在完美匹配。

二、若 \(V_1\) 有部分非空子集 \(T\) 滿足 \(|\Gamma(T)|=|T|\),我們令 \(G_1=G[T\cup \Gamma(T)]\)\(G_2=G\setminus G_1\)。顯然,\(|G_1|=|\Gamma(G_1)|\)\(|G_2|\le |\Gamma(G_2)|\),均滿足霍爾定理,根據歸納假設,它們均能完美匹配。把這兩個完美匹配並起來就是 \(G\) 的完美匹配。

推論:設二分圖 \(G=<V_1,V_2,E>\),則 \(G\) 的最大匹配為 \(|V_1|-\max(|S|-|\Gamma(S)|)\)

,其中 \(S\)\(V_1\) 的子集。

例題:2017-2018 ACM-ICPC, Asia Daejeon Regional Contest J - Strongly Matchable

給出一個無向圖 \(G=<V,E>\),保證 \(|V|\) 為不超過 \(100\) 的偶數,問 \(V\) 中所有大小為 \(\dfrac{|V|}{2}\) 的子集 \(S\) 是否均能與相應的 \(V\setminus S\) 完美匹配。

根據霍爾定理,若存在點集 \(U\) 滿足 \(|U|\le \dfrac{|V|}{2}\)\(|\Gamma(U)|\lt |U|\),就存在不完美匹配的情況。那麼考慮這個 \(U\),對應的 \(|\Gamma(U)|\lt |U|\le \dfrac{V}{2}\),說明存在一個非空點集 \(S=G\setminus U\setminus \Gamma(U)\)\(U\)\(S\) 間不存在邊。這就意味著 \(\Gamma(U)\)\(G\) 的一個割!

於是我們只需要列舉源點和匯點,判斷最小割是否小於 \(\dfrac{|V|}{2}\) 即可。

König's theorem(min-max theorem)

設二分圖 \(G=<V_1,V_2,E>\),則 \(G\) 的最大匹配的邊數等於最小頂點覆蓋的頂點數。

在二分圖中,最小頂點覆蓋=最大匹配=最大流=最小割,而最大獨立集等於頂點數-最小頂點覆蓋。