我有alpha beta搜索工作,并希望实现转置表以使其更快。我遇到的问题是表中条目与正在评估的当前位置之间的关系。
到目前为止我读过的文献说你需要存储位置类型,分数和其他一些信息。为什么要存储类型?只要前一次搜索中的表格中的条目更深入,您就不能只使用分数吗?
This page显示了一些示例代码,但我无法弄清楚为什么AB搜索会在alpha> = beta时返回beta。你不应该回阿尔法吗?
答案 0 :(得分:3)
如果哈希函数可以产生冲突,您可以存储位置。您还需要存储位置深度,以确保分数来自更深入的搜索。当然,你必须存储分数。
关于你的第二个问题......这被称为Beta截止。前提是你的对手早已在搜索中为自己找到了更好的线,并将该分数初始化为Beta(负alpha,作为测试版传给你)...当测试你的动作时,如果你能在任何时候击败Beta,他并不关心你能用多少力量击败它,他只会剔除那个分支中剩下的搜索。最简单的方法就是返回测试版。