标签: algorithm graph-algorithm heuristics
我正在开发一种A *算法,该算法可以解决传教士和食人族的问题。我不明白的是,启发式算法使搜索的节点数少于Dikstras算法。
我知道程序会通过使用启发式值+当前值来确定可能的值来基于最佳搜索,但是算法如何知道何时停止搜索而不分支到其他节点?
答案 0 :(得分:0)
试探法必须保证它永远不会太高(假设您正在寻找最小的解决方案)。因此,一旦找到了完整的解决方案,就知道它一定是最好的。任何不完整的解决方案(其价值已经高于当前解决方案的价值,否则您将对其进行进一步的探索)只能在完成时更高。