处理具有许多 q 表状态的纸牌游戏的有效方法?

数据挖掘 强化学习 q学习
2022-02-14 22:08:54

我目前正在为德国的一款流行纸牌游戏(称为“Schafkopf”)开发人工智能。显然,可以尝试借助一些博弈论找到完美的策略,但我尝试了 ML 的路径。现在在实施游戏并采用深度 q 学习(强化学习)方法后,我面临以下问题:

我运行代理大约五个小时,我的 q-table 增长到大约 49k 行的大小。因此得出结论,对于具有大量状态的游戏(即发给您的牌,每轮给定的牌堆中剩余的牌(“算牌”),哪些牌被认为是王牌和等等)。

现在我的问题出现了:这种纸牌游戏是否有更有效的方式/方法?遗传算法?监督学习?

1个回答

如何将 DeepQ 与表格 Q 表示一起使用?使用动作值函数逼近 (= DeepQ) 的 Q 学习的全部目的是克服表格方法的局限性。

无论如何,你需要考虑,从某种意义上说,博弈论 + RL多智能体强化学习(MARL)。您尝试解决的游戏(很可能)是零和游戏,因为它是 2 个或更多玩家之间的竞争游戏。如果您尝试使用一个代理与另一个对手代理(您是如何为对手建模的?)您将对手视为环境的一部分,这将导致非平稳策略。这个问题在大多数情况下都非常关键,除非对手很容易被利用并且策略非常有限,否则会导致您的训练代理无法收敛。然后你必须处理部分可观察性的问题,因为玩家看不到对方的手。换句话说,将 MARL 问题视为 RL 并不是一个好主意。

这是Hanabi一款合作的多智能体纸牌游戏。这个游戏有很多MARL“解决方案”(没有实际的解决方案只有更好的性能)。这可能会给你一个起点。

在开始之前,请考虑 MARL 包含非常先进的材料,如果您不熟悉 RL(并且理解背后的数学),它实际上不会帮助您。无论您发现什么算法,它都不是一个简单的即插即用解决方案。