【问题标题】:What algorithms can be applied to Duchess (a board game like Chess) [closed]哪些算法可以应用于 Duchess(像国际象棋这样的棋盘游戏)[关闭]
【发布时间】:2013-07-03 08:04:45
【问题描述】:

我一直在寻找名为 Duchess http://www.cse.unsw.edu.au/~blair/duchess/rules.html 的游戏的算法/方法

我正在考虑 alpha beta 修剪,但我不知道它是否适用于两个以上玩家的游戏。

【问题讨论】:

    标签: algorithm chess alpha-beta-pruning


    【解决方案1】:

    可以使用 alpha-beta 修剪和类似的博弈树搜索技术来玩团队 vs 团队版本,因为它是一个零和的两人游戏。您只需要将团队视为玩家。

    具有树玩家的版本不适合标准的 alpha-beta 游戏树搜索方法,因为它不是两人零和游戏。

    问题在于,在两人游戏中,您可以使用“评估函数”来评估给定棋盘配置对玩家 1 的好坏程度,例如尝试将其解释为玩家 1 从给定配置中获胜的“概率”,假设“好”打法。如果玩家 1 的获胜概率是 P,那么玩家 2 的获胜概率是 1 - P,显然,因此 P 足以代表对棋盘配置的评估。 Alpha-beta 剪枝在算法的核心使用这个评估值。

    当你有三名玩家时,这不再是明确定义的,因为假设玩家 1 从给定的配置中获胜的概率取决于玩家 2 和玩家 3 是否会合谋对抗玩家 1 .此外,还有一些被称为“国王制造”的场景,玩家 1 无法获胜,但玩家 1 仍然可以决定玩家 2 或玩家 3 是否获胜。

    对于三个玩家,您基本上必须采用一种方案,将棋盘配置评估为三个值,P1、P2 和 P3,每个值代表给定玩家达到该配置的相对偏好。之后,您可以进行第三局搜索,其中每个玩家都试图在搜索边界最大化玩家的偏好值。但是,例如,您需要能够回答以下问题:玩家 X 更愿意通过被将死来输还是因为不是赢家而输,如果是,输多少。

    【讨论】:

      【解决方案2】:

      我想 mini-max 算法可以应用于每个对手回合取 max ((no. of player) - 1) 次,而轮到一个人只取 min 一次。因此,对于一轮树,您的树深度将等于玩家数量 在这种情况下,您必须考虑累积最大值(所有对手的最大总和)。算法的工作将在很大程度上取决于您如何进行评分。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-02
        • 1970-01-01
        • 1970-01-01
        • 2015-07-16
        相关资源
        最近更新 更多