我读了这个答案,这让我很困惑:TicTacToe AI Making Incorrect Decisions
有人可以帮助我了解如何将其应用于 Tictactoe 吗?
- 我将如何“从树上爬上去?
- 我什至如何创建移动树?
注意:我目前有一个 Board 类,它存储有关游戏的状态(例如,游戏是否包含当前的动作?,是否有赢家?等)当前棋盘上的每个动作都存储为 1 - 9(左上角)右下角成行)。我可以轻松地复制当前的棋盘状态。我可以返回“X”和“O”的当前移动列表,以及板上的可用移动。
我读了这个答案,这让我很困惑:TicTacToe AI Making Incorrect Decisions
有人可以帮助我了解如何将其应用于 Tictactoe 吗?
注意:我目前有一个 Board 类,它存储有关游戏的状态(例如,游戏是否包含当前的动作?,是否有赢家?等)当前棋盘上的每个动作都存储为 1 - 9(左上角)右下角成行)。我可以轻松地复制当前的棋盘状态。我可以返回“X”和“O”的当前移动列表,以及板上的可用移动。
解决井字游戏:博弈树基础
类别:博弈论
发表于:2008 年 7 月 30 日上午 11:38,作者:Mark C. Chu-Carroll
图片几乎说明了一切,但这里是博客文章的链接: http: //scienceblogs.com/goodmath/2008/07/30/solving-tictactoe-game-tree-ba/
我可以回答你的问题“2”,希望这能帮助你弄清楚问题“1”:
树中的每个节点都表示经过一定数量的移动后游戏的当前状态。所以树的根代表一开始的游戏(即到目前为止没有玩过的棋子)。它有九个孩子(每个可能的第一步都有一个)。每个孩子依次有 8 个孩子(每个可能的第二步移动一个)。依此类推,直到您达到游戏获胜或平局的分数。这些是叶节点。