> For the complete documentation index, see [llms.txt](https://hujian.gitbook.io/deep-reinforcement-learning/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hujian.gitbook.io/deep-reinforcement-learning/fang-fa/jie-ji-you-xi/multiagent-deep-q-network.md).

# Multiagent DQN

> [Multiagent Cooperation and Competition with Deep Reinforcement Learning](https://arxiv.org/pdf/1511.08779v1.pdf)

多代理系统出现在大多数社会、经济和政治环境中。在目前的工作中，我们将Google DeepMind提出的深度Q-Learning网络架构扩展到多代理环境，并研究由独立的深度Q-Networks控制的两个代理如何在经典视频游戏Pong中交互。通过操纵经典的Pong奖励计划，我们展示了竞争和合作行为是如何出现的。竞争代理人能有效地学习比赛和得分。在合作奖励计划下训练的代理人找到了一个最佳策略来尽可能长时间地保持球在游戏中。我们还描述了从竞争行为到协作行为的发展。目前的工作表明，深度Q-Networks可以成为研究生活在高度复杂环境中的多智能体系统分散学习的实用工具。

## 方法

### Pong

![](/files/-LaNIJQdBQYjk4dGRQLz)

在屏幕中，每个代理对应于位于屏幕左侧和右侧的一个桨叶(见图1 )。这两个代理可以采取4种行动:向上移动、向下移动、静止不动、开火(发射球或开始游戏)。行动由两个代理的对应深度Q网络决定。

### Reward

**完全合作**

在这种情况下，我们希望代理人学会尽可能长时间地保持球在比赛中。 为了达到这个目的，我们会在球失控时对两名球员进行惩罚。 球传球的哪个球员并不重要，也没有给出积极的回报。

![](/files/-LaNIJQgcef6N5DeKflN)

**合作到竞争的过度**

在完全竞争和完全合作的情况下，丢球的惩罚是一样的。区别这两种策略的是奖励矩阵主对角线上的值，也就是说，当球员把球踢给另一名球员时，代理会得到相应的奖励。如果你允许这个奖励值从1逐渐变为+1，你就可以研究介于竞争和合作之间的中间情景。我们进行了一系列的实验来探索行为的变化，当得分点 $$ρ$$ 从-1变化到到1。

![](/files/-LaNIJQiI3FAPc8d3GAG)

## 实验

* **Average paddle-bounces per point** 在两名球员中的一人得分之前，计算他们之间的球反弹次数。随机扮演的代理人几乎从不击球。训练有素的代理在一回合中中多次击球。下面我们将这个统计数据称为paddle-bounces。
* **Average wall-bounces per paddle-bounce** 量化球在到达另一个球员之前从顶壁和底壁反弹的次数。 有可能以锐角击球，以便在到达另一名球员之前将球反弹几次。根据策略，球员可能更喜欢将球直接发送给其他球员或使用墙弹跳。 此后我们将此统计数据称为wall-vounces
* **Average serving time per point** 显示球员在球丢失后重新开始比赛需要多长时间（以帧数衡量）。 要重新启动游戏，刚刚得分的代理会发送特定命令（开火）。 根据奖励规划，代理可能希望避免重启游戏。 此后我们将此统计数据称为serving time。

### 竞争的代理

![](/files/-LaNIJQklSOoDTb-_RV9)

### 合作的代理

![](/files/-LaNIJQmz1P7pzWor_i0)
