你会用什么算法来解决一个非常大的井字游戏?

Laz*_*zer 3 algorithm artificial-intelligence heuristics tic-tac-toe

考虑到所有情况,可以很容易地解决一个小的(3x3,4x4)井字游戏.但是,例如,你有一个30x30的tic-tac-toe.在这种情况下,您将使用什么算法来决定下一个最佳移动?

Minimax + alpha-beta修剪是我所知道的一种方式.

是否有其他方式更有效/更高效但更酷?


我知道这不是一个非常有趣的游戏.我说30x30只是为了问我想要什么,即哪种算法在这类游戏中效果最好,其中为完美解决方案考虑的案例数量非常高,因此不可行.

mqp*_*mqp 7

我不认为这可能是一个非常富有成效的问题.原因是:

  • 如果你需要获胜的一行中的标记数量很高,那么游戏将(在我看来)以任何合理的技能水平绘制,因为防止可能的胜利比自己实现胜利要容易得多.例如,如果你需要20-in-row来赢取30x30板,那么你需要阻止胜利的是每一行和一列大致靠近电路板中间的标记,并且每个中间附近都有一个标记.长对角线.

  • 如果你需要获胜的一行中的标记数量很少,我怀疑棋盘上的额外空间不会对策略产生太大影响,而第二个防守球员唯一合理的策略将涉及在你的对手附近玩耍.因此,某种alpha-beta方法很好.