Hall定理学习小记

来源:互联网 发布:linux 修改mac地址 编辑:程序博客网 时间:2024/05/16 11:44

前言

蒟蒻Tom学hall定理!他萌萌哒!
hall定理就是关于判定二分图是否存在完美匹配的东西啦。
那我们来一些基本定义吧。

基本定义

也没啥好定义的。。
学过网络流应该都懂本文要提到的东西。
完美匹配是指最大匹配数为min(|X|,|Y|)
也就是X或Y集合其中一个集合所有点都被匹配了。

定理内容

我们来假设X集合点少一点好了。X集合就当做有n个点。
那么二分图G存在完美匹配,则取任意正整数1<=k<=n,均满足我从X集合选出k个不同的点,那么它们连向的y集合的点个数不小于k。

必要性证明

假如一个二分图G存在完美匹配,且不满足Hall定理。
那么对于某k个点,它们连向的都不足k个点。
那么它们是怎么都被匹配上的???
很显然必要性正确。

充分性证明

假如一个二分图G不存在完美匹配,且满足Hall定理。
那么假如有一种最大匹配的方案,既然不存在完美匹配,可以找到至少一个未被匹配的点。
因为这个二分图满足Hall定理,所以这个点一定连向了至少一个点。
假如这个点不在最大匹配中,它们就匹配了,怎么可能呢???
那么这个点在最大匹配中!所以一定有一个点和它匹配了。
因为这个二分图满足Hall定理,所以这个点又一定连向了除它匹配的点外的至少一个点。
假如这个点不在最大匹配中,一条增广路找到了,怎么可能呢???
那么这个点在最大匹配中!所以……
看懂了吧!我们一定能推出矛盾!
所以充分性正确。

1 0