对于我的 AI 课程,我必须使用 alpha-beta 修剪制作一个量子井字游戏。
我正在考虑表示棋盘状态的最佳方法 - 我的第一个直觉是使用一种邻域矩阵,即 9x9 矩阵,onM[i,j]
是表示其中移动的整数 (tic-tac -toe) 正方形i
并被j
标记(如果没有这样的连接 -M[i,j]
为零)。M[i,i]
如果正方形i
折叠,则不为 0 。然后,我会创建一个此类矩阵的博弈树,并使用经典的极小极大与 alpha-beta 修剪。
然而,这种方法似乎非常昂贵——每个节点都会有一个相对较大的分支因子加上基本操作——检查循环并找到 9x9 矩阵的所有等效状态。
我有一种感觉,必须有一个更聪明的解决方案 - 也许将量子游戏视为一组经典的井字棋游戏并使用一种广义的极小极大搜索,所以它都会回归到(小)经典井字棋问题集?我看不出这究竟是如何运作的。
有没有人有这个(或类似的)问题的经验,你能指出我正确的方向吗?