当前位置:首页 > 教育 >

匈牙利算法举例(匈牙利算法优缺点)

来源:原点资讯(www.yd166.com)时间:2024-05-15 18:43:06作者:YD166手机阅读>>

一、定义

匈牙利算法(Hungarian algorithm),其核心就是寻找增广路径,是一种用增广路径求二分图最大匹配的算法。

匈牙利算法是一种在P问题内(多项式时间内)求解任务分配问题的组合优化算法。它推动了后来的原始对偶方法。

匈牙利算法是美国数学家哈罗德·库恩于1955年提出的。此算法之所以被称作匈牙利算法,是因为算法很大一部分是基于以前匈牙利数学家Dénes Kőnig和Jenő Egerváry的工作之上创建起来的。

二、名词解释1、二分图与匹配

二分图(Bipartite graph)又称作二部图,是图论中的一种特殊模型。 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),A、B内部的点不相交,并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i∈A, j∈B),则称图G为一个二分图。

如图2-1左边图转换成一个二分图。

匈牙利算法举例,匈牙利算法优缺点(1)

图2-1

一个图为二分图的充分必要条件是至少有两个点,并且如果存在回路的话,那么回路的长度(长度指的是该回路连接的点的数目)必须为偶数。

二分图的匹配:

给定一个二分图G,在G的一个子图M中,M的边集{E}中的任意两条边都不依附于同一个顶点,则称M是一个匹配。

极大匹配是指在当前已完成的匹配下,无法再通过增加未完成匹配的边的方式来增加匹配的边数。

最大匹配是所有极大匹配当中边数最大的一个匹配。选择这样的边数最大的子集称为图的最大匹配问题。匈牙利算法就是找出这样一个最大匹配的边数。对于图来说,最大匹配不是唯一的,但是最大匹配的大小是唯一的。

如果一个匹配中,图中的每个顶点都和图中某条边相关联,则称此匹配为完全匹配,也称作完美匹配。图2-2中图d就是二分图的一个完全匹配(同时也是最大匹配),但是最大匹配不总是完全匹配。

例子1 如图2-2所示

匈牙利算法举例,匈牙利算法优缺点(2)

图2-2

图a,图b,图c,图d中任意两条边的连接的顶点都没有相同的(换句话说,n条边必须连接2 * n个不相同的顶点)。所以他们都是图G的匹配。

例子2 如图2-3所示

匈牙利算法举例,匈牙利算法优缺点(3)

图2-3

红线部分代表匹配或完美匹配。

2、增广路径

交替路:从一个未匹配点出发,依次经过非匹配边、匹配边、非匹配边...形成的路径叫交替路。

增广路径:若P是图G中一条连通两个未匹配顶点的路径,并且属于M的边和不属于M的边(即已匹配和待匹配的边)在P上交替出现,则称P为相对于M的一条增广路径。

换一个说法,从一个未匹配点出发,走交替路,如果途径另一个未匹配点,则这条交替路称为增广路。如图2-4所示,红色结点代表匹配结点, 红色边代表匹配边,黑色边代表非匹配边。

匈牙利算法举例,匈牙利算法优缺点(4)

栏目热文

鱿鱼须的功效与作用(鱿鱼须的功效与作用及营养价值)

鱿鱼须的功效与作用(鱿鱼须的功效与作用及营养价值)

鱿鱼须是一种美味又营养丰富的食材,它的口感鲜美,营养丰富,深受人们的喜爱。下面我将为大家介绍一种家常做法,让你轻松炒出美...

2024-05-15 18:46:12查看全文 >>

鱿鱼须炒洋葱怎么炒好吃(鱿鱼丝和洋葱怎么炒)

鱿鱼须炒洋葱怎么炒好吃(鱿鱼丝和洋葱怎么炒)

洋葱鱿鱼最佳搭配,洋葱浓郁的特有味道与鱿鱼须的结合,简直不要太好吃!今天这道菜用了黑椒酱,太太乐原味鲜,太太乐鲍汁蚝油,...

2024-05-15 18:38:33查看全文 >>

蒸月饼馍的做法大全(西北蒸月饼的做法)

蒸月饼馍的做法大全(西北蒸月饼的做法)

蒸月饼馍。快到中秋节了,正好手头也没有馍了。昨天发了的老面,今天起床一看,发酵的可好了,我决定今天做点月饼馍。·首先先把...

2024-05-15 18:25:04查看全文 >>

在家做月饼的做法大全(家庭版月饼的做法教程)

在家做月饼的做法大全(家庭版月饼的做法教程)

没了烟火气,人生就是一段孤独的旅程。中秋节快到了,教你8种家常月饼的做法,香甜软糯大人孩子都爱吃,快快收藏吧!莲蓉咸蛋黄...

2024-05-15 18:32:27查看全文 >>

酥皮月饼做法(蛋黄酥皮月饼怎么做)

酥皮月饼做法(蛋黄酥皮月饼怎么做)

中秋节快到了,月饼学起来,轻松搞定,层层酥太好吃了,快试试酥皮月饼这样做,简单0失败,一咬酥的掉渣,小时候的味道! ...

2024-05-15 18:49:50查看全文 >>

匈牙利算法详细步骤例题(运筹学匈牙利算法解题步骤)

匈牙利算法详细步骤例题(运筹学匈牙利算法解题步骤)

分享兴趣,传播快乐,增长见闻,留下美好!亲爱的您,这里是LearningYard新学苑。今天小编为大家带来“学越千山...

2024-05-15 18:10:22查看全文 >>

匈牙利算法原理(匈牙利算法怎么来的)

匈牙利算法原理(匈牙利算法怎么来的)

澎湃新闻记者 杨漾在全球油价、气价、煤价齐齐飙升的上个冬天,欧洲是国际能源供应紧缺的焦点地区。由于能源对外依存度高、天然...

2024-05-15 18:46:02查看全文 >>

匈牙利自动分配算法(匈牙利算法通俗易懂的例子)

匈牙利自动分配算法(匈牙利算法通俗易懂的例子)

本文约15200字,建议阅读15 分钟我们对3D目标检测方法进行了性能分析,并总结了多年来的研究趋势,展望了该领域的未来...

2024-05-15 18:06:41查看全文 >>

匈牙利算法与遗传算法对比(匈牙利算法详细步骤)

匈牙利算法与遗传算法对比(匈牙利算法详细步骤)

排课问题历史由来已久,尤其是在新高考走班之后,对排课软件需求尤为突出,存在于每所学校中,是教学工作正常有序开展的基本保...

2024-05-15 18:33:01查看全文 >>

匈牙利算法每行有两个零怎么办(匈牙利算法用到哪些定理)

匈牙利算法每行有两个零怎么办(匈牙利算法用到哪些定理)

1、最小生成树与最短路径定义:最小生成树:保证整个拓扑图的所有路径之和最小(连接所有节点),但不能保证任 意两点之间是路...

2024-05-15 18:33:17查看全文 >>

文档排行