5

我想开发一个信息不完全的两人游戏——“Stratego”。

这场比赛“有点”像国际象棋,但最初我们对对手棋子的排名一无所知。当一个棋子攻击或被某个对手的棋子攻击时,他们的等级被揭示并且更高等级的棋子杀死/捕获更低等级的棋子。可以在此处找到有关游戏的更多详细信息。

我做了一点研究。我读了 JA Stankiewicz 的“Stratego 中的对手建模”。但是我找不到有关如何开发游戏的完整教程。我曾成功开发过一款两人游戏——“黑白棋”,又名黑白棋,我熟悉 MINIMAX 算法和 alpha-beta 修剪。

我在某处发现蒙特卡洛树搜索也用于开发零和二人游戏。它可以用于像战略这样的游戏吗?我可以获得相同的完整教程吗?

任何其他不涉及蒙特卡洛树搜索的教程也很有用:)

4

2 回答 2

4

我认为 MCTS 在 Stratego 中会遇到困难,因为初始传播函数非常大,而最好的游戏非常依赖于游戏的真实情况。也就是说,在最好的情况下,MCTS 会给你一个在你对手棋子的所有可能变化中统计上很好的游戏,但最好的下一步行动在很大程度上取决于他们选择了哪种特定变化。

我仍然对 MCTS 有深入的了解,但在我看来,MCTS 在涉及隐藏信息的多轮欺骗性游戏很重要的游戏中表现不佳(扑克,规范,但战略,我也会说)。在此类游戏中,您确实需要开发其他玩家情况/策略的模型,而 MCTS 本质上将为您提供与所有树统计相关的答案,而不仅仅是地面实况树。

MCTS 适用于涉及大量机会的游戏(西洋双陆棋和其他涉及骰子和许多纸牌游戏的棋盘游戏),在我看来,它是一种出色的通用解决方案,可以迅速应用于大量现代“欧式”棋盘游戏。(有趣的是,尽管它们涉及“欺骗性策略”,但它们通常涉及的隐藏信息相对较少。)

于 2012-10-13T21:58:21.617 回答
0

我不知道任何 MCTS 信息不完整,而且似乎需要对算法进行大量修改才能使其正常工作。

即使在每边只有十个棋子、只有两种棋子和只有一个“更强”棋子的非常受限类型的 Stratego 中,你仍然在玩十种可能的实际游戏中的一种。在一个完整的策略游戏中,由于起始位置的组合数量众多,而且看起来都很相似,因此不确定性要大得多。

似乎您还必须增强算法以捕获“显示的知识”,因为它发生了,例如,在我们的玩具示例中,每个碎片之间的相遇都会揭示一些关于敌人位置的信息。

尝试一下似乎很有趣,但最初只是针对一个非常受限的类似战略的问题,并且理解现成的 MCTS 是不够的,您必须仔细深入地考虑正确的扩展到算法。

于 2012-10-13T17:20:03.117 回答