- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
障碍最短路径算法研究
障碍最短路径算法研究
小组成员
陈 康 (2012311316 )交叉研2 班
冯立新 (2012210914 )计研123 班
应用背景
障碍最短路径问题是图论中最短路径问题的一个自然的推广,考虑的是在有
障碍情况下的最短路径问题。如工厂中机器人在工作间内如何规划运动的线路、
GIS 系统里地图上两点之间的最短距离、游戏设计中自动寻路、网络路由策略选
择、电路板中线路设计等诸多问题都可归结为有障碍下的最短路径问题。解决这
个问题可以带来非常明显经济效益和社会效益。同时这个问题是计算几何领域的
古老而经典问题之一,而且与它相关的子问题,如单起始点多终止点障碍最短路
径、最短链接、可见图等问题也受到了持续的关注与研究。
问题定义
给定在平面中指定起始点 pStart、终止点 pEnd 和 N 个互不相交的多边形
障碍物 P1 ,P2 ,… ,Pn ,计算起始点 pStart 和终止点 pEnd 之间的最短路径。
相关工作
障碍最短路径问题在计算几何领域曾经得到了广泛的研究,但是由于一直缺
乏简单高效的算法,目前这个方向也逐渐冷却。在实际应用中 ,人们往往更愿意
使用简单高效的非精确算法(如 A*等 ),但我们这里只讨论精确算法。
目前求解障碍最短路径问题有两种基本思路 :一种是直接构造全局可见性图,
把问题转化成无障碍图的最短路径求解问题;另外一种是通过区域分割,不断排
除不可能区域 ,最终构造出最短路径地图。构造全局可见性图原理比较简单,但
由于需要为大量不可能经过的点构造可见性图 ,所以计算代价比较高。最短路径
地图的原理比较复杂,但算法效率显著提高。当前理论上的最优算法就是基于这
种思路 ,利用波浪线的方法对几何区域进行快速分割实现的。
通过构造可见性图求解最短路径问题直观上很容易理解 ,一旦构造出全局的
可见性图 ,我们就从原问题中抽象出了一幅完全图 ,每一条边都代表了一个可行
的路径 ,接下来要做的就是使用图论中经典的 Dijkstra 算法求解最短路径。事
实上构造可见性图本身就是一个相当基本的问题 ,包括 Art Gallery Problem 在
内的一系列经典问题都依赖于该问题,所以单纯对可见性图构造算法有着大量的
研究[3]。
构造可见性图的一种经典的方法是旋转扫描线算法[1] ,其复杂度为
O(n2logn) ,其中 n 为障碍物顶点的数目。我们实现的也是这个算法,具体内容
我们会在下文中仔细分析。Ghosh 和 Mount 对该算法进行了改进[2] ,使得复
杂度降至 O(nlogn+E) (n 是顶点数,E 是可见性图的边数)。它的思路是以平面
扫描三角剖分形式给出了有障碍情况下可见图的构建。主要的思想是 Funnel
Sequence (FNL )漏斗的分割和合并。漏斗可以看作覆盖所有障碍的多边形边
E 的两个顶点,按照顺时针或者逆时针顺序的所有可见顶点的序列,相连顶点形
成的边是最靠近 E 的左或者右的线段。通过平面扫描的方式,新加入的多边形的
边对应的新漏斗是从原多边凸内链上边的漏斗中分割得到。最后得到的就是要求
的可见图。
同样在三维空间中也存在可见性图,但由于2 维可见性图的概念并不能简单
地直接推广到 3 维,维数升高带来的代数难度和组合难度导致三维空间的可见性
图复杂度更高。Joseph [6]回顾了 3 维可见图的发展历程,指出了 3 维可见图构
造的 NP-hard 性质。
障碍最短路径的另外一种求解思路是直接在几何域上进行运算。Mitchell[4]
的算法考虑了移动物体的尺寸,将整幅地图划分成大小相等的小区域 ,计算哪些
小区域是可以通过的 ,最终将每一个小区域抽象成一个节点,形成一个联通图,
在此基础上同样应用图论最短路径算法。算法的主要代价在于决定哪些小区域是
可以通过的,该算法的时间复杂度为 O(kn) ,k 为障碍的个数,n 为障碍多边形
的边的个数。目前理论上的最优的算法在此基础上由 Hershberger 和 Suri 改进
[5] 提出 ,时间复杂度 O(nlogn)。他们采用的是 continuous Dijkstra 方法 ,
也就是形象的波浪线传播方法对最短路径地图进行计算 ,算法通过对平面采用四
叉树划分加速波浪的事件传递,对非近邻的波浪则采取近似处理从而得到最优的
构造算法。但与大多数理论最优算法类似,该算法在实现上过于复杂,实用性不
高。
输入限定和衰退处理
计算几何的很多算法之所以停留在理论阶段,除
原创力文档


文档评论(0)