传教士和食人者启发式
missionaries and cannibals heuristic
我想用 python 和不同的搜索算法实现传教士和食人者。其中一种算法是 Greedy
或 A*
,它需要启发式函数才能工作。
我想不出任何正确的启发式方法。你能建议一个启发式吗?
传教士和食人者问题的正确启发式函数,我们假设首先左边有3个传教士和3个食人者,所以:
h(x) = (cannibalsLeft + missionariesLeft) / 2
heuristic = (no. of missionaries at right side + no. of cannibals at right side) – 1
上面表达式中的负 1 (– 1) 对于保持启发式函数的可接受性很重要
我想用 python 和不同的搜索算法实现传教士和食人者。其中一种算法是 Greedy
或 A*
,它需要启发式函数才能工作。
我想不出任何正确的启发式方法。你能建议一个启发式吗?
传教士和食人者问题的正确启发式函数,我们假设首先左边有3个传教士和3个食人者,所以:
h(x) = (cannibalsLeft + missionariesLeft) / 2
heuristic = (no. of missionaries at right side + no. of cannibals at right side) – 1
上面表达式中的负 1 (– 1) 对于保持启发式函数的可接受性很重要