1 / 14
文档名称:

A星算法.doc

格式:doc   大小:165KB   页数:14页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

A星算法.doc

上传人:changjinlai 2019/2/16 文件大小:165 KB

下载得到文件列表

A星算法.doc

文档介绍

文档介绍:A*路径规划初探作者:Panic  文章来源:Panic的小屋  点击数:4316简介:A*算法在人工智能中是一种典型的启发式搜索算法,网友Panic翻译的一篇关于A*的算法。附有图表,非常易懂。相关链接Dijkstra算法粒子群算法遗传算法A* 搜寻法初识A*算法译者序:很久以前就知道了A*算法,但是从未认真读过相关的文章,也没有看过代码,只是脑子里有个模糊的概念。这次决定从头开始,研究一下这个被人推崇备至的简单方法,作为学习人工智能的开始。这篇文章非常知名,国内应该有不少人翻译过它,我没有查找,觉得翻译本身也是对自身英文水平的锻炼。经过努力,终于完成了文档,也明白的A*算法的原理。毫无疑问,作者用形象的描述,简洁诙谐的语言由浅入深的讲述了这一神奇的算法,相信每个读过的人都会对此有所认识(如果没有,那就是偶的翻译太差了--b)。原文链接:erence/articles/。(由于本人使用ultraedit编辑,所以没有对原文中的各种链接加以处理(除了图表),也是为了避免未经许可链接的嫌疑,有兴趣的读者可以参考原文。会者不难,A*(念作A星)算法对初学者来说的确有些难度。这篇文章并不试图对这个话题作权威的陈述。取而代之的是,它只是描述算法的原理,使你可以在进一步的阅读中理解其他相关的资料。最后,这篇文章没有程序细节。你尽可以用任意的计算机程序语言实现它。如你所愿,我在文章的末尾包含了一个指向例子程序的链接。压缩包包括C++和BlitzBasic两个语言的版本,如果你只是想看看它的运行效果,里面还包含了可执行文件。我们正在提高自己。让我们从头开始。。。序:搜索区域假设有人想从A点移动到一墙之隔的B点,如下图,绿色的是起点A,红色是终点B,蓝色方块是中间的墙。[图1]你首先注意到,搜索区域被我们划分成了方形网格。像这样,简化搜索区域,是寻路的第一步。这一方法把搜索区域简化成了一个二维数组。数组的每一个元素是网格的一个方块,方块被标记为可通过的和不可通过的。路径被描述为从A到B我们经过的方块的集合。一旦路径被找到,我们的人就从一个方格的中心走向另一个,直到到达目的地。这些中点被称为“节点”。当你阅读其他的寻路资料时,你将经常会看到人们讨论节点。为什么不把他们描述为方格呢?因为有可能你的路径被分割成其他不是方格的结构。他们完全可以是矩形,六角形,或者其他任意形状。节点能够被放置在形状的任意位置-可以在中心,或者沿着边界,或其他什么地方。我们使用这种系统,无论如何,因为它是最简单的。开始搜索正如我们处理上图网格的方法,一旦搜索区域被转化为容易处理的节点,下一步就是去引导一次找到最短路径的搜索。在A*寻路算法中,我们通过从点A开始,检查相邻方格的方式,向外扩展直到找到目标。我们做如下操作开始搜索:1,从点A开始,并且把它作为待处理点存入一个“开启列表”。开启列表就像一张购物清单。尽管现在列表里只有一个元素,但以后就会多起来。你的路径可能会通过它包含的方格,也可能不会。基本上,这是一个待检查方格的列表。2,寻找起点周围所有可到达或者可通过的方格,跳过有墙,水,或其他无法通过地形的方格。也把他们加入开启列表。为所有这些方格保存点A作为“父方格”。当我们想描述路径的时候,父方格的资料是十分重要的。后面会解释它的具体用途。3,从开启列表中删除点A,把它加入到一个“关闭列表”,列表中保存所有不需要再次检查的方格。在这一点,你应该形成如图的结构。在图中,暗绿色方格是你起始方格的中心。它被用浅蓝色描边,以表示它被加入到关闭列表中了。所有的相邻格现在都在开启列表中,它们被用浅绿色描边。每个方格都有一个灰色指针反指他们的父方格,也就是开始的方格。[图2]接着,我们选择开启列表中的临近方格,大致重复前面的过程,如下。但是,哪个方格是我们要选择的呢?是那个F值最低的。路径评分选择路径中经过哪个方格的关键是下面这个等式:F=G+H这里:*G=从起点A,沿着产生的路径,移动到网格上指定方格的移动耗费。*H=从网格上那个方格移动到终点B的预估移动耗费。这经常被称为启发式的,可能会让你有点迷惑。这样叫的原因是因为它只是个猜测。我们没办法事先知道路径的长度,因为路上可能存在各种障碍(墙,水,等等)。虽然本文只提供了一种计算H的方法,但是你可以在网上找到很多其他的方法。我们的路径是通过反复遍历开启列表并且选择具有最低F值的方格来生成的。文章将对这个过程做更详细的描述。首先,我们更深入的看看如何计算这个方程。正如上面所说,G表示沿路径从起点到当前点的移动耗费。在这个例子里,我们令水平或者垂直移动的耗费为10,对角线方向耗费为14。我们取这些值是因为沿对角线的距离是沿水平或垂直移动耗费的的根号2(别怕),。为了简化

最近更新

关于加氢裂化装置压力容器的调查分析 2页

2025年消费者购物心理分析全解读 23页

关于内部网络信息安全防护措施的探讨 2页

关于依靠科技提高农业发展支撑能力的思考 2页

2025年核酸检测与核苷酸解析攻略 79页

关于企业人力资源的成本控制及优化研究 2页

《新办个体工商户》 39页

关于“自旋核Larmor 进动转向”问题的讨论 2页

2025年护理部门年终工作汇报模板大全 25页

2025年护理研究项目课题申请撰写与评审要点解.. 18页

关于GIS扩建新间隔后耐压试验的探讨 2页

2025年慢性骨髓炎症状与治疗全解析 40页

兰州商学院图书馆藏书结构现状分析及评价 2页

2025年急性腹痛的影像学诊断关键 105页

公路施工企业项目资金管理对策与研究 2页

公众参与地方立法问题研究的开题报告 2页

全面预算管理与ERP系统融合优势分析 2页

全线相继速动距离保护新原理及其分析 2页

全民所有制企业企业基金所有权归属的矛盾及其.. 2页

全国重力台站观测资料的质量分析 2页

全国第五次新型纺纱学术讨论会在福州召开 2页

全国砂矿钻探技术经验交流会在成都召开 2页

2025年大气污染与健康生活关联解析 131页

2025年多发性硬化症MS确诊指南 24页

全国四环类抗菌素生产技术经验交流会在济宁市.. 2页

2025年喉部肿瘤治疗攻略 44页

2025年呼吸道感染主要病菌一览 39页

光通信用红外晶体器件镀膜与物理特性研究 2页

光电催化技术在有机废水处理中的研究进展 2页

2025年安徽省初中学业水平考试名校联考(一)数.. 2页