我目前正在 EdX 上参加伯克利 AI 课程,我们正在研究 A* 搜索。我以前使用过 A* 图形搜索,并且我实现了它,以便在向边缘/队列添加后继者时,如果它已经在边缘或探索/封闭集中,我不会添加后继者。但是,班上的教授说,对于 A* 图搜索,我们应该将节点添加到边缘,然后如果我们将它们弹出并且它们已经在探索集中,则跳过它们(即拒绝扩展它们但仍然添加重复节点到边缘)。
Wikipedia 上的伪代码http://en.wikipedia.org/wiki/A_star#Pseudocode用于 A* 似乎是另一种方式,如果它不在探索中,我们只将它添加到边缘/队列中/已经封闭了。但是,它也有一个看起来像 Dijkstra 的部分,它确保后继者的 g-score 是最小的。
这一切都假设我们使用的是一致的、最优的启发式。有人可以帮助我更好地了解以任何一种方式实施它的后果谢谢!