- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅析二分图匹配在信息学竞赛中的应用
湖南省长沙市长郡中学 王俊
[摘要]
本文通过对几道信息学竞赛题目的分析,举例说明了二分图匹配在信息学竞赛中的应用。二分图匹配的应用一般是通过分析某些最优化问题的性质,构造出二分图,再通过求得该二分图的最大匹配,最佳匹配等各种形式的匹配从而解决原问题。
[关键字]
匹配 二分图 最小权 最大权 优化
[正文]
一 引 言
二分图匹配是信息学竞赛中一类经典的图论算法,在近年来信息学竞赛中有广泛应用。如果可以以某一种方式将题目中的对象分成两个互补的集合,而需要求得它们之间满足某种条件的一一对应的关系时,往往可以抽象出对象以及对象之间的关系构造二分图,然后利用匹配算法来解决。这类题目通常需要考察选手对原题进行建模,构造二分图,设计匹配算法,并对其算法进行适当优化等多方面能力。下面就通过两道例题来说明二分图匹配在信息学竞赛中的一些应用。
二 Railway Communication
2.1 问题描述
某国有n个城镇,m条单向铁路。每条铁路都连接着两个不同的城镇,且该铁路系统中不存在环。现需要确定一些列车运行线,使其满足:
每条铁路最多属于一条列车运行线;
每个城镇最多被一条列车运行线通过(通过包括作为起点或终点);
每个城镇至少被一条列车运行线通过;
列车运行线的数量应尽量小。
在满足以上条件下列车运行线的长度和应该尽量小。
2.2 问题分析
题目要求列车运行线数最少,又要求在此条件下列车运行线的长度和最小,不便于一起考虑,我们不妨分步研究,先考虑列车运行线数最少的子问题。则该子问题可建立如下数学模型:给定一个有向无环图G0=(N0,A0),用尽量少的不相交的简单路径覆盖N0。
我们可以给问题建立一个二分图G=(N,A),如图2。
建立两个互补的结点集合X和Y,把点i()拆成X结点i和Y结点i。。
对于图G0中有向边(i,j), , 则在A中加入边(i,j)。如果在G0中选定(i,j)作为某条覆盖路径中的边,则在G中选定边(i,j)。
对于图G0中的任意一个结点i,可分为三类:
某条覆盖路径的起点,即它没有前驱结点,那么在二分图G中点i 的邻边均没有选。
某条覆盖路径内部的点,即它有一个前驱结点和一个后继结点,那么在二分图G中i,i 的邻边各选了1条。
某条覆盖路径的终点,即它没有后继结点,那么在二分图G中点i的邻边均没有选。
这样问题就转化成在二分图G中选一些边,且每个点的邻边中至多有一条被选中,显然这是一个二分图匹配的问题。又因为题目要求路径数最少,即路径终点数最少,即尽量多的匹配,所以是求该二分图的最大匹配,可以套用经典的匈牙利算法求解。
再来考虑求列车运行线总长度最小的问题。设原图G0中边(i,j)的边权为,则给图G的边(i,j)加入边权Wi,j , (如图3)。原问题是求图G0中在保证覆盖路径数最少时求覆盖路径总长度最小,即在二分图G中求保证匹配数最大时匹配边的权值和最小。显然就是求图G的最小权最大匹配, 由于经典的KM算法是求最大权最大匹配,那么我们再对图G进行一定修改,使得,且如果,则添加边(i,j),。其中w可以取一个比较大的正整数,但需要满足。这样用经典的KM算法求出二分图G的最大权最大匹配,即可轻易转化得到最小权最大匹配,从而解决原问题。
2.3 小结
这道题目的数学模型很容易建立,就是最小路径覆盖问题的扩展。在分析该问题的时候抓住每个点在一条覆盖路径中至多有一个前驱一个后继这个条件,可以联系到匹配中每个点也至多和一个点匹配,于是顺利转化成匹配的问题。
一一对应是匹配重要的性质。
三 Roads
3.1 问题描述
一个遥远的王国有m条道路连接着n个城市。m条道路中有n-1条石头路, m-n+1条泥土路,任意两个城市之间有且仅有一条完全用石头路连接起来的道路。
每条道路都有一个唯一确定的编号,其中石头路编号为1..n-1,泥土路编号为n..m。每条道路都需要一定的维护费,其中第i条道路每年需要Ci的费用来维护。最近该国国王准备只维护部分道路以节省费用。但是他还是希望人们可以在任两个城市间互达。
国王需要你提交维护每条道路的费用,以便他能让他的大臣来挑选出需要维护的道路,使得维护这些道路的费用是最少的。
尽管国王不知道走石头路和走泥土路的区别,但是对于人民来说石头路似乎是更好的选择。为了人民的利益,你希望维护的道路是石头路。这样你不得不在提交给国王的报告中伪造维护费用。你需要给道路i伪造一个费用Di,使得这些石头路能够被挑选。为了不让国王发现,你需要使得真实值与伪造值的差值和尽量小。
国王的大臣当然不是白痴,全部由石头路组成的方案如果是一种花费最小的方案,那么他会选择这种方案。
求出真实值与伪造值的差值和的最小值,以及得到该最小值的方案,
文档评论(0)