【问题标题】:How does minimax algorithm work on tictactoe?minimax 算法如何在 tictactoe 上工作?
【发布时间】:2015-12-04 06:40:44
【问题描述】:

我已经阅读了很多关于极小极大算法的文档以及它在井字游戏中的实现,但我真的很难应用它。 以下是我阅读过的链接12345 以及使用 java 的示例6

考虑伪代码:7

function minimax(node, depth, maximizingPlayer) 
if depth = 0 or node is a terminal node
    return the heuristic value of node

if (maximizingPlayer is TRUE) {
    bestValue = +∞
    for each child of the node {
        val = minimax(child, depth-1, FALSE)
        bestValue = max(bestValue, val)
    }

    return bestValue
} else if maximizingPlayer is FALSE {
    bestValue = -∞
    for each child of the node {
        val = minimax(child, depth-1, TRUE)
        bestValue = min(bestValue, val)
    }

    return bestValue
}

这是我的问题:
1.我将传递给签名节点的内容是当前玩家的有效动作吗?
2. 什么是 + 和 - 无穷大,它们的可能值是多少?
3. minimax 和板上占用的cell 是什么关系。
4. 什么是子节点,如何从中提取值?
5. 如何确定最大允许深度?

【问题讨论】:

    标签: algorithm artificial-intelligence minimax


    【解决方案1】:
    1. Node是网格,显示了哪些单元格已经播放过

    2. ±∞ 只是一个占位符,您可以采用int.maxValue 或您的编程语言中的任何其他“大”/“小”值。它稍后用作与节点的计算值的比较,0 可能已经是一个有效值。 (您的伪代码是错误的,如果我们将+∞ 分配给bestValue,我们希望min(bestValue, val)max(bestValue, val) 分配-∞

    3. 不明白你的意思。

    4. 子节点是可以进行的可能移动。一旦没有移动可以进行评估板并返回分数。

    5. 井字游戏中的搜索空间非常小,在其他游戏中会返回启发式分数,这取决于情况是否对玩家有利。在你的场景中应该没有硬深度。

    【讨论】:

      【解决方案2】:

      首先,不要在一个问题中问 100 个问题。问一个,试着理解并弄清楚你是否真的需要问另一个。

      现在回答你的问题:

      我将传递给签名节点的内容是有效的移动吗? 当前玩家?

      不,您只会通过nodedepthmaximizingPlayer(谁上场 - 最少或最多)。在这里for each child of the node,您可以找到该节点的可能移动。在实际场景中,您很可能会拥有像 getChildren 这样的生成器,您将使用它来获取您的孩子

      什么是+和-无穷大,它们的可能值是多少?

      minimax 算法只是尝试递归地找到所有最小值的最大值。最大玩家可以获得的最坏结果是什么 - -infinity。最差的最小值是最大值将得到+infinity。所以这些只是起始值。

      极小极大与占用单元格之间的关系是什么? 板。

      不知道你在这里是什么意思。 Minimax是算法,占用小区就是占用小区。这个问题类似于什么是动态规划和csv文件的关系。

      什么是子节点,如何从中提取值?

      它们都是可以从您当前位置到达的所有可能位置。例如

      如何确定最大允许深度?

      在标准极小极大中,直到您到达树的尽头。在树的最后,你的评估函数会给你一个奖励。因为树在大多数情况下太大而无法适应人们使用截止值并使用近似评估函数(启发式)的任何地方。最简单的切入点是看n 向前走,希望你的评价函数足够好,而你的对手认为n-1 向前走。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-08-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-26
        • 2017-09-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多