DQN 可以宣布它在纸牌游戏中掌握了一些东西吗?

人工智能 强化学习 dqn
2021-10-19 03:36:59

关于我正在谈论的纸牌游戏的更多信息在我的最后一个问题中:纸牌游戏的 DQN 输入表示

所以我在考虑 q 神经网络的输出,除了要打哪张牌,我想知道代理是否可以宣布事情。

想象一下你有当前手牌:(2, 4, 11, 2两者是不同的牌类型)。
当你在玩这个游戏时,你得到了这样的一手牌,你必须在任何人在桌子上打牌之前宣布你有两次(称为 Ronda)或三次(称为Tringa)相同的数字。撒谎会让你受到惩罚。

DQN 可以处理这个吗?我不知道将“宣布 Ronda/Tringa”作为一个动作添加是否真的会有所帮助。我的意思是,这是否可以为 NN 建模,或者我是否应该将其自动化并让代理不必每次都宣布它。

1个回答

当你第一次实现代理时,最简单的事情就是自动化这样的决策,以保持表示和决策简单。

但是,如果您想探索围绕声明的策略,那么我认为以下适用:

  • 应该有第一轮行动,代理人可以根据其持有的牌来决定是否宣布 Ronda。这些将是与扑克牌不同的动作选择,因此您需要更改动作表示以包含这些选择。只允许有效的动作选择,因此如果在玩家没有 Ronda 或 Triinga 时声明 Ronda 或 Triinga 无效,那么玩家将无法做出该选择。

  • 您可能希望为代理的玩家添加状态特征“有一个 Ronda”和“有一个 Triinga”,以帮助做出行动决策。

  • 您还应该根据每个玩家声明Ronda 还是 Triinga来为每个玩家添加状态特征。

  • 与其让代理学习检测谎言,不如让代理学习检测谎言,因为您的评论是所有纸牌都已打出,因此很容易分辨(到最后总共只有 8 张纸牌),然后我假设谎言会自动被发现并且将其包含在游戏引擎中。换句话说,总是要付出代价的。

  • 那么有趣的问题是,在进行该轮比赛时,拒绝声明是否可以带来战术优势(因为您的对手对您的手牌知之甚少),以及这种优势是否抵消了不可避免的惩罚。这在您的纸牌游戏中可能不正确,但在具有类似选择的游戏中可能是正确的。

DQN 可以处理这个吗?

DQN 可能会在这个游戏中处理部分信息。对手的牌对网络隐藏,但可能对对手的行动选择产生非随机影响。您可能需要调查能够解决POMDP的代理以获得最佳玩家。

不过我不确定。这取决于隐藏牌有多少战术优势,或者无论你是否知道对手的牌,运气有多大。如果有策略,以及根据你的牌和他们迄今为止的行动来确定/猜测对手持有什么的方法,这更像是一个 POMDP。