A算法与A*算法区别

来源:互联网 发布:太极拳威力知乎 编辑:程序博客网 时间:2024/06/07 03:27

  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算法,(因为估值函数最优)!

0 0