【机器学习|数学基础】Mathematics for Machine Learning系列之图论(10):匹配基本定理

357 阅读9分钟

Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情。”

@TOC

在这里插入图片描述

前言

Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~   自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,有幸拿过一些国奖、省奖...已保研。目前正在学习C++/Linux/Python 学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!   机器学习小白阶段 文章仅作为自己的学习笔记 用于知识体系建立以及复习 知其然 知其所以然!

往期文章

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(1):集合与映射

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(2):线性空间定义及其性质

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(3):线性空间的基与坐标

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(4):基变换与坐标变换

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(5):线性子空间

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(6):子空间的交与和

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(7):欧氏空间

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(8):标准正交基与Gram-Schmidt过程

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(9):正交补与投影定理

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(10):线性变换定义

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(11):线性变换的矩阵表示

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(12):相似形理论

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(13):Hamliton-Cayley定理、最小多项式

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(14):向量范数及其性质

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(15):矩阵的范数

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(16):向量和矩阵的极限

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(17):函数矩阵的微分和积分

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(18):方阵的幂级数

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(19):不定积分(补充知识)

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(20):方阵函数

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(21):常用方阵函数的一些性质

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(22):方阵函数在微分方程组中的应用

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(23):常数项级数的概念和性质(补充知识)

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(24):常数项级数的审敛法(补充知识))

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(25):幂级数(补充知识)

5.2 匹配基本定理

对称差

AΔB=(AB)(AB)A \Delta B = (A \cup B) - (A \cap B)

记忆:先去掉ABA、B都有的元素,然后再合并ABA、B的其他元素

5.2.1 Berge定理

定理 5.1

MMGG的最大匹配的充要条件是GG不含MM可增长路径

证明

证必要性:MMGG的最大匹配 \Rightarrow GG不含MM可增长路径

使用反证法

假设GG中含有MM可增长路径P=v0v1v2...v2m+1P = v_0v_1v_2 ... v_{2m+1}

M=MΔE(P)M^{'} = M \Delta E(P)

显然MM^{'}GG的一个匹配,且

M=M+1|M|^{'} = |M| + 1

MM是最大匹配相矛盾 ,故假设不成立

说明GG不含MM可增长路径

证充分性:GG不含MM可增长路径 \Rightarrow MMGG的最大匹配

使用反证法

假设 GG不含MM可增长路径,但MM不是最大匹配

MM^{'}GG的一个最大匹配,则有M>M|M|^{'} > |M|

H=G[MΔM]H = G[M \Delta M^{'}]

可以得到 HH中每个顶点在HH中的次数只能是121或2


为了理解上述:HH中每个顶点在HH中的次数只能是121或2

可以举一个例子帮助理解

定义一个最大匹配MM^{'}如下 在这里插入图片描述 再定义一个匹配MM,其中满足M<M|M| < |M^{'}| 在这里插入图片描述

得到MΔMM \Delta M^{'}

在这里插入图片描述

MΔMM\Delta M^{'}可以简单理解为:去掉两者重复的,保留两者没有重复的

再令H=G[MΔM]H = G[M \Delta M^{'}]

这里HHGG的边子图(只要GG含有[MΔM][M \Delta M^{'}]边的部分) 事先假设GG中都存在这些边

在这里插入图片描述 可以发现HH中每一个连通分支有两种可能

  • 一条边在MMMM^{'}中交错的偶圈(上图左半部分)
  • 一条边在MMMM^{'}中交错的路径(上图右半部分)

所有可以得到 HH中每个顶点在HH中的次数只能是121或2


因为M>M|M^{'}| > |M|

所以一定有一个连通片中含有一条路径PP,始边和终边都属于MM^{'}

PP的两个端点是MM非渗透点(上图右半部分含有这样的两个端点)

从而得出 PPMM可增长路径

与假设GG中无增长路径矛盾

故假设不成立,MMGG的最大匹配

5.2.2 Hall定理

定义 5.4

SV(G)S \subseteq V(G)V(G)V(G)中与SS的顶点相邻的所有顶点构成之集合称为SS的领域,记为NG(S)N_G(S)


在这里插入图片描述 在这里插入图片描述

定理 5.2

GG是二部图,其划分为(X,Y)(X,Y),则GG有渗透XX每个顶点的匹配的充要条件是:SX\forall S \subseteq X,恒有

NG(S)S|N_G(S)| \geq |S|

证明

证必要性:GG有渗透XX每个顶点的匹配 \Rightarrow SX\forall S \subseteq X,恒有NG(S)S|N_G(S)| \geq |S|

因为GG有渗透XX每个顶点的匹配

所以对于SX\forall S \subseteq X,可以得到SS中每一个顶点在YY中都可以找到对应的匹配点

故有

NG(S)S|N_G(S)| \geq |S|

证充分性:SX\forall S \subseteq X,恒有|N_G(S)| \geq |S|$$\Rightarrow GG有渗透XX每个顶点的匹配

假设GG中没有渗透XX每个顶点的匹配

MM^{*}GG的一个最大匹配,则MM^{*}不能渗透XX

XXMM^{*}非渗透点uu

ZZ是由uu出发可由MM^{*}交错路径到达的顶点集

MM^{*}是最大匹配,由BergeBerge定理,得

uuZZ中仅有的未被MM^{*}配对的顶点

如果还存在uu之外的一个顶点在ZZ中,那么就存在一条MM交错路径的起点和终点都是非渗透点 则MM为可增长路径 但由BergeBerge定理知:最大匹配无可增长路径 故只能存在一个非渗透点,即uuZZ中仅有的未被MM^{*}配对的顶点

我们取

S=ZX,T=ZYS= Z \cap X, T = Z \cap Y

在这里插入图片描述

显然,S{u}S- \{u\}中的顶点在MM^{*}中与TT中的顶点配对

除了uu外,SSTT中的顶点都存在匹配关系

T=S1N(S)=T|T| = |S| - 1 , N(S) = T

得到

S=T+1=N(S)+1|S| = |T| + 1 = |N(S)| + 1

N(S)S|N(S)| \geq |S|相矛盾

故假设不成立

推论5.2.1

GGkk-正则二部图(k>0)(k > 0),则GG有一个理想匹配

证明

GG的二部图划分为(X,Y)(X, Y),则有

kX=kYk|X| = k|Y|

XX引出的边的数量 等于 从YY引出的边的数量 (利用边的恒等性)

得到

X=Y|X| = |Y|

也就是X|X|Y|Y|中的顶点个数相同

  • SSXX中任意一个非空子集

  • E1E_1是与SS中顶点相关联的边集

  • E2E_2是与N(S)N(S)中顶点相关联的边集

则有

E1E2E1E2E_1 \subseteq E_2 \quad或 \quad|E_1| \leq |E_2|

E1E_1是与SS中顶点相关联的边集,且E1E_1两个端点中另一个端点一定是在N(S)N(S)中 所以E1E_1E2E_2的一个子集

又因为

{E1=kSE2=kN(S)\begin{cases} |E_1| = k |S|\\ |E_2| = k |N(S)| \end{cases}

得到

kN(S)>kSk |N(S)| > k |S|

N(S)>S |N(S)| > |S|

HallHall定理知,GG中一定含有渗透XX中所有顶点的匹配MM

又因为X=Y|X| = |Y|

所以MM为理想匹配

XX中每个顶点都渗透了,又因为XX中每个顶点的的匹配点一定是在YY中,故YY中所有顶点也被渗透了

推论 5.2.2(tt条件)

GG是划分为(X,Y)(X, Y)的二部图,若存在整数t>0t>0,使得

  • XX中的每个顶点xix_i,都有d(xi)td(x_i) \geq t
  • YY中的每个顶点yiy_i,都有d(yi)td(y_i)\leq t

GG中必有渗透XX的匹配

证明

SSXX中任意一个非空子集

再设

  • E1E_1是与SS中顶点相关联的边集

  • E2E_2是与N(S)N(S)中顶点相关联的边集

则有

E1E2E1E2E_1 \subseteq E_2 \quad或 \quad|E_1| \leq |E_2|

E1E_1是与SS中顶点相关联的边集,且E1E_1两个端点中另一个端点一定是在N(S)N(S)中 所以E1E_1E2E_2的一个子集

再分别计算E1E2|E_1|、|E_2|

E1=xSd(x)tS|E_1|=\sum_{x\in S}d(x) \geq t|S|

E2=yN(S)d(y)tN(S)|E_2|=\sum_{y\in N(S)}d(y) \leq t|N(S)|

得到

tN(S)E2E2tSt|N(S)| \geq |E_2| \geq |E_2| \geq t|S|

N(S)>S |N(S)| > |S|

HallHall定理知,GG中一定有渗透XX的匹配

5.2.3 Konig定理

定义5.5

G=(V,E),KVG=(V,E),K\subseteq V

(1)若GG的每条边至少有一个端点属于KK,则称KKGG的一个覆盖

(2)若KKGG的一个覆盖,vV,K{v}\forall v \in V, K - \{v\}不是覆盖,则称KK为极小覆盖

(3)若KKGG的一个覆盖,但无覆盖KK^{'},使得K<K|K^{'}| <|K|,则称KK为最小覆盖,用α(G)\alpha(G)表示GG中最小覆盖的顶点数,α(G)\alpha(G)称为GG的覆盖数


Note

  • 一般最小覆盖必定是极小覆盖
  • 但极小覆盖却不一定是最小覆盖

覆盖:顶点覆盖图中所有边,即若KK是覆盖,则GKG - K为无边图

KKGG的覆盖,MMGG的匹配

KK要覆盖MM,至少需要M|M|个顶点,因此有

KM|K| \geq |M|

从而

α(G)M\alpha(G) \geq |M|

引理 5.2.1

KKMM分别是GG的覆盖与匹配,则

MK|M| \leq |K|

引理 5.2.2

GG存在匹配MM和覆盖KK,使得M=K|M| = |K|

MM是最大匹配,KK是最小覆盖

证明

K~,M\tilde{K},M^{*}分别是GG的最小覆盖和最大匹配,则有

KK~MM|K| \geq |\tilde{K}| \geq |M^{*}| \geq |M|

一般的覆盖数肯定是大于等于最小覆盖数 最大匹配数大于一般的匹配数 最小覆盖数大于等于最大匹配(可以由引理5.2.1推出)

又因为

k=M|k| = |M|

得到

K=K~=M=M|K| = |\tilde{K}| = |M^{*}| = |M|

综上

  • MM也是最大匹配
  • KK也是最小覆盖

定理 5.3 (Konig定理)

GG是二部图,MM^{*}GG的最大匹配,K~\tilde{K}GG的最小覆盖,则

M=K~=α(G)|M^{*}| = |\tilde{K}| = \alpha(G)

GG是一般图,则为MK~|M^{*}| \leq |\tilde{K}|GG是二部图,则为M=K~|M^{*}| = |\tilde{K}|

证明

GG是二部图,其划分为(X,Y)(X, Y)

MM^{*}渗透XX的所有顶点,则有

M=X|M^{*}| = |X|

M|M^{*}|表示匹配的数量(两个顶点间有匹配边算一个匹配)

这时,显然XX是一个最小覆盖,有X=K~|X| = |\tilde{K}|

二部图GG在这个应该是连通图 XX中顶点关联的边都与YY中顶点相连 所以XX是一个最小覆盖

综上有

M=K~=α(G)|M^{*}| = |\tilde{K}| = \alpha(G)

若在XX中存在非渗透点

UUXX中的MM^{*}非渗透点的集合,如下图所示

在这里插入图片描述ZZ是由MM^{*}交错路径与UU中顶点相连通的顶点之集合

  • S=ZXS = Z \cap X
  • T=ZYT = Z \cap Y

N(S)=TN(S) = T

又令

K~=(XS)T\tilde{K} = (X - S) \cup T

GG中每一条边至少都有一端在K~\tilde{K}

若有一条边的一端在SS中,另一个端点在YTY - T中,这与N(S)=TN(S) = T产生矛盾

说明K~\tilde{K}GG的一个覆盖,且M=K~|M^{*}| = |\tilde{K}|

根据引理 5.3.2得

K~\tilde{K}GG的一个最小覆盖

5.2.4 Tutte定理

定义 5.6

图的顶点数为奇数的连通片称为齐片,顶点数为偶数的连通片为偶片

0(G)0(G)表示GG中齐片的个数

定理 5.4(Tutte定理)

GG中有理想匹配的充要条件是对于一切SVS\subseteq V,有

0(GS)S0(G- S) \leq |S|

证明

在这里插入图片描述 在这里插入图片描述

推论 5.4

每个无割边的3-正则图有理想匹配

结语

说明:

  • 参考于 课本《图论》
  • 配合书中概念讲解 结合了自己的一些理解及思考

文章仅作为学习笔记,记录从0到1的一个过程

希望对您有一点点帮助,如有错误欢迎小伙伴指正

在这里插入图片描述