A*算法求解问题时,出现重复扩展节点问题的原因()
A: A如果h函数定义不合理,则当扩展一个节点时,不一定就找到了从初始节点到该节点的最优路径,就有可能被多次扩展。
B: B特别是如果这样的节点处于问题的最优解路径上时,则一定会被多次扩展。
C: Ch(n)≤h*(n)。
D: DA*算法效率低。
A: A如果h函数定义不合理,则当扩展一个节点时,不一定就找到了从初始节点到该节点的最优路径,就有可能被多次扩展。
B: B特别是如果这样的节点处于问题的最优解路径上时,则一定会被多次扩展。
C: Ch(n)≤h*(n)。
D: DA*算法效率低。
举一反三
- A*算法求解问题时,出现重复扩展节点问题的原因() A: 如果h函数定义不合理,则当扩展一个节点时,不一定就找到了从初始节点到该节点的最优路径,就有可能被多次扩展。 B: 特别是如果这样的节点处于问题的最优解路径上时,则一定会被多次扩展。 C: h(n)≤h*(n)。 D: A*算法效率低。
- A*算法中,如果h满足单调条件,就一定不会出现重复扩展节点问题。
- 若h(n)满足单调限制条件,则A*扩展了节点n之后,就已经找到了到达节点n的最佳路径。
- 从初始节点S0开始,搜索其一个子节点,如果该子节点不是目标节点且可以扩展,则扩展并搜索该子节点,以此类推搜索,直到某个子节点既不是目标节点,又不能继续扩展时,才选择其兄弟节点进行搜索。
- 如果A*算法中启发值h大于当前节点到目标节点的实际路径值,则可能搜索不到最优路径。