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(别怕),。为了简化

最近更新

二零二五年度地下室住宅租赁合同包含附属设施.. 8页

二零二五年度商业街区装饰劳务服务协议 10页

二零二五年度吊装作业钩机租赁服务协议 8页

1.工商管理硕士培养方案 5页

(完整版)格力企业战略管理案例分析 5页

二零二五年度企业园区清洁维护与保洁员培训协.. 8页

二零二五年度个人个人信用贷款合同范本 7页

主题公园改造免租期协议 8页

2025年香港服装公司国际物流及仓储服务合同模.. 8页

2025年度高端奢侈品销售代理合作协议书 10页

2025年度餐饮行业厨师招聘与管理合同 7页

2025年度防护栏安装与应急救援设施配套合同 9页

2025年度金融科技创新返点奖励合同 8页

2025年度跨境电商平台销售代理服务合同 8页

2025年度解除物流配送合作协议的声明函 7页

2025年度茶叶品牌连锁店加盟区域市场开发合同.. 9页

2025年度网络安全应急响应分户口服务合同 9页

2025年度绿色出行电动车租赁服务协议 8页

2025年度租赁挖机设备租赁价格调整合同 9页

2025年度电梯设备安装、验收与安全评估合同 11页

2025年度甲方乙方新能源汽车充电桩运营合作协.. 10页

2025年度特色培训机构报名合同 9页

2025年度烟草证转让与区域市场保护及售后服务.. 10页

2025年度汽车尾气排放检测维修合同 10页

2025年度桥梁工程信息化管理服务合同 8页

2025年度智能合同审批及管理流程规范协议 9页

2025年度无房产证房屋租赁后买卖合同 8页

2025年吕梁职业技术学院单招职业适应性测试题.. 74页

高清地图中国31省市区最全河流水系分布地图建.. 25页

2023年北京市事业单位统考真题及答案 11页