K优路径算法设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
K优路径算法设计

我们所采用的K优路径算法出自日本京都大学N.Katoh先生在1982年的NETWORKS期刊上发表的“An Efficient Algorithm for K Shortest Simple Paths”,算法思路清晰、叙述详实,借鉴了很多知名的K路径算法设计,具备很高的权威性。以下是对算法的译文介绍: 需要满足的前提条件如下: 应用于无向的图结构; 任意相连的两点的边权值大于0; 任意两点间的路径不允许成环,也就是路径中不包含重复节点; 4、无向图中的边的条数要大于等于节点的个数; 有关K路径算法的符号说明: —— 无向图G V —— 包含n个节点的集合; E —— 包含m条边的集合 ; —— 表示从指定节点s到t的第K优路径,那么就是s到t的最优路径,我们将采用 Dijkstra算法得出; —— 图 中节点v到所有其他节点的最短路径树; —— 中v到u的最短路径;在无向图中始终满足,; —— 经过的节点序列,用以表示;其中,; —— 的初始部分,由个节点组成; —— 的剩余部分,由个节点组成;此处,和均满足; ——当时,就等于(对于某个而言);但如果对于任何一个,当时,将从的某个点上偏离出去;后一种情况下,采用来表示节点,在该节点从中分支出去[也就是说,包含在当中,但不被包含]; ——同样的,采用来表示节点,在该节点从的反向分支出去; 注1:对每一个在上的节点,均满足; 注2:在后续算法描述中,对任意节点均满足; 一、次优和渐次优路径算法描述 次优和渐次优路径算法描述及其所遵循的定理,是KSP算法的理论基础。现描述如下: 1.1 次优路径的计算 定理1 如果图中有若干条从s到t的不包含[也就是说,在到达之前从中偏离出去]的路径,那么其中必有一条相对最短的路径。这样的最短路径必然属于以下两种路径类型之一: 类型1:,且; 类型2:,此时既不在中,也不在中,且; 类型1和类型2的路径如下图所示, 类型1和类型2的路径图 类型1的最短路径可以通过穷举所有的节点获得;同样,类型2的最短路径可以通过穷举所有边获得;本算法中,将采用FSP子程序实现上述计算,FSP子程序将在后面介绍; 根据定理1,我们可以通过计算从s到t的不包含的最短路径的方式,获得。 1.2 渐次优路径的计算 为了计算,我们假设和共有一段初始子路径,但,满足。如果 是图中,从节点s到节点t的所有路径的集合,那么必将在中产生。在这里我们把分成以下的3部分: ……………………….(1) ………………………….. (2) ………………………………………………(3) 可以发现,如果,将是空集;如果,将是空集。从下图我们可以很明显的看出,各集合相互独立,它们的合集等于。此处,我们用 ,和分别表示,,的最短路径,再在它们当中得出的最短路径就被认为是。 最短路径,和可以通过应用定理1按照如下的方式获得: 1、通过在中删除节点(连同它们之间的边),获得图。分别将节点和t作为起始和目标节点。在图中应用定理1获得路径P,其不包含 ,那么。 2、通过在中删除节点和一条边,获得图。分别将节点和t作为起始和目标节点。在图中应用定理1获得路径P,其不包含,那么。 3、在图中应用定理1获得路径,其不包含。 二、优路径的系统产生 除了前面定义过的,,以外,以下给出了更多的需要用到的符号定义。 ;………(2.1) ——索引值表示,对于,能够使与重合的最大值 ;……………..(2.2) ——索引值表示,能够满足的最小值;能够保证和的公共部分是; ;………………..(2.3) ——用于存储的集合,以表明在节点,(并且满足)从中偏离出去; ;…(2.4) ——,用于存储节点的集合; —— 从无向图中删除节点以及受它们影响的边以后,得到的图;……………………………………………………………..(2.5) …………………………………………… (2.6) ——是图中,从节点s到节点t的所有路径的集合,并且假设 成立; ——表示刨除前K-1条优选路径后的路径集合;算法中,将分成: ………….............(2.7) (i)对于任意的均包含,但在到达之前从中分支出去(也就是说,不同于)。 (ii)如果,中的路径不会把作为它的初始子路径, [也就是说,不同于(满足)]。 各集合相互独立,它们的合集等于。属于每个非空集合的最短路径被存储在链表中,这样中的最短路径就是。以下描述了集合的系统化产生过程,以及每个集合中最短路径的计算过程。 对于(也就是说,已获得),存在路径集合。获得中的最短路径的计算过程1.1所示。很自然地,我们会考虑到这样

文档评论(0)

almm118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档