KM算法总结

二分图最大权匹配问题

二分图中如果给每条边一个权值,此时求解二分图的权值和最大的完美匹配的问题就是所谓的二分图的最大权匹配问题,对于不是完全二部图的二分图,我们可以添加权值为0的边,使其变为完全二部图。

求解方法

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

理论结果

从上面的分析可以看出,相等子图里面的最大完美匹配一定是二部图的最大完美匹配,而问题在于相等子图并不一定存在完美匹配,所以现在的问题是如何给相等子图改标号,使得相等子图中的匹配数增加,当相等子图中的匹配数等于最大匹配数时,算法停止。

算法

在这里插入图片描述
匈牙利算法中每次第一步都是选取一个未饱和点x作为初始点,T是位于Y那边的存在于匹配中的点,当匈牙利算法停止时没有找到完美匹配,此时S中的点一定是于T中的点的,那么我们只需要将S中未饱和的点饱和即可,因此我们需要从Y-T中添加某些点与S中x的边,这样就可以保证添加的边一定是有用的边,也即添加新的边以后,新的相等子图里面一定存在增光路。而对于权值的改变要保证S,T之间的匹配不变,S,T之外的匹配不变。这样就不会在算法的后续过程中影响已经属于最大权完美匹配中的边。
在这里插入图片描述
变换的原则实际上从已经确定的相等子图中扩充出去,为了不破坏之前的相等子图中的边,所以原来相等子图中的顶点权值和不变。而为了避免破坏相等子图的补图的可行编号,所以我们只需要调整相等子图两边的权值即可。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值