我已经制作了游戏(Connect-4),并为计算机AI使用了带有alpha-beta剪枝的MinMax算法。什么是测试我的alpha-beta正确性的好方法?我不确定是否正确,有时当我和我的AI玩的时候,如果它已经看到了更深的损失,那么它不会让游戏持续更长的时间,而且当它开始搜索的时候,很难用手和单元测试来检查东西(7-9步)。怎么解决这个问题呢?(我知道如果没有不输的方法,alpha beta可能会修剪一些东西,从而获得更难的胜利)
发布于 2011-03-20 04:27:07
alpha-beta剪枝只是对基本MiniMax算法的优化(即排除那些肯定不会被最优的游戏对手采用的路径),所以我只是将alpha-beta算法的结果与更简单的MiniMax算法进行比较。一旦他们不同意,你就会在两个算法中的一个算法中得到一个bug。
这就简化了测试MiniMax算法是否正确的问题,我想不出有什么特别的技巧--但是由于它是一个递归函数,所以应该可以在所有情况下编写单元测试
https://stackoverflow.com/questions/5362001
复制相似问题