这两者是有区别的,先了弄清楚以下关系
最大二分匹配:在一个二分图中找到P->q的一个匹配方案,使得匹配中的边数量不小于任何其他的匹配。
完备二分匹配:在一个二分图中找到p->q的一个匹配方案,使得p中所有点出现在该匹配中。
再来说二分图的带权匹配和二分图的最优匹配
参考http://boj.5d6d.com/thread-1382-1-1.html
二分图的带权匹配就是求出一个匹配集合,使得集合中边的权值之和最大或最小。
而二分图的最优匹配则一定为完备匹配,在此基础上,才要求匹配的边权值之和最大或最小。二分图的带权匹配与最优匹配不等价,也不互相包含。
上篇说过我们可以使用KM算法实现求二分图的最优匹配。KM算法可以实现为O(N^3)。
[KM算法的几种转化]
KM算法是求最大权完备匹配,如果要求最小权完备匹配怎么办?方法很简单,只需将所有的边权值取其相反数,求最大权完备匹配,匹配的值再取相反数即可。
KM算法的运行要求是必须存在一个完备匹配,如果求一个最大权匹配(不一定完备)该如何办?依然很简单,把不存在的边权值赋为0。
KM算法求得的最大权匹配是边权值和最大,如果我想要边权之积最大,又怎样转化?还是不难办到,每条边权取自然对数,然后求最大和权匹配,求得的结果a再算出e^a就是最大积匹配。至于精度问题则没有更好的办法
分享到:
相关推荐
基于二分图最优匹配算法的毕业论文选题系统 二分图 基于二分图最优匹配算法的毕业论文选题系统 二分图 基于二分图最优匹配算法的毕业论文选题系统 二分图 基于二分图最优匹配算法的毕业论文选题系统 二分图
二分图最优匹配matlab代码
二分图最优算法KM 计算二分图最优匹配的目前最高效算法
matlab源码-二分图-最优匹配 matlab源码-二分图-最优匹配 matlab源码-二分图-最优匹配 matlab源码-二分图-最优匹配 matlab源码-二分图-最优匹配
看过很多二分图匹配的ppt,感觉就这个说的最清楚了,是一个叫刘汝佳的人写的,百度搜了一下貌似挺牛逼的,不管那么多,对km算法还抓耳挠腮的同志可以看看这个。
二分图的最优匹配(KM算法).doc
用匈牙利算法实现了二分图的完备匹配 vc++实现
带权二分图的最优匹配 Kuhn-Munkres算法 收藏.docx
这是自己写的二分图最大匹配算法,需要的可以看看。
matlab实现匈牙利算法二分图最大匹配的程序
二分图的最大匹配,匈牙利算法,最小点覆盖,DAG图的最小路径覆盖。二分图的最大独立集.二分图最优匹配.noi,acm,基础
Hopcroft-Karp是计算二分图最大匹配的最快算法(根据《算法导论》第二版;但维基百科说有理论上更快的算法,不过实际效果不如Hopcroft-Karp,因为实际的图多为稀疏的,更快算法对稠密的图效果会更好)。 算法发表于...
二分图最大匹配的 hopcroft-karp 算法.docx
二分图 数据结构 二分图最佳匹配、带权匹配
二分图匹配,匈牙利算法和KM算法简介 二分图匹配,匈牙利算法和KM算法简介 二分图匹配,匈牙利算法和KM算法简介 二分图匹配,匈牙利算法和KM算法简介 二分图匹配,匈牙利算法和KM算法简介 用增广路求最大匹配(称作...
二分图最大匹配km算法
二分图匹配及其运用二分图匹配及其运用二分图匹配及其运用二分图匹配及其运用
二分图匹配及其应用(刘汝佳).ppt
基于二分图的常用算法 最大匹配——匈牙利算法 最佳匹配——KM算法 感谢原作者