hall定理(霍尔定理)略解

扯淡

原名好像是叫hall婚姻定理,好象是用来配对的

然后现在被用来做二分图了

确实非常的好用,这里主要记一下定理的意义极其证明

方便复习

匹配

所谓二分图匹配,就是在二分图上找到一个没有交点的边集

imageimageimageimage
(图片转载自这里

图3表示的就是一个二分图匹配

但是此时3与6的边也可以加入现在的边集

所以此时的匹配不是最大匹配,可是即使加上了也不是最大匹配

最大匹配的定义就是,能够覆盖的点集的大小最大

那图4就是最大匹配了,因为他是可以覆盖点集最大的边集,也就是边最多的边集

当然,此时这个匹配也是这个二分图的完美匹配

完美匹配的定义就是,能够覆盖所有的点的匹配

完美匹配:设 M 是二分图 G(V1,V2,E)(|V1|≤|V2|) 的一个匹配,若 ∀vi∈V1,∃k∈V2,(vi,k)∈M,则称 M 为 G 的一个完美匹配。

所以,完美匹配一定是最大匹配,但是最大匹配不一定是完美匹配

好像求二分图匹配的有一个叫做'匈牙利算法',但是我不会

hall 定理

显然

我真的觉得挺显然的,你既然要找到二分图的完美匹配

就要找到一个边集覆盖所有的点而且不能有交点,

边还只能连接两侧,所以,

二分图存在完美匹配的一个条件就是两侧点集大小相同

这很显然吧

定理内容

第二个条件就可以用hall定理来解释了

Hall 定理:对于一个二分图 \(G(V1,V2,E)(|V1|≤|V2|)\)
对于\(∀X⊆V1\),定义 \(N(X)={vj|(vi,vj)∈E,vj∈V2,vi∈X}\)
其存在 \(V1\) 的完美匹配的充要条件为 \(∀X⊆V1,|X|≤|N(X)|\)

简单来说,就是对于二分图其中一个点集的子集
向另外一个点集连边,任意这样的子集所能连到的对应的节点集合大小大于当前集合

证明

必要性的话,显然吧,如果连边比当前点集小的话,那就不够了,一定会有剩下的点,

充分性可以通过网络流的思想来证明

如果当前二分图满足hall定理,但是没有找到一个完美匹配

那么两侧分别会剩下一些点,此时我们拿出一个点来

这样的话,这个点一定会有一条连边连向对面,如果对面的点没有选那就直接选上

如果被选了,那也选上,然后它之前连的点就会剩下,那么我再次进行这个过程

然后就会出现一条增广路,最后找到完美匹配。。。

口胡证明,

posted @ 2021-08-21 21:45  fengwu2005  阅读(3738)  评论(0编辑  收藏  举报