【问题标题】:Rummikub algorithm [closed]Rummikub算法[关闭]
【发布时间】:2013-09-25 10:41:33
【问题描述】:

我们正在用 c++(使用 HTML/CSS/JS 前端)创建一个类似 Rummmikub 的游戏。除了人类玩家做出移动之外,我们还想创建一个移动算法。 有人可以推荐一个好的起点,或者已经存在的算法吗?

【问题讨论】:

    标签: c++ algorithm artificial-intelligence


    【解决方案1】:

    一般来说,我会说 - 在每个步骤中,检查与完整“手”的可能最小距离(这不是微不足道的),并尝试根据它们在可能的解决方案中的用途为不同的部分打分。你的最终目标是决定扔哪块石头,这样可以最大限度地减少无法完成任何可能的结束场景的风险(如果你能干扰对手,可能会有奖励,但我想以后再说吧)

    【讨论】:

      【解决方案2】:

      对于像这样的回合制游戏,经常使用一个 minimax (https://en.wikipedia.org/wiki/Minimax)。要在超过 2 个玩家的情况下启用此算法,您可以让每个节点成为值的向量,而不是单个值。这可能会导致大量计算,您可以通过在极小极大树上应用 alpha-beta 剪枝 (https://en.wikipedia.org/wiki/Alpha_beta_pruning) 来补救。

      顺便说一句:在使用 AI 开发游戏时,请记住,您的代理应该很有趣才能赢得胜利。制作太难的 AI 代理(通常)很容易。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-12-21
        • 2012-04-28
        • 2013-05-14
        • 2011-07-16
        • 2013-02-22
        • 2011-08-20
        • 2010-10-22
        相关资源
        最近更新 更多