【发布时间】:2010-09-29 08:47:43
【问题描述】:
我正在查看 A* 寻路算法的定义,它似乎在不同地方的定义有所不同。
不同之处在于遍历一个节点的后继节点时执行的操作,发现后继节点在封闭列表中。
- 一种方法(由Wikipedia 和this article 建议)说:如果继任者在封闭列表中,则忽略它
- 另一种方法(例如建议的here 和here)说:如果继任者在封闭列表中,则检查其成本。如果它高于当前计算的分数,请从封闭列表中删除该项目以供将来检查。
我很困惑 - 哪种方法是正确的?直觉上,第一个对我来说更有意义,但我想知道定义上的差异。其中一个定义是错误的,还是它们在某种程度上是同构的?
【问题讨论】:
标签: algorithm artificial-intelligence path-finding a-star dijkstra