二分图的带权匹配和二分图的最优匹配
2013-07-08 13:59
148 查看
转载:http://blog.sina.com.cn/s/blog_5ceeb9ea0100l18q.html
这两者是有区别的,先了弄清楚以下关系
最大二分匹配:在一个二分图中找到P->q的一个匹配方案,使得匹配中的边数量不小于任何其他的匹配。
完备二分匹配:在一个二分图中找到p->q的一个匹配方案,使得p中所有点出现在该匹配中。
二分图的带权匹配就是求出一个匹配集合,使得集合中边的权值之和最大或最小。
而二分图的最优匹配则一定为完备匹配,在此基础上,才要求匹配的边权值之和最大或最小。二分图的带权匹配与最优匹配不等价,也不互相包含。
上篇说过我们可以使用KM算法实现求二分图的最优匹配。KM算法可以实现为O(N^3)。
KM算法的运行要求是必须存在一个完备匹配,如果求一个最大权匹配(不一定完备)该如何办?依然很简单,把不存在的边权值赋为0。
KM算法求得的最大权匹配是边权值和最大,如果我想要边权之积最大,又怎样转化?还是不难办到,每条边权取自然对数,然后求最大和权匹配,求得的结果a再算出e^a就是最大积匹配。至于精度问题则没有更好的办法了。
这两者是有区别的,先了弄清楚以下关系
最大二分匹配:在一个二分图中找到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就是最大积匹配。至于精度问题则没有更好的办法了。
相关文章推荐
- HDU 1853 Cyclic Tour(二分图最优匹配:有向环覆盖)
- 二分图大讲堂——彻底搞定最大匹配数(最小覆盖数)、最大独立数、最小路径覆盖、带权最优匹配
- HDU 1853 (二分图最优匹配+判断有向环覆盖)
- KM算法,二分图的最优匹配,(也不知道怎么叫了)
- 二分图大讲堂——彻底搞定最大匹配数(最小覆盖数)、最大独立数、最小路径覆盖、带权最优匹配
- HDU 3488 Tour(二分图最优匹配:有向环覆盖)
- HDU 2853 Assignment【二分图最优匹配+巧妙权值】
- 二分图的最优匹配 going home
- hdu2255——奔小康赚大钱(二分图最优匹配+KM算法)
- 二分图大讲堂——彻底搞定最大匹配数(最小覆盖数)、最大独立数、最小路径覆盖、带权最优匹配
- 二分图最优匹配之KM算法
- HDU 3435 A new Graph Game(二分图最优匹配:有向环覆盖)
- 二分图大讲堂——彻底搞定最大匹配数(最小覆盖数)、最大独立数、最小路径覆盖、带权最优匹配
- 二分图大讲堂——彻底搞定最大匹配数(最小覆盖数)、最大独立数、最小路径覆盖、带权最优匹配
- [置顶] 二分图——最大匹配数(最小覆盖数)、最大独立数、最小路径覆盖、带权最优匹配
- bzoj1520:[POI2006]Szk-Schools 二分图最优匹配
- HDU 2853 Assignment(二分图最优匹配:优先用原匹配边)
- HDU 2426 Interesting Housing Problem(二分图最优匹配)
- [转载]二分图大讲堂——彻底搞定最大匹配数(最小覆盖数)、最大独立数、最小路径覆盖、带权最优匹配
- hdu 3722 二分图 最优完备匹配 KM算法