1. 程式人生 > 其它 >[學習筆記]二分圖の定理們

[學習筆記]二分圖の定理們

\[\color{red}{\text{校長者,真神人也,左馬桶,右永神,會執利筆破邪炁,何人當之?}} \\ \begin{array}{|} \hline \color{pink}{\text{The principal is really a god}} \\ \color{pink}{\text{with a closestool on the left and Yongshen on the right}} \\ \color{pink}{\text{holding a sharp pen to pierce the truth}} \\ \color{pink}{\text{Who can resist him? }} \\ \hline \end{array} \\ \begin{array}{|} \hline \color{green}{\text{校長は本當に神であり、左側にトイレ、右側にヨンシェンがあり}} \\ \color{green}{\text{鋭いペンを持って真実を突き刺している。誰が彼に抵抗できるだろうか? }} \\ \hline \end{array} \\ \begin{array}{|} \hline \color{lightblue}{\text{Le principal est vraiment un dieu}} \\ \color{lightblue}{\text{avec des toilettes à gauche et Yongshen à droite}} \\ \color{lightblue}{\text{tenant un stylo pointu pour percer la vérité}} \\ \color{lightblue}{\text{Qui peut lui résister ? }} \\ \hline \end{array} \\ \begin{array}{|} \hline \color{purple}{\text{Der Direktor ist wirklich ein Gott}} \\ \color{purple}{\text{mit einer Toilette links und Yongshen rechts}} \\ \color{purple}{\text{der einen spitzen Stift hält}} \\ \color{purple}{\text{um die Wahrheit zu durchdringen.}} \\ \color{purple}{\text{Wer kann ihm widerstehen? }} \\ \hline \end{array} \\ \begin{array}{|} \hline \color{cyan}{\text{Principalis deus est, Yongshen a dextris cum latrina}} \\ \color{cyan}{\text{acuto stylo ad perforandum veritatem: quis resistet ei? }} \\ \hline \end{array} \\ \color{red}{\text{對曰:“無人,狗欲當之,還請賜教!”}} \\ \newcommand\bra[1]{\left({#1}\right)} \newcommand\Bra[1]{\left\{{#1}\right\}} \newcommand\dx[0]{\text{dx}} \newcommand\string[2]{\genfrac{\{}{\}}{0pt}{}{#1}{#2}} \newcommand\down[2]{{#1}^{\underline{#2}}} \newcommand\ddiv[2]{\left\lfloor\frac{#1}{#2}\right\rfloor} \newcommand\udiv[2]{\left\lceil\frac{#1}{#2}\right\rceil} \newcommand\lcm[0]{\operatorname{lcm}} \newcommand\set[1]{\left\{{#1}\right\}} \newcommand\ceil[1]{\left\lceil{#1}\right\rceil} \newcommand\floor[1]{\left\lfloor{#1}\right\rfloor} \]

記號與約定 ¶

  1. 圖:一個圖 \(G\) 為一個二元組,即 \(G=\lang V,E\rang\).
  2. 二分圖:點集可以被恰好分成兩個獨立集 \(S,T\)\(S\)\(T\) 之間有邊相連,\(S,T\) 內部沒有的圖是二分圖;
  3. 對於任意點集 \(S\),定義 \(N(S)\)\(S\) 的鄰域,即 \(S\) 中所有節點的鄰接點的並集;
  4. 對於圖 \(G\),定義其點覆蓋為一個點集 \(P\),其滿足 \(\forall e=(u,v)\in E,u\in P\lor v\in P\),特別地,最小點覆蓋為 \(P'(|P'|=\min(P))\),記 \(|P'|=\beta(G)\)
    ,定義其邊覆蓋為一個邊集 \(R\),其滿足 \(\forall u\in V,\exists e\in R\text{\;s.t.\;}u\in e\),最小邊覆蓋定理類似;
  5. 對於圖 \(G\),定義其匹配為一個邊集 \(Q\),其滿足 \(\forall e=(u,v)\in Q,u\notin e'\land v\neq e'(e'\in Q\setminus\{e\})\),特別地,最大匹配為 \(Q'(|Q'|=\max(Q))\),記 \(|Q'|=\alpha(G)\)
  6. 定義一個圖的最大點度數為 \(\delta(G)\),即 \(\delta(G)=\max(d_u|u\in V)\)
  7. 圖的邊色數問題:對圖 \(G\) 的每條邊塗上一種顏色,使得有公共點的邊塗不同的顏色,若能用 \(k\) 種顏色給 \(G\) 的邊著色就稱對 \(G\) 的邊進行了 \(k\) 著色,或稱 \(G\)\(k-\)邊可著色的。若 \(G\)\(k-\)邊可著色,而不是 \((k-1)-\)邊可著色的,就稱 \(k\)\(G\) 的邊色數,記作 \(f(G)\)
  8. ......很多東西都可以在 \(\rm oi-wiki\) 上找到,就不贅述了;

定理部分 ¶

二分圖判定

  二分圖判定滿足:\(G\) 是二分圖 \(\Leftrightarrow\) \(G\) 的點色數為 \(2\)

\(\Leftrightarrow\) \(G\) 中不存在奇環。

  一些特殊的二分圖:樹、偶環、每個面的次數是偶數的平面圖(該圖的對偶圖(將面當成點)是尤拉圖)、完全二分圖、K-方體圖.....

可圖化問題

  給一個度數序列,問是否存在一個 圖/簡單圖/二分圖/簡單二分圖 滿足度數序列。

  對於度數序列 \(D=(d_1,d_2,\cdots,d_n)(d_i\ge 0)\) 是可圖化的當且僅當

\[\sum_{i=1}^nd_i\equiv 0\pmod 2 \]

  更強地,若 \(n-1\ge d_1\ge d_2\ge d_3\cdots\ge d_n\ge 0\),則 \(D\) 是可簡單圖化當且僅當

\[\forall r\in [1,n-1],\sum_{i=1}^rd_i\le r(r - 1)+\sum_{j=r+1}^n\min\set{r,d_j}\land\sum_{i=1}^nd_i\equiv 0\pmod 2 \]

  事實上,後者就是每次將最大度數的點向次大、次次大.....總計 \(d_1\) 個點各連了一條邊,然後歸約為一個 \(n-1\) 個點的子問題,並且若子問題可圖化,則原圖可圖化。以上便是在描述這個過程。

最大流最小割定理

  一個很經典的結論:\(flow=\text{cut}(S,T)\). 從直觀上理解,每一個 \(\rm cut\) 相當於水管網路的一個截面,從 \(\rm source\)\(\rm sink\) 的全部流量都要通過這個截面才能從一端到另一端。因此,任意截面的流量是總流量的上界。從線性規劃的角度來看,最大流和最小割是對偶問題,因此最大流等於最小割。但此處討論圖論相關,便不引入線性規劃。

  證明該結論之前,先介紹給出一些記號:

  • \(x_{ij}:\)\(i\)\(j\) 的流量;
  • \(c_{ij}:\)\(i\)\(j\) 的容量;

  然後進入證明部分:

\[\begin{align}{} flow&=\sum_{j=1}^nx_{sj}=\sum_{j=1}^nx_{sj}-\sum_{j=1}^nx_{js} \tag{1} \\ &=\sum_{i \in S}\bra{\sum_j x_{ij}–\sum_j x_{ji}} \tag{2} \\ &=\sum_{i \in S}\bra{\sum_{j \in S} x_{ij}+\sum_{j \in T} x_{ij}–\sum_{j \in S} x_{ji}-\sum_{j \in T} x_{ji}} \tag{3} \\ &=\sum_{i \in S}\sum_{j \in S}(x_{ij}-x_{ji})+\sum_{i \in S}\sum_{j \in T}(x_{ij}-x_{ji}) \tag{4} \\ &=\sum_{i \in S}\sum_{j \in T}(x_{ij}-x_{ji}) \tag{5} \\ &\le \sum_{i \in S}\sum_{j \in T}x_{ij} \tag{6} \\ &\le \sum_{i \in S}\sum_{j \in T}c_{ij}=cut(S,T) \tag{7} \end{align} \]

  一些說明:

  • \((1)\):沒有點會向匯點流,因此後一項 \(\sum_{j=1}^nx_{js}=0\)
  • \((1)\to(2)\):事實上對於其他 \(i\in S\setminus\set{s}\) 都有 \(\sum_{j}x_{ij}=\sum_{j}x_{ji}\),所以只有當 \(i=s\) 時括號裡面才有值。
  • \((2)\to(3)\):就是把點分成 \(S,T\) 兩個部分而已;
  • \((3)\to(4)\):僅僅只是把括號拆開;
  • \((4)\to(5)\):顯然前面那一項為 \(0\)
  • \((5)\to(6)\to(7)\):簡單放縮而已;

  此時我們證明了最大流小於任意割,只需要取最緊的部分:\(flow\le \min(cnt(S,T))\),若我們想要證明 \(flow=\min(cnt(S,T))\),需要引入殘留網路:

  • 殘留網路:對原圖重新設定流量,若 \(flow\)\(i\)\(j\) 上的流量為 \(x_{ij}\),那麼殘留網路的 \(c’_{ij}=c_{ij}-x_{ij}\),另外 \(c'_{ji}=x_{ij}\)

  由於 \(flow\) 是最大流,所以殘留網路中 \(s\)\(t\) 不存在流量了,假設把 \(c'_{ij}=0\) 的邊刪掉,那麼 \(s\)\(t\) 不連通,定義 \(S\) 集為:當前殘留網路中 \(s\) 能夠到達的點。同時定義 \(T=V\setminus S\). 此時 \((S,T)\) 構成一個割 \((S,T)\). 對於任意的 \(u\in S,v\in T\),有\(x_{uv}=c_{uv}\). 所以 \(flow=cut(S,T)\),因為若 \(x_{uv}<c_{uv}\),則有 \(x'_{uv}>0\),即 \(s\) 可以到達 \(v\),與 \(v\) 屬於 \(T\) 矛盾.

\(\mathcal{Menger}\) 定理

  該定理有邊、點兩種形式,先看邊形式:

  對於圖 \(G=\lang V,E\rang\),取 \(x\neq y\in V\),設 \(P_e(x,y)\)\(G\) 中從 \(x\)\(y\)邊不交的路徑集合,設 \(f_e(x,y)=\max(|P_e(x,y)|)\),設 \(g_e(x,y)\) 表示讓 \(x,y\) 不連通,最少刪除的邊數,則 \(\mathcal {Menger}\) 定理的邊形式即 \(f_e(x,y)=g_e(x,y)\).

  證明比較簡單,不難看出 \(f_e(x,y)=maxflow,g_e(x,y)=mincut\),由上文定理,有 \(f_e(x,y)=g_e(x,y)\).

  接下來看點形式:

  對於圖 \(G=\lang V,E\rang\),取 \(x\neq y\in V\land (x,y)\notin E\),設 \(P_u(x,y)\)\(G\) 中從 \(x\)\(y\)點不交的路徑集合,設 \(f_u(x,y)=\max(|P_u(x,y)|)\),設 \(g_u(x,y)\) 表示讓 \(x,y\) 不連通,最少刪除的點數,則 \(\mathcal {Menger}\) 定理的點形式即 \(f_u(x,y)=g_u(x,y)\).

  證明是同樣的道理,將一個點拆成入點和出點,從而該形式和邊形式一模一樣......

\(\mathcal{Hall}\) 定理

  對於二分圖 $G=\lang V_1,V_2,E\rang $,不妨設 \(|V_1|\le |V_2|\). 則 \(\mathcal{Hall}\) 定理的內容為:

  若滿足相異性條件,則 \(G\) 有完備匹配,反之亦然. 相異性條件指的是 \(\forall Q\subset V_1,|Q|\le |N(Q)|\) .

  必要性很直觀?一方面,若存在完備匹配,不妨設 \(M\) 為完備匹配,由於 \(M\) 是將 \(Q\) 中每個點與 \(N(Q)\) 匹配,因此一定滿足 \(|Q|\le |N(Q)|\). 另一方面,若我們將 \(E\) 定向,將邊方向設為 \(V_1\to V_2\),同時新增 \(s,t\),即源匯點,設 \(T\) 為刪點使得 \(s,t\) 不連通的最小點集,則 \(maxflow=|M|=f_u(s,t)=g_u(s,t)=|T|\). 設\(T_1=T\cap V_1,T_2=T\cap V_2\),顯然 \(N(V_1\setminus T_1)\subset T_2\),因此:

\[|M|=|T|=|T_1|+|T_2|\ge |T_1|+|N(V_1\setminus T_1)|\ge |T_1|+|V_1\setminus T_1|=|V_1| \]

  因此 \(|M|\ge |V_1|\),顯然 \(M\) 同時滿足 \(|M|\le |V_1|\),因此 \(|M|=|V_1|\). 至此,充要性證明完畢。

柯尼希定理

  對於任意一個沒有自環的圖 \(G\),滿足 \(\alpha(G)\le \beta(G)\). 因為匹配的邊可以任選一個點加入點覆蓋中,且不能保證加入完畢的點完全覆蓋圖。而柯尼希定理的內容為:

  對於任意二分圖 \(G\),滿足 \(\alpha(G)=\beta(G)\).

  顯然,我們只需要證明 \(\alpha(G)\ge \beta(G)\). 事實上,我們可以利用 \(\mathcal {Hall}\) 定理直接證明 \(\alpha(G)=\beta(G)\),即由 \(\mathcal {Hall}\) 定理,\(\alpha(G)=|M|=f_u(s,t)=g_u(s,t)=|T|=\beta(G)\).

\(\mathcal{Vizing}\) 定理

  若 \(G\) 是簡單圖,則 \(\delta(G)\le f(G)\le \delta(G)+1\). 特別地,若 \(G\) 是二分圖,則 \(\delta(G)=f(G)\).

  其證明目前暫不給出,由於它在二分圖中有十分美妙的性質,我們考慮這個部分的證明。顯然存在 \(f(G)\ge \delta(G)\),接下來我們只需要證明 \(f(G)\le \delta(G)\). 考慮對邊數 \(m\) 進行歸納:

  • \(m=0\) 時,\(\delta(G)=f(G)=0\)
  • 設當 \(m=k\) 時成立;
  • \(m=k+1\) 時,設當前 \(G=\lang V,E\rang\),再設 \(e=(u,v)\in V\),令 \(G'=\lang V,E\setminus e\rang\),考慮先對 \(G'\) 染色,由於 \(|E\setminus e|=k\),則 \(f(G')\le \delta(G')\le \delta(G)\). 顯然,對於 \(G'\),一定有 \(d_{G'}(u)<\delta(G)\land d_{G'}(v)<\delta(G)\). 因此,在對 \(G'\) 染色時,一定存在某種顏色,它不在 \(u\) 關聯的邊集中,對於 \(v\) 同理。一方面,如果 \(u,v\) 同時存在一種一樣的、且沒有出現過的顏色,那麼直接對 \(e\) 染上這一種即可,此時完成了 \(G\)\(\delta(G)\) 染色;另一方面,若不存在這樣一種顏色,我們則考慮證明限制最緊的一種情況:\(u,v\) 均只有一種顏色沒有出現過,即 \(d_{G'}(u)=d_{G'}(v)=\delta(G)-1\). 設 \(\gamma\) 表示 \(u\) 中未出現過的顏色,\(\sigma\)\(v\) 中未出現過的顏色,由前提,\(\gamma\)\(v\) 中出現,\(\sigma\)\(u\) 中出現。先將 \(G'\) 中塗 \(\gamma\)\(\sigma\) 的邊找出來,設 \(G_s'\) 為這些邊的匯出子圖,接下來我們想要證明,在 \(G'_s\) 中,\(u,v\) 不連通:考慮反證法,若 \(u,v\) 聯通,由於 \(u,v\) 分屬左右部,因此路徑 \(P\) 的長度 \(|P|\) 為奇數,此時的路徑就相當於 \(01\) 路徑,一定是從 \(\gamma\) 顏色(或者 \(\sigma\) 顏色)開始,最終也是 \(\gamma\) 顏色(或者 \(\sigma\) 顏色)結束,其說明 \(\gamma\) 色(或 \(\sigma\) 色)同時存在於 \(u,v\),與前提矛盾,故假設不成立。因此,\(u,v\) 不連通,因此我們可以將 \(G'_s\) 中與 \(v\) 相連的邊 \(\gamma\)\(\sigma\) 色交換,然後將 \(e\) 染成 \(\gamma\) 色,這也完成了 \(G\)\(\delta(G)\) 染色;

總結部分 ¶

總的來說,二分圖有幾個定理:

  • 最大流最小割定理;
  • \(\mathcal{Menger}\) 定理:任意圖中,最大邊不交路徑條數等於最小消邊數;最大點不交路徑條數等於最小消點數;
  • \(\mathcal{Hall}\) 定理:一張二分圖中,若 \(\forall S\in V_1,|S|\le |N(S)|\),則該二分圖存在完備匹配;
  • 柯尼希定理:二分圖中,最大匹配等於最小點覆蓋;
  • \(\mathcal {Vizing}\) 定理:一張二分圖一定可以 \(\delta(G)\) 染色;