首页 文章

minimax算法中的min玩家是否发挥最佳效果?

提问于
浏览
3

在minimax算法中,第一个玩家最佳地玩,这意味着它想要最大化其得分,第二个玩家试图最小化第一个玩家的获胜机会 . 这是否意味着第二位玩家也能以最佳方式赢得比赛?试图选择一些路径以最小化第一个玩家的获胜机会也意味着试图获胜?

我实际上是试图从TopCoder解决这个任务:EllysCandyGame . 我想知道我们是否可以在这里应用minimax算法 . 那句话"both to play optimally"确实让我感到困惑,如果有一些一般性的想法,我想要一些如何处理这类问题的建议 .

2 回答

  • 2

    是的,你可以在这里使用minimax算法 .

    问题陈述说游戏的胜利者是"the girl who has more candies at the end of the game."所以你可以使用的一个合理的评分函数是第一和第二个玩家持有的糖果数量的差异 .

    这是否意味着第二名球员也能以最佳方式赢得比赛?

    是 . 当您评估MIN级别时,MIN玩家将始终选择MAX玩家得分最低的路径 .

    注意:如果您从在该轮中进行移动的玩家的角度评估每个节点,并且在级别之间转换分数,则可以使用相同的代码实现MIN和MAX级别 . 如果得分是糖果数量的差异,您可以简单地在不同级别之间取消 .

    试图选择一些路径以最小化第一个玩家的获胜机会也意味着试图获胜?

    是 . 第二位玩家正试图最小化第一位玩家的得分 . 合理的得分功能会让第一名球员的得分低于平局 .

    我想知道我们是否可以在这里应用minimax算法 .

    是 . 如果我对框的数量没有限制,则需要使用n-move前瞻,将minimax树中的节点评估为最大深度 .

  • 0

    游戏属性:

    • 在每个点上,有一个有限的,明确定义的移动数(选择一个非空框)

    • 游戏在有限数量的移动后结束(当所有框都为空时)

    结果,搜索树由有限数量的叶子组成 . 你是对的,通过应用Minimax,你可以找到最好的举动 .

    请注意,您只需要在最终位置评估游戏(当没有剩下的动作时) . 在这一点上,只有三个结果:第一个玩家获胜,第二个玩家获胜,或者是平局 .

    请注意,标准Minimax算法与概率无关 . Minimax算法的结果决定了双方的完美游戏(假设双方都没有犯错误) .

    顺便说一句,如果您需要改进搜索算法,则应用Alpha Beta pruning进行安全且简单的优化 .

相关问题