码迷,mamicode.com
首页 > 编程语言 > 详细

A*算法

时间:2018-12-27 18:30:56      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:免费   分享   作用   ima   函数的一般形式   代码   关于   nbsp   bubuko   

最近在看关于路径规划的算法,对A*算法有点认识,在这里记录一下。

A*算法总能找到最小代价路径,进行搜索的图必须满足如下条件:

1.搜索图中的每个节点的后续几点的数目是有限的。

2.搜索图中所有狐的代价都大于某个正数S

A*算法中,评估各扩展节点的代价值时需要用到估价函数,估价函数的一般形式为:

f = h + g, f代表整条路径的代价,h代表从出发点到当前节点的代价,g代表从当前节点到终点的代价。

设起始点是259,如下图,程序走向如下图所示:

 左侧三张图代表的是父矩阵(parent)的值的变化,右侧三张图代表的是checkPath矩阵的变化,其实起的就是一个标记的作用。代表已经搜索过的为1,没有搜索过的为0.

 

技术分享图片

下面这张图对应的是其距离矩阵的计算也就是f矩阵的值的变化:

技术分享图片

最后路径的产生其实是父矩阵中的一系列值,从终点往前推,因为终点是上一个节点的儿子,而上一个节点又是上上一个节点的儿子,层层递进,找到目标点,也就是原始的父亲。

具体的代码A*算法代码可从下面的地址免费下载:

https://pan.baidu.com/s/1N_GKFxiMxBmkbfZEumfGnw

 

A*算法

标签:免费   分享   作用   ima   函数的一般形式   代码   关于   nbsp   bubuko   

原文地址:https://www.cnblogs.com/zzm1/p/10185213.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!