A算法由f(n)=g(n)+h(n)俩个因素决定,g(n)是这一步的代价函数,h(n)是这一步的预估函数;
对于A*算法来说,评判函数也是f(n)=g∗(n)+h∗(n)这个,只不过加了约束条件,g∗(n)>0,h∗(n)<=任意h(n);
以上只不过是定义,对于一个实例来说,h(n)由很多种,h(n)只是估值函数的一个集合,有各种方法h1(n)h2(n)h3(n)…,取其中任意一个方法带入上述公式,组成评判函数,都是A算法的实现,现在取从集合中一个函数h∗(n),使得它比集合中任意的函数都优秀,这样的算法叫A*算法。
也就是A*算法是最优的A算法,(因为估值函数最优)!
版权声明:本文为znr1995原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。