二分图小结

二分图 ,是图论中的一种特殊模型。设G=(V,E)是一个无向图,如果顶点V可以分割为两个互不相交的子集(A,B)


通俗点说就是,把一个图能分成左边一个顶点集,右边一个顶点集合,并且集合内所有点之间无直接相连的边,所有的边都只存在集合外部连通两个集合;

大概是这个样子:

 

匹配:就是在集合U和V之间拉k条边,只要这k条边中任意两条的2个端点都不同 ,就是一个匹配

最大匹配:在所有的匹配中,边数最多的那个匹配就是二分图的最大匹配了(ps:如果两个集合点数不同,那么较少点数的集合的点数显然就是最大匹配数啦  (最多只能在U和V之间拉那么多条边,再拉就违反“匹配”中,边的端点不能重合的概念) )


顶点覆盖:在顶点集合中,选取一部分顶点,这些顶点能够把所有的边都覆盖了。这些点就是顶点覆盖集


最小顶点覆盖:在所有的顶点覆盖集中,顶点数最小的那个叫最小顶点集合。  这个最小顶点数=最大匹配数

(这两个概念好理解,而后面的公式可以这样推,假设集合U的点数较少,由上面知道,最大匹配数=较少点集合的点数,而显然这个集合U的点集覆盖了图中所有的边,所以他是一个最小顶点覆盖,同理集合V也是一个顶点覆盖,只不过是较大的顶点覆盖)


最大独立集:一个点集,内部的点都互不相连。显然,在集合U和V的独立集中,顶点数最多的那个集合

(而还是根据第一个推论,顶点数少的集合的点数为最大匹配数,所以最大独立集=顶点数较多的集合的点数=n-最大匹配数


路径覆盖:在图中找一些路径,这些路径覆盖图中所有的顶点,每个顶点都只与一条路径相关联(也即路径没有重叠

(注意,这里的路径不是边,可以由0条或多条边组成)

 一个单独的顶点是一条路径;  

最小路径覆盖:在所有的路径覆盖中,路径个数最小的就是最小路径覆盖了。

(这里有个说明,路径覆盖这个概念不仅用在二分图,但是如果要和二分图联系起来的话,必须是有向无环图,否则如果是无向图的话,显然最简单可以一笔把所有点连起来啦。。。。。。如果是可以重复经过一个点的路径覆盖,则需要闭包传递处理后即可用二分图下的最小路径覆盖了)

(有向无环的二分图的情况下,回到我们的概念图,Ps:只有一个图啦。。。 要覆盖整个图的话,显然只需要把 顶点数较多的集合U上每个点拉一条边出去即可,显然我们只能拉出【最大匹配数】条边,再拉的话,就会有路径重叠(集合V的点就那么多....边比点多必然有路径重合(边的端点重合) ),那么剩下的点,只能以一个单独的点作为一条路径了,因此,也就是最小路径覆盖=最大独立集=n-最大匹配数

 

因此,这些与二分图有关的项,基本都能用最大匹配数联结起来,因此只要用一个匈牙利算法求得最大匹配数,其余都可以通过它推出来。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值