热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

Hall定理(二分图匹配问题,Hungary算法基础)

前言hall定理是判定二分图是否存在完全匹配的定理。完全匹配:是指最大匹配数为min(|X|,|Y|)也就是X或Y集合其中一个集合所有点都被匹配了。定理内容设二

前言

hall定理是判定二分图是否存在完全匹配的定理。

完全匹配:是指最大匹配数为min(|X|,|Y|) 也就是X或Y集合其中一个集合所有点都被匹配了。


定理内容

设二分图中G&#61;中 |V1|&#61;m<&#61;|V2|&#61;n,G中存在从V1到V2的完全匹配当且仅当V1中任意k(k&#61;1,2,...,m)个顶点至少与V2中k个顶点是相邻的。


证明

必要性

因为是完全匹配&#xff0c;所以V1中任意k个点都是匹配的&#xff0c;显然至少与V2中k个点是相邻的。


充分性

反证法。设G中不存在完全匹配&#xff0c;取G的一个最大匹配M&#xff0c;则V1中至少有一个点不在M上&#xff0c;且该点必至少与一条不在M中的边相连&#xff0c;该边的另一个顶点若也为M-非饱和点&#xff0c;则与M为最大匹配矛盾&#xff0c;若另一个顶点为M-饱和点&#xff0c;则考察在M中与该顶点相邻的点&#xff0c;利用饱和点去考察在M中相邻的饱和点&#xff08;交错地考察&#xff0c;即交错地通过M中的边和非M中的边&#xff09;&#xff0c;直至考察完毕&#xff0c;由相异性条件知&#xff0c;最后必考察至非饱和点&#xff0c;此时出现一条增广路&#xff0c;又与假设矛盾&#xff08;M不是最大匹配&#xff09;&#xff0c;故充分性成立。


Hall定理的一个推论

设二分图中G&#61;中|V1|&#61;m<&#61;|V2|&#61;n&#xff0c;V1中每个顶点至少关联正整数t条边&#xff0c;V2中每个顶点至多关联t条边&#xff08;t条件&#xff09;&#xff0c;则G存在从V1到V2的完全匹配。


证明&#xff1a;因V1中任意k个顶点至少关联kt条边&#xff08;kt条边至少关联V2中的k条边&#xff09;&#xff0c;故V1中任意k(k&#61;1,2,...,m)个顶点至少与V2中k个顶点相邻&#xff0c;即得到相异性条件&#xff0c;得证。





推荐阅读
  • 大数据SQL优化:全面解析数据倾斜解决方案
    本文深入探讨了大数据SQL优化中的数据倾斜问题,提供了多种解决策略和实际案例,旨在帮助读者理解和应对这一常见挑战。 ... [详细]
  • ANSI最全介绍linux终端字体改变颜色等ANSI转义序列维基百科,自由的百科全书由于国内不能访问wiki而且国内关于ANSI的介绍都是简短的不能达到,不够完整所以转wiki到此 ... [详细]
  • 本文详细介绍了MySQL表分区的概念、类型及其在实际应用中的实施方法,特别是针对Zabbix数据库的优化策略。 ... [详细]
  • En-Tan-Mo再次引领创新潮流,推出全新'大众奖励计划'。作为区块链领域的先锋,En-Tan-Mo继交易所上线、发布技术白皮书及共识之夜活动后,再次展现其团队的卓越与活力。本文将详细介绍该计划的具体内容及其对参与者的重要意义。 ... [详细]
  • 本文介绍如何使用Java实现AC自动机(Aho-Corasick算法),以实现高效的多模式字符串匹配。文章涵盖了Trie树和KMP算法的基础知识,并提供了一个详细的代码示例,包括构建Trie树、设置失败指针以及执行搜索的过程。 ... [详细]
  • 本文通过个人经历引出关于数学教学中的一个常见误解——被零除的结果,并深入探讨了浮点数中负零的存在及其背后的数学原理。 ... [详细]
  • 本文详细解析了LeetCode第300题——最长递增子序列的解题方法,特别是如何使用动态规划来高效解决问题。文章不仅提供了详细的代码实现,还探讨了常见的错误理解和正确的解题思路。 ... [详细]
  • 第三周课堂测试1、使用汇编语言编写指令时,用一些简单的容易记忆的符号来代替二进制指令,比机器语言更为方便,属于高级语言。(B ... [详细]
  • 利用Dlib进行高效的人脸特征提取与识别
    本文介绍了Dlib库,一个集成了多种机器学习算法的C++工具包,特别适用于需要处理复杂任务的应用场景。Dlib不仅支持机器人技术、嵌入式系统开发、移动应用及高性能计算环境,还提供了强大的人脸检测与特征提取功能。 ... [详细]
  • 成为一名高效的Java架构师不仅需要掌握高级Java编程技巧,还需深入理解JVM的工作原理及其优化方法。此外,对池技术(包括对象池、连接池和线程池)的应用、多线程处理、集合对象的内部机制、以及常用的数据结构和算法的精通也是必不可少的。同时,熟悉Linux操作系统、TCP/IP协议栈、HTTP协议等基础知识,对于构建高效稳定的系统同样重要。 ... [详细]
  • Qt应用开发:创建基本窗口
    本文介绍如何使用Qt框架创建基础窗口的两种方法。第一种方法直接在main函数中创建并显示窗口;第二种方法通过定义一个继承自QWidget的类来实现更复杂的功能。 ... [详细]
  • 专注于模式识别与机器学习的研究生,对于该领域内的就业方向及具体职位要求有着浓厚的兴趣。本文将探讨智能图像/视频处理工程师的岗位要求,并为相关专业的学生提供学习建议。 ... [详细]
  • 5G时代的广域网革新:企业迈向万物智联的新起点
    随着2020年初“新基建”概念的提出,以5G、AI、IoT等为核心的新型基础设施建设正逐步改变企业的运营模式。本文探讨了在这一背景下,企业广域网(WAN)如何通过5G与SD-WAN技术的融合实现转型升级,成为推动企业智能化、数字化发展的关键力量。 ... [详细]
  • 解决Xcode PBXcp 错误:找不到文件或目录
    当在Xcode中遇到PBXcp错误提示'No such file or directory'时,通常是由于文件引用问题导致的。本文将介绍两种有效的方法来解决这一常见问题。 ... [详细]
  • 本文探讨了Lua中元表和元方法的使用,通过具体的代码示例展示了如何利用这些特性来实现类似C语言中的运算符重载功能。 ... [详细]
author-avatar
aarongwang56_972
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有