读书人

关于A*算法解决办法

发布时间: 2013-01-08 14:02:13 作者: rapoo

关于A*算法
有2个问题没搞明白:

1. 是否有最优解——网上说只要h(n)<h*(n),就有最优解,这个条件对一般地图取h(n)为2点距离即可(成立)
但好像简单的四点求最优路径都不行

a------5--------b-------4------c
a------7--------b-------1------c

2. 算法在处理节点过程中,如果发现新节点在close表中,有的算法处理后放入open表,有的算法完全不处理
这两种哪个是对的?
[解决办法]
>这个条件对一般地图取h(n)为2点距离即可(成立)
但好像简单的四点求最优路径都不行

是。地图有一个额外的性质就是它能嵌入一个平面,由于平面有欧几里得距离所以可以得到一个启发函数。你给的例子是个一般的图,因为不能嵌入平面所以只能另行寻找启发函数。

>有的算法处理后放入open表,有的算法完全不处理
这两种哪个是对的?

当h满足h(x)<=d(x,y)+h(y)的时候,则可以不处理。

读书人网 >软件架构设计

热点推荐