- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数学建模二分图匹配.ppt
匈牙利算法简介及应用 回 顾 上一讲:最大网络流问题 江西省2012年数学建模B题 一等奖,华东交通大学基础学院周琴、胡媛媛、郭文文同学在论文中写到: “利用网络流算法的方法,得到最均匀的分发方法,并且可以使得任何两位教师交叉共同评阅一份试卷的情况也尽量均匀。” “计算最大流的Dinic算法去安排阅卷。” “Dinic算法是网络流的优化算法之一,每一步对原图进行分层,然后用递归搜索的方式求增广路,算法的时间复杂度是O(n2m),n为有向图的顶点数,m为有向图的边数。” 二分图又称作二部图,是图论中的一种特殊模型。 设G=(V,{R})是一个无向图。如顶点集V可分割为两个互不相交的子集,并且图中每条边依附的两个顶点都分属两个不同的子集。则称图G为二分图。 最大匹配 给定一个二分图G,在G的一个子图M中,M的边集{E}中的任意两条边都不依附于同一个顶点,则称M是一个匹配。 最大匹配 给定一个二分图G,在G的一个子图M中,M的边集{E}中的任意两条边都不依附于同一个顶点,则称M是一个匹配。 选择这样的边数最大的子集称为图的最大匹配问题(maximal matching problem) 如果一个匹配中,图中的每个顶点都和图中某条边相关联,则称此匹配为完全匹配,也称作完备匹配。 匈牙利算法 求最大匹配的一种显而易见的算法是:先找出全部匹配,然后保留匹配数最多的。但是这个算法的复杂度为边数的指数级函数。因此,需要寻求一种更加高效的算法。 增广路的定义(也称增广轨或交错轨): 若P是图G中一条连通两个未匹配顶点的路径,并且属M的边和不属M的边(即已匹配和待匹配的边)在P上交替出现,则称P为相对于M的一条增广路径。 匈牙利算法 由增广路的定义可以推出下述三个结论: 1-P的路径长度必定为奇数,第一条边和最后一条边都不属于M。 2-P经过取反操作可以得到一个更大的匹配M’。 3-M为G的最大匹配当且仅当不存在相对于M的增广路径。 匈牙利算法 用增广路求最大匹配(称作匈牙利算法,匈牙利数学家Edmonds于1965年提出) 算法轮廓: (1)置M为空 (2)找出一条增广路径P,通过取反操作获得更大的匹配M’代替M (3)重复(2)操作直到找不出增广路径为止 匈牙利算法 算法的核心就是根据一个初始匹配不停的找增广路,直到没有增广路为止。 找增广路的时候既可以采用dfs也可以采用bfs,两者都可以保证O(nm)的复杂度,因为每找一条增广路的复杂度是O(m),而最多增广n次,dfs在实际实现中更加简短。 例题1 Courses(hdu1083) 题目大意:有P门课程,N个学生,一些学生选了一些课,某个学生可能选1门或多门课程,也可以一门也不选。现在从学生中选每门课的课代表,如果某个学生已经当了某门课的代表,就不能代表别的课了。一门课也只能有一个课代表。由这些课代表组成了一个代表委员会。现在给出学生选课的情况,求这P门课是否都能够找到学生来做代表。 例题1 Courses(hdu1083) 题目大意:有P门课程,N个学生,一些学生选了一些课,某个学生可能选1门或多门课程,也可以一门也不选。现在从学生中选每门课的课代表,如果某个学生已经当了某门课的代表,就不能代表别的课了。一门课也只能有一个课代表。由这些课代表组成了一个代表委员会。现在给出学生选课的情况,求这P门课是否都能够找到学生来做代表。 例题1 Courses(hdu1006) 样例 3 3 3 1 2 3 2 1 2 1 1 例题1 Courses(hdu1006) 例题1 Courses(hdu1006) 例题1 Courses(hdu1006) 例题1 Courses(hdu1006) 例题1 Courses(hdu1006) 例题2 Place the Robots(ZOJ1654) 问题描述 有一个N*M(N,M=50)的棋盘,棋盘的每一格是三种类型之一:空地、草地、墙。机器人只能放在空地上。在同一行或同一列的两个机器人,若它们之间没有墙,则它们可以互相攻击。问给定的棋盘,最多可以放置多少个机器人,使它们不能互相攻击。 例题2 Place the Robots(ZOJ) 模型一 例题2 Place the Robots(ZOJ) 模型二 例题2 Place the Robots(ZOJ) 模型二 例题2 Place the Robots(ZOJ) 模型二 例题2 Place the Robots(ZOJ) 模型二 例题2 Place the Robots(ZOJ) 小结 例题3 打猎 猎人要在n*n的格子里打鸟,他可以在某一行中打一枪,这样此行中的所有鸟都
您可能关注的文档
- 教育心理学考试重点第十三章学习迁移.ppt
- 教育心理学课件之青少发展与教育.ppt
- 教育知识与能力中学版(一基础知识).ppt
- 教育科学研究工作条例.doc
- 教育科学研究成果的表述.ppt
- 教育科研方法运用的几点体会.ppt
- 教育部文件新要求初试科目改革教育学历.ppt
- 散打散打运动员的体能训练.ppt
- 敦煌MWP光伏发电站设计方案.ppt
- 数三考研习计划表以及课后需掌握习题(同济版).doc
- 部编版二年级上册道德与法治期中测试卷含答案(能力提升).docx
- 部编版二年级上册道德与法治期中测试卷及完整答案【夺冠系列】.docx
- 部编版二年级上册道德与法治期中测试卷及参考答案(培优b卷).docx
- 部编版二年级上册道德与法治期中测试卷及答案(必刷).docx
- 部编版二年级上册道德与法治期中测试卷及完整答案【有一套】.docx
- 部编版二年级上册道德与法治期中测试卷含答案【模拟题】.docx
- 农户租地合同范例.docx
- 部编版二年级上册道德与法治期中测试卷含完整答案【有一套】.docx
- 部编版二年级上册道德与法治期中测试卷精品【巩固】.docx
- 2024年营养师考前辅导准备试题及答案.docx
文档评论(0)