




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
选取日期键入文档副标题 | 刘绍翰nuaa未知环境的动态路径规划 度量距离灰度化四连通和8连通。第一章、静态搜索与A*算法很多时候,我们需要在一个图中寻找一条从源点到目标节点的最短路径,我们称之为路径规划。搜索算法主要分为,盲目搜索和启发式搜索,它们的一个作用是能够从解空间中需找一条从源点到目标节点的最短路径。启发式搜索是在搜索的过程中,参考一定的指标函数来决定搜索的策略。迪杰斯特拉算法,类似于广度优先遍历,利用源点到当前节点的代价值作为指标,其一定可以获得从原点到目标节点的最短路,但是其访问的节点数很多。而最好优先搜索,采用离标节点的距离作为搜索的代价参考值,贪心选择最小的扩展节点,也可以获得最短路径,而且其搜索的节点数目大大减少。 图1 迪杰斯特拉算法 图2 最好优先搜索算法当地图中包含障碍物时,迪杰斯特拉算法,仍然可以获得最短路径的路径,最好优先搜索的节点尽管少,但是其不能获得最优解。 图3 迪杰斯特拉算法 图4 最好优先搜索算法而A*算法,参考了从原点到当前节点的代价值和当前节点到目标节点启发值,综合了迪杰斯特拉算法和做好优先搜索算法优点,在有障碍物和无障碍物的地图上,可以像迪杰斯特拉算法一样求得最短路径同时,同时能够像最好优先搜索一样减少搜索范围,减少搜索节点的数目。 图5 无障碍物时A*路径规划 图6 有障碍物时A*路径规划算法经典的迪杰斯特拉算法可以求得最短的路径,而启发式搜索A* 算法,不但可以求得最短路,而且可以使得搜索的范围大大减少,上述算法是传统的静态路径规划算法,其规划的前提条件是已经知地图的结构。A*算法属于离线事先规划,在规划完毕之后,可以沿着最优路径移动,不是在线规划,不能一边规划一边移动。A*算法的基本理论A*算法又叫做启发式搜索算法,具有悠久的历史,其启发函数f=g+h。其中g表示从原点到当前节点已经付出的代价,好表示从当前节点到目标节点的启发值。1) A*算法必须满足h(x)=h*(x),其中h*(x)是实际的启发值,h*(x)在实际中通常是无法事先得知的,但是这个条件是很容易满足,只要满足该条件,一定能够获得最优解。2) 如果最短路径长度为C*, 则在算法结束前,open表中至少有一个节点n, 满足 f(n) a-b-c-.-n-.-goal. 且在当前时刻,路径中在节点n前的节点都在closed表中,即已经扩展了,而节点n自己在open表中(注意:算法结束前任意时刻都有这样的节点n存在)。 则由于该条路劲是最短路径,我们可以知道此时在open表中的n的 g(n)值已经是准确值, 即最小值了。而 f(n) = g(n) + h(n) = g*(n) + h(n) = g*(n) + h*(n) = C* . (最后一个式子取等号是由于n在最短路径上) 有了这个性质,我们就知道,当A*算法扩展到目标节点时,必有f(goal) = g(goal) C*,由于目标节点是被扩展节点, 则open表中其他任意其他节点t, 都有f(t) = f(goal) C*, 和性质1 矛盾。3) 扩展新节点时很容易出现重复节点的问题,从上面的伪代码可以看出, 如果新扩展节点已经存在于closed表中, 且f值比表中节点的f值还要小的话,则除了更新该节点f值,还需要重新扩展该节点,这简直就是把人从棺材里拖出来。 但是如果h函数满足相容性,这一步就可以省掉了。所谓相容性就是指对任意节点s1,都满足: h(s1) = h(s2) + c(s1,s2) (其中c(s1,s2)是指从s1转移到s2的代价)有这个性质我们在不等号两边加上g(s1), 则有 g(s1) + h(s1) = h(s2) + g(s1) + c(s1,s2)。 如果我们此时扩展s1, 而s2又是能被s1扩展的节点,则由这个式子我们得到 f(s1) = g(x)+h(x)即代价函数f的值是非递减的。5) 下面我们来讨论一下h函数的相容性 ,由于C(x,y)为从 x到y的实际代价,因为h的估计小于实际的代价值,h(x)h*(x), h(y) = h(x)- h(y)。?6) f的满足三角不等式:h(s,s)=h(s,s)+h(s,s)=h(s,s)+h(s,s) +h(s,s)=.可以一直展开下去。7)A*算法的实现众所周知,对图的表示可以采用数组或链表,而且这些表示法也各也优缺点,数组可以方便地实现对其中某个元素的存取,但插入和删除操作却很困难,而链表则利于插入和删除,但对某个特定元素的定位却需借助于搜索。而A*算法则需要快速插入和删除所求得的最优值以及可以对当前结点以下结点的操作,因而数组或链表都显得太通用了,用来实现A*算法会使速度有所降低。要实现这些,可以通过二分树、跳转表等数据结构来实现,我采用的是简单而高效的带优先权的堆栈,经实验表明,一个1000个结点的图,插入而且移动一个排序的链表平均需500次比较和2次移动;未排序的链表平均需1000次比较和2次移动;而堆仅需10次比较和10次移动。需要指出的是,当结点数n大于10,000时,堆将不再是正确的选择,但这足已满足我们一般的要求。还有一种更好的方法是Hot Queues,而且这种方法还可应用于Dijkstra算法以降低其复杂度。当我们移动估价函数值为f的结点时,我们插入值为f+(=0将意味着估价函数是有效的,反之亦然),常量C为从一个结点到相邻结点的权的最大改变。同时我们用一些“容器”来保存估价函数值的子集(这正如o(n)的排序算法的思想),例如,当有10个“容器”时,堆将平均只包含1/10的估价值。因而这将比用堆更为有效。A*算法的变形a. Beam Search在A*算法中需要保留所有的结点,这将使得时间和空间的消耗都很大,而Beam Search方法对结点数作出限期,当结点数过多时,它会将一些不(大)可能为最优的点排除,从而降低时间和空间的要求,但需要说明的是,由于在排除结点后需对结点排序,当排序的工作量大于排除点后所节省的工作量,则该方法无意义。b. Iterative deepening这是一种在人工智能中常使用的方法,它首先产生一定值作为搜索的深度,当未能搜索到解的时候,对搜索的深度增加,继续搜索。c. Dynamic weighting这种算法是基于这样的考虑,即在搜索初期以速度优先,在搜索后期以准确度优先(这可通过对搜索初、后期赋予不同的权值来实现)。即:f(p) = g(p) + w(p) * h(p)d. Bidirectional search这种算法从起点和终点同时应用A*算法,直到有结点相遇。其缺点在于复杂度太大,一般仅用于复杂的图形。e. Hierarchical A*这种算法思想是将搜索过程化,对每个简单过程求解从而得全局较优解。正如当我们到另一城市时,可分解为从家里“搜索”一条路径至车站,再从车站“搜索”一条路径到另一城市,当我们从家里出发时,需要考虑的是怎样尽快地到达车站,而不是怎样尽快地到另一城市。f. Dynamic A*(D*)这种算法主要用于人工智能和机器人技术。由于A*算法一开始要求获得全部信息,而这在实际中有时是不可能的,而D*算法就是在假定信息不完整的前提下应用A*算法,但它会随着得到信息的增多而不断改进结果,这就决定了它对空间的要求相当高,因为它需要保留以前的所有获得信息。第二章、动态路径规划在很多时候,地图是未知的或者地图在发生变化、或者需要一边执行一边规划。比如电子游戏中(帝国时代、黑暗王朝、横扫千军),经常需要找到一条好的路径避免障碍物、敌人,并把代价(燃料,时间,距离,装备,金
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年初入职场新人面试技巧与常见问题解答
- 20XX年度XX市社会保基金管理局信息系统运维服务项目采购需求
- 单韵母的教学课件
- 2025年水利工程管理专业初级考试要点回顾与热点预测题集
- 中式面点师教学课件
- 2025年特岗教师招聘考试美术学科模拟试题及答案
- 2025年新媒体运营师实战手册与模拟题集
- 2025年河南省平顶山市中考化学一模试卷
- 电信诈骗消防知识培训课件
- 2025年中小学教师招聘考试数学科目模拟题与解析
- GB/T 9869.2-2025橡胶用硫化仪测定硫化特性第2部分:圆盘振荡硫化仪
- 保密教育培训课件内容
- 陕西省专业技术人员继续教育2025公需课《党的二十届三中全会精神解读与高质量发展》20学时题库及答案
- 2024-2025学年人教版数学五年级下学期期末试卷(含答案)
- 霍尔电流传感器实训台课件
- 2023年国药控股股份有限公司招聘笔试题库及答案解析
- 石料场开采方案
- 应急中心组织架构
- 混凝土搅拌站实验室质量管理手册47590试卷教案
- 电气施工四措两案9.9
- 护理质量管理会议记录范文
评论
0/150
提交评论