Chapter V-1: 图论补充
本文内容为 Chapter V: 图论的内容补充. 在本章中, 我们还将先后介绍交错图, 进一步介绍Ramsey定理, 引入多个新概念, Mantel 定理, Turan 定理, 图的染色, Hall 定理和 SDR 定理.
引理 5-1.1
设 P 1 , P 2 P_1, P_2 P1,P2 为连通同一对顶点的两条不同的路, 则 P 1 ∪ P 2 P_1 \cup P_2 P1∪P2 中含一个圈.
进一步, 若 P 1 , P 2 P_1, P_2 P1,P2 含有长度不同的分割, 则 P 1 ∪ P 2 P_1\cup P_2 P1∪P2 含奇圈.
[证明]
对 P 1 , P 2 P_1, P_2 P1,P2 的共同顶点数 t t t 应用数学归纳法. 显见, t = 2 t = 2 t=2 时结论成立.
设 P 1 = x 1 x 2 ⋯ x l P_1= x_1x_2\cdots x_l P1=x1x2⋯xl, P 2 = y 1 y 2 ⋯ y m P_2 = y_1y_2\cdots y_m P2=y1y2⋯ym, 且 x 1 = y 1 , x l = y m x_1 = y_1, x_l = y_m x1=y1,xl=ym.
设 h > 1 h >1 h>1, h h h 为使得 x h x_h xh 在 P 2 P_2 P2 上的最小指标, 并设 x h = y p x_h = y_p xh=yp.
P
1
[
x
1
,
x
h
]
P_1[x_1,x_h]
P1[x1,xh] 和
P
2
[
y
1
,
y
p
]
P_2[y_1,y_p]
P2[y1,yp] 是两条路. 连接
x
1
,
x
h
x_1,x_h
x1,xh, 并且由
V
(
P
1
[
x
1
,
x
h
]
)
∩
V
(
P
2
[
y
1
,
y
p
]
)
=
{
x
1
,
x
h
}
V(P_1[x_1,x_h]) \cap V(P_2[y_1,y_p]) = \{x_1,x_h\}
V(P1[x1,xh])∩V(P2[y1,yp])={x1,xh}
若
P
1
[
x
1
,
x
h
]
P_1[x_1,x_h]
P1[x1,xh] 和
P
2
[
y
1
,
y
p
]
P_2[y_1,y_p]
P2[y1,yp]是两条 不同的 路, 则这两条路一起构成一个环.
若不然, 假设这两条路实际上是同一条. 则有 P 1 [ x h , x l ] , P 2 [ y p , y m ] P_1[x_h,x_l], P_2[y_p,y_m] P1[xh,xl],P2[yp,ym] 为连通同一对顶点的两条不同的路, 只不过长度稍短.
综上可知, 根据数学归纳法, 原结论对于任意正整数 t t t 均成立.
下面证明引理的第二部分:
假设 P 1 , P 2 P_1, P_2 P1,P2 有不同长度的分割. 若 P 1 [ x 1 , x h ] , P 2 [ y 1 , y p ] P_1[x_1,x_h], P_2[y_1,y_p] P1[x1,xh],P2[y1,yp] 有长度不同的分割, 则所构造的圈 P 1 [ x 1 , x h ] ∪ P 2 [ y 1 , y p ] P_1[x_1,x_h] \cup P_2[y_1,y_p] P1[x1,xh]∪P2[y1,yp] 长度为奇数. 否则, P 1 [ x h , x l ] , P 2 [ y p , y m ] P_1[x_h,x_l], P_2[y_p,y_m] P1[xh,xl],P2[yp,ym] 有长度不同的分割. 由归纳得: 它们的并有一个长度为奇数的圈. ■ \blacksquare ■
定理 5-1.1
图 G G G 是二部图 ⇔ \Leftrightarrow ⇔ G G G 中不存在奇圈.
[证明]
" ⇒ " "\Rightarrow" "⇒"
二部图的子图均为二部图. 由于奇圈必不为二部图, 故若 G G G 为二部图, G G G 中必不存在奇圈.
" ⇐ " "\Leftarrow" "⇐"
设 G G G 中不存在奇圈. 不失一般性, 设 G G G 是连通的. 则 G G G 必有一个生成树 T T T. 设 x x x 为 G G G 中任意的一个顶点, 我们将 V ( G ) V(G) V(G) 分为 X X X 和 Y Y Y, 使得当且仅当位于生成树 T T T 中的, X X X 中每一个顶点到 x x x 的路长度均为偶数.
并且, 宣称 G G G 中不存在和 X X X 或 Y Y Y 中两个顶点相邻的边.
由对称性: 只需要确保 X X X 中每一对顶点都不是邻接的即可.
如果并非如此, 设 x 1 , x 2 x_1, x_2 x1,x2 为 X X X 中邻接的一对顶点. 设 P i P_i Pi, 1 ⩽ i ⩽ 2 1\leqslant i \leqslant 2 1⩽i⩽2, 为生成树 T T T 中从 x x x 到 x i x_i xi 的路. 则 P 1 , P 2 P_1, P_2 P1,P2 长度均为偶数. 不失一般性, 假设 x 1 x_1 x1 不在 P 2 P_2 P2 上.
于是 P 1 P_1 P1 和 P 2 + x 1 x 2 P_2 + x_1x_2 P2+x1x2 为两条都连接了 x , x 1 x, x_1 x,x1 的长度不同的路.
由引理: P ∪ ( P 2 + x 1 x 2 ) P \cup (P_2 + x_1x_2) P∪(P2+x1x2) 中存在一个奇圈, 它也是 G G G 中的一个奇圈, 矛盾. ■ \blacksquare ■
推论: 二部图的判定算法是可以在多项式时间内得出结果的.
设 G G G 为一个图, H H H 为 G G G 的一个子图.
定义5-1.1 (团)
若 H H H 为完全图, 称 V ( H ) V(H) V(H) 为 G G G 的一个 团.
定义5-1.2 (稳定集)
若 H H H 中不含边, 则 V ( H ) V(H) V(H) 为 G G G 的一个 稳定集.
引入以上定义后, 定理 5-1.1 可如下叙述:
若 G G G 的顶点集可被划分为两个稳定集, 则 G G G 是一个二部图.
我们可以在多项式时间内判断, 给定的图 G G G 的顶点集 V ( G ) V(G) V(G) 能否被划分为两个稳定集. 但是, 对于 k ⩾ 3 k \geqslant 3 k⩾3 的情形, 判断 V ( G ) V(G) V(G) 能否被划分为 k k k 个稳定集就是一个NPC问题.
定义5-1.3 (k部图)
若图 G G G 的顶点集可被划分为 k k k 个稳定集, 则称其为 k部图.
1. Ramsey 定理
Ramsey 定理的不同叙述方式:
[1]
设 k , l k,l k,l 为两个正整数. 则必存在一个最小正整数 R ( k , l ) R(k,l) R(k,l), 使得在每一个 R ( k , l ) R(k,l) R(k,l) 人组成的群体中, 要么可以找到 k k k 个相互认识的人, 要么可以找到 l l l 个相互不认识的人.
[2] (有问题)
设 k , l k,l k,l 为两个正整数. 则必存在一个最小正整数 R ( k , l ) R(k,l) R(k,l), 使得对于每一个大小为 R ( k , l ) R(k,l) R(k,l) 的集合 X X X, 以及由 X X X 的一组二元子集所组成的集合 H \mathscr{H} H, 要么存在一个大小为 k k k 的子集 S ⊂ X S \subset X S⊂X, S S S 的所有二元子集均在 H \mathscr{H} H 中, 或者存在一个大小为 l l l 的子集 T T T, 其所有的二元子集均不在 H \mathscr{H} H 中.
[3]
设 k , l k,l k,l 为两个正整数. 则必存在一个最小正整数 R ( k , l ) R(k,l) R(k,l), 使得对于每一个在 R ( k , l ) R(k,l) R(k,l) 个顶点上的图 G G G, 要么 G G G 包含大小为 k k k 的团, 要么 G G G 的补图 G C G^C GC 包含大小为 l l l 的团.
定义5-1.4 (补图)
设图 G G G. 对其补图 (
Complement
) G C G^C GC 作如下定义:
- V ( G C ) = V ( G ) V(G^C) = V(G) V(GC)=V(G).
- E ( G C ) = { u v : u , v ∈ V ( G C ) , u v ∉ E ( G ) } E(G^C) = \{uv: u,v \in V(G^C), uv \notin E(G)\} E(GC)={uv:u,v∈V(GC),uv∈/E(G)}.
[4]
设 k , l k,l k,l 为两个正整数. 则必存在一个最小正整数 R ( k , l ) R(k,l) R(k,l), 使得: 任意使用两种颜色 A , B A,B A,B 对图 K R ( k , l ) K_{R(k,l)} KR(k,l) 的边上色, 要么可以找到一个大小为 k k k 的团, 其所有的边都染上了颜色 A A A, 要么可以找到一个大小为 l l l 的团, 其所有的边都染上了颜色 B B B.
[一般形式的Ramsey定理]
设 H 1 , H 2 , ⋯ , H l H_1, H_2,\cdots, H_l H1,H2,⋯,Hl 为图. 则必存在一个最小正整数 R ( H 1 , H 2 , ⋯ , H l ) R(H_1,H_2,\cdots,H_l) R(H1,H2,⋯,Hl), 使得: 使用颜色 c 1 , c 2 , ⋯ , c l c_1,c_2,\cdots,c_l c1,c2,⋯,cl 对图 K R ( H 1 , H 2 , ⋯ , H l ) K_{R(H_1,H_2, \cdots ,H_l)} KR(H1,H2,⋯,Hl) 的边任意染色, 总能找到一个 i i i, H i H_i Hi 是一个单色图.
2. Mantel 定理
定理5-1.2 (Mantel定理)
每个包含 n n n 个顶点和不少于 ⌊ n 2 4 ⌋ \lfloor\frac{n^2}{4}\rfloor ⌊4n2⌋ 条边的图都包含子图 K 3 K_3 K3.
[证明]
设
G
G
G 为不含
k
3
k_3
k3 的, 包含
n
n
n 个顶点的图. 要证明定理, 只需说明,
E
(
G
)
⩽
⌊
n
2
4
⌋
E(G) \leqslant \lfloor\frac{n^2}{4}\rfloor
E(G)⩽⌊4n2⌋.
设
x
y
xy
xy 为
G
G
G 的一条边. 因为
G
G
G 不含
K
3
K_3
K3,
故
N
(
x
)
∩
N
(
y
)
=
∅
.
(
邻
接
点
集
交
集
为
空
集
)
N(x)\cap N(y) = \empty. (邻接点集交集为空集)
N(x)∩N(y)=∅.(邻接点集交集为空集)
因此:
d
(
x
)
+
d
(
y
)
⩽
n
.
d(x) + d(y)\leqslant n.
d(x)+d(y)⩽n.
对于所有的边, 均存在这样的不等式. 累加可得:
∑
x
y
∈
E
(
G
)
(
d
(
x
)
+
d
(
y
)
)
⩽
∑
x
y
∈
E
(
G
)
n
=
n
⋅
∣
E
(
G
)
∣
.
\sum_{xy \in E(G)}(d(x) + d(y)) \leqslant \sum_{xy \in E(G)}n = n\cdot |E(G)|.
xy∈E(G)∑(d(x)+d(y))⩽xy∈E(G)∑n=n⋅∣E(G)∣.
在不等式左侧: 每一个
d
(
x
)
d(x)
d(x) 恰好出现了
d
(
x
)
d(x)
d(x) 次, 这与和
x
x
x 邻接的边数相对应.
并且知:
∑
x
y
∈
G
(
d
(
x
)
+
d
(
y
)
)
=
∑
x
∈
V
(
G
)
d
2
(
x
)
\sum_{xy \in G}(d(x) + d(y)) = \sum_{x \in V(G)}d^2(x)
xy∈G∑(d(x)+d(y))=x∈V(G)∑d2(x)
由
C
a
u
c
h
y
−
S
c
h
w
a
r
z
Cauchy-Schwarz
Cauchy−Schwarz 不等式:
(
∑
i
=
1
n
x
i
y
i
)
2
⩽
∑
i
=
1
n
x
i
2
⋅
∑
i
=
1
n
y
i
2
(\sum_{i = 1}^nx_iy_i)^2 \leqslant \sum_{i=1}^{n}x_i^2\cdot \sum_{i=1}^{n}y_i^2
(i=1∑nxiyi)2⩽i=1∑nxi2⋅i=1∑nyi2
故
n
⋅
∣
E
(
G
)
∣
⩾
∑
x
∈
V
(
G
)
d
2
(
x
)
⩾
1
n
(
∑
x
∈
V
(
G
)
d
(
x
)
)
2
=
4
∣
E
(
G
)
∣
2
n
.
n\cdot |E(G)|\geqslant\sum_{x\in V(G)}d^2(x)\geqslant \frac{1}{n}(\sum_{x \in V(G)}d(x))^2 = \frac{4|E(G)|^2}{n}.
n⋅∣E(G)∣⩾x∈V(G)∑d2(x)⩾n1(x∈V(G)∑d(x))2=n4∣E(G)∣2.
故有
∣
E
(
G
)
∣
⩽
⌊
n
2
4
⌋
.
|E(G)| \leqslant \lfloor \frac{n^2}{4}\rfloor.
∣E(G)∣⩽⌊4n2⌋.
■
\blacksquare
■
由 C a u c h y − S c h w a r z Cauchy-Schwarz Cauchy−Schwarz 不等式取等条件可知: 唯一的, 不含 K 3 K_3 K3 的, 有 n n n 个顶点和 ⌊ n 2 4 ⌋ \lfloor\frac{n^2}{4}\rfloor ⌊4n2⌋ 边的图为 K ⌈ n 2 ⌉ , ⌊ n 2 ⌋ . K_{\lceil \frac{n}{2}\rceil, \lfloor \frac{n}{2} \rfloor}. K⌈2n⌉,⌊2n⌋.
定义5-1.5 (完全二部图)
K i , j K_{i,j} Ki,j 表示分割集拥有 i i i 个顶点, j j j 条边的完全二部图 (
complete bipartite
).一个完全 k k k 部图, 是指 V ( G ) V(G) V(G) 可被划分为 k k k 个稳定集, 称为 v 1 , v 2 , ⋯ v_1,v_2,\cdots v1,v2,⋯ 和 v k v_k vk,
使得
x i x j ∈ E ( G ) , x i ∈ V i , x j ∈ V j , 1 ⩽ i < j ⩽ k . x_ix_j \in E(G), x_i \in V_i, x_j \in V_j, 1\leqslant i<j\leqslant k. xixj∈E(G),xi∈Vi,xj∈Vj,1⩽i<j⩽k.我们用 K n 1 , n 2 , ⋯ , n k K_{n_1,n_2,\cdots,n_k} Kn1,n2,⋯,nk 表示分割集为 V 1 , V 2 , ⋯ , V k V_1,V_2,\cdots,V_k V1,V2,⋯,Vk 的 k k k 部图, 其中 ∣ V i ∣ = n i . |V_i| = n_i. ∣Vi∣=ni.
记 K n K_n Kn 为 完全n部图 (
complete n-partite graph
).
定义5-1.6 (平衡完全k部图)
记 G = K n 1 n 2 ⋯ n k G = K_{n_1n_2\cdots n_k} G=Kn1n2⋯nk 为一个完全 k k k 部图. 若
∣ n i − n j ∣ ⩽ 1 , 每 一 对 i , j |n_i - n_j| \leqslant 1, 每一对i,j ∣ni−nj∣⩽1,每一对i,j
称其为一个 平衡完全k部图 (balanced k-partite graph
).
3. Turan 定理
定理5-1.3 (Turan 定理)
设正整数 r ⩽ n r \leqslant n r⩽n, G G G 为 n n n 个顶点的图. 记 T ( r − 1 , n ) T(r-1,n) T(r−1,n) 为一个平衡完全(r-1)部图.
若 ∣ E ( G ) ∣ > ∣ E ( T ( r − 1 , n ) ) ∣ |E(G)|>|E(T_{(r-1,n)})| ∣E(G)∣>∣E(T(r−1,n))∣, 则 G G G 有一个子图 K r K_r Kr.
[例]
-
设 G G G 为一个 n n n 个顶点的 l l l 部图, 求证: ∣ E ( G ) ∣ ⩽ ∣ E ( T ( l , n ) ) ∣ |E(G)| \leqslant |E(T_{(l,n)})| ∣E(G)∣⩽∣E(T(l,n))∣.
-
设 G G G 为一个 n n n 个顶点, 不含 C 4 C_4 C4 为子图的图. 求证:
i. ∑ x ∈ V ( G ) ( d ( x ) 2 ) ⩽ ( n 2 ) \sum_{x \in V(G)}\binom{d(x)}{2}\leqslant \binom{n}{2} ∑x∈V(G)(2d(x))⩽(2n).
ii. ∣ E ( G ) ∣ ⩽ n 4 ( 1 + 4 n − 3 ) |E(G)| \leqslant \frac{n}{4}(1 + \sqrt{4n-3}) ∣E(G)∣⩽4n(1+4n−3).
[证明]
-
设 G ′ G' G′ 为 n n n 个顶点的完全 l l l 部图. 由定义知: ∣ E ( G ) ∣ ⩽ ∣ E ( G ′ ) ∣ |E(G)| \leqslant |E(G')| ∣E(G)∣⩽∣E(G′)∣.
不妨设 G ′ = K n 1 n 2 ⋯ n l G' = K_{n_1n_2\cdots n_l} G′=Kn1n2⋯nl, T ( l , n ) = K m 1 m 2 ⋯ m l T_{(l,n)}{} = K_{m_1m_2\cdots m_l} T(l,n)=Km1m2⋯ml 由完全 l l l 部图定义:
∣ E ( G ′ ) ∣ = ∑ j = 1 l − 1 ∏ i = j l n i . |E(G')| = \sum_{j=1}^{l-1}\prod_{i=j}^{l}n_i. ∣E(G′)∣=j=1∑l−1i=j∏lni.
因
n 1 + n 2 + ⋯ + n l = m 1 + m 2 + ⋯ + m l = n n_1 + n_2 + \cdots + n_l = m_1 + m_2 + \cdots + m_l = n n1+n2+⋯+nl=m1+m2+⋯+ml=n
∑ j = 1 l − 1 ∏ i = j l n i . ⩽ q 2 ( 1 − q l − 1 ) 1 − q , q = n l \sum_{j=1}^{l-1}\prod_{i=j}^{l}n_i. \leqslant \frac{q^2(1-q^{l-1})}{1-q}, q = \frac{n}{l} j=1∑l−1i=j∏lni.⩽1−qq2(1−ql−1),q=ln
m 1 , m 2 , ⋯ , m l m_1,m_2,\cdots ,m_l m1,m2,⋯,ml 之间相差越小, 原式结果越大.故由平衡完全r部图定义: ∣ E ( G ) ∣ ⩽ ∣ E ( T ( l , n ) ) ∣ |E(G)| \leqslant |E(T_{(l,n)})| ∣E(G)∣⩽∣E(T(l,n))∣.
-
i.( d ( x ) 2 ) \binom{d(x)}{2} (2d(x)) 表示对任意顶点 x x x, 经过 x x x 所构成的, 连接 x x x 的任两个与 x x x 邻接的顶点的, 长为 2 2 2 的路的条数, ∑ x ∈ V ( G ) ( d ( x ) 2 ) \sum_{x \in V(G)}\binom{d(x)}{2} ∑x∈V(G)(2d(x)) 对 G G G 中所有的这样的长为 2 2 2 的路进行了计数.
而长为 4 4 4 的圈 C 4 C_4 C4 由两条长为 2 2 2 的路组成. 因此, 对于 G G G 中的任两个点, 最多有且仅有一条长为 2 2 2 的路, 否则会出现 C 4 C_4 C4, 与原假设矛盾.
在最极端的情况下, G G G 中任意两个顶点之间恰好存在一条长为 2 2 2 的路. 此时其长度为 ( n 2 ) \binom n2 (2n), 这是满足条件的 G G G 中长为 2 2 2 的路的最大条数.
故有不等式:
∑ x ∈ V ( G ) ( d ( x ) 2 ) ⩽ ( n 2 ) \sum_{x \in V(G)}\binom{d(x)}{2}\leqslant \binom{n}{2} x∈V(G)∑(2d(x))⩽(2n)
成立. ■ \blacksquare ■
ii.
由 i :
∑ x ∈ V ( G ) ( d ( x ) 2 ) ⩽ ( n 2 ) . \sum_{x \in V(G)}\binom{d(x)}{2}\leqslant \binom{n}{2}. x∈V(G)∑(2d(x))⩽(2n).
即:
∑ x ∈ V ( G ) d ( x ) ⋅ ( d ( x ) − 1 ) = ∑ x ∈ V ( G ) d 2 ( x ) − ∑ x ∈ V ( G ) d ( x ) ⩽ n ( n − 1 ) \sum_{x\in V(G)}d(x) \cdot (d(x)-1) = \sum_{x\in V(G)}d^2(x) - \sum_{x \in V(G)}d(x) \leqslant n(n-1) x∈V(G)∑d(x)⋅(d(x)−1)=x∈V(G)∑d2(x)−x∈V(G)∑d(x)⩽n(n−1)
由 Cauchy-Schwarz 不等式:
∑ x ∈ V ( G ) d 2 ( x ) ⩾ 1 n ∑ x ∈ V ( G ) 2 d ( x ) \sum_{x\in V(G)}d^2(x)\geqslant \frac{1}{n}{\sum_{x\in V(G)}}^2d(x) x∈V(G)∑d2(x)⩾n1x∈V(G)∑2d(x)
由握手引理:
∑ x ∈ V ( G ) d ( x ) = 2 ∣ E ( G ) ∣ \sum_{x\in V(G)}d(x) = 2|E(G)| x∈V(G)∑d(x)=2∣E(G)∣
故
1 n 4 ∣ E ( G ) ∣ 2 − 2 ∣ E ( G ) ∣ ⩽ n 2 − n \frac{1}{n}4|E(G)|^2 - 2|E(G)|\leqslant n^2-n n14∣E(G)∣2−2∣E(G)∣⩽n2−n
( ∣ E ( G ) ∣ − 1 4 n ) 2 ⩽ n 2 ⋅ 4 n − 3 16 (|E(G)|-\frac{1}{4}n)^2 \leqslant n^2\cdot \frac{4n-3}{16} (∣E(G)∣−41n)2⩽n2⋅164n−3
∣ E ( G ) ∣ ⩽ 1 4 n + n ⋅ 4 n − 3 4 |E(G)| \leqslant \frac{1}{4}n + \frac{n\cdot \sqrt{4n-3}}{4} ∣E(G)∣⩽41n+4n⋅4n−3
即
∣ E ( G ) ∣ ⩽ n 4 ( 1 + 4 n − 3 ) . |E(G)| \leqslant \frac{n}{4}(1 + \sqrt{4n-3}). ∣E(G)∣⩽4n(1+4n−3).
■ \blacksquare ■
4. 图的染色
设 G G G 为一个图, k k k 为正整数.
定义5-1.6 (k-染色)
一个正规的,图 G G G 的 k − 染 色 k-染色 k−染色 可表为映射形式:
ϕ : V ( G ) → [ K ] , s t . ϕ ( u ) ≠ ϕ ( v ) , i f u v ∉ E ( G ) . \phi: V(G) \rightarrow [K], st. \phi(u) \neq \phi(v), ~~~if~~ uv \notin E(G). ϕ:V(G)→[K],st.ϕ(u)=ϕ(v), if uv∈/E(G).若图 G G G 可应用 k k k 染色, 称其为 k-可染 (
k-colorable
) 的.
回忆稳定集的概念: 我们称 S ⊂ V ( G ) S\subset V(G) S⊂V(G) 为 G G G 的稳定集, 若 G [ S ] G[S] G[S] 中不存在边. 也就是说, 任意两个 S S S 中的顶点都不是邻接的.
实际上, 一个 图 G G G 的k-染色将 V ( G ) V(G) V(G) 划分为 k k k 个稳定集.
设 ϕ \phi ϕ 为 G G G 的一个k-染色. 对每一个 i ∈ [ k ] i \in [k] i∈[k], 通常用 ϕ − 1 ( i ) \phi^{-1}(i) ϕ−1(i) 作为在染色 ϕ \phi ϕ 下被染成颜色 i i i 的顶点集的记号. 显然, ϕ − 1 ( i ) \phi^{-1}(i) ϕ−1(i) 是一个稳定集.
显然, 若对于 G G G, 存在一个k染色, 则对任何 l ⩾ k l \geqslant k l⩾k, G G G也可以应用l染色;若对于 G G G, 存在一个k染色, 则对任何 h ⩽ k h \leqslant k h⩽k, G G G不可以应用h染色.
定义5-1.7 (色数)
称满足 G G G 可应用k染色 的最小整数 k k k 为 G G G 的色数(
Chromatic Number
), 记为 χ ( G ) \chi(G) χ(G).
总的而言, 确定
G
G
G 的色数是非常困难的. 对
k
⩾
3
k \geqslant 3
k⩾3, 确定
χ
(
G
)
=
k
\chi(G) = k
χ(G)=k 是否为真是一个NP-完全问题.
命题5-1.1
设 G G G 为图, C 1 , C 2 , ⋯ , C n C_1, C_2, \cdots, C_n C1,C2,⋯,Cn 为 G G G 的分支. 则有:
χ ( G ) = m a x { χ ( C 1 ) , χ ( C 2 ) , ⋯ χ ( C r ) } . \chi(G) = max\{\chi(C_1), \chi(C_2), \cdots \chi(C_r)\}. χ(G)=max{χ(C1),χ(C2),⋯χ(Cr)}.
命题5-1.2
设 H H H 为图 G G G 的子图. 则 χ ( H ) ⩽ χ ( G ) . \chi(H)\leqslant \chi(G). χ(H)⩽χ(G).
要求出图 G G G 的色数 χ ( G ) \chi(G) χ(G), 我们只需要求出它的下界和上界, 并证明它们相等即可.
定义5-1.8 (团数)
团数(
The Clique Number
) ω ( G ) \omega(G) ω(G) 等于 G G G 的最大的团的大小.
定义5-1.9 (独立数)
独立数 (
The Stable Number
) α ( G ) \alpha(G) α(G) 等于 G G G 的最大稳定集的大小.
定理5-1.4
χ ( G ) ⩾ m a x { ω ( G ) , ∣ V ( G ) ∣ α ( G ) } \chi(G) \geqslant max\{\omega(G), \frac{|V(G)|}{\alpha(G)}\} χ(G)⩾max{ω(G),α(G)∣V(G)∣}.
[证明]
设
H
H
H 为一个有
ω
(
G
)
\omega(G)
ω(G) 个顶点的,
G
G
G 的完全子图. 对任意一种染色,
H
H
H 的每一个顶点都必然被染上不同的颜色. 故
χ
(
G
)
⩾
χ
(
H
)
=
ω
(
G
)
\chi(G) \geqslant \chi(H) = \omega(G)
χ(G)⩾χ(H)=ω(G).
设
ϕ
\phi
ϕ 为
G
G
G 的
χ
(
G
)
\chi(G)
χ(G)-染色. 则对于每一个
i
i
i,
ϕ
−
1
(
i
)
\phi^{-1}(i)
ϕ−1(i) 为一个稳定集. 因此
ϕ
−
1
(
G
)
⩽
α
(
G
)
\phi^{-1}(G) \leqslant \alpha(G)
ϕ−1(G)⩽α(G). 因此,
χ
(
G
)
⩾
∣
V
(
G
)
∣
α
(
G
)
\chi(G) \geqslant \frac{|V(G)|}{\alpha(G)}
χ(G)⩾α(G)∣V(G)∣.
■
\blacksquare
■
定理5-1.5
记 Δ ( G ) = m a x { d G ( v ) : v ∈ V ( G ) } \Delta(G) = max\{d_{G}(v): v \in V(G)\} Δ(G)=max{dG(v):v∈V(G)}.
对于图 G G G: χ ( G ) ⩽ Δ ( G ) + 1 \chi(G) \leqslant \Delta(G) + 1 χ(G)⩽Δ(G)+1.
[证明]
(贪心算法)
设 ∣ V ( G ) ∣ = n |V(G)| = n ∣V(G)∣=n, 随后, 我们将 G G G 的顶点随机排序并且标号, 记为 v 1 v 2 ⋯ v n v_1v_2\cdots v_n v1v2⋯vn.
首先, 用颜色 c 1 c_1 c1 染色 v 1 v_1 v1.
对任何 i ⩾ 2 i \geqslant 2 i⩾2, 假设在它之前的所有点都已经染色.
因为
d
G
(
v
i
)
⩽
Δ
(
G
)
d_G(v_i) \leqslant \Delta(G)
dG(vi)⩽Δ(G),
v
i
v_i
vi 在
{
v
1
v
2
⋯
v
i
−
1
}
\{v_1v_2\cdots v_i-1\}
{v1v2⋯vi−1} 中最多有
Δ
(
G
)
\Delta(G)
Δ(G) 个邻居, 我们总能找到一个位于
{
v
1
v
2
⋯
v
i
−
1
}
\{v_1v_2\cdots v_i-1\}
{v1v2⋯vi−1} 中的,
v
i
v_i
vi 的邻居所没有使用的颜色
h
h
h.
用颜色
h
h
h 对
v
i
v_i
vi 染色. 重复以上步骤, 直到所有的点都被染色. 故知:
χ
(
G
)
⩽
Δ
(
G
)
+
1
\chi(G) \leqslant \Delta(G) + 1
χ(G)⩽Δ(G)+1.
■ \blacksquare ■
[例]
- 设 G G G 为有 n n n 个顶点的图, G C G^C GC 为 G G G 的补图. 求证: χ ( G ) ⋅ χ ( G C ) ⩾ n \chi(G)\cdot \chi(G^C) \geqslant n χ(G)⋅χ(GC)⩾n.
[证明]
对图 G G G 的阶数应用数学归纳法:
记 i i i 阶图的色数为 m i m_i mi, 它关于 n n n 阶完全图 G G G 的补图的色数为 n i n_i ni.
i = 2 i = 2 i=2 时, 显见 m i ⋅ n i ⩾ 2 m_i \cdot n_i \geqslant 2 mi⋅ni⩾2.
设 i = k − 1 i = k-1 i=k−1 时, 结论仍然成立.
i
=
k
i = k
i=k 时,
k
−
1
k-1
k−1阶图
G
k
G_k
Gk 必含有一个
k
−
1
k-1
k−1 阶图
G
k
−
1
G_{k-1}
Gk−1 为子图. 故有:
V
(
G
k
)
=
V
(
G
k
−
1
)
∪
{
x
k
}
,
E
(
G
k
−
1
)
⊆
E
(
G
k
)
.
V(G_k) = V(G_{k-1})\cup \{x_k\}, ~~~ E(G_{k-1}) \subseteq E(G_k).
V(Gk)=V(Gk−1)∪{xk}, E(Gk−1)⊆E(Gk).
且
m
k
⩾
m
k
−
1
,
n
k
⩾
n
k
−
1
.
m_{k} \geqslant m_{k-1}, n_{k}\geqslant n_{k-1}.
mk⩾mk−1,nk⩾nk−1.
若
m
k
=
m
k
−
1
,
n
k
=
n
k
−
1
+
1
m_{k} = m_{k-1}, n_{k} = n_{k-1} + 1
mk=mk−1,nk=nk−1+1.
由于 m k − 1 , n k − 1 ⩾ 1 m_{k-1}, n_{k-1} \geqslant 1 mk−1,nk−1⩾1:
m k ⋅ n k ⩾ k − 1 + 1 = k m_{k}\cdot n_{k} \geqslant k-1 + 1 = k mk⋅nk⩾k−1+1=k.
故以上结论对任意 k k k 均成立.
- 设
G
G
G 为一个图,
G
1
,
G
2
G_1, G_2
G1,G2 为它的两个诱导子图, 使得:
V ( G 1 ) ∪ V ( G 2 ) = V ( G ) , E ( G 1 ) ∪ E ( G 2 ) = E ( G ) , ∣ V ( G 1 ) ∩ V ( G 2 ) ∣ = 1. V(G_1)\cup V(G_2) = V(G), E(G_1)\cup E(G_2) = E(G), |V(G_1) \cap V(G_2)| = 1. V(G1)∪V(G2)=V(G),E(G1)∪E(G2)=E(G),∣V(G1)∩V(G2)∣=1.
求证: χ ( G ) = m a x { χ ( G 1 ) , χ ( G 2 ) } \chi(G) = max\{\chi(G_1), \chi(G_2)\} χ(G)=max{χ(G1),χ(G2)}.
[证明]
不妨设
χ
(
G
1
)
>
χ
(
G
2
)
,
V
(
G
1
)
∩
V
(
G
2
)
=
{
x
}
\chi(G_1) > \chi(G_2), V(G_1)\cap V(G_2) = \{x\}
χ(G1)>χ(G2),V(G1)∩V(G2)={x}
对于
G
G
G:
χ
(
G
1
\
{
x
}
)
⩾
χ
(
G
1
)
−
1
;
\chi({G_1\backslash \{x\}}) \geqslant \chi(G_1)-1;
χ(G1\{x})⩾χ(G1)−1;
由于
χ
(
G
2
\
{
x
}
∪
{
x
}
)
=
χ
(
G
2
)
⩽
χ
(
G
1
)
\chi({G_2\backslash \{x\} \cup \{x\}}) = \chi(G_2) \leqslant \chi(G_1)
χ(G2\{x}∪{x})=χ(G2)⩽χ(G1)
故一定可以用
χ
(
G
1
)
\chi(G_1)
χ(G1) 种颜色将
G
1
,
G
2
G_1, G_2
G1,G2 染色. 即:
χ
(
G
)
⩽
m
a
x
{
χ
(
G
1
)
,
χ
(
G
2
)
}
.
\chi(G) \leqslant max\{\chi(G_1), \chi(G_2)\}.
χ(G)⩽max{χ(G1),χ(G2)}.
由命题 5-1.2知:
χ
(
G
)
⩾
m
a
x
{
χ
(
G
1
)
,
χ
(
G
2
)
}
.
\chi(G) \geqslant max\{\chi(G_1), \chi(G_2)\}.
χ(G)⩾max{χ(G1),χ(G2)}.
故
χ
(
G
)
=
m
a
x
{
χ
(
G
1
)
,
χ
(
G
2
)
}
.
\chi(G) = max\{\chi(G_1), \chi(G_2)\}.
χ(G)=max{χ(G1),χ(G2)}.
- 设 G G G 为一个色数为 k k k 的图, ϕ \phi ϕ 为 G G G 的一个 k k k-染色. 求证: 对任意 i = 1 , 2 , ⋯ , k i = 1,2,\cdots, k i=1,2,⋯,k, ϕ − 1 ( i ) \phi^{-1}(i) ϕ−1(i) 有一个顶点, 它在 ϕ − 1 ( j ) \phi^{-1}(j) ϕ−1(j) 中有邻居. ( i ≠ j i \neq j i=j)
[证明]
设对任意 i = 1 , 2 , ⋯ , k i = 1,2,\cdots ,k i=1,2,⋯,k, ϕ − 1 ( i ) \phi^{-1}(i) ϕ−1(i) 的任何一个顶点不全和上了其他颜色的顶点邻接. 故在 ϕ − 1 ( i ) \phi^{-1}(i) ϕ−1(i) 的所有点, 总可以在 k − 1 k-1 k−1 种其余颜色中, 总可以找到一个和 i i i 不同的颜色, 将其上色. 故 χ ( G ) = k − 1 \chi(G) = k-1 χ(G)=k−1, 和条件矛盾. 因此原结论成立. ■ \blacksquare ■
5. Hall 定理
考虑两组分别由男孩与女孩所组成的队伍, 记为 { b 1 , b 2 , ⋯ , b m } \{b_1,b_2, \cdots, b_m\} {b1,b2,⋯,bm} 和 { g 1 , g 2 , ⋯ , g n } \{g_1,g_2,\cdots, g_n\} {g1,g2,⋯,gn}. 我们在数学上假设每一个男孩认识一些女孩 (当然反过来也一样), 每一个这样的数学意义上的男孩都可能向他所认识的某一个某一个女孩求婚, 而这些数学意义中的女孩一定会接受她认识的男孩的求婚. 基于以上假设, 我们能否找到一个排列, 使得每一对走进婚姻殿堂 (迫真) 的男女都相互认识?
为了解决这一问题, 我们需要构建一个二部图 G G G, 其分割集为 { b 1 , b 2 , ⋯ , b m } \{b_1,b_2,\cdots,b_m\} {b1,b2,⋯,bm} 和 { g 1 , g 2 , ⋯ , g n } \{g_1,g_2,\cdots,g_n\} {g1,g2,⋯,gn}. 并且 b i b_i bi 和 g j g_j gj 邻接, 当且仅当 b i , g j b_i, g_j bi,gj 互相认识. 现在我们的问题可以被阐述成如下的形式:
图 G G G 是否存在一个边子集 M M M, 使得每个顶点 g j g_j gj 都恰好和 M M M 中的一条边邻接, 且每一个 b i b_i bi 最多和 M M M 中的一条边邻接?
可知: 若图
G
G
G 中确实存在满足条件的边子集
M
M
M, 则对
{
g
1
,
g
2
,
⋯
,
g
n
}
\{g_1,g_2,\cdots,g_n\}
{g1,g2,⋯,gn} 的每一个子集, 子集中的女孩所认识的男孩数量不能少于子集中女孩的数量. 即:
∣
⋃
g
∈
T
N
G
(
g
)
∣
⩾
∣
T
∣
,
T
⊆
{
g
1
,
g
2
,
⋯
,
g
n
}
|\bigcup_{g\in T}N_{G}(g)| \geqslant |T|,~~~ T\subseteq \{g_1,g_2,\cdots, g_n\}
∣g∈T⋃NG(g)∣⩾∣T∣, T⊆{g1,g2,⋯,gn}
定义5-1.10 (匹配)
设 M M M 为图 G G G 的边集 E ( G ) E(G) E(G) 的子集. 若 G G G 中的每一个顶点最多和 M M M 中的一条边邻接, 则称 M M M 为 G G G 的一个 匹配 (
Matching
).
也就是说:
M
为
一
个
匹
配
⇔
M
中
不
存
在
两
条
与
同
一
个
顶
点
邻
接
的
边
.
(
二
长
路
)
M为一个匹配 \Leftrightarrow M中不存在两条与同一个顶点邻接的边. (二长路)
M为一个匹配⇔M中不存在两条与同一个顶点邻接的边.(二长路)
定义5-1.11(交错路)
设图 G G G, M M M 为它的一个匹配. 若在 P P P 中属于 M M M 的边和 E ( G ) E(G) E(G) 中不属于 M M M 的边交替出现, 则称 P P P 为一个 M M M-交错路 (
M-alternating path
).
定义5-1.12 (M-包含)
设 M M M 为 G G G 的一个匹配. 我们称 G G G 中的顶点 v v v 为 M M M-包含 的(
M-covered
), 若 v v v 和 M M M 中的一些边邻接.
定义5-1.13 (M-可扩)
设 P P P 为 G G G 的一条 M M M-交错路. 若它的起始和终止端点均不是 M M M-包含 (不和 M M M 中的边邻接,也就是说它的起始和终止边都不属于 M M M) 的, 称 P P P 为 M M M-可扩路 (
M-augmenting path
).
[例]
设
G
G
G 为一个图,
M
M
M 为一个匹配,
P
P
P 为
G
G
G 的一个非平凡
M
M
M-可扩路. 求证:
(
M
∪
E
(
P
)
)
\
(
M
∩
E
(
P
)
)
(M\cup E(P))\backslash (M\cap E(P))
(M∪E(P))\(M∩E(P))
仍然为一个匹配, 但它比
M
M
M 多一条边.
[证明]
由于 P P P 为 G G G 的一条非平凡 M M M-可扩路, 其路长必为奇数. 不妨假设 ∣ E ( P ) ∣ = 2 k + 1 |E(P)| = 2k + 1 ∣E(P)∣=2k+1. 其中, 有 k k k 条路属于 M M M, k + 1 k+1 k+1 条路属于 E ( G ) \ M E(G)\backslash M E(G)\M.
由
M
M
M-可扩路的定义知:
∣
(
M
∪
E
(
P
)
)
\
(
M
∩
E
(
P
)
)
∣
=
∣
M
∣
+
k
+
1
−
k
=
∣
M
+
1
∣
.
|(M\cup E(P))\backslash (M\cap E(P))| = |M| + k + 1 - k = |M + 1|.
∣(M∪E(P))\(M∩E(P))∣=∣M∣+k+1−k=∣M+1∣.
下证其仍然为一个匹配:
不妨假设在
(
M
∪
E
(
P
)
)
\
(
M
∩
E
(
P
)
)
(M\cup E(P))\backslash (M\cap E(P))
(M∪E(P))\(M∩E(P)) 中存在一对相互邻接的边, 显见它们一定不全属于
M
M
M.
若其中有一条属于 M M M, 另外一条属于 E ( P ) \ ( M ∪ E ( P ) ) E(P)\backslash (M\cup E(P)) E(P)\(M∪E(P)) 或两条边均属于 E ( P ) \ ( M ∪ E ( P ) ) E(P)\backslash (M\cup E(P)) E(P)\(M∪E(P)), 由 M M M-可扩路定义知: 这样的两条边不存在.
故由定义知: 在 ( M ∪ E ( P ) ) \ ( M ∩ E ( P ) ) (M\cup E(P))\backslash (M\cap E(P)) (M∪E(P))\(M∩E(P)) 中找不到一对相互邻接的边, 它仍是一个匹配. ■ \blacksquare ■
定义5-1.14 (对称差)
设 M 1 , M 2 M_1,M_2 M1,M2 为 E ( G ) E(G) E(G) 的子集, 定义 M 1 Δ M 2 = ( M 1 ∪ M 2 ) \ ( M 1 ∩ M 2 ) M_1 \Delta M_2= (M_1\cup M_2)\backslash(M_1 \cap M_2) M1ΔM2=(M1∪M2)\(M1∩M2), 称其为 M 1 , M 2 M_1, M_2 M1,M2 的对称差
(
Symmetric Difference of M_1 and M_2
).
[*注]
设 M M M 为一个匹配, P P P 为一条有正长度的 M M M-可扩路. 则 M Δ E ( P ) M \Delta E(P) MΔE(P) 为一个比 M M M 多含一条边的匹配.
命题5-1.3
设 M M M 为图 G G G 的匹配. 若 G G G 不存在比 M M M 多一条边的匹配, 则 G G G 没有 M M M-可扩路.
定理5-1.6 (Hall定理)
设 G G G 为一个二部图, 其分割集为 X , Y X,Y X,Y. 则 G G G 有一个包含 X X X 中所有顶点的匹配, 当且仅当 ∣ ⋃ x ∈ S N G ( x ) ∣ ⩾ ∣ S ∣ |\bigcup_{x\in S}N_{G}(x)| \geqslant |S| ∣⋃x∈SNG(x)∣⩾∣S∣, 对每个 S ⊆ X S\subseteq X S⊆X.
[证明]
“ ⇒ \Rightarrow ⇒”
设
G
G
G 有一个包含
X
X
X 中所有顶点的匹配
M
M
M, 记为
M
=
{
x
1
y
1
,
x
2
y
2
,
⋯
,
x
r
y
r
}
.
M = \{x_1y_1,x_2y_2,\cdots, x_ry_r\}.
M={x1y1,x2y2,⋯,xryr}.
则
X
=
{
x
1
,
x
2
,
⋯
,
x
r
}
.
X = \{x_1,x_2,\cdots ,x_r\}.
X={x1,x2,⋯,xr}.
设
S
S
S 为
X
X
X 的一个子集. 不失一般性, 假设
(
0
⩽
h
⩽
r
)
(0\leqslant h\leqslant r)
(0⩽h⩽r):
S
=
{
x
1
,
x
2
,
⋯
,
x
h
}
.
S = \{x_1,x_2,\cdots,x_h\}.
S={x1,x2,⋯,xh}.
此时有:
{
y
1
,
y
2
,
⋯
,
y
h
}
⊆
⋃
x
∈
S
N
G
(
x
)
.
\{y_1,y_2,\cdots,y_h\}\subseteq \bigcup_{x\in S}N_{G}(x).
{y1,y2,⋯,yh}⊆x∈S⋃NG(x).
故
∣
⋃
x
∈
S
N
G
(
x
)
∣
⩾
∣
{
y
1
,
y
2
,
⋯
,
y
h
}
∣
=
h
=
∣
S
∣
.
|\bigcup_{x\in S}N_{G(x)}|\geqslant |\{y_1,y_2,\cdots,y_h\}| = h = |S|.
∣x∈S⋃NG(x)∣⩾∣{y1,y2,⋯,yh}∣=h=∣S∣.
“ ⇐ \Leftarrow ⇐”
设注解[*] 成立. 设 M M M 为 G G G 包含边数最大的匹配. 下面说明: M M M 必包含 X X X 中的所有顶点.
不妨假设 u u u 为 X X X 中没有被 M M M-包含的顶点. 设 T T T 为由所有属于一条从 u u u 开始的, M M M-交错路中的顶点所组成的集合.
因为 M M M 是一个最大匹配, 因此 G G G 不存在 M M M-交错路. 因此, 每一个 N G ( u ) N_G(u) NG(u) 中的顶点都是 M M M-包含的. 也就是说: ( u ∪ N G ( u ) ) ⊂ T (u \cup N_G(u) ) \subset T (u∪NG(u))⊂T.
因此每一个属于 N G ( u ) N_{G}(u) NG(u) 的顶点都是 M M M-包含的. ■ \blacksquare ■
定理5-1.7
设 G G G 为一个所有顶点的度数均为非零正整数 P P P 的二部图. 设 X , Y X,Y X,Y 为 G G G 的分割. 则 G G G 有一个包含所有 X X X 中顶点的匹配.
[证明]
设 S ⊆ X S\subseteq X S⊆X 为一个顶点集. 设 T = ⋃ x ∈ S N G ( x ) T = \bigcup_{x\in S}N_{G}(x) T=⋃x∈SNG(x). 设 H H H 为 G G G 的一个由 S ∪ T S\cup T S∪T 诱导的子图.
因为 ∣ E ( H ) ∣ = P ⋅ ∣ S ∣ |E(H)| = P\cdot |S| ∣E(H)∣=P⋅∣S∣, 对每个 y ∈ T y\in T y∈T, d H ( y ) ⊆ P d_{H}(y)\subseteq P dH(y)⊆P
要么 ∣ T ∣ ⩾ ∣ S ∣ |T|\geqslant |S| ∣T∣⩾∣S∣ 或 ∣ E ( H ) ∣ = ∑ y ∈ T d G ( y ) < P ∣ S ∣ |E(H)| = \sum_{y\in T}d_{G}(y) <P|S| ∣E(H)∣=∑y∈TdG(y)<P∣S∣.
由 Hall定理: 原结论显然成立. ■ \blacksquare ■
[例]
- 设 G G G 为二部图. 求证: G G G 存在一个包含每一个具有最大度数的顶点的匹配.
[证明]
设 M M M 为 G G G 中包含其具有最大度数的顶点数量最多的匹配. 设 x x x 为一个不含于 M M M, 但也具有最大度数的顶点. 要证: x x x 也被 M M M 包含.
由相关定义: 对于 M M M 包含的每一个顶点, M M M 中有且只有一条与其邻接的边和它一一对应.
设 Δ ( M ) > 1 \Delta(M) > 1 Δ(M)>1. ( Δ ( M ) = 1 \Delta(M) = 1 Δ(M)=1 时结论显然成立) .
若 M M M 中包含的度数最大顶点均位于同一个划分集合中, 则显然 M M M 将会包含 G G G 中所有的最大度数顶点, 因为一定不存在将这些顶点相连的边.
若 M M M 中包含的度数最大顶点不全位于同一个划分集合中. 设不被匹配所包含的一个最大度顶点 x x x 和 M M M 中的一个最大度顶点 x 1 x_1 x1 相邻接, 则只需将 x 1 , x x_1, x x1,x 划入 M M M, 挖去点 x 1 , m x_1, m x1,m, 如此操作即可得到一个包含所有最大度数顶点的匹配.
故知: 所假设的 M M M 不具有最大性, 矛盾. ■ \blacksquare ■
- 设 G G G 为二部图, k = Δ ( G ) k = \Delta(G) k=Δ(G). 假设 k > 0 k>0 k>0. 求证: G G G 有一个大小至少为 ∣ E ( G ) ∣ k \frac{|E(G)|}{k} k∣E(G)∣ 的匹配.
[证明]
对 k k k 运用数学归纳法:
当 k = 1 k = 1 k=1 时, 显然结论成立.
设 k = n − 1 k = n-1 k=n−1 时结论仍然成立.
当 k = n k = n k=n 时:
- 设
G
G
G 为一个分割集为
X
,
Y
X,Y
X,Y 的二部图.
设 t = min x ∈ X d G ( x ) , s = max y ∈ Y d G ( y ) t = \min_{x\in X}d_{G}(x), s = \max_{y\in Y}d_{G}(y) t=minx∈XdG(x),s=maxy∈YdG(y). 求证: 若 t ⩾ s t\geqslant s t⩾s, 则 G G G 存在一个包含 X X X 中全部顶点的匹配.
[证明]
由 d G ( X ) , d G ( Y ) ⩾ 1 d_{G}(X), d_{G}(Y) \geqslant 1 dG(X),dG(Y)⩾1:
故 X X X 中的每一个顶点至少和 Y Y Y 中的一个顶点连接.
由 t ⩾ s t \geqslant s t⩾s: ∣ X ∣ > ∣ Y ∣ |X| > |Y| ∣X∣>∣Y∣. 根据鸽笼原理:
因此必存在一个单射 ψ \psi ψ, 将 X X X 中的每一个不同顶点唯一地映到 Y Y Y 中的某个顶点.
Hall定理, 是一个关于二部图中最大匹配存在性的定理. 存在一个多项式时间算法, 可以找到给定图的最大匹配. (给定的图不一定要是二部图!)
定义5-1.15 (相异代表系)
设
X
=
{
S
1
,
S
2
,
⋯
,
S
m
}
X = \{S_1,S_2,\cdots ,S_m\}
X={S1,S2,⋯,Sm} 为一组集合. 一个集合
X
X
X 的 相异代表系 (System Of Distinct Representatives
) 为一组
m
m
m 个不同的元素, 记为
a
1
,
a
2
,
⋯
,
a
m
a_1,a_2,\cdots, a_m
a1,a2,⋯,am, 使得对于每一个
i
∈
[
m
]
,
a
i
∈
S
i
i \in [m], a_i\in S_i
i∈[m],ai∈Si.
我们构建二部图 G G G: 它的分割集为 X = { S 1 , S 2 , ⋯ , S m } , Y = ⋃ i ∈ [ m ] S i X = \{S_1,S_2,\cdots, S_m\}, Y = \bigcup_{i\in [m]} S_{i} X={S1,S2,⋯,Sm},Y=⋃i∈[m]Si.
则 X X X 的一个相异代表系唯一地对应于包含 X X X 的所有顶点的一个匹配.
根据 Hall 定理, 设 S 1 , S 2 , ⋯ , S m S_1, S_2, \cdots, S_m S1,S2,⋯,Sm 为一个有限非空集合的组合. 则这个组合有一个相异代表系, 当且仅当对任意的 t ∈ [ m ] t\in [m] t∈[m], 任何 t t t 个集合的并都包含至少 t t t 个元素.
[例]
设 整数 n ⩾ 2 n \geqslant 2 n⩾2. 对每一个 i ∈ [ n ] i \in [n] i∈[n], S i = [ n ] \ { i } S_{i} = [n]\backslash \{i\} Si=[n]\{i}. 求证: { S i ; i ∈ [ n ] } \{S_i;i\in [n]\} {Si;i∈[n]} 存在一个相异代表系.
[证明]
考虑一组 N N N 个男孩, 记为 { b 1 , b 2 , ⋯ , b N } \{b_1,b_2,\cdots,b_N\} {b1,b2,⋯,bN}, 和一组 N N N 个女孩, 记为 { g 1 , g 2 , ⋯ , g N } \{g_1,g_2,\cdots, g_N\} {g1,g2,⋯,gN}. 每一个男孩和女孩都有自己的择偶顺位. 问题是, 我们能否找到一个匹配: { ( b i 1 , g i 1 , ) ⋯ , ( b i N , g i N ) } \{(b_{i_{1}},g_{i_{1}, })\cdots, (b_{i_{N}}, g_{i_N})\} {(bi1,gi1,)⋯,(biN,giN)}, 使得对每一个配对 1 ⩽ i , j ⩽ N 1\leqslant i,j\leqslant N 1⩽i,j⩽N, 若 ( b i , g j ) ∉ M (b_i,g_j) \notin M (bi,gj)∈/M, 则要么 b i b_i bi 有比 g i g_i gi 更喜欢的人, 要么若 ( b i , g j ) ∉ M (b_i,g_j) \notin M (bi,gj)∈/M, 则要么 g i g_i gi 有比 b i b_i bi 更喜欢的人.
若这样的一个匹配
M
M
M 的确存在, 我们称其为 稳定匹配 (Stable Matching
). 否则, 称其为 不稳定的 (Unstable
).
在不稳定的情况下, b i b_i bi 更喜欢 g j g_j gj 而非他现在的伴侣 g ′ g' g′, 且 g j g_j gj 相比她现在的伴侣 b ′ b' b′ 也更喜欢 b i b_i bi. 在这一情况下, ( b i , g ′ ) (b_i,g') (bi,g′) 和 ( b ′ , g j ) (b',g_j) (b′,gj) 会互换伴侣, 形成稳定配对.
在 1962 年, Gale 和 Shapley 提出了一个用于寻找这样的稳定匹配的算法. 2012年, Shapley 因为他在博弈论-稳定分配领域的研究而获得诺贝尔经济学奖.
下面, 我们介绍 Gale-Shapley算法:
首先, 我们假定两个分组中的每个人都没有配对.
Step 1
每一个男孩都向他自己的择偶顺位中位次最高 (最喜欢) 的女孩寻求配对.
Step 2
每一个接收到至少一个请求的女孩都按照她自己的择偶顺位选择请求名单中的男孩, 并且拒绝其余的请求. 没有收到请求的女孩什么也不用做.
Step 3
如果没有男孩被拒绝, 此时终止程序, 因为所形成的配对已经是一个稳定配对. 如果仍然存在被拒绝的男孩, 则他们将拒绝他的女孩从自己的择偶顺位中移除, 并且在剩余的女孩中按照同样的原则做出选择.
Step 4
返回步骤2.