传教士和食人族的最佳搜索算法是什么?

问题描述 投票:0回答:1

我本来以为会是深度优先搜索(但是这个可能会卡在一个循环里),所以我觉得这不是最好的算法。a*、均匀成本、......还是气息优先搜索有机会成为这个的最佳搜索算法?

search artificial-intelligence
1个回答
0
投票

答案取决于你在衡量什么。可能的衡量标准是运行时间、节点扩展生成、实现复杂性或其他。

我建议使用breadth-first search(BFS),因为它是最简单的实现方式,而且这个特殊的问题很小,即使用BFS也几乎可以瞬间解决。

另外,非常重要的一点是,BFS与零启发式的A*不一样。BFS可以在目标生成后立即终止,而A*则是在目标从OPEN中取出进行扩展时终止。另外,A*需要更复杂的数据结构,实现起来会比较困难,而BFS可以使用简单的FIFO队列。

© www.soinside.com 2019 - 2024. All rights reserved.