相关疑难解决方法(0)

正确制定A*算法

我正在研究A*路径寻找算法的定义,它似乎在不同的地方有所不同.

不同之处在于在遍历节点的后继者时执行的操作,并且发现后继者在关闭列表上.

  • 一种方法(由维基百科和本文建议)说:如果后继者在封闭列表中,则忽略它
  • 另一种方法(例如,此处和此处建议)说:如果后继者在封闭列表中,则检查其成本.如果它高于当前计算的分数,则从关闭的列表中删除该项目以供将来检查.

我很困惑 - 哪种方法是正确的?直觉上,第一个对我来说更有意义,但我想知道定义的差异.其中一个定义是错误的,还是它们在某种程度上是同构的?

algorithm artificial-intelligence a-star dijkstra path-finding

14
推荐指数
1
解决办法
1916
查看次数