设 M M M是二部图 G = ( X , Y ) G=(X,Y) G=(X,Y)的一个匹配,如果 M M M饱和 X X X中的每一个顶点,则称 M M M饱和 X X X。
Hall定理
G = ( X , Y ) G=(X,Y) G=(X,Y)。 G G G有饱和 X X X的匹配,当且仅当对 ∀ S ⊂ X \forall S\subset X ∀S⊂X,有 ∣ N ( S ) ∣ ≥ S |N(S)|\ge S ∣N(S)∣≥S。其中 N ( S ) N(S) N(S)表示 S S S的所有邻点之集。
证明
必要性:
如果 G G G有饱和 X X X的匹配 M M M,那么对于 ∀ S ⊂ X \forall S\subset X ∀S⊂X,因为 S S S的顶点在 M M M下与 N ( S ) N(S) N(S)中的某些(可能不是全部)顶点一一配对,因此就有 ∣ N ( S ) ∣ ≥ ∣ S ∣ |N(S)|\ge |S| ∣N(S)∣≥∣S∣。( N ( S ) N(S) N(S)的顶点数至少也要和 S S S中的一样多)
充分性:
设 G = ( X , Y ) G=(X,Y) G=(X,Y),且有对 ∀ S ⊂ X \forall S\subset X ∀S⊂X,有 ∣ N ( S ) ∣ ≥ ∣ S ∣ |N(S)|\ge |S| ∣N(S)∣≥∣S∣。使用反证法证明。
假设不存在饱和 X X X的匹配,那么 G G G的最大匹配 M ∗ M^* M∗都无法饱和 X X XX XX中的全部顶点。设 u u u是 X X X中的一个 M ∗ M^* M∗非饱和点,并定义:
A = { v ∣ v ∈ V ( G ) 且 u 到 v 有 M ∗ 交 错 路 } A=\{v\mid v\in V(G)且u到v有M^*交错路\} A={v∣v∈V(G)且u到v有M∗交错路}
由于 M ∗ M^* M∗是最大匹配,因此不能有增广路。由于以 u u u为起点的交错路已经有了一个非饱和顶点,因此 u u u是 A A A中唯一的 M ∗ M^* M∗非饱和点。
定义:
S
=
A
∩
X
T
=
A
∩
Y
\begin{aligned} S&=A\cap X\\ T&=A\cap Y \end{aligned}
ST=A∩X=A∩Y
由于
S
−
{
u
}
S-\{u\}
S−{u}中的每一个顶点,都会与
T
T
T中的某一个顶点一一配对(由于
T
T
T就是根据存在交错路来的,因此
T
T
T中的顶点一定有点与之相连;而且
T
T
T中的每一个顶点只会一个
S
S
S中的顶点配对,否则就有两条
M
∗
M^*
M∗中的边关联到了同一个顶点),因此可以得到:
∣
T
∣
=
∣
S
∣
−
1
(
∗
)
|T|=|S|-1~~~~~~~~~~(*)
∣T∣=∣S∣−1 (∗)
接下来要证明 N ( S ) = T N(S)=T N(S)=T:
- T ⊂ N ( S ) T\subset N(S) T⊂N(S):【已知: u u u到 t t t有交错路;要证明: t t t和 S S S中的某一个顶点相邻】 对于 T T T中的每一个顶点 t t t,从 u u u到 t t t都有一条交错路,而在交错路中, t t t的前一个顶点必定属于 S S S,且与顶点 t t t相邻,因此就有 t ∈ N ( S ) t\in N(S) t∈N(S)
-
N
(
S
)
⊂
T
N(S)\subset T
N(S)⊂T:【已知:
t
t
t和
s
s
s中的某一顶点相邻;要证明:
u
u
u到
t
t
t有有交错路】 对于
N
(
S
)
N(S)
N(S)中的每一个顶点
t
t
t,不妨设其是
S
S
S中顶点
s
s
s的邻点。
- 如果 u u u到 s s s的交错路经过了 t t t,那么该交错路的 ( u , t ) (u,t) (u,t)一定也是交错路(交错路的一部分一定也是交错路),因此 t ∈ T t\in T t∈T
- 如果 u u u到 s s s的交错路没有经过 t t t,那么 u u u到 s s s的最后一条边一定属于 M ∗ M^* M∗。由于 t ∈ N ( S ) t\in N(S) t∈N(S),因此 s s s一定可达 t t t,所以这一条 ( u , s ) (u,s) (u,s)的交错路一定可以继续延伸变成 ( u , t ) (u,t) (u,t)。
所以就有:
N
(
S
)
=
T
(
∗
∗
)
N(S)=T~~~~~~~~~~(**)
N(S)=T (∗∗)
最后有:
∣
N
(
S
)
∣
=
∣
T
∣
=
∣
S
−
1
∣
<
∣
S
∣
|N(S)|=|T|=|S-1|<|S|
∣N(S)∣=∣T∣=∣S−1∣<∣S∣
与 ∣ N ( S ) ∣ ≥ ∣ S ∣ |N(S)|\ge |S| ∣N(S)∣≥∣S∣矛盾。
推论
G = ( X , Y ) G=(X,Y) G=(X,Y),如果 X X X每一个顶点至少关联 k k k条边, Y Y Y中的每一个顶点至多关联 k k k条边,则 G G G中存在饱和 X X X的匹配。
∀ S ⊂ X \forall S\subset X ∀S⊂X, S S S至少关联 k ∣ S ∣ k|S| k∣S∣条边(直接乘),而这 k ∣ S ∣ k|S| k∣S∣条边又至少关联 Y Y Y中的 ∣ S ∣ |S| ∣S∣个顶点(直接除),因此根据Hall定理即可证明。
G = ( X , Y ) G=(X,Y) G=(X,Y)具有完美匹配的充分必要条件是: ∣ X ∣ = ∣ Y ∣ |X|=|Y| ∣X∣=∣Y∣且对 ∀ S ⊂ X \forall S\subset X ∀S⊂X(或者 Y Y Y),均有 ∣ N ( S ) ∣ ≥ ∣ S ∣ |N(S)|\ge |S| ∣N(S)∣≥∣S∣
挺显然的。
设 G G G是 k k k-正则二部图,则 G G G有 k k k个边不重的完美匹配
-
证明 G G G有完美匹配
由于 G G G是 k k k-正则二部图,因此有 k ∣ X ∣ = E ( G ) = k ∣ Y ∣ k|X|=E(G)=k|Y| k∣X∣=E(G)=k∣Y∣,即 ∣ X ∣ = ∣ Y ∣ |X|=|Y| ∣X∣=∣Y∣。
任取 S ⊂ X S\subset X S⊂X,令 E 1 E_1 E1为 G G G中与 S S S关联的边, E 2 E_2 E2为 G G G中与 N ( S ) N(S) N(S)关联的边。根据定义很容易看出, E 1 ⊂ E 2 E_1\subset E_2 E1⊂E2( N ( S ) N(S) N(S)中的顶点一定会与 S S S中的顶点有关联边,而 N ( S ) N(S) N(S)同时还有可能与其他的非 S S S顶点有关联边)。
根据正则性, k ∣ N ( S ) ∣ = ∣ E 2 ∣ ≥ ∣ E 1 ∣ = k ∣ S ∣ k|N(S)|=|E_2|\ge |E_1|=k|S| k∣N(S)∣=∣E2∣≥∣E1∣=k∣S∣,因此就有 ∣ N ( S ) ∣ ≥ ∣ S ∣ |N(S)|\ge |S| ∣N(S)∣≥∣S∣,根据之前的推论,存在完美匹配 -
证明有 k k k个边不重的完美匹配(归纳)
k = 1 k=1 k=1显然
假设对于所有 k k k正则二部图都成立,则对于 ( k + 1 ) (k+1) (k+1)正则二部图,根据第一部的证明,一定可以找出一个完美匹配 M M M,那么 G ′ = G − M G'=G-M G′=G−M依然是一个正则二部图(减去 M M M对于每一个顶点的度都同时减少 1 1 1),而且是 k k k正则。根据归纳假设证毕。
完全二部图 K n , n K_{n,n} Kn,n有 n n n个边不重的完美匹配
显然。
G = ( X , Y ) G=(X,Y) G=(X,Y),而且 ∣ X ∣ = ∣ Y ∣ = n |X|=|Y|=n ∣X∣=∣Y∣=n,如果有最小度 δ ( G ) ≥ n 2 \delta(G)\ge \frac n2 δ(G)≥2n,那么 G G G有完美匹配。
反证法。如果 G G G没有完美匹配,那么一定存在一个 S ⊂ X S\subset X S⊂X,使得 ∣ N ( S ) ∣ < ∣ S ∣ |N(S)|<|S| ∣N(S)∣<∣S∣。
考虑 ∣ N ( S ) ∣ ≥ δ ( G ) |N(S)|\ge \delta(G) ∣N(S)∣≥δ(G),其实是很显然的。只有当 S S S只有一个顶点而且该顶点在 G G G中度最小的时候,才会有 ∣ N ( S ) ∣ = δ ( G ) |N(S)|=\delta(G) ∣N(S)∣=δ(G),其他情况显然是要大于的。因此就有 ∣ S ∣ > ∣ N ( S ) ∣ ≥ δ ( G ) ≥ n 2 |S|>|N(S)|\ge \delta(G)\ge \frac n2 ∣S∣>∣N(S)∣≥δ(G)≥2n
考虑 Y Y Y的那一边。由于 ∣ Y ∣ = ∣ X ∣ ≥ ∣ S ∣ > ∣ N ( S ) ∣ |Y|=|X|\ge |S|>|N(S)| ∣Y∣=∣X∣≥∣S∣>∣N(S)∣,因此 Y − N ( S ) ≠ ∅ Y-N(S)\neq \varnothing Y−N(S)=∅。令 u ∈ Y − N ( S ) u\in Y-N(S) u∈Y−N(S),一定有 N ( u ) ⊂ X − S N(u)\subset X-S N(u)⊂X−S(如果有每一个点 v ∈ N ( u ) v\in N(u) v∈N(u)同时 ∈ S \in S ∈S,那么 u u u就是在 N ( S ) N(S) N(S)里的了)。因此可以得到:
δ ( G ) ≤ d G ( u ) = ∣ N ( u ) ∣ ≤ ∣ X ∣ − ∣ S ∣ < n − n 2 = n 2 \delta(G)\le d_G(u)=|N(u)|\le |X|-|S|<n-\frac n2=\frac n2 δ(G)≤dG(u)=∣N(u)∣≤∣X∣−∣S∣<n−2n=2n
和条件 δ ( G ) ≥ n 2 \delta(G)\ge \frac n2 δ(G)≥2n矛盾。