对于 7 人社交推理游戏,最有效的自学算法是什么?

人工智能 神经网络 机器学习 深度学习 游戏-ai 机会游戏
2021-11-10 11:44:42

有一款7人社交推理游戏叫Secret Hitler,我一直在尝试寻找一种自学AI算法来学习如何玩这个游戏。基本上,四名球员被赋予自由角色,两名球员被赋予法西斯角色,一名球员被赋予希特勒角色。自由主义者和希特勒不知道任何其他角色,而法西斯主义者知道每个人的角色。在一个回合中,总统根据是/否投票选出一位总理,然后政府通过随机选择的政策(自由主义或法西斯主义)。在游戏的某些时刻,不同的特殊能力会发挥作用,例如处决玩家或调查他们的角色。为了赢得比赛,自由主义者必须要么制定 5 项自由政策,要么杀死希特勒;

现在,还有一些我没有提到的无关紧要的细节,但这些都是一般规则。用 Java 之类的语言构建可视化实现似乎很简单,但是我必须考虑到太多移动的部分。我怀疑首先简单地进行随机动作并从坏/好的动作中学习会奏效,因为我需要一种方法让代理根据他们知道的角色做出动作。

不幸的是,AlphaZero 在这里不起作用,我正在努力寻找任何适用于此(或任何其他社会演绎游戏)的算法。我必须编写自己的算法吗?我有一点信心,这是一个监督学习的例子,我可以给神经网络中与胜利相对应的节点赋予权重,但如果我不正确,请纠正我。

1个回答

您很可能需要像Counterfactual Minimax Regret这样的算法。该算法有几种变体,但它们的主要区别在于效率。

CFR 是用于解决 2-Player Poker的算法,尽管该解决方案来自其更高级的版本之一。该算法高度适用于其他信息不完全游戏和角色游戏,如秘密希特勒。从本质上讲,它学会了如何行动,以便它所采取的行动尽可能少地向其他玩家泄露有关其角色(或手牌)的信息,同时还从其他玩家的行动中了解他们的角色,并最大限度地提高它的机会赢得比赛。