维基百科:
连接四已经解决了蛮力的方法开始约翰特罗普的工作,在8层database4编译(1995年2月4日)。能够强解连接四的人工智能算法是minimax或negamax,其优化包括α-β剪枝、游戏玩家移动的动态历史顺序和换位表。使用这些方法求解Connect 4的代码也是Fhourstones整数性能基准的基础。
我一直试图加快我的连接4算法,它目前使用Minimax与Alpha-Beta剪枝和转位表。我想让它更快,所以决定加入“动态历史顺序的游戏玩家移动”。
什么是“动态历史顺序的游戏玩家移动”?我搜索了它,但没有找到任何解释它的资源。有人能解释一下这个概念吗?如果可能的话,告诉我速度会有多大的提高?
发布于 2013-11-22 05:21:38
看这个答案:动态移动排序。换位表用于进行动态移动排序:
动态移动排序使用以前搜索的信息,或者因为您再次转到相同的位置,或者您已经在之前的不太彻底的搜索中达到了这个位置。
ConnectFour可以从这种方法中获益良多,因为它的搜索树中会有大量的重复位置,而不是带有捕获的游戏。
(PS --如果您的代码是用Java编写的,您可以在我的Java游戏页面上试用它,尽管它目前有一个非常简单的算法。)
https://stackoverflow.com/questions/20101759
复制相似问题