代码之家  ›  专栏  ›  技术社区  ›  orokusaki

如何在Tictactoe中实现minimax

  •  1
  • orokusaki  · 技术社区  · 14 年前

    我读了这个答案,它让我困惑: TicTacToe AI Making Incorrect Decisions

    有人能帮我理解我怎么把这个应用到Ticcataoe上吗?

    1. 我该怎么“穿过树爬上去”?
    2. 如何创建移动树?

    注意:我目前有一个Board类,它存储关于游戏的状态(例如,游戏是否完成了当前的移动操作?,有赢家吗?等)当前板上的每个移动存储为1-9(从左上到右下按行)。我可以轻松复制当前的董事会状态。我可以返回“x”和“o”的当前移动列表,以及板上可用的移动。

    2 回复  |  直到 11 年前
        1
  •  5
  •   colt Robert Harvey    11 年前

    求解tic-tac-toe:Game Tree basics
    类别:博弈论 发布时间:2008年7月30日上午11:38,作者:Mark C.Chu Carroll

    这张照片基本上说明了一切,但这里有一个到博客帖子的链接: http://scienceblogs.com/goodmath/2008/07/30/solving-tictactoe-game-tree-ba/

    类别:博弈论
    发布时间:2008年7月30日上午11:38,作者:Mark C.Chu Carroll

    alt text

    这张照片基本上说明了一切,但这里有一个到博客帖子的链接: http://scienceblogs.com/goodmath/2008/07/30/solving-tictactoe-game-tree-ba/

        2
  •  1
  •   Oliver Charlesworth    14 年前

    我可以回答你的问题“2”,希望这能帮助你找出问题“1”:

    树中的每一个节点都代表了经过若干次移动后游戏的当前状态。因此,树的根表示开始时的游戏(也就是说,到目前为止还没有玩过任何棋子)。它有九个孩子(每个可能的第一步一个)。每个孩子依次有8个孩子(每个可能的第二步动作一个)。等等,直到你到达赢得或平局的地方。这些是叶节点。