Java教程

hall定理(霍尔定理)略解

本文主要是介绍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)|\)。

等一下,先沽了,留下几篇借鉴的博客

first
second
third

这篇关于hall定理(霍尔定理)略解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!