【发布时间】:2019-01-12 01:24:46
【问题描述】:
我知道具有可接受的非一致启发式的 A* 不会找到最佳解决方案,但我正在努力寻找何时会发生的示例。
由于这个想法,我找不到示例 - 在将我们的目标节点(具有非最优 f(n))插入优先级队列后,优先级队列还必须包含节点,例如node_1 在最佳路径上。优先级队列中 node_1 的 f(n) 必须小于我们的目标节点的 f(n),因为我们使用了可接受的启发式算法。这就是为什么 node_1 会提前出队,并且在 A* 的一些迭代之后(使用相同的想法)goal_node 会在找到最佳路径后稍后出队。
我在哪里想错了?当具有可接受的非一致启发式的 A* 会找到非最优路径时,有人可以给我一个简单图的简明示例吗?
谢谢。
【问题讨论】:
-
恕我直言,这个问题是针对 cs.stackexchange.com 甚至 math.stackexchange.com
-
这句话来自Wikipedia 是否回答了您的问题? - "如果使用封闭集,那么 h 也必须是单调的(或一致的),A* 才能达到最优。... [如果不是单调的],封闭集中的节点可能是重新发现并提高了成本”。
-
@Dukeling 我说我已经知道了。我正在询问将发生这种情况的图表示例或证明它为什么不是最佳的。
-
如果您使用 A* 算法as originally defined[PDF],它将找到具有可接受启发式的最优解。
标签: algorithm search graph-theory a-star heuristics