我正在尝试构建一个可以解决传教士和食人族问题的a *算法。我不确定应该使用的启发式方法以及可能试图寻找的解决方案。
这是您的要求和移动方式。
四个传教士和四个食人族在一条河的西岸(W)上,以及一艘可容纳三人的船:0 <船的容量≤3。找到一种方法将所有人带到东岸(E ),而从来没有将一群宣教士留在一个地方,人数超过了那个地方的食人者。这个问题在AI中是著名的,因为它是第一篇论文的主题,从分析的角度着手解决问题(Amerel,1968)。
答案 0 :(得分:0)
这个特定的状态空间足够小,您可以通过广度优先搜索来探索它。
但是,总的来说,启发式研究的一个富有成果的来源是放弃使问题变得困难的一个或多个约束,从而“放松”问题(这是一个技术术语)。不幸的是,弄清楚哪些是一门艺术。对于这个特殊的问题,您可以取消食人族人数不超过传教士的限制,从而使启发式值成为船在何处以及河两岸有多少人的简单函数。