- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
匹配的基本概念;匹配的定义:
设G=[V,E]是一个无向图,M(包含于G)是G的若干条边的集合,如果M中的任意两条边都没有公共的端点,就称M是一个匹配。;V1; 从给定的图G=[V,E]的所有匹配中把包含边数最多的匹配找出来。这种匹配即所谓的最大匹配。; 1.二分图的匹配
二分图是这样一种图:G的顶点集合V分成两部分X与Y,G中每条边的两个端点一定是一个属于X而另一个属于Y。
例如飞行员分成两部分,一部分是正驾驶员,一部分是副驾驶员。显然,如何搭配正副驾驶员才能使出航飞机最多的问题可以归结为一个二分图上的最大匹配问题。
求二分图最大匹配的算法是以前面讲的求网络最大流的方法为基础的。; 2.任意图的最大匹配
求任意图的最大匹配(或者二分图的其它形式的匹配,如完备匹配、最佳匹配),是否也可归结成网络问题来解决?有不少人试验过,但没有成功,因此要另找办法。经过一些数学家的研究,发现要解决上述匹配问题,必须先找出一些研究匹配理论的工具。下面将要介绍的交错轨、可增广轨、交错树、带花树,就是这样一些工具。;未盖点:设Vi是图G的一个顶点,如果Vi 不与任意一条属于匹配M的边相关联,就称Vi 是一个未盖点。; 交错轨
设P是图G的一条轨,如果P的任意两条相邻的边一定是一条属于M而另一条不属于M,就称P是一条交错轨。
注:如果轨P仅含一条边,那么无论该边是否属于匹配M,P一定是一条交错轨。;V1; 可增广轨
两个端点都是未盖点的交错轨叫做可增广轨。
;V1;V1;如果图中发现了两个未盖点之间仅含一条边,那么单单这一条边就组成了一条可增广轨了。
(单单这条边就组成一条交错轨,再加上它的端点都是未盖点,当然就是一条可增广轨了。)
;判断一个匹配是否是最大匹配的标准:
若匹配M中不存在可增广轨,那么M一定是最大匹配。;M匹配扩充:
把可增广轨P中原来属于匹配M的边从匹配M中去掉(红边改成黑边),而把原来不属于M的边加到匹配M1中去(黑边改成红边),变化后的匹配M1恰好比原匹配M多一条边(红边比黑边多一条)。; 对于图G的一个给定的匹配M来说,首先看看有几个未盖点。如果没有未盖点或者只有一个未盖点,就不用找了,肯定不会有可增广轨,即M是最大匹配。如果未盖点超过一个,就任意取定一个未盖点Vi,然后从Vi出发,用回溯法搜索以Vi为首的交错轨。如果搜索了所有可能情况后还未发现一条以另一个未盖点为尾的交错轨,则再取一个未盖点Vk进行回溯搜索……,直至找出一条可增广轨或者对于所有未盖点来说,都不存在一条以它为一端的可增广轨为止。; 如果遇到一个比较复杂的图,这种方法是很难用的。这种方法的主要缺点,在于搜索时太不系统,有些边和顶点在回溯时往往反复走过好几次。为了克服搜索不够系统这一缺点,并且设计一种系统搜索可增广轨的方法,还需要介绍几个概念。;交错可达
设M是图G的一个匹配,Vi是取定的未盖点,如果存在着Vi与另一顶点Vj的交错
路,就称由Vi交错可达Vj(亦可认为Vi交错可达Vi本身)。;V1; 有了交错可达的定义,可以看出,如果发现一个未盖点Vj,而由Vi又交错可达Vj,我们就找到了一条连接Vi与Vj的交错轨,也是就是一条可增广轨了。因此,要想找以Vi为一端的可增广轨,可以用下面的方法:设法把由Vi交错可达的顶点一个一个地找出来,每找到一个,就检查一下它是不是未盖点,是的话,可增广轨就找到了。如果已经把所有由Vi交错可达的顶点都找出来,而其中没有一个是未盖点,就可以肯定以Vi为一端的可增广轨一定不存在了。
为了把由Vi交错可达的顶点都找出来,还要用到一个交错树的概念。;交错树:
设M是图G=[V,E]的一个取定的匹配,T是图G的一个子图,如果T具有下述性质:
(1)T是一个树;
(2)T中存在一个顶点Vi,它是未盖点;
(3)对于T的任意一个不同于Vi的顶点来说,T中连接Vi与Vj的唯一轨是交错轨。
那么称T是一个以Vi为根的交错树。;V1; 因此,想要把由Vi交错可达的顶点都找出来,可以采用不断扩大交错树的办法。图G开始时,令交错树T只含一个顶点,就是取定的未盖点Vi,Vi是T的根,以后逐步扩大T,每扩大一次,T中新增加的顶点就是新找到的由Vi交错可达的顶点。
为了讲怎样扩大一个交错树,还要介绍一个有关顶点分类的概念。; 一类叫外点(即图中标”+”的顶点)。如果Vj是外点,连接根Vi与Vj的交错路P一定含偶数条边,且P上与Vj关联的边一定属于匹配M。
一类叫内点(即图中标 ”-”的顶点)。如果Vj是内点,连接根Vi与Vj的交错路P一定含奇数条边,且P上与Vj关联的边不属于匹
文档评论(0)