对于不完全信息的游戏,特别是像桥牌和多普尔科普夫这样的把戏游戏,有没有通用的策略?
我感兴趣的是如何为这类游戏实现人工智能策略。
赏金是对特定策略的最佳描述的答案。
发布于 2017-09-26 23:09:20
我想为纸牌游戏Doppelkopf贡献一些具体的信息,这是作者典型地问到的。2012年,他为多普尔科普夫游戏采用了UCT算法,并在其中编写了一个master thesis by Sievers。
UCT通常假设一个完美的信息博弈,因此他首先解决了“卡片分配”问题,即根据一些已知的卡片来猜测每个玩家的卡片分配。
在解决了这个问题之后,他尝试了两种方法来执行算法和他对卡片分配问题的解决方案:
1)猜测每个UCT树的卡片分配,并查看多个树的平均值。他称这种策略为整体UCT。
2)获取单个uct树,并为每个卷展栏猜测一个新的分配。在UCT的选择阶段,您只需忽略所有不一致的子项。他称这种策略为单一UCT。
我的感觉是,2)使AI更强大,但它似乎更弱,他在2015年的follow-up conference paper中更明确地指出了这一点。
受到AlphaGo成功的启发,我和一个朋友开始了一个项目,为他的学士论文做了一个policy neural network,他使用基于字符的LSTM来指导UCT算法的选择过程。他的学士论文只涵盖了合奏- UCT的一些测试结果,但我已经对单个UCT播放器进行了测试,它使AI变得更强大。我猜这是因为单个UCT播放器从更有效地减少搜索空间中获益更多。
因此,这个答案与@charley给出的答案大同小异,但更加具体。
发布于 2011-07-08 05:21:46
我认为Expectimax通常用来解决这些类型的问题。策略是最小化对手得分的最坏情况的期望值。
发布于 2011-07-13 19:26:20
您可以尝试实现一些Reinforcement Learning模式。它需要大量的数学运算,但使用起来很好。
编辑:Here's一个关于RL的很好的资源的链接。
您可以使用RL来过滤对您的AI重要的内容和应该忽略的内容。你的AI会从他的错误中学习,但它会及时学习,并知道对游戏来说什么是重要的,什么是不重要的。
我们燃烧一次-我们避免接触火。我们在做完某件事后会得到奖励--我们继续这样做是为了获得更多的奖励。使用RL的代理也是如此。
https://stackoverflow.com/questions/6615977
复制相似问题