A算法的改进课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
沈阳大学
Floyd-Warshall算法的描述如下:
for k ← 1 to n do
for i ← 1 to n do
for j ← 1 to n do
if (Di,k + Dk,j < Di,j) then
Di,j ← Di,k + Dk,j;
其中Di,j表示由点i到点j的代价,当Di,j为∞表示两点之间没有任何连接。
(2)Dijkstra
求单源、无负权的最短路。时效性较好,时间复杂度为O(V*V+E)。
源点可达的话,O(V*lgV+E*lgV)=>O(E*lgV)。
当是稀疏图的情况时,此时E=V*V/lgV,所以算法的时间复杂度可为O(V^2)。若是斐波那契堆作优先队列的话,算法时间复杂度,则为O(V*lgV + E)。
(3)Bellman-Ford
求单源最短路,可以判断有无负权回路(若有,则不存在最短路),时效性较好,时间复杂度O(VE)。
Bellman-Ford算法是求解单源最短路径问题的一种算法。
单源点的最短路径问题是指:给定一个加权有向图G和源点s,对于图G中的任意一点v,求从s到v的最短路径。与Dijkstra算法不同的是,在Bellman-Ford算法中,边的权值可以为负数。设想从我们可以从图中找到一个环路(即从v出发,经过若干个点之后又回到v)且这个环路中所有边的权值之和为负。那么通过这个环路,环路中任意两点的最短路径就可以无穷小下去。如果不处理这个负环路,程序就会永远运行下去。而Bellman-Ford算法具有分辨这种负环路的能力。A*(A-Star)算法是一种静态路网中求解最短路最有效的直接搜索方法。注意是最有效的直接搜索算法。之后涌现了很多预处理算法(ALT,CH,HL等等),在线查询效率是A*算法的数千甚至上万倍。公式表示为:f(n)=g(n)+h(n),其中f(n) 是从初始点经由节点n到目标点的估价函数,g(n) 是在状态空间中从初始节点到n节点的实际代价,h(n) 是从n到目标节点最佳路径的估计代价。保证找到最短路径(最优解的)条件,关键在于估价函数h(n)的选取:
估价值h(n)<= n到目标节点的距离实际值,这种情况下,搜索的点数多,搜索范围大,效率低。但能得到最优解。并且如果h(n)=d(n),即距离估计h(n)等于最短距离,那么搜索将严格沿着最短路径进行,此时的搜索效率是最高的。如果估价值>实际值,搜索的点数少,搜索范围小,效率高,但不能保证得到最优解。
算法是一种启发式搜索算法, 在路径规划中得到广泛的应用, 其中启发函数的设计尤其重要。本文针对路径规划问题, 对A* 算法作了以下改进: 一是在估价函数中考虑以距离和方向两个要素, 通过归一化处理解决了单位不统一的问题; 二是利用 k- d 树空间索引结构, 动态加载节点信息, 减小内存使用空间。实验结果表明, 改进后的A* 算法的搜索效率得到了明显的提高。最经典的最短路径搜索算法是 Dijkstra算法,属于遍历搜索, 它简单易用并总能搜索到最短路径。但是当网络中节点数较多时,该算法搜索的结点数量会很大,效率非常低。因此有人提出了启发式搜索算法,如: 局部择优搜索法、最好优先搜索法、A*算法等。启发式搜索就是在状态空间中, 对每一个搜索的位置进行评估, 得到最好的位置,从而在这个位置进行搜索直到搜索到目标为止。目前在路径优化领域, 最流行的启发式搜索算法当属由 H ar,t Nilsson, Raphael等人首先提出的 A* 算法。它利用启发函数来估计任意点到目标点的远近程度, 从而减少搜索空间, 提高搜索效率。许多文献都对 A* 算法进行了研究, 并且都提出在估价函数中引入距离和方向两个要素。但是距离和方向的单位是不统一的,所以在利用时会出现一些问题, 本文针对这一问题进行了研究,并对估价函数进行了改进。另外,为了进一步提高算法的运行效率,本文在算法运行结构上,采用 k- d树空间索引结构,降低内存存储空间。实验结果证明了改进后算法的合理性和可行性。
3.设计的过程与分析
A*算法是建立在Dijkstra和 BFS(最好优先搜索 )算法基础上的。它的整体框架采用遍历搜索法, 但是它采用了启发函数来估计地图上任意点到目标点的费用, 从而可以很好地选择搜索方向。A*算法引入了当前节点j的启发函数 f*( j),当前节点 j的启发函数定义为: f*(j)=g(j)+h*(j)(1)其中 g(j)是从起点到当前节点 j的实际费用的量度, h*(j)是从当前节点j到终点的最小费用的估计。
图2 估价函数构造示意图
沈阳大学
图3a改进前的搜索路径
沈阳大学
图3b 改进后的搜索路径
实验采用郑州市地图,节点2606个,路段4127条,在 core i5, 机上运行。与其他算法的实验结果进行了对比, 结果见表1。表中: T 表示永久标记节点的个数, D表示规划路径长度。
图4 临时标记节点个数比较
课程设计说明书 NO.10
沈阳大学
参考文献要列出5篇以上,格式如下:
[1]谢宋和,甘勇.单片机模糊控制系统设计与应用实例[M].北京:电子工业出版社, 1999.5:20-25
(参考书或专著格式为:
著者.书名[M].版本(第1版不注).出版地:出版者,出版年月:引文所在页码)
[2]潘新民,王燕芳.微型计算机控制技术[M],第2版.北京:电子工业出版社, 2003.4:305-350
(1本书只能作为1篇参考文献,不能将1本书列为多个参考文献)
[3]范立南,谢子殿.单片机原理及应用教程[M].北京:北京大学出版社, 2006.1:123-130
[4] Newman W M, Sbroull R F. Principles of Interactive Computer Graphics[M]. New York: McGraw Hill, 1979.10:10-25
(参考期刊杂志格式为:
作者.论文题目[J].期刊名,出版年,卷号(期号):页码)(期刊名前不写出版地)
[6]Mastri A R. Neuropathy of diabetic neurogenic bladder[J]. Ann Intern Med, 1980, 92(2):316-318
[7]范立南,韩晓微,王忠石等.基于多结构元的噪声污染灰度图像边缘检测研究[J].武汉大学学报(工学版), 2003,49(3):45-49
[8] index.asp
(一般情况下不要用网址作为参考文献,如果用,最多1个)
注:[M]表示参考的是书籍;[J]表示参考的是学术期刊的论文;如果参考会议论文集中的论文用[C]。
要求:
全部打印在A4纸(二本),各级标题四号宋体加粗,正文文字小四号宋体,,程序五号times new roman,字数3000字以上,15页以上。首行缩进2个字符,行距1.5倍。
严禁抄袭,如有雷同者,均按不及格论处。!!!!!!!!!!!!!!!
参考文献到学校的图书馆网站查询,5篇,近三年,勿抄;且我给的参考文献只是格式,勿使用我所列出的文献。
图及表格要有图注(在图的下方,居中,黑体5号字)及表注(在表的上方,居中,
黑体5号字)注:本页不用打印,如页数不够可自行添加。