1

我为 TTT 实现了一个极小极大算法。当我让 AI 玩家迈出第一步时,它会将所有可能移动的极小最大值评估为 0。这意味着它可以选择网格上的任何方格作为第一步。但是,任何井字游戏指南都会告诉您,在迈出第一步时选择角落或中心方块是更好的选择,因为获胜的机会更高。

为什么我的算法没有反映这一点?

编辑:澄清一下,我想问的是:这是极小极大算法的限制还是我的实现不正确?

4

1 回答 1

1

您的算法不必反映这一点:如果您尝试所有起始位置,您会发现角落和中心为您提供比其他单元更多的获胜路径。

由于井字游戏缺乏复杂性,极小极大游戏可以从第一步开始一直向前看。随着游戏的进行,可用动作的数量会迅速减少,因此完整的搜索很快就会完成。

随着更复杂的游戏(奥赛罗、跳棋、国际象棋),所谓的“开局”变得更加重要。游戏开始时可用的步数是巨大的,因此传统的方法是从开局的“书”中挑选一个棋子,并在前三到六场比赛中保持预先计算的“书本”。不考虑书外的移动,在基本保持不变的移动上节省了大量的 CPU。

于 2013-04-20T17:17:21.180 回答