- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二分图的匹配.doc
第九章 二分图中的匹配
三个典型问题:
在一个有禁止位置的m×n棋盘上,能放置非攻击型车的最多个数是多少?
在一个有禁止位置的m×n棋盘上,能放置多米诺牌覆盖的最多个数是多少?
一个公司有n个工作空缺,需要有一定技能的人填补,同时有m个人申请这些项工作,每人能胜任n项工作中的若干项,问最多有多少项工作能找到合适的人选?
9.1 一般的问题描述
定义1:
令X={x1, x2, …,xm}, Y={y1,y2, …,yn},且X∩Y=Ф,而△是序偶e=(x,y)的集合,其中x∈X,y∈Y,那么三元组G=(X,△,Y)称作二分图。
定义2:
令G=(X,△,Y)是一个二分图,边集△的子集M,若M中没有两条边存在公共点,称M是二分图G的一个匹配。
定义3:
设G是一个二分图,定义(G)={∣M∣:M是G的一个匹配}为二分图G的最大匹配边数。
9.2 匹配
定义1:
G=(X,△,Y),X={x1, x2, …,xm}, Y={y1,y2, …,yn},满足∣M*∣=(G)的匹配M*称为二分图G的最大匹配。一般M*不唯一,且∣M*∣=(G)≤min{m,n}。
寻找M*的困难点:
若已知(G),那么遍历所有可能的匹配会找到M*,但搜索量巨大;
一般(G)并不事先知道,要找到M*,并求出(G)=∣M*∣难度更大。
定义2:
令u和v是二分图G=(X,△,Y)的任意两个顶点,连接u和v的互异顶点序列:
:u=u0, u1, u2, …, up-1, up=v
使得任意两个相邻顶点有一条边连接,即:{ u0, u1},{ u1, u2},…, { up-1, up}∈△,那么称序列为二分图G的一个链。链长等于序列的边数p,若u=v, 链也叫圈。
定义3:
令M为二分图G=(X,△,Y)中的一个匹配,令是M的补集,即G的不属于M的边集合,M∪=△。令u和v是顶点,且u和v一个是左顶点(即属于X),一个是右顶点(即属于Y),若连接u和v的链满足下列性质:
(1)的第一、三、五、、、边属于;
(2)的第二、四、六、、、边属于M;
(3)u和v都不与M的边相连。
那么称为关于匹配M的交错链,简称M-交错链。
M-交错链的性质:
(1)M-交错链的长是奇数2k+1, k≧0;
(2)设M表示的属于M的边集合,表示的属于的边集合,那么有:∣∣=∣M∣+1
例:
定理9.2.1:
令M为二分图G=(X,△,Y)中的一个匹配,则M是最大匹配当且仅当不存在M-交错链。
推论9.2.1:
若M不是二分图G的最大匹配,那么必存在M-交错链。
进展:
得到了最大匹配的特征,即只需找M-交错链,找不到,则M就是最大匹配。
困难:
搜索M-交错链类似于穷举,算法上不可行,即在构造最大匹配的时候不知算法何时结束。
怎么办?
当找到一个匹配M时,希望能有一种方法直接直接验证其是否为最大匹配,若不是,则继续找(肯定能找到);若是,则算法结束。
定义4:
令G=(X,△,Y)是一个二分图,S是G的顶点X∪Y的子集,若G中任一条边的两个顶点至少有一个属于S,即:
{x,y}∩S≠Ф,对{x,y}∈△
则称S是G的一个覆盖。
例:
定义5:
令c(G)=min{∣S∣:S是G的覆盖},即c(G)是G的覆盖的最小顶点个数,称c(G)为G的覆盖数。显然,G的任一个覆盖S满足∣S∣≧c(G),把满足∣S∣=c(G)的覆盖S称为G的最小覆盖。
****图的最小顶点覆盖问题是典型的NP难题。
引理9.2.2:
如果G是一个二分图,那么(G)≦c(G),即二分图G的最大匹配边数不会超过G的覆盖数。
例:
求二分图G的最大匹配和最小覆盖的算法:
令G=(X,△,Y)是一个二分图,其中X={x1, x2, …,xm}, Y={y1,y2, …,yn},令M为得到的G的任一匹配。
将X的所有不与M的边相关联的顶点标上(*),并称所有的顶点为未被扫描的,转(2);
如果在上一步没有新的标记(例如(*),(yj))加到X的顶点上,则停止。否则,转(3);
当存在X的被标记但未被扫描的顶点时,选择一个被标记但未被扫描的顶点,比如xi, 用(xi)标记Y的所有顶点,这些顶点被不属于M且尚未标记的边连到xi。现在顶点xi是被扫描的,若X中不存在被标记但未被扫描的顶点时,转(4);
若在步骤(3)中没有新的标记加到Y中顶点上,则停止;否则,转(5);
当存在Y中被标记但未被扫描的顶点时,选择Y中一个被标记但未被扫描的顶点,比如yj, 用(yj)标记X 的所有顶点,这些顶点被属于M且尚未标记的边连到yj。现在顶点yj是被扫描的,若Y中不存在被标记但未被扫描的顶点时,转(2);
例1:
如图,确定二分图G的最大匹配和最小覆盖。
算法的收敛性证明:
定义6:
突破点: 存在Y中的
您可能关注的文档
最近下载
- 英语晨读美文.docx VIP
- 国旗下讲话------心无旁骛 全力奔跑在追梦路上.doc VIP
- 2025届高考语文文言文复习《登泰山记》知识清单.pdf VIP
- 《吴正宪课堂教学策略》PPT.pptx VIP
- 《山西省重点排放单位参与全国碳市场操作指引2.0(精编版)》.pdf VIP
- 2023年全力迎接考试励志演讲稿.docx VIP
- 2025春新人教版物理八年级下册《第十章 浮力》大单元整体教学设计[2022课标].docx
- FANUC发那科机器人控制柜内部电气连接方法.pdf VIP
- 第四届全省职业技能大赛技术文件—区块链应用操作项目.pdf
- 【初一作文】全力奔跑勇敢超越.docx VIP
文档评论(0)