【專題筆記#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)\)
霍爾定理:
設二分圖 \(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)|)\)
例題: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\) 的最大匹配的邊數等於最小頂點覆蓋的頂點數。
在二分圖中,最小頂點覆蓋=最大匹配=最大流=最小割,而最大獨立集等於頂點數-最小頂點覆蓋。