Mbe*_*ntt 5 testing algorithm artificial-intelligence
我制作了游戏(Connect-4),并使用带有 alpha-beta 剪枝的 MinMax 算法用于计算机 AI。测试我的 alpha-beta 正确性的好方法是什么?我不确定正确性,有时当与我的人工智能对战时,如果它已经看到更深层次的损失,那么它不会使游戏持续更长时间,并且在开始搜索时很难手动检查和通过单元测试进行检查只是有点深(7-9步)。如何解决这个问题?(我知道如果没有办法不输的话,阿尔法贝塔是否可能会修剪一些让胜利变得更困难的东西)
那么 alpha-beta 剪枝只是对基本 MiniMax 算法的优化(即排除最佳敌人肯定不会采取的路径),所以我只是将 alpha-beta 算法的结果与更简单的 MiniMax 进行比较一。一旦他们不同意,这两种算法之一就会出现错误。
这简化了测试你的 MiniMax 算法是否正确的问题,我想不出任何特殊的技巧 - 但由于它是一个递归函数,所以应该可以为所有情况编写单元测试