我需要为Peg solitaire / Senku游戏编写一个求解器
已经有了一个问题here,但建议的答案是一个带回溯的蛮力算法,这不是我正在寻找的解决方案。
我需要找到一些启发式算法来应用A*算法。剩余的钉子不是一个好的启发式方法,因为每次移动都会丢弃一个钉子,因此成本总是一致的。
有什么想法吗?
发布于 2013-10-13 00:37:19
我读了一篇关于这个问题的论文link,他们提出了3种启发式方法:
1-可用于下一步的节点数,考虑到下一步的步骤越多,节点越好。
2-隔离的peg的数量-因为隔离的peg越少越好。
3-板上的钉子越少,节点越好。
对于这个问题,这可能不是更好的启发式方法,但似乎是一种简单的方法。
发布于 2012-10-14 05:54:53
你可以按照rossum的建议去做。另一种选择是使用距离中心的距离之和(或距离的某个其他函数)。或者你可以将两者结合起来。
https://stackoverflow.com/questions/6784269
复制相似问题