匈牙利算法与KM算法的区别
前记
在学习过程中,发现很多博客将匈牙利算法和KM算法混为一谈,当时只管用不管分析区别,所以现在来分析一下两个算法之间的区别。
匈牙利算法在二分图匹配的求解过程中共两个原则:
1.最大匹配数原则
2.先到先得原则
而KM算法求解的问题则是在匈牙利算法上的延伸——也就是在最大匹配的情况下保证边权和最小。
详细的说:
匈牙利算法解决的二分图类似下面这种:
而KM算法解决的当是下面这种:
当然这不代表KM算法不可以解决匈牙利问题。
虽然解决的问题相似,但匈牙利算法和KM算法的实现方式截然不同,不过KM算法的博客就先咕了((
小结
上面的内容讲解了匈牙利算法与KM算法在解决的问题上的区别。
整体来说,匈牙利算法在求解过程中在 最大匹配原则 的基础上遵循 先到先得原则,
KM算法在求解过程中则在 最大匹配原则 的基础上先保证 全局最小代价,在全局代价最小的情况下遵循 先到先得原则 分配最终结果。希望能通过一篇分析明白匈牙利算法和KM算法有一定的区分。最后,如果文章有误,欢迎 @Tonvia
匈牙利算法与KM算法的区别相关推荐
- 匈牙利匹配、KM算法、卡尔曼滤波、SORT/deep SORT
匈牙利匹配.KM算法 带你入门多目标跟踪(三)匈牙利算法&KM算法 - 知乎 卡尔曼滤波: 图像处理之目标跟踪(一)之卡尔曼kalman滤波跟踪(主要为知识梳理)(转载)_coming_is_ ...
- 判别两棵树是否相等 设计算法_从匈牙利算法到KM算法
网上搜了好多KM算法的文章,都写得云里雾里.看了半天之后,我终于看懂了.其实KM算法非常简单,只要会匈牙利算法了,一下就能看懂KM算法. 如果大家对自己的匈牙利算法不够自信的话,可以先复习一下,放上我 ...
- 多目标跟踪算法中之图匹配——匈牙利算法和KM算法详解
目录 一.匈牙利算法 1.算法背景及思想 2.最大匹配 3.最优匹配/完美匹配 4.增广路径 5.代码实现 6.匈牙利算法总结 6.1.深度优先 6.2. 广度优先 二.KM算法思想及局限性 代码示例 ...
- 带你入门多目标跟踪(三)匈牙利算法KM算法
匈牙利算法(Hungarian Algorithm)与KM算法(Kuhn-Munkres Algorithm)是做多目标跟踪的小伙伴很容易在论文中见到的两种算法.他们都是用来解决多目标跟踪中的数据关联 ...
- 【算法笔记】二分图最大权匹配 - KM算法(dfs版O(n4) + bfs版O(n3))
整理的算法模板合集: ACM模板 匈牙利算法又称为 KM 算法,可以在 O(n3)O(n^3)O(n3) 时间内求出二分图的 最大权完美匹配 . 考虑到二分图中两个集合中的点并不总是相同,为了能应用 ...
- 奔小康赚大钱 HDU - 2255( 二分图匹配KM算法详解)
题目 传说在遥远的地方有一个非常富裕的村落,有一天,村长决定进行制度改革:重新分配房子. 这可是一件大事,关系到人民的住房问题啊.村里共有n间房间,刚好有n家老百姓,考虑到每家都要有房住(如果有老百 ...
- km算法c语言,KM算法最好的讲解+POJ2195[KM算法+最小费用流]
二.KM算法: 二分图最优匹配:对于二分图的每条边都有一个权(非负),要求一种完备匹配方案,使得所有匹配边的权和最大,记做最优完备匹配.(特殊的,当所有边的权为1时,就是最大完备匹配问题) 解二分图最 ...
- KM算法解决二分图最大权分配问题
匈牙利算法和KM算法都可用来解决任务分配问题(亦称指派问题):假设有n名员工以及n份工作,一个人只能完成一项任务且能完成的任务各不相同.问如何安排员工才能使效率达到最大. 用大白话来描述二分图:二分图 ...
- 二分图最大权匹配问题KM算法讲解 HDU 2255 奔小康赚大钱
作者:logosG 链接:https://www.cnblogs.com/logosG/p/logos.html (讲解的KM算法,特别厉害!!!) KM算法: 现在我们来考虑另外一个问题:如果每个员 ...
最新文章
- Android TextView 在strings 里面 实现换行
- LINUX 下构建OpenGL ES 3.0
- 【leetcode】3 minstack
- BAPI_PO_CHANGE修改NETPRICE
- 《SaltStack技术入门与实践》—— Job管理
- 用Fidder实现IOS手机抓包
- 别小看不起眼的电阻,里面大有学问!
- 45张令程序员泪流满面的趣图
- 有什么看起来很难,但是其实很简单的题目
- 学计算机三本大学最低分数线,2018三本大学最低录取分数线是多少
- 52 - 算法 - LeetCode 28 - 实现 strStr() -kmp
- python接口自动化发送get请求 详解(一)
- Maven实战 PDF 许晓斌
- 抓包与发流软件与网络诊断
- Linux 卸载及删除磁盘分区
- 设计模式——仲裁模式
- 揭秘java虚拟机 kindle_Kindle有一个java虚拟机
- chrome最新版总是自动清掉保存的密码
- 乐观人生VS悲观人生
- python如何将数组里的数提取出来_python [:3] 实现提取数组中的数