黑暗森林法则:完全竞争型 MARL 与零和博弈 (Fully Competitive)

摘要
如果说合作型 MARL 是登山,大家齐心协力冲顶;那么完全竞争型 MARL (Fully Competitive) 就是击剑,你的每一次得分都意味着对手的失分。在数学上,这被称为零和博弈 (Zero-Sum Game)。这类问题是 AI 领域最耀眼的明珠——从 IBM Deep Blue 到 Google AlphaGo,再到 AlphaStar,皆属于此。本文将带你跳出“优化”的舒适区,进入“博弈”的深水区,探讨纳什均衡、策略震荡以及 Self-Play 等核心概念。


目录 (Table of Contents)

  1. 什么是完全竞争型 MARL?
    • 零和博弈定义
    • 与合作型的本质区别
  2. 核心陷阱:策略循环 (Cycling)
    • 剪刀-石头-布的启示
    • 为什么 Naive RL 会在原地转圈?
  3. 理论目标:纳什均衡 (Nash Equilibrium)
    • 从 Maximize Reward 到 Unexploitable
    • 混合策略 (Mixed Strategy) 的必要性
  4. 经典算法:Minimax-Q
    • 悲观主义者的胜利
    • 数学推导与线性规划
  5. 现代主流:自我博弈 (Self-Play)
    • AlphaGo 的秘密武器
    • 历史检查点与 Fictitious Play
    • 防止“策略遗忘”
  6. 总结

1. 什么是完全竞争型 MARL?

1.1 零和博弈 (Zero-Sum Game)

在完全竞争环境中,两个智能体 i i i j j j 的利益是完全对立的。数学上表现为收益之和为零(或常数):
R i ( s , u ) = − R j ( s , u ) R^i(s, \mathbf{u}) = - R^j(s, \mathbf{u}) Ri(s,u)=Rj(s,u)
或者更直观地:
R i ( s , u ) + R j ( s , u ) = 0 R^i(s, \mathbf{u}) + R^j(s, \mathbf{u}) = 0 Ri(s,u)+Rj(s,u)=0

典型的例子包括:围棋 (Go)、象棋、乒乓球、拳皇 (King of Fighters) 等 1v1 对抗。

1.2 范式的转变

在单智能体或合作型 MARL 中,我们求解的是一个最大化 (Maximization) 问题。
但在竞争型 MARL 中,我们求解的是一个平衡 (Equilibrium) 问题。

  • Agent A 试图最大化 R R R
  • Agent B 试图最小化 R R R(因为它想最大化 − R -R R)。
  • 这构成了 Minimax (极小化极大) 问题。

2. 核心陷阱:策略循环 (Cycling)

如果你直接把两个使用 DQN 的智能体放到一个零和博弈环境中训练,大概率会发生什么?答案是:什么都学不到,策略在不断转圈。

2.1 剪刀-石头-布 (Rock-Paper-Scissors, RPS)

考虑最简单的 RPS 游戏:

  1. 阶段 1:Agent A 随机出拳。Agent B 发现出“布”赢面大,于是收敛到纯策略“布”。
  2. 阶段 2:Agent A 发现总是输,通过探索发现出“剪刀”能赢“布”,于是更新策略为“剪刀”。
  3. 阶段 3:Agent B 发现总是输,更新策略为“石头”。
  4. 阶段 4:Agent A 更新策略为“布”。
  5. 回到阶段 1

2.2 动态不稳定性

这种现象被称为 Limit Cycle (极限环)
传统的 MDP 假设环境是静止的,但在竞争博弈中,对手是环境的一部分。
π A  针对  π B  优化  → π B  变了  → π A  失效了 \pi_A \text{ 针对 } \pi_B \text{ 优化 } \rightarrow \pi_B \text{ 变了 } \rightarrow \pi_A \text{ 失效了} πA 针对 πB 优化 πB 变了 πA 失效了
Agent 就像狗追咬自己的尾巴,Loss 曲线震荡不收敛,看起来训练了很久,实际上一旦遇到早期的对手策略,可能反而打不过了(Catastrophic Forgetting)。


3. 理论目标:纳什均衡 (Nash Equilibrium)

为了解决震荡,我们需要改变目标:不再追求“战胜当前的对手”,而是追求“不被任何对手利用”。

3.1 定义

一个联合策略 ( π ∗ 1 , π ∗ 2 ) (\pi^1_*, \pi^2_*) (π1,π2) 被称为纳什均衡,如果任何一方单独改变策略都不会获得更高的收益:
V 1 ( π ∗ 1 , π ∗ 2 ) ≥ V 1 ( π 1 , π ∗ 2 ) , ∀ π 1 V^1(\pi^1_*, \pi^2_*) \ge V^1(\pi^1, \pi^2_*), \quad \forall \pi^1 V1(π1,π2)V1(π1,π2),π1

3.2 混合策略 (Mixed Strategy)

在 RPS 游戏中,唯一的纳什均衡是:各以 1/3 的概率出剪刀、石头、布
注意:这是一个随机策略 (Stochastic Policy)

  • 如果你使用确定性策略(如 DQN 的 argmax),你注定被 exploit。
  • 在竞争型 MARL 中,输出概率分布(如 Softmax)是必须的。

4. 经典算法:Minimax-Q

早在 1994 年,Littman 就提出了 Minimax-Q 算法,这是将 Q-Learning 扩展到零和博弈的鼻祖。

4.1 悲观主义哲学

Agent 假设:无论我做什么,对手都会采取最克制我的动作来让我最惨。
因此,我要在“最惨的情况”中,寻找“最好的结果”。

4.2 贝尔曼方程的修改

标准 Q-Learning:
V ( s ) = max ⁡ a Q ( s , a ) V(s) = \max_{a} Q(s, a) V(s)=amaxQ(s,a)

Minimax Q-Learning:
V ( s ) = max ⁡ π min ⁡ o ∑ a ∈ A ∑ o ∈ O π ( a ) ⋅ opponent ( o ) ⋅ Q ( s , a , o ) V(s) = \max_{\pi} \min_{o} \sum_{a \in A} \sum_{o \in O} \pi(a) \cdot \text{opponent}(o) \cdot Q(s, a, o) V(s)=πmaxominaAoOπ(a)opponent(o)Q(s,a,o)

这里,我们不是选择一个动作 a a a,而是寻找一个策略分布 π \pi π,使得在对手采取最优反制策略 o o o 的情况下,我的期望收益依然最大。

4.3 线性规划求解

在每一步更新 Q 值时,我们都需要求解一个线性规划 (Linear Programming, LP) 问题来找到当前的纳什均衡策略 π \pi π。这计算量巨大,但它是理论上收敛的。


5. 现代主流:自我博弈 (Self-Play)

Minimax-Q 算不动怎么办?AlphaGo 给出了答案:Self-Play (自我博弈)

5.1 基本逻辑

既然没有完美的对手陪练,那就自己打自己

  1. 初始化 Agent π 0 \pi_0 π0
  2. π 0 \pi_0 π0 π 0 \pi_0 π0 对战,收集数据。
  3. 利用数据更新得到 π 1 \pi_1 π1
  4. π 1 \pi_1 π1 π 1 \pi_1 π1 对战…

5.2 进阶:Fictitious Self-Play (FSP)

简单的 Self-Play 依然会遇到 RPS 的循环克制问题(Agent A 变成了 Agent B 的镜像,两者一起转圈)。

为了解决这个问题,我们需要引入历史池 (History Checkpoint)

  • 我们维护一个对手池 B = { π 0 , π 1 , … , π t − 1 } \mathcal{B} = \{ \pi_0, \pi_1, \dots, \pi_{t-1} \} B={π0,π1,,πt1}
  • 当前的 Agent π t \pi_t πt 不仅仅和最新的 π t − 1 \pi_{t-1} πt1 打,而是以一定概率和 B \mathcal{B} B随机抽取的历史版本打。

这样做的好处

  1. 防止遗忘:如果 π t \pi_t πt 学会了针对 π t − 1 \pi_{t-1} πt1 的大招,但也必须能打败弱鸡的 π 0 \pi_0 π0。这迫使 Agent 学习通用的强策略,而不是特定针对某种策略。
  2. 收敛性:理论证明,Fictitious Play 在零和博弈中能收敛到纳什均衡。

5.3 AlphaStar 的 League Training (联盟训练)

DeepMind 在星际争霸 2 中将这一思想推向了极致。他们构建了一个 League (联盟)

  • Main Agent:我们要训练的最强王者,目标是打败所有人。
  • Main Exploiter:专门寻找 Main Agent 的弱点(比如 Main Agent 防空很弱,Exploiter 就疯狂造飞龙)。
  • League Exploiter:寻找整个联盟的历史弱点。

这种机制保证了最终的 Agent 没有任何明显的短板(Unexploitable)。


6. 总结

完全竞争型 MARL 是 AI 智慧的试金石。

  • 思维转变:从 Optimization(优化)转向 Equilibrium(均衡)。
  • 关键痛点:Limit Cycle(无限转圈)和 Non-Stationarity(非平稳)。
  • 解决方案
    • 理论上:寻找纳什均衡(Minimax)。
    • 实践上:Self-Play + History Pool 是目前的 SOTA 标配。

给炼丹师的建议
如果你要训练一个 1v1 对抗 AI:

  1. 不要只保存最新的模型。
  2. 一定要建立一个对手池,定期把旧模型存进去。
  3. 训练时,让 Agent 随机抽取对手池里的模型进行对战。
  4. 这就是最简单的 Fictitious Self-Play,效果远好于普通的 PPO 对打。

这篇文章是否让你对“与人斗”的 AI 有了新的认识?欢迎点赞关注,下期我们将探讨最复杂的“混合博弈”(既有队友又有对手)! ⚔️

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值