- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最短路算法及其应用最短路算法及其应用
最短路算法及其应用
广东北江中学 余远铭
【摘要】
最短路问题是图论中的核心问题之一,它是许多更深层算法的基础。同时,该问题有着大量的生产实际的背景。不少问题从表面上看与最短路问题没有什么关系,却也可以归结为最短路问题。本文较详尽地介绍了相关的基本概念、常用算法及其适用范围,并对其应用做出了举例说明,侧重于模型的建立、思考和证明的过程,最后作出总结。
【关键字】
最短路
【目录】
一、基本概念 2
1.1 定义 2
1.2简单变体 2
1.3负权边 3
1.4重要性质及松弛技术 4
二、常用算法 5
2.1 Dijkstra算法 5
2.2 Bellman-Ford算法 7
2.3 SPFA算法 8
三、应用举例 10
3.1 例题1——货币兑换 10
3.2 例题2——双调路径 11
3.3 例题3——Layout 13
3.4 例题4——网络提速 15
四、总结 18
R为从边到实型权值的映射。路径P=(v0, v1,……, vk)的权是指其组成边的所有权值之和:
定义u到v间最短路径的权为
从结点u到结点v的最短路径定义为权的任何路径。
在乘车旅行的例子中,我们可以把公路地图模型化为一个图:结点表示路口,边表示连接两个路口的公路,边权表示公路的长度。我们的目标是从起点出发找一条到达目的地的最短路径。
边的权常被解释为一种度量方法,而不仅仅是距离。它们常常被用来表示时间、金钱、罚款、损失或任何其他沿路径线性积累的数量形式。
1.2简单变体
单目标最短路径问题: 找出从每一结点v到某指定结点u的一条最短路径。把图中的每条边反向,我们就可以把这一问题转化为单源最短路径问题。
单对结点间的最短路径问题:对于某给定结点u和v,找出从u到v的一条最短路径。如果我们解决了源结点为u的单源问题,则这一问题也就获得了解决。对于该问题的最坏情况,从渐进意义上看,目前还未发现比最好的单源算法更快的方法。
每对结点间的最短路径问题:对于每对结点u和v,找出从u到v的最短路径。我们可以用单源算法对每个结点作为源点运行一次就可以解决问题。
1.3负权边
在某些单源最短路问题中,可能存在权为负的边。如果图G(V,E)不包含由源s可达的负权回路,则对所有,最短路径的权的定义依然正确。即使它是一个负值也是如此。但如果存在一从s可达的负权回路,最短路径的定义就不能成立了。从s到该回路上的结点不存在最短路径——因为我们总可以顺着找出的“最短”路径再穿过负权回路从而获得一权值更小的路径,因此如果从s到v的某路径中存在一负权回路,我们定义。
图1 含有负权和负权回路的图
图1说明负的权值对最短路径的权的影响。每个结点内的数字是从源点s到该结点的最短路径的权。因为从s到a只存在一条路径(路径s,a),所以:。
类似地,从s到b也只有一条通路,所以:
。
从s到c则存在无数条路径:s,c,s,c,d,c,s,c,d,c,c,d,c等等。因为回路c,d,c的权为6+(-3)=30,所以从s到c的最短路径为s,c,其权为:
。
类似地,从s到d的最短路径为s,c,d,其权为:
。
同样,从s到e存在无数条路径:s,e,s,e,f,e,s,e,f,e,f,e等等.由于回路e,f,e的权为3+(-6)=-30,所以从s到e没有最短路径。只要穿越负权回路任意次,我们就可以发现从s到e的路径可以有任意小的负权值,所以:
类似地,
因为g是从f可达的结点,我们从s到g的路径可以有任意小的负权值,则:
。
结点h,j,i也形成一权值为负的回路,但因为它们从s不可达,因此
。
一些最短路径的算法,例如Dijkstra算法,都假定输入图中所有边的权取非负数,如公路地图实例。另外一些最短路算法,如Bellman-Ford算法,允许输入图中存在权为负的边,只要不存在从源点可达的权为负的回路,这些算法都能给出正确的解答。特定地说,如果存在这样一个权为负的回路,这些算法可以检测出这种回路的存在。
1.4重要性质及松弛技术
本文的算法所运用的主要技术是松弛技术,它反复减小每个结点的实际最短路径的权的上限,直到该上限等于最短路径的权。让我们看看如何运用松弛技术并正式证明它的一些特性。
定理1 (最优子结构) 给定有向加权图G=(V,E),设P=v1, v2,…, vk为从结点v1到结点vk的一条最短路径,对任意i,j有i=j=k,设Pij= vi, vi+1,…, vj为从vi到vj的P的子路径,则Pij是从vi到vj的一条最短路径。
证明:我们把路径P分解为v1,v2,…,vi,vi+1,…vj,…vk。则w(P)=w(P1i)+w(Pij)+w(Pjk)。现在假设从vi到vj存在一路径P’ij,且w(P’ij)w(Pij),则将P中的路径Pij
您可能关注的文档
- 最新版高中数学圆锥曲线.doc
- 最新申请注册分类表.doc
- 最新电话行销话术1.doc
- 最新电镀厂废水处理.doc
- 最新的48种营销技巧.doc
- 最新电影排行榜.doc
- 最新的外企待遇 来源.doc
- 最新的公司注销流程.doc
- 最新病历记录模板.doc
- 最新监理规划范本.doc
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
文档评论(0)