Mean-Field Game
⚠️ 本文尚在撰写中,内容未完成,后续会继续补充与修订。
When the number of players grows to infinity, the crowd dissolves into a field, and each player needs only to best-respond to the field it helps create.
本文由 Claude Code 生成(ultracode 多智能体编排),作者审校。
这是一篇尽量自洽的 Mean-Field Game(平均场博弈,下称 MFG)教程。它假设你熟悉博弈论(Nash 均衡、最优反应、逆向归纳、fictitious play、非原子博弈这些张口就来),但不假设你熟悉测度论、随机最优控制或随机微分方程:这三样会作为“工具箱”在正文里从零讲清。全文记号统一,每个符号第一次出现都会定义,下面先给一张总表备查。
一句话剧透整篇:MFG 就是一个动态、带噪声、玩家数趋于无穷的博弈里的 Nash 均衡。每个(无足轻重的)代表性玩家对人群分布做最优反应,而人群分布恰好由所有人的最优反应生成,二者自洽时即达到均衡。
怎么读:第 1 章讲为什么需要 MFG;第 2 到 4 章从零补上三套工具(描述人群的测度、个体状态演化的 SDE、个体最优决策的最优控制与 HJB);第 5 章把它们拼成 MFG 的 HJB–Fokker-Planck 耦合系统,并点明平均场均衡就是连续统里的 Nash;第 6 章回到有限 $N$ 说明它是 $\varepsilon$-Nash;第 7 章谈存在唯一与计算;第 8 章谈与强化学习的联系与应用。
符号速查表
| 记号 | 含义 |
|---|---|
| $i,\ N$ | 玩家编号、玩家总数 |
| $t\in[0,T]$ | 时间,$T$ 为终端时刻 |
| $x^i_t\in\mathbb{R}^d$ | 玩家 $i$ 在时刻 $t$ 的状态(上标=玩家、下标=时间) |
| $\alpha^i_t$ | 玩家 $i$ 在时刻 $t$ 的控制(动作) |
| $W^i_t$ | 玩家 $i$ 的布朗运动(独立噪声源) |
| $b,\ \sigma$ | 漂移、扩散系数 |
| $f,\ g$ | 运行成本、终端成本 |
| $J^i$ | 玩家 $i$ 的总成本泛函 |
| $m_t\in\mathcal{P}(\mathbb{R}^d)$ | 人群分布(平均场),一条随时间流动的概率测度 |
| $m^N_t=\frac{1}{N}\sum_{j}\delta_{x^j_t}$ | 有限 $N$ 的经验测度 |
| $\delta_a$ | 点 $a$ 处的 Dirac 测度 |
| $u(t,x)$ | 值函数 |
| $H$ | Hamiltonian |
| $\alpha^\ast$ | 最优控制 |
| $\nabla,\ \Delta,\ \mathrm{div}$ | 梯度、Laplace 算子、散度 |
第 1 章 从你熟悉的博弈出发:为什么需要 Mean-Field Game
前言与符号表已经把全书的记号和目标铺好了;从这一章开始,我们正式动身。本章不碰任何随机分析的硬核工具,只做一件事:用你最熟悉的博弈论语言,把“为什么需要 Mean-Field Game”这件事讲到你心服口服。等你认同了“非这么做不可”,后面三章再从零补上测度、SDE、最优控制这三套工具,就会觉得每一步都是被逼出来的,而不是天上掉下来的。
先用一句话定位本章在全书的位置。 整本书要讲的 Mean-Field Game(平均场博弈,以下简称 MFG),是把“一大群人随时间、带噪声地动态博弈”这件难事,通过“人多到只需看分布”这一步近似,拆成两个互相耦合的子问题再求自洽解。本章只负责第一件事:说清楚那个“难事”到底难在哪,以及“看分布”这步近似的思想从何而来。具体的方程一个都不推,推导留给后面。
1.1 用博弈论的语言,先把“博弈”这个词的旧账对清楚
你对博弈论的标准词汇早就烂熟于心,所以我们不重新发明轮子,而是先用你熟悉的语言把一个普通博弈的五要素列清楚,再看 MFG 在这五要素上动了哪些手脚。
一个(非合作)博弈,通常由下面五样东西定义:
- 玩家(players)。 一共 $N$ 个玩家,编号 $i\in{1,\dots,N}$。这里 $i$ 是玩家编号、$N$ 是玩家总数,和全书记号一致。
- 状态 / 类型(state / type)。 每个玩家有一个描述自己处境的量。在静态博弈里它可能是“类型”,在我们关心的动态博弈里它是随时间变化的“状态”,记作 $x^i_t$,上标 $i$ 指玩家、下标 $t$ 指时刻,取值在 $\mathbb{R}^d$(即用 $d$ 个实数描述玩家 $i$ 此刻的处境)。
- 动作 / 策略(action / strategy)。 每个玩家能自己说了算的选择,记作 $\alpha^i_t$(玩家 $i$ 在时刻 $t$ 的动作)。在动态博弈里,一个玩家的“策略”其实是一整条随时间安排动作的方案 $\alpha^i=(\alpha^i_t)_{t\in[0,T]}$。
- 收益 / 成本(payoff / cost)。 每个玩家有一个要优化的目标。本书统一用要被最小化的总成本来刻画,记作 $J^i$(玩家 $i$ 的总成本泛函),想成“收益最大化”完全对称,只差一个负号。
- 解概念(solution concept)。 大家各自优化、彼此牵制,最后会停在哪?标准答案是 Nash equilibrium(纳什均衡):一组策略 $(\alpha^{1,\ast},\dots,\alpha^{N,\ast})$,使得在其他人都不改策略的前提下,任何一个玩家单方面改自己的策略都不能让自己的成本更低。这里上标 $\ast$ 表示“均衡时取到的那一套”,区别于一般候选策略。换句话说,没人有动机单方面偏离(unilateral deviation)。
这五样东西你闭着眼都能背。下面要说的是:本章关心的博弈,在这副熟悉的骨架上,加了三个让事情彻底变样的新特点。
1.2 三个新特点:动态、随机、通过人群耦合
我们要研究的不是教科书里那种“双方各出一手、读收益矩阵、算一次 Nash”的静态博弈,而是一种更接近真实世界的博弈。它有三个新特点,建议你把它们和你已知的概念逐一对照着记。
新特点一:动态(dynamic,随时间演化)。 玩家的状态 $x^i_t$ 不是一锤子定下的,而是随时间 $t\in[0,T]$ 连续地演化($t$ 从起点 $0$ 走到终点时间 $T$)。每个玩家在每个时刻都要选动作 $\alpha^i_t$,这些动作会推动状态往前走。你熟悉的逆向归纳(backward induction)就是处理动态博弈的看家本领:在有限步的扩展式博弈里,你从最后一步往回倒推每个节点的最优选择。请记住这个“从终点往回推”的姿势,后面 HJB 方程本质上就是它在连续时间、连续状态下的化身。
新特点二:随机(stochastic,有噪声)。 即便玩家选定了动作,下一刻的状态也不是完全确定的,而是带一份随机扰动。地铁里你想直着走,却被人流推一下;市场里你下了单,成交价还受一堆你管不着的因素影响。我们把这份“每一刻被随机推一下”的扰动,用一个叫 Brownian motion(布朗运动) 的对象 $W^i_t$ 来刻画(上标 $i$ 表示每个玩家有自己独立的随机源,你被推的那一下和我被推的那一下互不相同)。你现在完全不必懂它的严格定义,只需要一个画面:真实的状态变化 = 一个确定性的趋势 + 一份随机的抖动。趋势由你的动作决定,抖动你左右不了。第 3 章会把 $W^i_t$ 和 SDE 从零讲清楚,这里只要知道“随机”这个特点的存在。
新特点三:通过整个人群耦合(mean-field coupling)。 这是最关键、也最区别于普通博弈的一点。在标准博弈里,玩家 $i$ 的收益依赖“所有玩家的策略组合”,是一种点对点(玩家对玩家)的依赖。而本章关心的博弈,玩家 $i$ 的成本不直接依赖“张三选了什么、李四选了什么”,而是依赖整个人群当前的状态分布。在地铁站里,真正影响你怎么走的,是“前方那片区域有多挤”,而不是“挤在那里的具体是哪几个人”。
为了把“人群整体怎么分布”写成数学,我们需要一个叫经验测度(empirical measure)的对象。这里先给出记号、只讲直觉,严格的测度论留到第 2 章:设 $N$ 个玩家在时刻 $t$ 的状态为 $x^1_t,\dots,x^N_t$,定义
\[m^N_t = \frac{1}{N}\sum_{j=1}^N \delta_{x^j_t},\]其中 $\delta_a$ 是 Dirac 测度(Dirac measure),直觉上就是“在点 $a$ 处放的一个单位质量、一颗豆子”(它的下标 $a$ 是豆子所在的位置)。所以 $m^N_t$ 就是把 $N$ 个玩家各自看成一颗放在自己当前位置的豆子,叠起来再除以 $N$,得到的一张“人群此刻的分布图 / 直方图”:哪片区域豆子越多、占比越大,那里就越挤。因为除了 $N$,所有占比加起来恰好是 $1$,所以 $m^N_t$ 是一个概率测度(probability measure),回答的是“此刻随便抓一个人,他大概落在哪片区域”。整个人群分布我们记作 $m_t$(属于概率测度空间 $\mathcal{P}(\mathbb{R}^d)$),有限 $N$ 的那张图就是经验测度 $m^N_t$。
把这三个新特点合起来,本章关心的博弈可以一句话概括:$N$ 个玩家,状态 $x^i_t$ 随时间动态演化、被布朗噪声 $W^i_t$ 随机扰动,每个人选动作 $\alpha^i_t$ 来最小化自己的总成本 $J^i$,而每个人的成本通过整个人群的分布 $m^N_t$ 与所有人耦合。 这就是所谓的 N-player 随机微分博弈(N-player stochastic differential game)。Nash equilibrium 的定义在这里照旧成立:一组策略 $(\alpha^{1,\ast},\dots,\alpha^{N,\ast})$ 互为最优反应(best response),没人想单方面偏离。
你可以把它读成你熟悉的 anonymous game(匿名博弈)的动态随机版:你的收益只取决于“别人处于各状态的分布”,而不取决于具体是哪个人在哪个状态。区别仅仅在于,这里的“状态分布”会随时间流动,且个体状态带噪声。
1.3 难在哪里:维度爆炸、追踪不可行、不动点难算
现在到了本章的核心。熟悉 RL 的读者可能会想:这不就是个 multi-agent 问题吗?把整个系统当成一个大型动态规划 / 最优控制问题,统一求解不就行了?问题恰恰在这里,它几乎无法直接解。难点有三个层次,每一个都能单独把你劝退,三个叠在一起就构成了非走平均场这条路不可的理由。
难点一:维度灾难(curse of dimensionality)。 要精确刻画整个系统怎么演化,你绕不开追踪所有人的联合状态
\[(x^1_t, x^2_t, \dots, x^N_t) \in \mathbb{R}^{Nd}.\]注意这个空间的维度是 $Nd$:每个玩家贡献 $d$ 维,$N$ 个玩家叠起来就是 $Nd$ 维。哪怕单个玩家的状态维度 $d$ 很小(地铁里位置才 $d=2$),只要玩家数 $N$ 一大(城市里几十万行人、市场里成千上万交易者),联合状态空间的维度就指数式地膨胀。而我们要解的,是定义在这个 $Nd$ 维空间上的动态规划方程。数值上求解这类方程,计算量随维度指数增长:$N=100$ 就已经远远超出任何网格类方法的能力,更别提 $N=10^5$。这是第一道墙:维度随 $N$ 爆炸,动态规划根本无从落网。
难点二:追踪每个个体不可行(intractable bookkeeping)。 退一步说,就算你有无穷算力,把每个对手当成一个需要单独建模、单独预测、单独响应的实体,本身就既不现实也不必要。当 $N=10^5$ 时,玩家 $i$ 真的需要知道“第 37294 号对手此刻在哪、下一步打算干什么”吗?在拥挤的地铁站里,你根本不会去追踪每一个具体的陌生人,你只会感知“前方人多还是人少”。精确追踪每个个体的身份,既不可计算,也不符合真实决策的认知结构。 这道墙和第一道是一体两面:维度爆炸的根源,正是我们在试图保留每个个体的身份信息。
难点三:Nash 均衡本身就难算(intractable equilibrium)。 你对 Nash equilibrium 的“不动点(fixed point)”结构应该不陌生:每个人的最优反应依赖别人的策略,而别人的最优反应又依赖你的策略,于是均衡是这套互相依赖关系的自洽点。在静态有限博弈里,计算 Nash 均衡本身的复杂度就已经很高(在一般情形下求 Nash 是 PPAD-complete 的,这个结论你大概率听过)。而我们现在面对的,是连续时间、连续状态、带扩散噪声的随机微分博弈:求 Nash 意味着同时解 $N$ 个相互纠缠的随机最优控制问题,对应一个 $N$ 个方程彼此耦合的非线性偏微分方程系统。这样的系统,既难证明解的存在唯一性,也几乎无法数值逼近。
把这三点合起来,会得到一个非常违反直觉的紧张关系:
凭朴素直觉,玩家越多、群体行为反而应该越有规律、越好预测(大数定律的精神)。但在 N-player 的精确框架下,$N$ 增大反而让问题指数级地变难,维度爆炸、个体追踪失控、不动点求解无望。
正是化解这个紧张关系的尝试,催生了 Mean-Field Game。下面这一节就讲那个化解的思想。
1.4 平均场思想:让 $N\to\infty$,反而把问题救活
物理学里有一个古老而强大的思想,叫平均场近似(mean-field approximation)。在研究大量相互作用的粒子(比如磁体里的自旋)时,与其精确计算每个粒子受到的所有其他粒子的作用力,不如假设:每个粒子感受到的,是所有其他粒子共同产生的一个“平均场”,而不是一个个具体的个体。 单个粒子只需对这个平均场做反应。MFG 就是把这个思想搬进博弈。
要让这个搬运合法,需要两个关键假设,而这两个假设对一个博弈论背景的读者其实再亲切不过。
假设一:对称性 / 可交换性(symmetry / exchangeability)。 所有玩家共享相同的动力学、相同的成本函数 $f$(运行成本)和 $g$(终端成本,下一章正式定义)、相同的策略类。玩家之间没有“身份”差异:谁是张三谁是李四不重要,重要的只是“处于某个状态的玩家占多大比例”。这正是你熟悉的 anonymous game 的精神,收益只取决于别人的状态分布,不取决于具体是谁。对称性意味着,我们只需要研究一个代表性玩家(representative agent),因为大家本来就是一个模子刻出来的。
假设二:个体影响微乎其微(negligible individual influence)。 在经验测度 $m^N_t = \frac{1}{N}\sum_{j}\delta_{x^j_t}$ 里,任何单个玩家对整张分布图的贡献都是 $O(1/N)$ 这么大的一份。当 $N\to\infty$ 时,任何一个玩家单方面改变自己的行为,对群体分布 $m_t$ 的影响趋于零。换句话说,你一个人怎么折腾,撼动不了那张“人群分布图”。
这两个假设合在一起,带来一个根本性的简化。当 $N\to\infty$ 时,那张随机的、抖动的经验测度 $m^N_t$,会收敛到一个确定性的(deterministic)概率测度流 $m_t$(“测度流”指每个时刻 $t$ 对应一个概率测度 $m_t$,串起来就是一条随时间流动的分布;第 2 章细讲)。于是,站在代表性玩家的视角,他面对的不再是 $N-1$ 个需要逐一追踪、还会随他的反应而变化的对手,而是一个外生给定的、确定性的群体分布流 ${m_t}_{t\in[0,T]}$。他只需对这个分布流做最优反应,而不必对任何具体的人做反应。
我们来逐条核对,这一步是怎么把上一节那三道墙同时推倒的:
- 维度灾难没了。 代表性玩家的状态空间从 $\mathbb{R}^{Nd}$ 坍缩回 $\mathbb{R}^d$,他只需要描述自己一个人的状态 $x_t$,外加面对一个分布 $m_t$。维度不再随 $N$ 爆炸。
- 个体追踪没了。 玩家不再追踪任何具体对手的身份,只感知聚合的分布 $m_t$,这既可计算、又符合真实决策的认知方式。
- Nash 不动点的 $N$ 路耦合坍缩了。 原本是 $N$ 个玩家两两耦合,现在每个玩家只通过同一个 $m_t$ 与外界相连,$N$ 路纠缠被一个共享的分布替代。
这是一个值得反复体会的反转:在精确框架里,$N\to\infty$ 是灾难;在平均场框架里,恰恰是 $N\to\infty$ 让问题变得可解。 难的不是“人多”,难的是“既要人多、又要保留每个人的身份”。一旦承认“人多到单个人无足轻重”,我们就理直气壮地把每个人的身份抹掉,只留下一张分布图,问题随之豁然开朗。
1.5 这不是新发明:非原子博弈与连续统玩家的老传统
到这里你可能已经有一种似曾相识的感觉了,这是对的。“个体微不足道、只对聚合量做反应”的思想,在博弈论里早有名分,就是非原子博弈(non-atomic game)与连续统玩家博弈(game with a continuum of players)。
非原子博弈是 Aumann 与 Schmeidler 等人奠定的经典框架:玩家不再是有限个离散的“原子”,而是构成一个连续统(比如用区间 $[0,1]$ 上的每个点代表一个玩家),单个玩家是一个“测度为零”的对象,他单方面的偏离不改变任何聚合统计量。在这种设定下,玩家的收益只依赖人群在各策略 / 各状态上的分布,每个玩家对这个分布做最优反应,均衡要求“大家的最优反应”恰好生成“那个被反应的分布”。你应该立刻就能把它和交通经济学里的 Wardrop 均衡对上号:每个司机对路网的拥堵分布做最优反应,而拥堵分布又恰好由所有司机的选择汇总而成。
MFG 与这个老传统的关系,可以一句话点破:Mean-Field Game 就是非原子 / 连续统玩家博弈的“动态 + 随机”版本。 经典非原子博弈大多是静态的、确定性的;MFG 把它推进到玩家状态随时间演化、且带布朗噪声的世界里。所以你之前关于“连续统玩家、个体测度为零、对分布做反应、均衡是自洽分布”的全部直觉,在 MFG 里都成立,只是现在那张分布 $m_t$ 会随时间流动、个体轨迹会带噪声。你不是在学一套全新的世界观,而是在给一套你已有的世界观,装上时间与噪声这两件新零件。
一句话类比贯穿全书:把后面要出现的“平均场均衡(mean-field equilibrium)”直接读成“Nash 均衡的不动点条件,在 $N\to\infty$、玩家对分布而非对个体做反应的极限下的化身”。既然单个玩家的偏离不改变 $m_t$,那么“每个人都对 $m_t$ 做最优反应”加上“$m_t$ 恰好由这些最优反应生成”,就完整刻画了一个无人有动机单方面偏离的群体稳态。这正是 Nash 那句“没人想偏离”在连续统、动态、随机情形下的样子。
这个类比还能再深一层,帮你提前消化后面会反复出现的两条思路。其一,求平均场均衡的标准做法,是一个“先猜一张分布 $m_t$,让代表性玩家做最优反应,得到一张新分布,再要求新旧一致”的不动点迭代,这在精神上就是你熟悉的 fictitious play(虚拟博弈):不断对“对手的当前画像”做最优反应、再更新画像,直到收敛。其二,平均场只是 $N$ 有限时的近似,所以严格地说,从平均场均衡反推回去,在 $N$ 很大但有限的真实博弈里,每个玩家只能做到“几乎”无法通过偏离获益,也就是 $\varepsilon$-Nash 均衡(偏离至多省下一个随 $N$ 增大而趋于零的 $\varepsilon$)。这条“平均场均衡 $\Rightarrow$ 有限 $N$ 下的 $\varepsilon$-Nash”的桥,正是平均场近似在严格意义上的合法性证书。这些你都已经有现成的直觉,本书后面只是把它们写成方程并证明。
1.6 要把这一切讲精确,缺的恰好是三套工具
直觉的故事到这里就讲完了:从难以驾驭的 N-player 随机微分博弈出发,借助“对称性”与“个体影响微小”两个假设取 $N\to\infty$ 极限,每个玩家从“和 $N-1$ 个具体对手博弈”被解放成“对一张确定性的群体分布流 $m_t$ 做最优反应”,而均衡就是那张自洽的分布。逻辑是通的,但你应该已经注意到,这个故事里反复出现三个你还没有严格工具去处理的对象。把它们点名列出来,正好就是接下来三章的任务。
- 怎么描述“人群” = 测度(measure)。 我们一直在说“群体分布 $m_t$”“经验测度 $m^N_t$”“Dirac 测度 $\delta_a$”“$m^N_t\to m_t$ 的收敛”。可“分布之间怎么算距离”“一串分布怎么收敛”“为什么要在分布构成的空间上找不动点”,这些都需要测度论与 Wasserstein 距离的语言。这是第 2 章(下一章)要从零补的:把“人群”这个对象讲清楚。
- 状态怎么在噪声下演化 = SDE(stochastic differential equation)。 我们一直在说“真实运动 = 趋势 + 抖动”“布朗运动 $W^i_t$”“带噪声版的状态演化”。可“$dW^i_t$ 到底是什么”“带随机项的微分方程怎么定义、怎么算(Itô 微积分)”“分布依赖的 SDE(McKean–Vlasov)又是什么”,这些需要随机微分方程的语言。这是第 3 章要补的:把“个体状态怎么动”讲清楚。
- 个体怎么最优 = 随机最优控制(stochastic optimal control)。 我们一直在说“代表性玩家对 $m_t$ 做最优反应”“值函数 $u(t,x)$”“HJB 方程是连续随机版的逆向归纳”“最优控制 $\alpha^\ast$”。可“值函数怎么定义”“HJB 方程怎么从 Bellman 最优性原理推出来”“Hamiltonian $H$ 是什么”,这些需要随机最优控制的语言。这是第 4 章要补的:把“一个人怎么决策才最优”讲清楚。
这三套工具,分别对应 MFG 的三个核心对象,平均场 $m_t$、个体动力学、个体的最优反应。等三章补完,我们就能把本章那个直觉故事翻译成两条方向相反、首尾相扣的方程(一条后向的 HJB 管个体最优、一条前向的 Fokker–Planck 管群体演化),并要求两者在 $m_t$ 上自洽。那时你会发现,所谓 MFG 的全部机器,不过是把本章这几段大白话,一字不差地写成了严格的符号。
承上启下。 本章用你熟悉的博弈论语言,说清了为什么 N-player 随机微分博弈难、以及“取 $N\to\infty$、让玩家对分布而非对个体做反应”这一平均场思想如何把它救活,并把这套思想认祖归宗到非原子 / 连续统玩家博弈的老传统上。下一章,我们就从最基础的一块工具开始:测度,也就是如何严格地描述“人群” $m_t$,以及为什么必须在测度构成的空间上谈收敛与不动点。
第 2 章 工具箱一:把“人群”写成一个分布(测度论的最小必需)
上一章我们得到一个解放性的结论:当人多到个体影响可以忽略,你不必再追踪“其他每一个人”,只需面对一张“人群此刻怎么铺开”的分布图 $m_t$,并对它做最优反应。这一章要补上的,是把这句话讲严格所需要的、最小的一套数学语言:怎样把“一大群人”精确地写成一个数学对象,并且让“两张分布有多远”“分布在收敛”“分布是某个映射的不动点”这些话都有确切含义。 我们刻意只取测度论里 MFG 真正会用到的那一小块,其余一概不碰。
先把记号约定摆在最前面,全章严格一致:玩家编号 $i$,玩家总数 $N$,时间 $t\in[0,T]$;玩家 $i$ 在时刻 $t$ 的状态记作 $x^i_t$(上标 $i$ 是玩家、下标 $t$ 是时间),取值在 $d$ 维欧氏空间 $\mathbb{R}^d$ 里;状态空间整体写作 $\mathbb{R}^d$。人群分布(平均场)记作 $m_t$,它住在“$\mathbb{R}^d$ 上所有概率测度构成的空间” $\mathcal{P}(\mathbb{R}^d)$ 里;有限 $N$ 时由真实个体拼出的分布叫经验测度(empirical measure),记作 $m^N_t$;单点质量叫 Dirac 测度,记作 $\delta_a$。这些对象本章会一个一个从零讲清。
2.1 一句话先建立直觉:从“点名册”到“分布”
在标准的非原子博弈(non-atomic game)或连续统博弈(continuum game)里,你早已熟悉一种思维:当玩家是一个连续统(比如区间 $[0,1]$ 上的每一点是一个玩家)时,你不会去问“第 $0.37$ 号玩家在做什么”,你问的是“选择动作 $a$ 的玩家占多大比例”。MFG 在动态、随机的场景里要做的是同一件事,只是把“玩家选了哪个动作的比例”换成“玩家此刻处在状态空间哪个位置的比例”。
更具体地,设想某一时刻 $t$,$N$ 个个体散落在 $\mathbb{R}^d$ 里,位置是 $x^1_t,\dots,x^N_t$。有两种记账方式:
- 点名册式(list)。 把每个人的坐标一一列出:$(x^1_t,\dots,x^N_t)$。这是一个 $\mathbb{R}^{Nd}$ 里的点,$N$ 一大就维度爆炸,而且它强行区分了“谁是谁”,与上一章“个体没有身份、只看比例”的精神相悖。
- 分布式(distribution)。 不记“谁在哪”,只记“每片区域里有多大比例的人”。对状态空间里任意一片区域 $A$,问一句:“此刻有百分之几的人落在 $A$ 里?”把这个比例函数 $A\mapsto(\text{落在 }A\text{ 里的人数比例})$ 记下来,就得到一个对象。这个对象,正是我们要的 $m^N_t$。
本章接下来做的,无非是把“分布式记账”这件事讲精确:它在数学上叫测度(measure);由 $N$ 个真实点拼出来的那一张叫经验测度;单个点贡献的那一份叫 Dirac 测度;$N\to\infty$ 时它趋向的极限叫平均场 $m_t$;而要谈“趋向”“收敛”“不动点”,就需要在分布之间装一把尺子,那把尺子叫 Wasserstein 距离。
2.2 概率测度:对“区域”回答“比例是多少”
1.1 函数 vs 测度:对点取值,还是对区域取值
你对函数(function)很熟悉:一个函数 $\phi:\mathbb{R}^d\to\mathbb{R}$ 的工作方式是“喂进去一个点 $x$,吐出来一个数 $\phi(x)$”。它对单个点取值。
概率测度(probability measure)的工作方式不同:它“喂进去一片区域 $A$,吐出来一个介于 $0$ 和 $1$ 之间的数”,这个数表示“质量(在我们这里就是人群比例)落在 $A$ 里的份额”。它对区域取值。一句话对照:
\[\text{函数 }\phi:\ \text{点 }x \ \longmapsto\ \text{数 }\phi(x); \qquad \text{测度 }m:\ \text{区域 }A \ \longmapsto\ \text{比例 }m(A)\in[0,1].\]形式上,一个概率测度 $m$ 是一个把“区域”映到 $[0,1]$ 的映射,记作 $m(A)$,含义是“质量落在区域 $A$ 中的比例”,并满足三条朴素的规则:
- 非负:$m(A)\ge 0$,比例不会是负的;
- 归一:$m(\mathbb{R}^d)=1$,落在整个空间里的比例是百分之百;
- 可加:若 $A_1,A_2,\dots$ 两两不相交,则 $m\big(\bigcup_k A_k\big)=\sum_k m(A_k)$,把互不重叠的区域拼起来,比例就直接相加。
这第三条就是“互斥事件的概率相加”,你在博弈论的混合策略、贝叶斯推断里天天在用,只是当时没必要叫它“测度”。
一个不必深究的技术点(可跳过,不影响理解)。 严格来说,并不是 $\mathbb{R}^d$ 的任意子集都能被赋予“比例”,否则会出现病态集合导致矛盾。数学上规定只对一类“规矩的”区域定义 $m(A)$,这类区域叫 Borel 集(Borel set),它由开集经过可数次并、交、补生成,几乎涵盖你能想到的一切“正常”区域(开球、闭球、矩形、它们的可数组合等)。本章凡说“区域 $A$”,默认指 Borel 集。这个限制对 MFG 的实际推导毫无妨碍,第一次也是最后一次提它。
1.2 为什么用“测度”而不是“密度曲线”
很多读者第一反应是:分布不就是一条密度曲线吗,画个钟形曲线 $m(x)$ 不就完了?这里要讲清一个关键区分,它直接决定了为什么我们必须用测度这套语言。
密度(density)是一个函数 $m(x)\ge 0$,它对点取值,并通过积分给出比例:质量落在区域 $A$ 里的份额是 $\int_A m(x)\,dx$。密度很好用,但它有一个致命前提:质量必须“摊开”成连续的一层,每个点附近都只有无穷小的一丁点质量。 一旦质量在某个点上“堆成一座尖塔”(在单点处集中了正比例的质量),密度就失效了,因为你没法用一条有限高的曲线去表示“一个点上集中了 $1/N$ 的质量”。
而这恰恰是 MFG 在有限 $N$ 时的常态:$N$ 个个体就是 $N$ 个离散的点,每个点 $x^i_t$ 上实打实地集中了 $1/N$ 的人群比例,点与点之间则空空如也,比例为零。这种“几座离散尖塔”的分布根本没有正常的密度曲线,你画不出一条函数 $m(x)$ 使 $\int_A m(x)\,dx$ 等于“落在 $A$ 里的点数除以 $N$”。
测度恰好能优雅地容纳这种情形:它不要求质量摊开,它只回答“区域 $A$ 里有多大比例”这个问题,而这个问题对“离散尖塔”和“连续摊开”都问得通。这就是我们坚持用测度、而不是一开始就用密度曲线的根本原因:测度是更大的容器,既装得下平滑的密度(连续人群),也装得下离散的点(有限 $N$ 的真实个体)。 等到 $N\to\infty$、并且有扩散噪声把质量抹平之后,极限 $m_t$ 往往才重新拥有密度(我们会写 $m_t(dx)=m(t,x)\,dx$,其中 $m(t,x)$ 是密度),那时再回到密度语言不迟。但在打地基的此刻,必须用测度。
2.3 Dirac 测度 $\delta_a$:一个点上的单位质量
现在把“一座尖塔”这件事写精确。这是整套语言里最简单、也最核心的砖块。
定义(Dirac 测度)。 给定一个点 $a\in\mathbb{R}^d$,Dirac 测度 $\delta_a$ 是这样一个概率测度:它把全部单位质量 $1$ 都集中在点 $a$ 上。它对区域 $A$ 的取值由“点 $a$ 在不在 $A$ 里”决定:
\[\delta_a(A)= \begin{cases} 1, & a\in A,\\[2pt] 0, & a\notin A. \end{cases}\]读法极其朴素:问“质量落在 $A$ 里的比例是多少”,$\delta_a$ 的回答就是“看点 $a$ 在不在 $A$ 里,在就是 $100\%$,不在就是 $0\%$”。 它把一个几何判断(点是否属于区域)翻译成了一个比例。你可以把 $\delta_a$ 想成“一根立在 $a$ 处、面积为 $1$ 的无限细的针”:所有质量都堆在这一个点上,别处全是零。
它满足上一节那三条规则吗?显然满足:取值非负;$\delta_a(\mathbb{R}^d)=1$($a$ 当然在整个空间里);可加性也成立(一片互不相交的区域里,至多只有一片含 $a$)。所以 $\delta_a$ 是一个货真价实的概率测度,但它没有密度曲线,它正是上一节说的那种“离散尖塔”的最纯粹形态,也正是测度语言相对密度语言的优越性第一次派上用场的地方。
和函数取值的对照,再说一次。 如果 $\phi$ 是一个函数,那么“$\phi$ 在 $a$ 处的值”是 $\phi(a)$,一个数。而 $\delta_a$ 不是“在 $a$ 处取某个值”,它是“把整团质量放在 $a$ 处”。两者方向相反:函数从点出发给数,$\delta_a$ 把质量送到点。后面会看到,它们之间有一座桥,用 $\delta_a$ 去“积分”一个函数 $\phi$,得到的恰好是 $\phi$ 在 $a$ 处的值:
\[\int_{\mathbb{R}^d}\phi(x)\,\delta_a(dx)=\phi(a).\]这条式子值得停一下。左边的写法 $\int \phi(x)\,m(dx)$ 是“按测度 $m$ 给的比例,对函数 $\phi$ 求加权平均”的通用记号(在概率论里就是期望 $\mathbb{E}_{x\sim m}[\phi(x)]$)。当 $m=\delta_a$ 时,全部权重都压在点 $a$ 上,于是这个加权平均就退化成“只看 $\phi$ 在 $a$ 处的值”,即 $\phi(a)$。所以 Dirac 测度正是“采样一个确定的点”这件事的测度表达。 记住这条“积分 $\delta_a$ 等于代入 $a$”的规则,下一节立刻要用。
2.4 经验测度 $m^N_t$:把 $N$ 个真实个体拼成一张分布
有了 $\delta_a$ 这块砖,就能把“$N$ 个人当前的位置”精确地写成一张分布。
定义(经验测度)。 设 $N$ 个个体在时刻 $t$ 的状态为 $x^1_t,\dots,x^N_t\in\mathbb{R}^d$。它们的经验测度 $m^N_t$ 定义为这 $N$ 个 Dirac 测度的平均:
\[m^N_t=\frac{1}{N}\sum_{j=1}^{N}\delta_{x^j_t}.\]逐块拆开念:对每一个个体 $j$,在它当前所在的点 $x^j_t$ 处立一根 Dirac 针 $\delta_{x^j_t}$(贡献单位质量 $1$);把 $N$ 根针叠加,再整体除以 $N$ 做归一,使总质量回到 $1$。于是每根针的高度变成 $1/N$,恰好对应“每个个体占人群的 $1/N$ 比例”。
它对一片区域回答什么? 把上面的定义作用在区域 $A$ 上,并用第 2 节里 $\delta_a(A)\in\{0,1\}$ 的规则:
\[m^N_t(A)=\frac{1}{N}\sum_{j=1}^{N}\delta_{x^j_t}(A) =\frac{1}{N}\cdot\#\\{\,j:\ x^j_t\in A\,\\} =\frac{\text{落在 }A\text{ 里的个体数}}{N}.\]这正是我们在第 0 节“分布式记账”里想要的东西:$m^N_t(A)$ 就是“此刻有多大比例的个体处在区域 $A$ 中”。也就是说,经验测度把第 0 节那句大白话,“看每片区域里有多大比例的人”,一字不差地实现成了一个数学对象。注意 $m^N_t$ 是由 $N$ 座 $1/N$ 高的离散尖塔拼成的,它没有密度曲线,这再次说明了为什么我们一开始就要用测度而非密度:有限 $N$ 的人群天然是离散点,密度根本写不出来。
用 Dirac 的“积分即代入”看群体平均。 第 2 节那条 $\int\phi\,\delta_a(dx)=\phi(a)$ 此刻立竿见影:对任意函数 $\phi$(比如“到出口的距离”“持仓风险”这类个体量),用 $m^N_t$ 积分就得到全体个体在该量上的样本平均:
\[\int_{\mathbb{R}^d}\phi(x)\,m^N_t(dx) =\frac{1}{N}\sum_{j=1}^{N}\int \phi(x)\,\delta_{x^j_t}(dx) =\frac{1}{N}\sum_{j=1}^{N}\phi\big(x^j_t\big).\]这说明:只要你知道经验测度 $m^N_t$,你就能算出任何“与个体身份无关、只看状态分布”的群体统计量。 这正是上一章 anonymous game 思想的数学化身,个体的收益只通过这类“对 $m^N_t$ 的积分”依赖他人,而绝不依赖“具体是哪个 $j$”。谁是谁被彻底抹掉了,只剩分布。
2.5 把 $m_t$ 理解为“一张随时间流动的概率测度”
到目前为止我们都冻结在某个固定时刻 $t$。但 MFG 是动态的:个体在动,人群分布也随之改变。所以真正的主角不是某一张分布,而是一整条随时间演化的分布轨迹。
测度流(flow of measures)。 把时间 $t$ 从 $0$ 跑到 $T$,每个时刻对应一张概率测度,就得到一条映射
\[[0,T]\ni t\ \longmapsto\ m_t\in\mathcal{P}(\mathbb{R}^d),\]我们称之为一条测度流,即“随时间流动的概率测度”。这里 $\mathcal{P}(\mathbb{R}^d)$ 是“$\mathbb{R}^d$ 上所有概率测度构成的空间”,$m_t$ 是其中一个点(一张分布)。把它在脑中可视化:一团会随时间变形、平移、扩散的“概率云”,$t$ 时刻的形状就是 $m_t$。在有扩散噪声、$m_t$ 拥有密度的情形,我们写 $m_t(dx)=m(t,x)\,dx$,其中 $m(t,x)$ 是 $t$ 时刻的密度函数,这条云就是一张会随时间起伏的曲面。
$m^N_t$ 与 $m_t$ 的关系,正是上一章那句极限。 有限 $N$ 时,真实人群每一时刻是一张经验测度 $m^N_t$,于是 $t\mapsto m^N_t$ 本身就是一条(随机的、由离散尖塔组成的)测度流。上一章告诉我们:在对称性与个体影响微小的假设下,当 $N\to\infty$,这条随机的经验测度流会逼近一条确定性的(deterministic)测度流 $t\mapsto m_t$。这就是平均场 $m_t$ 的出处:
\[m^N_t\ \xrightarrow{\ N\to\infty\ }\ m_t\qquad(\text{对每个 }t).\]代表性个体(representative agent)面对的,就是这条确定性的 $m_t$:它是个体决策时的外生背景(exogenous background),既然单个个体改变行为撼动不了 $m_t$,他在优化自己时就可以理直气壮地把整条 $\{m_t\}_{t\in[0,T]}$ 当成给定的环境。
但“逼近”到底是什么意思? 上面那个箭头 $\xrightarrow{N\to\infty}$ 被我们用得很顺,可它暗藏一个尚未交代的问题:$m^N_t$ 和 $m_t$ 都是分布,不是数,也不是 $\mathbb{R}^d$ 里的点。说两个数 $a_N\to a$ 我们清楚($\mid a_N-a\mid \to 0$);可说“两张分布越来越接近”是什么意思?$m^N_t$ 是几座离散尖塔,$m_t$ 可能是一张光滑的云,它们形状完全不同,凭什么说前者在“趋近”后者?要让这句话有意义,我们必须先在分布的空间 $\mathcal{P}(\mathbb{R}^d)$ 上装一把尺子,一把能量出“两张分布相距多远”的尺子。 这就引出本章最后一件工具。
2.6 Wasserstein 距离:在分布空间上量“多远”
5.1 为什么非要一把尺子不可(两处用途,都是你熟悉的)
我们需要在 $\mathcal{P}(\mathbb{R}^d)$ 上有距离,原因有两个,且都能对接你已有的博弈论直觉:
- 用途一:谈“分布收敛”。 上一节的极限 $m^N_t\to m_t$,只有当 $\mathcal{P}(\mathbb{R}^d)$ 上有了距离 $D(\cdot,\cdot)$,才能被严格地写成 $D(m^N_t,m_t)\to 0$。没有尺子,“分布在收敛”只是一句感觉。
- 用途二:谈“求不动点”,也就是求均衡。 回忆上一章的均衡逻辑:先猜一条分布流 $m$,让代表性个体对它做最优反应,所有人执行后又生成一条新的分布流 $\tilde m$,记这个“猜测到实际”的映射为 $\Phi:m\mapsto\tilde m$;均衡就是 $\Phi$ 的不动点 $\Phi(m)=m$。 这与 Nash 均衡是最优反应映射的不动点是同一套思想,只不过这里的“点”是一条分布流,住在 $\mathcal{P}(\mathbb{R}^d)$ 里。你熟知的不动点存在性工具(Brouwer、Kakutani、Schauder、Banach)无一例外都要求底空间是个带距离的(度量)空间,且 $\Phi$ 关于该距离连续。所以为了把“均衡存在”这件事建立在你已经信得过的不动点定理之上,就必须先给 $\mathcal{P}(\mathbb{R}^d)$ 配一把尺子。
换句话说,这把尺子不是数学家的洁癖,它是“分布收敛”和“均衡 = 不动点”这两句核心叙述能够成立的前提。
5.2 这把尺子该满足什么直觉
要选对尺子,先想清楚我们要它量出什么样的“近”。考虑两个 Dirac 测度 $\delta_0$ 和 $\delta_\varepsilon$(一根针在 $0$,一根针在 $\varepsilon$,$\varepsilon$ 很小)。直觉上,当 $\varepsilon\to 0$,这两张分布应当越来越像,距离应当趋于 $0$。
可是若用一些“朴素”的距离,这个直觉会破产。例如“总变差距离”(total variation,粗略地说就是逐区域比较比例之差的最大值)会判定 $\delta_0$ 与 $\delta_\varepsilon$ 的距离恒为最大值,无论 $\varepsilon$ 多小都不靠近,因为这种尺子只问“两张分布在同一片区域上的比例对不对得上”,而两根无限细的针除非位置完全重合,否则永远对不上。它对“质量在空间中的位置、针挪动了多近”毫无感觉。这显然不是我们要的尺子。我们要的尺子必须对位置敏感:针挪得越近,距离越小。
5.3 Wasserstein 距离:最优搬运的代价
满足上述直觉的标准选择是 Wasserstein 距离,它来自一个非常具象的“搬沙子”图景(最优传输,optimal transport)。
把分布 $\mu$ 想成一堆沙子的初始堆法,分布 $\nu$ 想成目标堆法(两堆沙子总量都是 $1$)。你要把 $\mu$ 这堆沙子搬动、重塑成 $\nu$ 那堆。一个搬运方案告诉你“从 $x$ 处取出多少沙子、送到 $y$ 处”,把从 $x$ 搬到 $y$ 的单位代价取为距离的 $p$ 次方 $\mid x-y\mid ^p$(搬得越远越贵)。在所有能把 $\mu$ 精确变成 $\nu$ 的搬运方案里,取总代价最小的那个,就定义了 $p$-Wasserstein 距离 $W_p(\mu,\nu)$:
\[W_p(\mu,\nu)=\left(\inf_{\pi\in\Pi(\mu,\nu)}\int_{\mathbb{R}^d\times\mathbb{R}^d}|x-y|^p\,\pi(dx,dy)\right)^{1/p}.\]这里 $\pi(dx,dy)$ 就是一个搬运方案,数学上叫耦合(coupling):它是 $\mathbb{R}^d\times\mathbb{R}^d$ 上的一张联合分布,记录“多少质量从 $x$ 走到 $y$”,并被要求“从 $x$ 处取走的总量恰是 $\mu$ 在那里的量、送到 $y$ 处的总量恰是 $\nu$ 在那里的量”(即 $\pi$ 的两个边缘分布分别是 $\mu$ 和 $\nu$);$\Pi(\mu,\nu)$ 是所有这种合法方案的集合;$\inf$ 是取下确界,也就是挑最省的方案;最外面开 $p$ 次方只是把单位调回“距离”量纲。
直觉上 $W_p$ 就是“把一张分布最省力地搬成另一张分布所需的最小总搬运代价”。它天然对位置敏感:回到 $\delta_0$ 与 $\delta_\varepsilon$,唯一的搬法是把那 $1$ 单位质量从 $0$ 整体挪到 $\varepsilon$,代价 $\mid 0-\varepsilon\mid ^p$,于是
\[W_p(\delta_0,\delta_\varepsilon)=\varepsilon\ \xrightarrow{\ \varepsilon\to0\ }\ 0,\]完全符合“针挪得越近、分布越像”的直觉。这正是它取代总变差距离成为 MFG 默认尺子的原因。MFG 里最常用 $p=1$ 与 $p=2$;本章不需要它们更细的性质,只需记住它给了 $\mathcal{P}(\mathbb{R}^d)$ 一把“对位置敏感、能让 Dirac 们随距离靠近”的合格尺子。
本章用到 Wasserstein 的程度,到此为止。 我们不展开它的对偶刻画、测地线、与梯度流的关系等更深内容,那些在后面讨论存在唯一性、数值方法时才需要。此刻你只需带走两句话:(一)$(\mathcal{P}(\mathbb{R}^d),W_p)$ 是一个带距离的(度量)空间,于是“分布收敛”$W_p(m^N_t,m_t)\to 0$ 有了确切含义;(二)正因为有了这把尺子,上一章“均衡 = 映射 $\Phi$ 的不动点”才能架在标准不动点定理之上,存在性证明才有立足之地。
5.4 把第 4 节的极限一句话补全
有了 $W_p$,上一节那个被搁置的疑问就解决了。所谓 $m^N_t\to m_t$,精确含义可以写成 $W_p(m^N_t,m_t)\to 0$:当 $N$ 增大,由 $N$ 座离散尖塔拼成的经验测度,在 Wasserstein 这把尺子下越来越贴近那张确定性的平均场分布 $m_t$。“一群离散点逼近一张光滑的云”这件原本说不清的事,现在被一把对位置敏感的尺子量得明明白白。
2.7 本章小结:四块砖与一把尺子
我们把“人群”这个庞然大物,化成了一套可计算、可比较、可做不动点的语言。盘点一下这套最小工具箱:
| 对象 | 记号 | 一句话含义 |
|---|---|---|
| 概率测度 | $m$ | 对区域 $A$ 回答“质量落在 $A$ 里的比例 $m(A)$ 是多少”(对照:函数对点取值) |
| Dirac 测度 | $\delta_a$ | 单位质量全压在点 $a$ 上;$\delta_a(A)$ 看 $a$ 在不在 $A$ 里;积分即代入:$\int\phi\,\delta_a(dx)=\phi(a)$ |
| 经验测度 | $m^N_t=\frac1N\sum_{j}\delta_{x^j_t}$ | $N$ 个真实个体拼成的分布;$m^N_t(A)$ 是落在 $A$ 里的个体比例(离散点,无密度) |
| 平均场 | $m_t\in\mathcal{P}(\mathbb{R}^d)$ | $N\to\infty$ 时 $m^N_t$ 的确定性极限,是一张随时间流动的概率测度 |
| Wasserstein 距离 | $W_p(\mu,\nu)$ | 分布空间上的尺子(最优搬运代价),让“分布收敛”与“求不动点”都有意义 |
把它们串成一句话:有限 $N$ 的人群是一张由 Dirac 拼成的经验测度 $m^N_t$(点名册退场、分布登场,且因为是离散点所以必须用测度而非密度);让 $N\to\infty$,它在 Wasserstein 尺度下收敛到确定性的平均场 $m_t$;这条随时间流动的测度 $\{m_t\}$ 既是代表性个体最优反应时面对的外生背景,又是“均衡 = 不动点”这场戏的主舞台。
这一章我们只解决了一个问题:把“人群”写成一个可以谈距离、谈收敛、谈不动点的分布对象。但我们始终没有说单个个体自己是怎么动的,他在 $\mathbb{R}^d$ 里的状态 $x^i_t$ 如何随时间、随噪声、随自己的控制而演化。下一章就来补这块:从布朗运动与随机微分方程(SDE)讲起,把个体的状态动力学 $dx^i_t=b\,dt+\sigma\,dW^i_t$ 一步步建立起来,让“点会动”这件事也有精确的语言。
第 3 章 工具箱二:个体状态怎么随时间演化(从 ODE 到受控 SDE)
上一章我们学会了用一个概率测度 $m$ 把“人群整体长什么样”装进一个数学对象里(回忆一下:$m_t \in \mathcal{P}(\mathbb{R}^d)$ 是时刻 $t$ 整个人群状态的分布,有限人数时用经验测度 $m^N_t = \frac{1}{N}\sum_{j=1}^N \delta_{x^j_t}$ 来近似)。但人群不是一张静态快照,它会动。本章就来回答一个看似简单、实则核心的问题:单个玩家的状态 $x^i_t$ 到底是怎么随时间一步步变化的?我们会从最干净的确定性世界(ODE)出发,一点点加入随机性(SDE),最后写出贯穿全书的主角方程:受控的、依赖人群分布的随机微分方程。
读者画像提醒:你对 Nash 均衡、best response、backward induction 这些张口就来,但 $W_t$、Itô、SDE 这些可能还陌生。所以下面凡是涉及随机分析的概念,第一次出现我都从零讲,并尽量给一个博弈论里的类比锚点。
3.1 先回到确定性世界:ODE 就是一张“速度场地图”
漂移 $b$:每个位置告诉你“该往哪个方向走多快”
想象 $\mathbb{R}^d$ 是一张巨大的地图,玩家的状态 $x$(“state”,玩家此刻所处的位置,取值在 $\mathbb{R}^d$)就是地图上的一个点。现在在地图的每一个点 $x$ 上,都画一支箭头,箭头的方向和长度告诉你“如果你现在在这里,下一瞬间该往哪走、走多快”。这支箭头就是漂移(drift,即状态随时间变化的瞬时速度方向,是一个 $\mathbb{R}^d$ 里的向量),记作 $b(x)$。
把所有箭头铺满整张地图,就得到一个速度场(velocity field,即每个位置都配一个速度向量的函数 $b: \mathbb{R}^d \to \mathbb{R}^d$)。常微分方程(Ordinary Differential Equation,简称 ODE,即用导数刻画状态瞬时变化率的方程)就是这件事的数学写法:
\[\frac{d x_t}{d t} = b(x_t), \qquad x_0 = \xi .\]这里 $x_t$(玩家在时刻 $t$ 的状态,下标 $t$ 表示时间)是一条随时间变化的轨迹,$\frac{d x_t}{d t}$($x_t$ 对时间的导数,即瞬时速度)就是这条轨迹此刻的速度,$\xi$(玩家的初始状态,“xi”,一个给定的起点)是出发点。方程在说一句直白的话:“你此刻的速度,由你此刻所在位置上的那支箭头决定。”
解 ODE:就是“顺着箭头一路走出来的轨迹”
ODE 的解 $t \mapsto x_t$(“solution”,从时间到状态的一条连续路径)不是一个数,而是一整条轨迹。求解的直觉非常物理:把一片树叶放在起点 $\xi$,它顺着箭头流动,走过的路径就是解。
如果你想要一个能在纸上手算的近似,最朴素的办法叫前向欧拉法(forward Euler method,即把连续时间切成小段、每段按当前速度直线前进的离散近似)。取一个很小的时间步长 $\Delta t$(“time step”,每一小步的时间长度),就有
\[x_{t + \Delta t} \approx x_t + b(x_t)\,\Delta t .\]读法:“新位置等于旧位置,加上’当前箭头方向乘以走了多久’。”反复迭代,就把那条流动轨迹一段一段拼出来。当 $\Delta t \to 0$,这个折线近似收敛到真正的解。
给博弈论读者的锚点:这套“离散小步 + 取极限到连续”的思路,和你熟悉的 fictitious play 里“一轮一轮更新信念、再看极限行为”是同一种味道。离散迭代是手算工具,连续方程是理论对象,两者通过取极限相连。本章后面的随机版本,也将沿用这个“离散步 → 连续极限”的脚手架。
多维一句话:当 $d > 1$ 时,$x_t = (x_t^{(1)}, \dots, x_t^{(d)})$ 是一个向量,$b(x) = (b^{(1)}(x), \dots, b^{(d)}(x))$ 是向量值函数,上面的方程逐分量成立。记号上我们就直接写向量形式,不展开分量,心里知道它是 $d$ 个标量方程并排即可。
3.2 加入随机扰动:从树叶漂流到醉汉走路
确定性 ODE 有个不真实的地方:它假设箭头地图是唯一的命运,起点定了,整条轨迹就定死了。但现实里个体状态总会受到无数微小、不可预测的冲击(市场噪声、测量误差、他人不可观测的微小动作等)。我们想把这种“随机抖动”加进方程。
第一步:什么是布朗运动 $W_t$(连续时间的随机游走)
先从离散的随机游走说起。一个醉汉站在原点,每隔时间 $\Delta t$ 抛一次硬币,正面向右走一步、反面向左走一步,每步长度为 $\sqrt{\Delta t}$。把时间步切得越来越细($\Delta t \to 0$)并取极限,得到的连续轨迹就是布朗运动(Brownian motion,记作 $W_t$,即连续时间下的随机游走,是随机分析里最基本的噪声源)。
为什么每步要取 $\sqrt{\Delta t}$ 而不是 $\Delta t$?这是整个随机分析里最该记牢的一个标度(scaling)。如果每步只走 $\Delta t$ 量级,那么走 $n$ 步(耗时 $t = n\,\Delta t$)后总位移的随机部分会消失成 $0$,噪声等于没加;如果每步走 $\sqrt{\Delta t}$ 量级,独立的正负抖动叠加起来,方差恰好正比于经过的时间,噪声既不消失也不爆炸。这就引出 $W_t$ 的三条定义性质(请记住这三条,后面全靠它):
- 从零出发:$W_0 = 0$(初始位置在原点)。
- 独立增量(independent increments,即不重叠时间段上的位移互不影响):对不重叠的时间段,比如 $[s_1, t_1]$ 与 $[s_2, t_2]$,位移 $W_{t_1} - W_{s_1}$ 与 $W_{t_2} - W_{s_2}$ 相互独立。直觉:醉汉每次抛硬币和上一次无关,未来的抖动不受过去抖动的影响(这正是“无记忆”)。
- 增量服从高斯分布且方差等于时间长度:$W_t - W_s \sim \mathcal{N}(0, t - s)$,其中 $\mathcal{N}(\mu, \sigma^2)$ 表示均值 $\mu$、方差 $\sigma^2$ 的正态分布(normal/Gaussian distribution,即钟形随机分布)。特别地 $W_t \sim \mathcal{N}(0, t)$,方差随时间线性增长。
把第三条写成微分形式,就是那句必须刻进脑子里的口诀:
\[\mathbb{E}[\,(dW_t)^2\,] = dt .\]读法:“布朗运动在一个无穷小时间 $dt$ 内的位移,其平方的期望恰好等于 $dt$。”这里 $dW_t$(布朗运动在 $[t, t+dt]$ 上的无穷小增量)的“平方”是 $dt$ 量级,而不是普通微积分里 $(dt)^2$ 那种可忽略的高阶小量。换句话说,$dW_t$ 本身是 $\sqrt{dt}$ 量级的。这一条标度差异,正是随机微积分与普通微积分分道扬镳的根源,也是 3.3 节 Itô 引理多出一项的全部来源。先把它记牢。
一个有用的反直觉:布朗运动的轨迹处处连续,但处处不可导。它太“毛糙”了,没有定义良好的瞬时速度。所以我们永远不写 $\frac{dW_t}{dt}$,只写增量 $dW_t$。这也是为什么下面方程要写成增量形式而不是导数形式。
第二步:漂移 + 扩散,写出随机微分方程 SDE
现在把“确定性的箭头地图”和“随机抖动”拼在一起。我们让状态在每个无穷小时间步 $dt$ 内,同时做两件事:
- 顺着箭头走一段确定性位移:$b(x_t)\,dt$(漂移项,drift term,可预测的趋势性移动);
- 再叠加一段随机抖动:$\sigma\,dW_t$(扩散项,diffusion term,不可预测的噪声)。
合起来就是随机微分方程(Stochastic Differential Equation,简称 SDE,即在 ODE 上叠加布朗噪声后的演化方程):
\[d x_t = b(x_t)\,dt + \sigma\, dW_t , \qquad x_0 = \xi .\]这里每个记号都已出现过,再统一定义一次:$x_t$ 是时刻 $t$ 的状态(现在它是随机的,每次实现都不同);$b(x_t)$ 是漂移,给出可预测的趋势;$\sigma$ 是扩散系数(diffusion coefficient,即噪声强度,标量或矩阵,控制随机抖动的幅度);$dW_t$ 是布朗运动增量,注入随机性。整句方程在说:“下一瞬间状态的变化 = 趋势性的一步(箭头)+ 一记随机抖动(噪声)。”
直觉对照表,帮你把两个世界并排放好:
| 对象 | 确定性 ODE | 随机 SDE |
|---|---|---|
| 演化规则 | $dx_t = b\,dt$ | $dx_t = b\,dt + \sigma\,dW_t$ |
| 解是什么 | 一条确定轨迹 | 一族随机轨迹(每次实现不同) |
| 起点定了之后 | 终点完全确定 | 终点是一个分布 |
| 物理形象 | 树叶顺水漂 | 醉汉边顺水走边乱晃 |
为什么 SDE 的解天然就是一个分布:注意最后一行。给定同一个起点 $\xi$,确定性 ODE 每次都给你同一条轨迹;但 SDE 因为每次的布朗抖动 $dW_t$ 都不一样,跑一万次会得到一万条不同的轨迹。于是“时刻 $t$ 状态在哪里”不再是一个点,而是一个概率分布。这个分布正是上一章的 $m_t \in \mathcal{P}(\mathbb{R}^d)$。这句话很关键:SDE 把“单个个体的随机演化”和“人群的分布演化”用同一套语言缝在了一起。单条样本路径描述一个个体,所有路径的分布描述人群。
离散近似(手算锚点):和 ODE 的欧拉法对应,SDE 也有最朴素的离散格式,叫 Euler-Maruyama 格式(Euler-Maruyama scheme,即 SDE 版本的前向欧拉离散):
\[x_{t+\Delta t} \approx x_t + b(x_t)\,\Delta t + \sigma\,\sqrt{\Delta t}\;Z, \qquad Z \sim \mathcal{N}(0, 1).\]注意噪声项是 $\sqrt{\Delta t}\,Z$ 而不是 $\Delta t\, Z$,这正是 $\mathbb{E}[(dW)^2] = dt$ 那条标度的离散体现:随机部分按 $\sqrt{\Delta t}$ 缩放,确定部分按 $\Delta t$ 缩放。这一行就是后面所有模拟与数值实验的基石。
3.3 Itô 引理:随机版的链式法则,为什么会“多出一项”
现在面对一个绕不开的技术点。在普通微积分里,如果 $y_t = \varphi(x_t)$($\varphi$ 是某个光滑函数,“phi”,把状态映成另一个量,比如成本或效用),链式法则告诉你 $dy_t = \varphi’(x_t)\,dx_t$。但当 $x_t$ 是 SDE 的解时,这条法则会错,必须修正。修正后的版本就是 Itô 引理(Itô’s lemma,即随机微积分版本的链式法则,是整个随机分析的核心工具),下一章推导 HJB 方程时会反复用到,所以这里先把直觉讲透。
多出一项从哪来:泰勒展开 + 那条标度
对光滑函数 $\varphi$ 做二阶泰勒展开(Taylor expansion,即用导数把函数局部展开成多项式):
\[d\varphi = \varphi'(x_t)\,dx_t + \tfrac{1}{2}\varphi''(x_t)\,(dx_t)^2 + \cdots\]在普通微积分里,$(dx_t)^2$ 是 $(dt)^2$ 量级的高阶小量,直接扔掉,于是只剩第一项,回到熟悉的链式法则。但在随机世界里要小心:把 $dx_t = b\,dt + \sigma\,dW_t$ 代入并算 $(dx_t)^2$,
\[(dx_t)^2 = b^2\,(dt)^2 + 2 b\sigma\,dt\,dW_t + \sigma^2\,(dW_t)^2 .\]逐项看量级(牢记 $dW_t$ 是 $\sqrt{dt}$ 量级):$(dt)^2$ 是高阶小量,扔掉;$dt\, dW_t$ 是 $dt^{3/2}$ 量级,也扔掉;唯独 $(dW_t)^2$ 不能扔,因为 $\mathbb{E}[(dW_t)^2] = dt$,它恰好是 $dt$ 量级,和第一项同阶。于是 $(dx_t)^2$ 留下一个 $\sigma^2\,dt$。代回展开式,就得到 Itô 引理(一维形式):
\[d\varphi(x_t) = \varphi'(x_t)\,dx_t + \tfrac{1}{2}\sigma^2\,\varphi''(x_t)\,dt .\]把 $dx_t$ 展开,更常用的写法是
\[d\varphi(x_t) = \Big[\,\varphi'(x_t)\,b(x_t) + \tfrac{1}{2}\sigma^2\,\varphi''(x_t)\,\Big]\,dt + \sigma\,\varphi'(x_t)\,dW_t .\]一句话直觉:和普通链式法则相比,Itô 引理多出来的就是那一项 $\tfrac{1}{2}\sigma^2\,\varphi’’$。它之所以存在,纯粹是因为 $dW^2$ 与 $dt$ 同阶,逼着我们保留二阶项。这一项带着二阶导数 $\varphi’’$,意味着噪声会通过函数的“弯曲程度”系统性地影响平均行为(比如 Jensen 不等式那种“凸函数下随机性抬高期望”的效应,在这里就是它的来源)。下一章值函数 $u(t,x)$ 的方程里出现的那个二阶项 $\tfrac{1}{2}\sigma^2\,\partial_{xx} u$,正是这一项的产物,到时回头看就一目了然。
多维情形只需把 $\varphi’’$ 换成二阶偏导数构成的 Hessian、把 $\sigma^2$ 换成 $\sigma\sigma^\top$ 的迹型表达,结构完全一样,这里不展开,记住“多一个带二阶导的项”这个本质即可。
3.4 给状态装上方向盘:单个玩家的受控 SDE
到目前为止,玩家是被动的:箭头地图 $b(x)$ 是外生给定的,玩家只能顺着走。但博弈里玩家是有策略的,他要选动作来影响自己的轨迹。这一步就是把“控制”装进 SDE。
控制 $\alpha^i_t$:玩家手里的方向盘
给玩家编号 $i$(player index,$i = 1, \dots, N$,$N$ 是玩家总数),他在时刻 $t$ 的状态记作 $x^i_t \in \mathbb{R}^d$(上标 $i$ 标玩家、下标 $t$ 标时间,这套上下标约定全书严格统一)。现在让漂移不仅依赖位置,还依赖玩家自己选的动作 $\alpha^i_t$(control/action,即玩家 $i$ 在时刻 $t$ 施加的控制,取值在某个动作集合 $A$ 中,“alpha”)。直觉上 $\alpha^i_t$ 就是方向盘:玩家通过它实时调整自己脚下那支箭头的方向和大小。
每个玩家也有自己独立的一份噪声 $W^i_t$(玩家 $i$ 的布朗运动,上标 $i$ 表示这是第 $i$ 个玩家专属的、与他人独立的随机源)。“独立”这一点在平均场极限里很关键:正因为每个人的抖动互不相关,大量个体平均后随机性会被“洗掉”,人群分布 $m_t$ 才会演化得相对平滑、可预测(这与你熟悉的非原子博弈里“单个玩家可忽略、整体却确定”是同一种直觉)。
于是单个玩家 $i$ 的受控 SDE(controlled SDE,即漂移中含有玩家可选控制的随机微分方程)写成:
\[d x^i_t = b\big(x^i_t,\, \alpha^i_t,\, m_t\big)\,dt + \sigma\, dW^i_t , \qquad x^i_0 = \xi^i .\]逐个记号核对(务必与全书一致):
- $x^i_t \in \mathbb{R}^d$:玩家 $i$ 在 $t$ 时刻的状态。
- $\alpha^i_t$:玩家 $i$ 的控制(动作),他的策略变量,方向盘。
- $m_t \in \mathcal{P}(\mathbb{R}^d)$:时刻 $t$ 的人群分布(平均场),即上一章的概率测度。
- $b(x, \alpha, m)$:漂移,现在是三元函数,同时吃“我在哪($x$)、我怎么动($\alpha$)、大家整体长啥样($m$)”。
- $\sigma$:扩散系数,噪声强度。
- $W^i_t$:玩家 $i$ 专属的布朗运动,各玩家相互独立。
- $\xi^i$:玩家 $i$ 的初始状态。
这个方程就是本书的主角。它一句话说清了平均场博弈里“一个个体怎么活动”:顺着一支由“我自己的位置、我的动作、整个人群分布”共同决定的箭头走,同时承受独立的随机抖动。
成本泛函(为下一章铺路,先点到为止):玩家选 $\alpha^i_t$ 不是乱选,而是为了最小化自己的总成本。我们用运行成本 $f$(running cost,即每一瞬间产生的成本率,依赖 $x^i_t, \alpha^i_t, m_t$)和终端成本 $g$(terminal cost,即在终止时刻 $T$ 根据最终状态结算的成本,依赖 $x^i_T, m_T$)把它写成总成本泛函 $J^i$(cost functional,即玩家 $i$ 在整个时间区间 $[0, T]$ 上的总期望成本):
\[J^i(\alpha^i) = \mathbb{E}\Big[\, \int_0^T f\big(x^i_t, \alpha^i_t, m_t\big)\,dt \;+\; g\big(x^i_T, m_T\big) \,\Big] .\]这里 $\mathbb{E}[\cdot]$ 是对随机噪声取期望(因为轨迹随机,成本也随机,玩家关心的是平均成本),$T$ 是终止时刻(terminal time,博弈的时间视界,$t \in [0, T]$)。“玩家 $i$ 选 $\alpha^i$ 去最小化 $J^i$”这件事,就是连续时间随机版的最优反应(best response),具体怎么解、值函数 $u(t,x)$ 和 Hamiltonian $H$ 怎么登场,留到下一章。这里你只需看清骨架:状态怎么动(受控 SDE)+ 这样动要付多少代价(成本泛函 $J^i$)= 一个玩家的完整决策问题。
3.5 McKean-Vlasov:平均场相互作用的数学落点
现在回到最关键、也最能体现“平均场”灵魂的一点。请重新盯住受控 SDE 里的 $m_t$。
玩家之间是怎么相互作用的
在标准的多人博弈里,玩家 $i$ 的收益直接依赖每个对手的具体动作。但在平均场设定下,玩家 $i$ 不在乎任何具体某个人,他只在乎人群整体的分布 $m_t$。漂移 $b(x^i_t, \alpha^i_t, m_t)$ 里的第三个参数 $m_t$ 就是这层意思:你脚下那支箭头的方向,部分地由“现在大家整体分布在哪儿”决定。同样地,成本 $f, g$ 也依赖 $m_t$。这就是平均场相互作用(mean-field interaction,即个体只通过人群的统计分布、而非具体某个对手,彼此影响)的数学落点。
给博弈论读者的精确锚点:这正是你熟悉的非原子博弈 / 连续统博弈(nonatomic / continuum game,即玩家数趋于无穷、单个玩家对整体可忽略的博弈)在动态随机环境下的版本。在那里,单个玩家的收益只取决于“采取各动作的人群比例”;在这里,单个玩家的演化与成本只取决于人群分布 $m_t$。“通过聚合量而非个体交互”这个核心思想,你早就熟悉,只是现在搬到了连续时间的随机轨迹上。
McKean-Vlasov:当分布反过来由解自己决定
这里出现一个微妙而深刻的自指结构(self-referential structure,即方程的系数依赖于这个方程自己解出来的分布)。把它拆开看:
- 一方面,单个玩家的状态 $x^i_t$ 按受控 SDE 演化,而这个 SDE 的漂移依赖人群分布 $m_t$。
- 另一方面,人群分布 $m_t$ 又是所有玩家状态 ${x^j_t}_j$ 的分布(有限 $N$ 时是经验测度 $m^N_t = \frac{1}{N}\sum_{j=1}^N \delta_{x^j_t}$,其中 $\delta_a$ 是集中在点 $a$ 的 Dirac 测度,即“全部质量都堆在 $a$ 这一个点上”的概率测度;$N \to \infty$ 时它收敛到极限分布 $m_t$)。
于是闭环出现了:$x^i_t$ 怎么走,取决于 $m_t$;而 $m_t$ 又恰恰是所有 $x^j_t$ 的分布。 漂移依赖于“解自身所诱导的分布”,这种 SDE 有个专门名字,叫 McKean-Vlasov 方程(McKean-Vlasov equation,也叫分布依赖 SDE,即系数依赖于解本身分布律的随机微分方程)。其抽象形式(写出 $\mathrm{Law}(x_t)$ 表示 $x_t$ 的分布律,即它服从的概率分布)是:
\[d x_t = b\big(x_t,\, \alpha_t,\, \mathrm{Law}(x_t)\big)\,dt + \sigma\, dW_t, \qquad \mathrm{Law}(x_t) = m_t .\]注意方程右边的 $m_t = \mathrm{Law}(x_t)$ 是左边 $x_t$ 自己的分布。这正是“分布依赖”的精确含义:你要解的轨迹,依赖于这条轨迹自己的统计画像。
为什么这恰恰是 Nash 不动点的连续时间随机版本
这个自指结构会让博弈论读者会心一笑,因为它本质上就是一个不动点(fixed point)问题,和 Nash 均衡的逻辑一模一样。把平均场均衡的求解循环写成你熟悉的语言:
- 冻结环境(猜一个 $m_t$):先假定人群分布的整条轨迹 $(m_t)_{t \in [0,T]}$ 是已知、固定的。这一步就像在 best response 里“先固定对手策略”。
- 算最优反应:在这个固定的 $m_t$ 环境下,代表性玩家求解自己的受控 SDE + 最小化 $J^i$,得到最优控制 $\alpha^*$(optimal control,即给定环境下使总成本最小的控制策略)和相应的最优轨迹。这就是连续时间随机版的 best response。
- 更新环境(一致性 / 不动点条件):当所有(无穷多个、彼此独立、统计上同质的)代表性玩家都采用这个最优策略后,他们的轨迹会诱导出一个新的人群分布 $\tilde{m}_t$。
- 要求自洽:平均场均衡(mean-field equilibrium)要求这个新分布与一开始冻结的那个一致,即 $\tilde{m}_t = m_t$ 对所有 $t$ 成立。
第 4 步的“输入分布 = 输出分布”,就是一个不动点条件,与 Nash 均衡“每个人都在对所有人的策略做最优反应、没人想偏离”在结构上完全同构。Nash 均衡的存在性你靠不动点定理(Brouwer / Kakutani)来保证;平均场均衡的存在性同样靠不动点论证(在测度空间 $\mathcal{P}(\mathbb{R}^d)$ 上的映射上找不动点),只是空间从有限维策略单纯形换成了无穷维的概率测度空间。换句话说,平均场均衡就是把 Nash 不动点搬到了“概率测度空间 + 连续时间随机演化”的舞台上。
$N$ 个个体与极限的桥:在有限 $N$ 的真实博弈里,玩家 $i$ 面对的是经验测度 $m^N_t = \frac{1}{N}\sum_{j=1}^N \delta_{x^j_t}$,它会随每个人的具体动作而抖动。平均场理论的核心承诺是:当 $N \to \infty$,由于各 $W^i_t$ 独立、个体同质,$m^N_t$ 收敛到一个确定的极限 $m_t$,单个玩家对整体的影响趋于零(正是非原子博弈的精神)。于是真实的 $N$ 人博弈,可以用“一个代表性玩家 + 一个固定的极限分布 $m_t$”这套干净得多的方程来近似,而这种近似的精度,正可以用你熟悉的 $\varepsilon$-Nash 均衡($\varepsilon$-Nash equilibrium,即没有玩家能通过偏离把自己收益改善超过 $\varepsilon$ 的近似均衡)来度量:平均场均衡策略用回到有限 $N$ 博弈里,构成一个 $\varepsilon$-Nash 均衡,且 $\varepsilon \to 0$ 当 $N \to \infty$。这条“宏观分布固定、微观个体最优、二者自洽”的主线,就是平均场博弈把不可解的 $N$ 体问题压缩成可解的单体 + 分布问题的全部奥秘。
3.6 小结与承接
本章我们搭好了第二件工具:个体状态的演化方程。从一张速度场地图(ODE,顺着箭头走的确定性轨迹),到叠加布朗运动 $W_t$ 的随机抖动(SDE,$dx_t = b\,dt + \sigma\,dW_t$,记住 $\mathbb{E}[(dW)^2]=dt$ 这条命根子标度,以及 Itô 引理因此多出的那个二阶项),再到给状态装上方向盘 $\alpha^i_t$ 的受控 SDE,最后点明漂移与成本对人群分布 $m_t$ 的依赖(McKean-Vlasov),把“平均场相互作用”和“Nash 不动点”精确地对应了起来。
但有一块拼图还空着:玩家手里那个方向盘 $\alpha^i_t$ 到底该怎么打?也就是说,在固定的环境 $m_t$ 下,玩家如何求解自己的最优控制 $\alpha^*$ 来最小化成本泛函 $J^i$?下一章我们就进入随机最优控制,引入值函数 $u(t,x)$ 与 Hamiltonian $H$,并把 HJB 方程讲成“连续时间随机版的逆向归纳(backward induction)”,让你用最熟悉的博弈论直觉,一步步算出这个方向盘的最优打法。
第 4 章 工具箱三:个体怎么做最优决策(随机最优控制与 HJB)
上一章我们把单个个体的状态写成了一条受控 SDE:$dx^i_t = b(x^i_t,\alpha^i_t,m_t)\,dt + \sigma\,dW^i_t$,也就是“确定性趋势 $b$ 给方向、随机扰动 $\sigma\,dW^i_t$ 给抖动”。但那条方程只回答了“如果我这样动,状态会怎么变”,它没有回答更要紧的问题:我究竟该怎么动,才对自己最划算? 这一章就专门打磨这件工具,把“一个个体在给定人群分布下如何做最优决策”这件事,从你熟悉的逆向归纳(backward induction),一步步推成连续时间、带噪声版本的 Hamilton–Jacobi–Bellman(HJB)方程。下一章再把“个体最优”“群体演化”“自洽闭合”这三件工具拼成完整的 MFG 系统。
为了把注意力完全放在“单个个体怎么最优决策”上,本章自始至终把人群分布流 $m = (m_t)_{t\in[0,T]}$ 当成一个外生给定、已知的背景。这里 $m_t \in \mathcal{P}(\mathbb{R}^d)$ 是 $t$ 时刻的人群分布($\mathcal{P}(\mathbb{R}^d)$ 表示 $\mathbb{R}^d$ 上所有概率测度构成的集合,前面已经从零讲过测度与经验测度 $m^N_t = \frac{1}{N}\sum_j \delta_{x^j_t}$)。用博弈论的话说:我们暂时冻结对手的整体行为,只研究单个玩家对“固定的群体环境”做 best response。这正是对手策略固定时、你算自己最优反应的那一步;只不过这里的“对手整体”被压缩成了一条分布流 $m_t$。
4.1 个体的优化问题:要最小化的到底是什么
先把个体面对的决策问题完整地写下来。把视角收缩到一个代表性个体(representative agent)身上。所谓代表性个体,是因为所有个体对称(共享同样的动力学 $b$、同样的成本 $f,g$),谁是谁不重要,研究任意一个就代表了全体;为简洁,本节把上标 $i$ 暂时省去,写 $x_t$、$\alpha_t$、$W_t$,需要强调“第 $i$ 个个体”时再写回 $x^i_t$。
个体能选的是什么。 个体唯一能自己说了算的,是每个时刻的控制 $\alpha_t$(也叫动作,前一章讲过它通过 drift $b$ 影响状态)。所以个体要选的不是一个数,而是一整条随时间变化的控制过程 $(\alpha_s)_{s\in[t,T]}$。用博弈论的语言,这就是它的一个“策略”,只不过是连续时间版的。
个体想最小化什么。 我们用一个要被最小化的总成本泛函(cost functional) $J^i$ 来刻画目标。这里“泛函”就是“吃进一整条策略、吐出一个数”的函数,记号上之所以叫 $J^i$ 而不只是 $J$,是为了和前面 $N$ 人博弈里第 $i$ 个个体的成本对齐。从时刻 $t$、状态 $x$ 出发,采用控制 $(\alpha_s)_{s\ge t}$ 的总成本是:
\[J^i(t,x;\alpha) = \mathbb{E}\!\left[\, \int_t^T f(x_s,\alpha_s,m_s)\,ds \;+\; g(x_T,m_T) \;\middle|\; x_t = x \,\right].\]逐块拆解(每个记号第一次出现都解释清楚):
- $f$ 是 running cost(运行成本 / 瞬时成本):在每一个时刻 $s$,处在状态 $x_s$、采取动作 $\alpha_s$、面对人群分布 $m_s$,这一瞬间要付出的代价就是 $f(x_s,\alpha_s,m_s)$。
- $\int_t^T f(x_s,\alpha_s,m_s)\,ds$ 是把每一刻的瞬时成本沿时间累加起来(连续求和就是积分),即“从现在 $t$ 到终点 $T$ 这一路上的总辛苦”。在地铁的例子里,$f$ 可以同时含三种诉求:动作越激进越费力(省力项)、离目标越远越糟(想快点到的项)、所在区域越挤越糟(通过 $m_s$ 体现的避免拥挤项)。
- $g$ 是 terminal cost(终端成本):只在终点时刻 $T$ 结算一次的代价,只跟最终落在哪($x_T$)以及那时人群怎么分布($m_T$)有关。比如“时间一到还没走到站台,罚一笔”。
- $\mathbb{E}[\,\cdot \mid x_t = x]$ 是条件期望(conditional expectation):因为状态被布朗运动 $W_s$ 推着随机抖动,每一次具体的轨迹都不一样,上面那一大坨成本本身就是个随机量。我们没法谈“某一次抖动下恰好花了多少”(那靠运气),能谈的是它在所有可能随机情形上的平均值,所以套一个期望 $\mathbb{E}$;竖线后面的 $x_t = x$ 是说“在从 $(t,x)$ 出发”这个条件下取平均。
一句话:个体的优化问题,就是在所有可选的控制过程里,挑一条让这个平均总成本最小的。
和博弈论的对照。 在普通的有限博弈里,best response 是“给定别人策略,在我的(离散)策略集里挑收益最大的那个”。这里完全是一回事,只是三处升级了:策略从“一个动作”变成“一整条随时间的控制过程”;收益变成了要最小化的成本(差一个负号,纯属约定);而且因为有噪声,目标里多了一个对随机性的期望 $\mathbb{E}$。$m$ 被冻结,恰好对应“对手策略固定”这个 best response 的前提。
4.2 值函数:从某个处境出发,能达到的最好成绩单
直接对“一整条控制过程”做优化很笨重,因为它是无穷维的对象。最优控制理论的核心招数(也正是动态规划的招数),是引入一个只依赖“当前处境”的辅助对象,把无穷维的策略优化,转成一个关于这个辅助对象的方程。这个辅助对象就是值函数(value function)。
定义值函数 $u(t,x)$ 为:从时刻 $t$、状态 $x$ 出发,用最优策略能达到的最小未来总成本,
\[u(t,x) \;=\; \inf_{\alpha}\, J^i(t,x;\alpha).\]这里 $\inf$(下确界)你可以先当成 $\min$ 来读:在所有可行控制过程上取最小成本。$u(t,x)$ 的含义用一句话说就是:“此刻时间是 $t$、我处在状态 $x$,如果从现在起一直最优地走下去,我未来要付出的最小总成本是多少。” 它是站在 $(t,x)$ 这个处境上往后看的那张“最好成绩单”。
为什么引入它如此关键?因为值函数把“整条策略”的信息,压缩成了一个只看“当前在哪、现在几点”的函数。一旦我们知道了 $u$,最优决策就退化成一个逐点(pointwise)的小问题:在每个 $(t,x)$ 处,只需问“眼前这一小步该怎么迈”,而把更远的未来全部打包进 $u$。这正是动态规划之所以好用的根本原因。
和逆向归纳的对照。 你在有限步博弈(或有限阶段决策)里早就用过这个对象:在博弈树上,从某个节点往下,你会算出“从这个节点开始最优地玩下去能拿到的值”,然后用它替换掉整棵子树。那个“节点上的值”就是离散版的值函数 $u$。值函数 $u(t,x)$ 不过是把“博弈树节点”换成了“连续时间 $t$ + 连续状态 $x$”的处境而已。
先免费拿到一个边界条件。 值函数有一个一眼就能看出来的取值:在终点 $t = T$ 时,已经没有任何“未来”可以优化了($\int_T^T \cdots ds = 0$),成绩单上只剩下终端成本,于是
\[u(T,x) \;=\; g(x,m_T).\]这叫终端条件(terminal condition)。它会在后面扮演关键角色:因为我们确切知道的是“终点时刻的值”,所以最终要从 $T$ 往回(往时间负方向)解出 $u$,这正是 HJB 是“后向(backward)”的原因。先记住这个伏笔。
4.3 Bellman 最优性原理:把逆向归纳搬到连续时间
现在来到全章最核心的直觉锚点。求 HJB 之前,先讲清楚它背后那句话;这句话你其实早就熟得不能再熟,它就是逆向归纳所依赖的同一条原理。
Bellman 最优性原理(principle of optimality),用一句大白话说:
“从现在起最优地走”,等于“先最优地迈出一小步,再从落脚的新处境起,继续最优地走”。
换个等价的说法,它就是你做逆向归纳时心照不宣的那条断言:最优策略的任何子策略仍然是最优的。 一条全局最优的轨迹,从它中途的任意一点往后截断,剩下那一段,对于“从那个截断点出发的剩余子问题”而言,也必须是最优的。否则,我们就能把那一段换成更好的走法、让总成本更低,这与“原来那条是全局最优”矛盾。
和逆向归纳的对照(这就是同一件事)。 在有限阶段决策里,你做逆向归纳就是:先解最后一阶段的最优选择,把它的最优值记下来当作“未来值”;再退一格,用这个已经算好的“未来值”去解倒数第二阶段;如此一路往前退到起点。每一步你都在用“当前一步的即时收益 + 已经最优化好的未来值”做局部最优选择。Bellman 最优性原理,就是这套逆向归纳之所以正确的那条根据。HJB 方程,无非是把这套逆向归纳,从“离散的一格一格”推到“连续时间的无穷小一步”,并且额外处理了随机噪声。所以你完全可以把这一整章读成:连续时间、带扩散噪声版本的 backward induction。
把这句话写成等式:动态规划原理(DPP)。 把“先最优地走一小段时间 $[t,t+h]$,再从落脚点继续最优地走”这句话翻译成式子。这里 $h > 0$ 是一小段时间。“这一小段里的即时成本”就是 $\int_t^{t+h} f(x_s,\alpha_s,m_s)\,ds$;“从落脚点 $x_{t+h}$ 起继续最优地走”的成本,按值函数的定义恰好就是 $u(t+h, x_{t+h})$(这正是值函数的妙处:它已经把“从新处境起的最优未来”一口气概括好了)。二者相加再取最小、并对随机性取期望,应当仍等于 $u(t,x)$:
\[u(t,x) \;=\; \inf_{\alpha}\, \mathbb{E}\!\left[\, \int_t^{t+h} f(x_s,\alpha_s,m_s)\,ds \;+\; u\big(t+h,\, x_{t+h}\big) \;\middle|\; x_t = x \,\right].\]这条等式叫动态规划原理(Dynamic Programming Principle, DPP),它就是 Bellman 最优性原理的精确数学表述,也是连续时间版的 Bellman 方程。注意它的结构:把一个本来要在整段 $[t,T]$ 上做的优化,拆成了“当前一小步 $[t,t+h]$ 的优化 + 未来用 $u$ 概括”这个递归形式。这个递归,就是逆向归纳的连续时间化身。 下一节我们让 $h \to 0$,就能把这个递归“求导”成一个微分方程,那就是 HJB。
4.4 一个必备零件:Itô 公式(连续随机版的链式法则)
要让 $h\to 0$,我们得知道 $u(t+h, x_{t+h})$ 比起 $u(t,x)$ 大约变了多少。如果世界没有噪声,这就是普通的链式法则。但 $x_t$ 带着布朗噪声,普通链式法则会漏掉一项,必须用Itô 公式(Itô’s formula)。这是本章唯一需要从随机分析借的工具,我们只用它的结论,并把那条“多出来的项”讲清楚来历。
先回忆没有噪声时的链式法则。 若 $x_t$ 满足无噪声的 ODE $dx_t = b\,dt$,且 $u(t,x)$ 光滑,那么沿着轨迹 $u(t,x_t)$ 随时间的变化是
\[d\,u(t,x_t) = \big(\partial_t u + b\cdot \nabla u\big)\,dt,\]其中 $\partial_t u$ 是 $u$ 对时间的偏导(“值随时间本身怎么变”),$\nabla u = \nabla_x u$ 是 $u$ 对状态 $x$ 的梯度(一个 $d$ 维向量,第 $k$ 个分量是 $\partial u/\partial x_k$,衡量“状态在第 $k$ 个方向上挪一点,值变多少”),$b\cdot\nabla u$ 是点积(“状态被 drift 推着动,带来的值变化”)。这就是普通的多元链式法则,没什么神秘。
加了噪声为什么会多一项。 关键的反直觉之处在于:布朗运动 $W_t$ 在一小段时间 $dt$ 内的抖动 $dW_t$,其“大小”不是 $O(dt)$,而是 $O(\sqrt{dt})$(这是布朗运动的标志性性质:方差随时间线性增长,所以标准差随 $\sqrt{t}$ 增长)。于是 $(dW_t)^2$ 的量级是 $O(dt)$,和 $dt$ 同阶,不能像普通微积分那样当成高阶小量丢掉。当我们把 $u$ 沿轨迹做二阶 Taylor 展开时,那个本该被忽略的二阶项 $\frac12 (\text{二阶导})\,(dx_t)^2$ 里,$(dx_t)^2$ 的随机部分 $(\sigma\,dW_t)^2 = \sigma^2 (dW_t)^2$ 恰好贡献出一个 $\sigma^2\,dt$ 量级的项,活了下来。把它算清楚,就得到 Itô 公式。
Itô 公式(本章用到的形式)。 设 $x_s$ 满足受控 SDE $dx_s = b(x_s,\alpha_s,m_s)\,ds + \sigma\,dW_s$,且 $u(t,x)$ 关于 $t$ 一次、关于 $x$ 二次连续可微(记作 $C^{1,2}$)。则沿轨迹有
\[d\,u(s,x_s) \;=\; \underbrace{\Big(\partial_s u + b(x_s,\alpha_s,m_s)\cdot\nabla u + \nu\,\Delta u\Big)\,ds}_{\text{确定性的“漂移”部分}} \;+\; \underbrace{\sigma\,\nabla u\cdot dW_s}_{\text{随机的“鞅”部分}} ,\]其中:
- $\nu = \sigma^2/2$ 是我们前面就约好的扩散参数(diffusion parameter),这里它正是从那个“活下来的二阶项” $\frac12\sigma^2(\cdot)$ 里冒出来的,$\frac12\sigma^2 = \nu$。
- $\Delta u = \sum_{k=1}^d \partial^2 u / \partial x_k^2$ 是 Laplacian(拉普拉斯算子):把 $u$ 在各个状态方向上的二阶偏导加起来。它衡量 $u$ 在 $x$ 处的“弯曲程度”,是噪声新带来的那一项的载体;没有噪声($\sigma = 0$)时 $\nu=0$,这一项消失,公式就退回普通链式法则。
- $\sigma\,\nabla u\cdot dW_s$ 是随机那一项。它有一个极其好用的性质:它是一个鞅(martingale)增量,通俗讲就是“纯随机、不偏不倚的抖动,平均效果为零”。所以一旦我们对它取期望,$\mathbb{E}[\sigma\,\nabla u\cdot dW_s] = 0$,整项消失。这一点是下一步推导能走通的关键。
写成积分形式(从 $t$ 积到 $t+h$),就是:
\[u(t+h, x_{t+h}) = u(t,x) + \int_t^{t+h}\!\Big(\partial_s u + b\cdot\nabla u + \nu\,\Delta u\Big)\,ds + \int_t^{t+h}\!\sigma\,\nabla u\cdot dW_s,\]其中被积的 $u$ 及其各阶导数都在 $(s, x_s)$ 处取值。一句话记住 Itô 公式:它就是“随机版的链式法则”,比普通链式法则多了一个由噪声二阶效应贡献的 $\nu\Delta u$ 扩散项,外加一个取期望就消失的鞅项。
4.5 从 DPP 推出 HJB:让一小步趋于零
现在把零件拼起来。我们要做的,就是把上面的 Itô 展开代进 DPP,然后让 $h \to 0$,把“递归”磨成“微分方程”。
第一步:代入。 把 Itô 积分形式代入 4.3 节的 DPP。先对那个鞅项取期望,它为零,于是 DPP 里的 $\mathbb{E}[u(t+h,x_{t+h})\mid x_t=x]$ 变成
\[\mathbb{E}\big[u(t+h,x_{t+h})\,\big|\,x_t=x\big] = u(t,x) + \mathbb{E}\!\int_t^{t+h}\!\Big(\partial_s u + b\cdot\nabla u + \nu\,\Delta u\Big)\,ds.\]把它代回 DPP $u(t,x) = \inf_\alpha \mathbb{E}\big[\int_t^{t+h} f\,ds + u(t+h,x_{t+h})\big]$,两边的 $u(t,x)$ 抵消,得到
\[0 = \inf_{\alpha}\, \mathbb{E}\!\left[\, \int_t^{t+h}\!\Big( f + \partial_s u + b\cdot\nabla u + \nu\,\Delta u \Big)\,ds \;\middle|\; x_t = x \,\right].\]第二步:除以 $h$,令 $h\to 0^+$。 两边除以 $h$。对积分用积分中值定理:当 $h\to 0$ 时,$\frac{1}{h}\int_t^{t+h}(\cdots)\,ds$ 趋于被积函数在起点 $s=t$、$x_s = x$ 处的值。于是得到一个逐点成立的等式:
\[0 = \partial_t u(t,x) + \nu\,\Delta u(t,x) + \inf_{\alpha}\Big\{\, b(x,\alpha,m_t)\cdot\nabla u(t,x) + f(x,\alpha,m_t) \,\Big\}.\]注意 $\partial_t u$ 和 $\nu\Delta u$ 这两项不依赖控制 $\alpha$(它们只关乎值函数本身在 $(t,x)$ 处怎么变、怎么弯),所以可以提到 $\inf_\alpha$ 外面;真正需要对 $\alpha$ 取下确界的,只有含 drift $b$ 和瞬时成本 $f$ 的那两项。这个方程,就是大名鼎鼎的 Hamilton–Jacobi–Bellman(HJB)方程。
回看一眼直觉。 这条等式在说一件很朴素的事:在最优决策下,“值随时间的自然漂移”($\partial_t u + \nu\Delta u$,含噪声平滑)与“当下这一小步通过选最优动作能挣到的最好瞬时权衡”(那个 $\inf_\alpha{\cdots}$)必须正好抵消为零。这正是逆向归纳“当前一步即时成本 + 最优未来值”在连续时间下取到平衡的样子。
4.6 Hamiltonian 与最优反馈控制
HJB 里对 $\alpha$ 取下确界的那一坨,值得单独命名,因为它正是“个体在每一瞬间的最优权衡”的全部内容。
定义 Hamiltonian。 把那一坨抽出来,定义 Hamiltonian(哈密顿量) 为
\[H(x,p,m) \;=\; \inf_{\alpha}\Big\{\, b(x,\alpha,m)\cdot p + f(x,\alpha,m) \,\Big\}.\]这里 $p \in \mathbb{R}^d$ 是一个新引入的辅助变量,叫对偶变量 / 协态(co-state)。它现在还是个抽象占位符,但在 HJB 里它将被替换成 $p = \nabla u(t,x)$,也就是值函数对状态的梯度。借助 $H$,HJB 方程可以写得非常紧凑:
\[\boxed{\;\partial_t u(t,x) + \nu\,\Delta u(t,x) + H\big(x,\nabla u(t,x),m_t\big) = 0,\qquad u(T,x) = g(x,m_T).\;}\]逐项再读一遍这个“成绩单必须满足的账本”:$\partial_t u$ 是“值随时间怎么变”;$\nu\Delta u$ 是噪声(布朗扰动)带来的扩散平滑项;$H(x,\nabla u, m_t)$ 是“当下这一步选最优动作所能达到的最佳瞬时权衡”;配的是终端条件 $u(T,x) = g(x,m_T)$。
为什么 $p$ 取 $\nabla u$、Hamiltonian 凭什么刻画“权衡”。 梯度 $\nabla u(t,x)$ 衡量“值函数对状态变化的敏感度”,也就是当前状态的边际成本(往某个方向挪一点,未来总成本会变多少)。于是 $b(x,\alpha,m)\cdot\nabla u$ 这一项的含义是:我现在选的动作 $\alpha$ 通过 drift $b$ 改变了状态的走向,这一改变又通过边际成本 $\nabla u$ 折算成对未来总成本的瞬时影响。 而 $f(x,\alpha,m)$ 是这个动作的即时代价。Hamiltonian 把二者相加再最小化,正好刻画了个体在每一瞬间面对的核心权衡(trade-off):
当下省点力气(压低 $f$),还是花点力气调整状态、以利长远(压低 $b\cdot\nabla u$)?
这跟博弈论里 best response 的精神完全一致:在每一个瞬间,对“给定环境 $m$ 和未来边际价值 $\nabla u$”做一次即时最优反应。
最优反馈控制 $\alpha^*$。 取到 Hamiltonian 那个最小值的动作,就是个体的最优动作,记作
\[\alpha^*(x,p,m) \;=\; \arg\min_{\alpha}\Big\{\, b(x,\alpha,m)\cdot p + f(x,\alpha,m) \,\Big\}.\]把对偶变量替换为真实的边际成本 $p = \nabla u(t,x)$,就得到最优反馈控制(optimal feedback control)
\[\alpha^*\big(x,\nabla u(t,x),m_t\big).\]这里“反馈(feedback)”一词很关键:最优动作不是一条事先排好的固定时间表,而是一条规则,它告诉你“当你此刻处在状态 $x$、时间是 $t$(从而面对分布 $m_t$、读到边际成本 $\nabla u$)时,就采取这个动作”。无论噪声把你随机推到哪个状态,你都按这同一条规则当场做最优反应。用博弈论的话说,最优反馈就是“依状态而定的 best response 规则”,而不是一条开环(open-loop)的固定计划。 这也呼应了上一章:动作 $\alpha^i_t$ 通过 drift $b$ 影响状态,而这里我们终于知道了这个动作该怎么定下来。
一个能算到底的例子(线性二次型)。 为了让 $\alpha^*$ 不只是抽象符号,看一个能显式解出来的常见情形:设 drift 就是“动作即速度”$b(x,\alpha,m) = \alpha$,运行成本对控制是二次的 $f(x,\alpha,m) = \frac{1}{2}\mid \alpha\mid ^2 + f_0(x,m)$(其中 $\frac12\mid \alpha\mid ^2$ 是“用力越猛越费力”的省力项,$f_0$ 是与控制无关的状态/拥挤成本)。代入 Hamiltonian:
\[H(x,p,m) = \inf_{\alpha}\Big\{\, \alpha\cdot p + \tfrac{1}{2}|\alpha|^2 \,\Big\} + f_0(x,m).\]对 $\alpha$ 求导令其为零:$p + \alpha = 0$,得最优动作 $\alpha^* = -p$。代入 $p = \nabla u$,最优反馈就是
\[\alpha^*\big(x,\nabla u,m\big) = -\,\nabla u(t,x),\]而 Hamiltonian 显式为 $H(x,p,m) = -\tfrac12\mid p\mid ^2 + f_0(x,m)$。这个 $\alpha^* = -\nabla u$ 直觉非常顺:值函数 $u$ 是“未来总成本”,$-\nabla u$ 指向成本下降最快的方向,所以最优策略就是“朝着让未来成本降得最快的方向走,走多快由边际成本的大小决定”。这正是连续时间最速下降式的 best response。
符号约定(沿用全文,阅读外部文献时注意)。 本章把 Hamiltonian 定义为对控制取最小(成本最小化范式),故 $H$ 关于 $p$ 是凹的,HJB 写成 $\partial_t u + \nu\Delta u + H = 0$,配终端条件、从 $T$ 往回解。许多文献改用其符号相反的凸共轭 $\tilde H = -H$,于是 HJB 写成 $-\partial_t u - \nu\Delta u + \tilde H = 0$。两套写法只差一个整体负号,完全等价,换算时留意即可。
4.7 它为什么是“后向(backward)”的
现在把伏笔收掉,解释清楚为什么 HJB 要从终点往回解,以及这件事对下一章意味着什么。
已知的是终点,不是起点。 回看 HJB 配的边界条件:它配的是终端条件 $u(T,x) = g(x,m_T)$,而不是初始条件。原因很本质:值函数 $u(t,x)$ 是“从 $(t,x)$ 往后看的最优未来成本”,而“未来”这件事只有在终点才被完全钉死,在 $t = T$ 时没有任何未来可优化,成绩单直接等于终端成本 $g$。我们确切知道的是终点的值,于是只能拿着这个已知的终点,沿时间负方向(从 $T$ 退回到 $t$)把整张成绩单 $u(t,\cdot)$ 一步步解出来。这就是 HJB 是 backward(后向) 方程的含义。
这恰恰就是逆向归纳的方向。 这一点不该让你意外,反而应该让你会心一笑:逆向归纳本来就是从最后一阶段(已知的终局收益)往前倒推的。HJB 的“后向”性,不过是逆向归纳“从终局往回推”这件事,在连续时间下的精确体现。终端成本 $g$ 扮演的,正是博弈树叶节点上那个已知收益的角色;从 $T$ 往回积 HJB,正是把那套“退一格、再退一格”的归纳,推成了连续时间的积分。
一句话承上启下,引向下一章。 至此,本章这件工具已经打磨完毕:给定外生的人群分布流 $m$,单个个体的最优决策被完全刻画为一个后向的 HJB 方程,它的解 $u(t,x)$ 是值函数,而最优行为由反馈 $\alpha^(x,\nabla u,m_t)$ 读出。下一章我们松开“$m$ 是外生给定”这个假设:当所有个体都按这个 $\alpha^$ 行动时,人群分布 $m$ 本身会被推着往前演化(那是一个前向的方程,描述群体怎么散开),而真正的均衡要求“个体据以最优反应的 $m$”与“大家最优反应后实际生成的 $m$”自洽一致。把本章这条后向的 HJB、下一件工具那条前向的群体演化方程、以及二者之间的自洽不动点首尾扣在一起,就拼成了完整的 Mean-Field Game 系统。
第 5 章 拼起来:MFG 系统与平均场均衡(就是连续统里的 Nash)
上一章我们把单个代表性玩家在“给定人群分布”这一外生背景下的最优决策问题,浓缩成了一个后向的 HJB 方程;这一章我们要把那条线索接上另外两条(人群如何演化、以及自洽条件),拼成完整的平均场博弈系统,并说清楚它为什么恰好就是你熟悉的那个 Nash 均衡,只不过玩家从有限个变成了一个连续统。
5.0 这一章要拼的是什么:先给一张全景
把前三章当成三件工具,先用一句话各自回顾它们的产出(不重复推导):
第一件工具(人群的语言)。我们学会了用一个概率测度(probability measure) $m_t$ 来描述“此刻人群是怎么铺开的”。这里 $m_t$ 是状态空间 $\mathbb{R}^d$ 上的一个概率测度,属于概率测度空间 $\mathcal{P}(\mathbb{R}^d)$,含义是“随便抓一个人,他大概落在哪片区域”。在有限 $N$ 的世界里它是经验测度(empirical measure) $m^N_t = \frac{1}{N}\sum_{j=1}^N \delta_{x^j_t}$,其中 $\delta_a$ 是 Dirac 测度(点质量),表示“在点 $a$ 处放一个单位质量”。
第二件工具(个体怎么动)。我们学会了用受控随机微分方程(controlled SDE)描述一个玩家的状态怎么随时间随机地演化:$\mathrm{d}x^i_t = b(x^i_t,\alpha^i_t,m_t)\,\mathrm{d}t + \sigma\,\mathrm{d}W^i_t$。这里 $x^i_t \in \mathbb{R}^d$ 是玩家 $i$ 在时刻 $t$ 的状态,$\alpha^i_t$ 是他此刻选的动作(控制),$b$ 是漂移(drift)即确定性趋势,$\sigma$ 是扩散系数即噪声强度,$W^i_t$ 是玩家 $i$ 的布朗运动(Brownian motion)即“每一刻随机推一下”的累积。
第三件工具(个体的最优反应)。上一章把“给定一条人群分布流 $(m_t)_{t\in[0,T]}$,单个玩家怎么走最划算”这个问题,解成了值函数(value function) $u(t,x)$(含义:此刻在 $(t,x)$、从现在起一直最优地走下去的最小期望总成本)满足的后向 HJB 方程,并顺带读出了最优控制(optimal control) $\alpha^*$。
这一章要做的,就是把这三件工具按下面这个“自洽回路”首尾相扣地拼起来,并指出拼出来的不动点就是 Nash 均衡:
\[m_t \;\xrightarrow[\text{HJB, backward}]{\text{个体最优反应}}\; \alpha^*(t,x) \;\xrightarrow[\text{FPK, forward}]{\text{所有人执行}}\; \tilde m_t , \qquad \text{均衡} \iff \tilde m_t = m_t .\]读这张图,请把它和你脑子里那张最熟悉的图叠在一起:最优反应映射(best response map)的不动点就是 Nash 均衡。下面我们就一格一格地把这个对应关系讲实。
5.1 用一句博弈论的话,把整章先讲明白
你已经对“最优反应”和“不动点即均衡”张口就来,所以这一章的灵魂其实只有一句话:
把无穷多个对称玩家的博弈,写成一个“你针对的人群分布 $\to$ 你的最优反应 $\to$ 大家最优反应共同生成的新人群分布”的映射,这个映射的不动点就是平均场均衡,而它正是连续统玩家版本的 Nash 均衡。
剩下的所有数学,无非是把这句话里的三个箭头分别写成方程:第一个箭头(针对 $m$ 求最优反应)是上一章的 HJB;第三个箭头(大家执行后生成新分布)是本章要补的 Fokker-Planck 方程;中间那个“$=$”(新旧分布一致)就是不动点条件。如果你愿意,可以把这一章当成一次“把 best response 映射写清楚,然后对它取不动点”的练习,只不过策略空间和分布空间都是无穷维的。
为了让这句话和你已有的直觉严丝合缝,先把对应关系列成一张表,后面每一节都会回填其中一行:
| 有限玩家博弈里你熟悉的对象 | 平均场博弈里的对应物 |
|---|---|
| 对手的策略组合 $\alpha^{-i}$ | 人群分布流 $(m_t)_{t\in[0,T]}$ |
| 我对 $\alpha^{-i}$ 的最优反应 $\mathrm{BR}(\alpha^{-i})$ | 代表性玩家对 $m$ 的最优控制 $\alpha^*$(由 HJB 给出) |
| “大家都在最优反应”这一致条件 | $\tilde m = m$(FPK 生成的分布等于所假定的分布) |
| Nash 均衡 = 最优反应映射的不动点 | 平均场均衡 = 回路 $m \mapsto \tilde m$ 的不动点 |
| 没人能单方面改善 | 代表性玩家对 $m$ 已最优,无法单方面降低成本 |
| 不动点定理(Brouwer / Kakutani)保证存在性 | Schauder / Banach 不动点定理保证存在性 |
| fictitious play 逼近均衡 | MFG 的不动点迭代 / fictitious play 逼近均衡 |
这张表是本章的骨架。下面从第一个箭头开始,逐格落实。
5.2 第一个箭头:给定人群分布 $m$,代表性玩家的最优反应(回顾 HJB,强调它就是连续时间随机版的逆向归纳)
先把博弈“冻”住一半。在有限玩家博弈里,要谈玩家 $i$ 的最优反应,你得先把对手的策略 $\alpha^{-i}$ 固定下来,再问“在 $\alpha^{-i}$ 给定时,我怎么选 $\alpha^i$ 最好”。平均场里完全一样:我们先把人群分布流 $(m_t)_{t\in[0,T]}$ 当成外生给定(exogenous)、不受我影响的背景固定住,这正是上一章反复强调的“个体影响微小($O(1/N)$)”所允许我们做的事。固定住 $m$ 之后,代表性玩家面对的不再是博弈,而是一个干净的单人随机最优控制问题。
把这一步翻译成符号。代表性玩家(去掉编号 $i$,因为所有人对称、谁都一样)的状态从某个 $(t,x)$ 出发,按受控 SDE 演化:
\[\mathrm{d}x_s = b(x_s,\alpha_s,m_s)\,\mathrm{d}s + \sigma\,\mathrm{d}W_s , \qquad x_t = x , \quad s\in[t,T] .\]这里 $x_s$ 是代表性玩家在时刻 $s$ 的状态,$\alpha_s$ 是他在时刻 $s$ 选的动作,$W_s$ 是他自己的布朗运动。他要最小化的,是从 $(t,x)$ 出发的期望总成本,其最小值就是值函数:
\[u(t,x) = \inf_{(\alpha_s)_{s\in[t,T]}} \mathbb{E}\!\left[ \int_t^T f(x_s,\alpha_s,m_s)\,\mathrm{d}s + g(x_T,m_T) \;\middle|\; x_t = x \right] .\]逐块认一下记号(很多在前几章已出现,这里只确认含义):$f$ 是运行成本(running cost),即每一刻所付的瞬时代价,沿时间累加;$g$ 是终端成本(terminal cost),即到终点 $T$ 时一次性结算的代价;$\mathbb{E}[\cdot]$ 是对随机性(布朗噪声)取期望,因为轨迹随机、成本也随机,能优化的只有平均值;$\inf$(下确界,可暂时读作“最小”)表示我们用成本最小化范式。值函数 $u(t,x)$ 的一句话含义:站在 $(t,x)$ 这个处境上,以后一直最优地走,最少要付多少。
上一章已经把这个 $u$ 满足的方程推了出来,即后向 HJB 方程,这里只把结论抄来(不重推),作为第一个箭头的产物:
\[\partial_t u + \nu\,\Delta u + H(x,\nabla u, m_t) = 0 , \qquad u(T,x) = g(x,m_T) .\]其中 $\nu = \sigma^2/2$ 是扩散参数,$\Delta u = \sum_{k=1}^d \partial_{x_k x_k}^2 u$ 是 Laplacian(噪声带来的平滑项),$\nabla u$ 是 $u$ 关于状态 $x$ 的梯度,$H$ 是 Hamiltonian,定义为对动作取最小:
\[H(x,p,m) = \min_{\alpha}\big\{\, b(x,\alpha,m)\cdot p + f(x,\alpha,m) \,\big\} ,\]这里 $p$ 是一个占位的向量变量,在 HJB 里会被代成 $p=\nabla u$,它在最优控制里叫 costate(共态),直觉上是“状态每变一点,未来成本变多少”的边际价格。达到这个 $\min$ 的那个动作,就是最优控制 $\alpha^*$。
为什么把 HJB 当成“连续时间随机版的逆向归纳”是恰当的类比。 你对逆向归纳(backward induction)最熟不过:在有限步博弈里,你从最后一步开始,先算出在终局每个节点该怎么选、值多少,然后倒着往前一格一格地把“现在最优地走一步 + 之后已经算好的最优续局值”加起来,逐格回填。HJB 做的是同一件事,只是把“一格”缩成“一瞬”:
- 终端条件 $u(T,x)=g(x,m_T)$ 就是逆向归纳的“终局价值已知”那一步,到了 $T$ 没有未来可优化了,成绩单直接等于终端成本。
- Hamiltonian 里的那个 $\min_\alpha$ 就是逆向归纳每一格里的“在当前节点选最优动作”。
- 整个方程从 $T$ 往 $0$ 解,正是逆向归纳的“从后往前回填”。这就是为什么 HJB 是后向(backward)的。
- 唯一比离散逆向归纳多出来的,是那个 $\nu\Delta u$ 项。它是噪声的指纹:因为布朗运动让“走一步”的落点带随机性,于是“最优续局值”要对落点取期望,多出一个二阶项。你可以把它读成“逆向归纳里那一步的 $\max/\min$ 之后还要对随机落点求平均”的连续版本。
所以第一个箭头的产物,用一句博弈论的话说就是:这是代表性玩家针对外生人群分布 $m$ 的最优反应(best response),它由一个后向的(带噪声的)逆向归纳算出,封装在值函数 $u$ 里。 接下来我们要把这个“最优反应”从 $u$ 里读成一条具体的、可执行的策略,好让所有人去执行它。
5.3 从值函数读出可执行的最优策略:$\alpha^* = \nabla_p H$
解出 $u$ 之后,最优反应是“怎么走”而不只是“值多少”。上一章已经指出,达到 Hamiltonian 那个 $\min$ 的动作就是最优控制;把 costate 取成 $p=\nabla u(t,x)$,得到最优反馈控制(optimal feedback control):
\[\alpha^*(t,x) = \arg\min_{\alpha}\big\{\, b(x,\alpha,m_t)\cdot \nabla u(t,x) + f(x,\alpha,m_t) \,\big\} .\]“反馈”二字的博弈论含义:这是一条马尔可夫策略(Markov / feedback strategy),玩家不必预先排好整条动作序列,只要看自己此刻的状态 $x$,代入公式即得当下最优动作。这正对应你熟悉的“依状态而定的策略”,而不是“一开始就把整盘棋下完的开环计划”。
为了把这条策略干净地接到下一个箭头(人群演化)上,上一章给了一个关键的紧凑写法:在常见的可微凸设定下,由 envelope 定理(包络定理),
\[\nabla_p H(x,p,m) = b\big(x,\alpha^*(x,p,m),m\big) .\]这句话的含义极其重要,请记牢:$\nabla_p H$ 给出的,正是玩家在最优控制下的实际漂移速度。代入 $p=\nabla u$,代表性玩家执行最优反应时的闭环动力学就是
\[\mathrm{d}x_s = \nabla_p H\big(x_s, \nabla u(s,x_s), m_s\big)\,\mathrm{d}s + \sigma\,\mathrm{d}W_s .\]到这里,第一个箭头彻底完成:给定 $m$,我们不仅知道最优反应值多少($u$),还知道它具体怎么走(漂移 $\nabla_p H$)。下面让“所有人”都这么走,看人群分布会被生成成什么样,这是第三个箭头。
5.4 第三个箭头:所有人都最优反应时,人群分布怎么演化(推导 Fokker-Planck 方程)
现在做平均场博弈里最关键的一跳,它正是“对称博弈”那条假设兑现的地方。在有限玩家 Nash 均衡里,对称玩家在均衡处用相同的均衡策略。平均场里也一样:既然所有玩家对称、面对同一个 $m$、解同一个 HJB,他们的最优反馈控制 $\alpha^*(t,x)=\nabla_p H(x,\nabla u,m_t)$ 完全相同。于是每一个玩家的状态都按上面那条闭环 SDE 演化,区别只在各自独立的布朗噪声 $W^i_t$。问题来了:一大群按同一个漂移、各自带独立噪声运动的玩家,他们的分布 $m_t$ 会怎样随时间变化?
回答这个问题的方程,叫 Fokker-Planck 方程(也叫 Kolmogorov forward 方程,简记 FPK)。它从零讲就是一句话:描述一群按 SDE 运动的粒子,其概率密度随时间如何被“推着走 + 摊开”。 下面给一个对博弈论读者也能一步步跟下来的推导,思路是“先看一个测试问题怎么变,再把变化转嫁到密度上”。
记最优闭环漂移为 $\tilde b(t,x) := \nabla_p H(x,\nabla u(t,x),m_t)$(即上一节算出的“最优速度”),扩散仍是 $\sigma$。我们想追踪分布 $m_t$,但分布本身不好直接下手,于是借助一个任意的光滑测试函数(test function) $\varphi(x)$(取紧支,即在远处为零,这样边界项会消失)。直觉上,$\varphi$ 像一个“探针”:盯住 $\mathbb{E}[\varphi(x_t)] = \int \varphi(x)\,m(t,x)\,\mathrm{d}x$ 这个数随时间怎么变,就能反推出 $m_t$ 怎么变。这里 $m(t,x)$ 是 $m_t$ 的密度(假设存在),即 $m_t(\mathrm{d}x)=m(t,x)\,\mathrm{d}x$。
第一步,用 Itô 公式(随机版的链式法则,上一章用过)算 $\varphi(x_t)$ 沿轨迹的微分。对足够光滑的 $\varphi$,
\[\mathrm{d}\varphi(x_t) = \big( \tilde b(t,x_t)\cdot \nabla\varphi(x_t) + \nu\,\Delta\varphi(x_t) \big)\,\mathrm{d}t + \nabla\varphi(x_t)\cdot \sigma\,\mathrm{d}W_t .\]那个 $\nu\Delta\varphi$ 项又是噪声的指纹(来自 $(\mathrm{d}W_t)^2=\mathrm{d}t$)。第二步,对整群取期望(等价于对密度 $m_t$ 积分),随机项 $\mathrm{d}W_t$ 是鞅、期望为零,于是
\[\frac{\mathrm{d}}{\mathrm{d}t}\int \varphi(x)\,m(t,x)\,\mathrm{d}x = \int \big( \tilde b(t,x)\cdot \nabla\varphi + \nu\,\Delta\varphi \big)\,m(t,x)\,\mathrm{d}x .\]第三步,把右边的导数从“探针 $\varphi$”身上分部积分(integration by parts)转移到“分布 $m$”身上($\varphi$ 紧支,边界项消失):
\[\int (\tilde b\cdot\nabla\varphi)\,m\,\mathrm{d}x = -\int \varphi\,\mathrm{div}(m\,\tilde b)\,\mathrm{d}x , \qquad \int (\nu\Delta\varphi)\,m\,\mathrm{d}x = \int \varphi\,\nu\Delta m\,\mathrm{d}x ,\]其中 $\mathrm{div}$ 是散度。代回,并注意左边 $\frac{\mathrm{d}}{\mathrm{d}t}\int\varphi\,m\,\mathrm{d}x = \int\varphi\,\partial_t m\,\mathrm{d}x$,得到对任意探针 $\varphi$ 都成立的恒等式:
\[\int \varphi\,\big( \partial_t m - \nu\Delta m + \mathrm{div}(m\,\tilde b) \big)\,\mathrm{d}x = 0 .\]第四步,探针 $\varphi$ 既然任意,括号里的东西必须逐点为零(一个函数若与所有测试函数都正交,则它本身为零)。把 $\tilde b=\nabla_p H$ 写回,就得到 Fokker-Planck 方程:
\[\partial_t m - \nu\,\Delta m + \mathrm{div}\big(\, m\,\nabla_p H(x,\nabla u, m) \,\big) = 0 , \qquad m(0,x) = m_0(x) .\]逐项读这张“人群流动账本”:
- $\partial_t m$:人群密度随时间的变化率。
- $-\nu\Delta m$:扩散项。布朗噪声把聚集的人群往外抹平,使分布逐渐摊开(像一滴墨水在水里散开)。
- $+\mathrm{div}(m\,\nabla_p H)$:输运/漂移项。$\nabla_p H$ 是上一节算出的“每个人的最优速度”,$m\,\nabla_p H$ 是概率流(probability flux),取散度得到净流出。它把“所有人都按最优策略移动”这件事,翻译成密度的定向搬运。
还有一个一定要点明的对照:FPK 配的是初始条件 $m(0,x)=m_0(x)$,所以它是前向(forward)的。 因为我们已知一开始人群怎么分布($m_0$),人随时间往前走,分布自然从 $0$ 向 $T$ 正推。这恰好和 HJB 的“从 $T$ 往 $0$ 倒推”相反。这一前一后的对照,是下一节要重点解释的结构。
第三个箭头到此完成,它的产物用一句博弈论的话说:当所有对称玩家都执行第一个箭头给出的最优反应时,他们的状态分布按 FPK 前向演化,生成一条新的人群分布流 $\tilde m$。
5.5 中间那个等号:自洽不动点,就是连续统里的 Nash 均衡
现在把三个箭头接成一个闭环,并兑现本章开头那张对应表的最后几行。
回路是这样的:先假定一条人群分布流 $m=(m_t)_{t\in[0,T]}$;用它解 HJB 得到 $u$(第一个箭头,最优反应);从 $u$ 读出最优控制 $\alpha^=\nabla_p H$(可执行的策略);让所有人执行 $\alpha^$,用 FPK 前向演化出一条实际产生的分布流 $\tilde m$(第三个箭头)。把“假定的 $m$”映到“实际产生的 $\tilde m$”的这个映射记作
\[\Phi : m \longmapsto \tilde m .\]平均场均衡(mean-field equilibrium)的定义,就是 $\Phi$ 的不动点:
\[\tilde m = \Phi(m) = m .\]请把这个定义和你脑子里的 Nash 定义并排放:在有限玩家博弈里,一组策略是 Nash 均衡,当且仅当它是最优反应映射的不动点(每个人对别人的选择都在最优反应,所以谁都不想动)。这里一字不差:$m$ 是平均场均衡,当且仅当“针对 $m$ 的最优反应所共同生成的分布”恰好还是 $m$(每个人对人群分布都在最优反应,所以谁都不想动)。区别只在于:有限玩家的最优反应映射作用在“策略组合”这个有限维对象上,平均场的最优反应映射 $\Phi$ 作用在“人群分布流”这个无穷维对象上。把对手的策略组合换成人群分布、把 Brouwer/Kakutani 换成 Schauder/Banach,Nash 不动点就直接搬过来了。
为什么说它就是 Nash,而不只是“像 Nash”。 这里要把“没人能单方面改善”这条 Nash 的灵魂条件,原汁原味地验出来。设 $m$ 是 $\Phi$ 的不动点。任取一个玩家,假设其余所有人都按均衡策略 $\alpha^$ 行动。因为单个玩家的偏离对人群分布的影响是 $O(1/N)\to 0$(这是平均场近似的核心假设),他偏离后所面对的人群分布仍然是同一个 $m$。而在“面对 $m$”这个固定背景下,$\alpha^$ 正是 HJB(第一个箭头)算出的最优反应,按定义它最小化了这位玩家的期望总成本 $J$。于是这位玩家无论换成任何别的策略,都不可能把自己的成本降得更低。“没人能单方面改善”逐字成立,这就是 Nash 均衡,只不过玩家是一个连续统。
把整套东西写成一个方程组,就是 MFG 的核心,即 HJB-Fokker-Planck 耦合系统:
\[\begin{aligned} &\text{(HJB, backward in time)} && \partial_t u + \nu\,\Delta u + H(x,\nabla u, m) = 0 , && u(T,x) = g(x,m_T) ,\\[4pt] &\text{(FPK, forward in time)} && \partial_t m - \nu\,\Delta m + \mathrm{div}\big( m\,\nabla_p H(x,\nabla u, m) \big) = 0 , && m(0,x) = m_0(x) . \end{aligned}\]一个平均场均衡,就是同时满足这两个方程的一对 $(u,m)$。下一节专门讲它的灵魂结构。
5.6 为什么是“一个后向、一个前向、通过 $m$ 与 $\alpha^*$ 双向耦合”的 forward-backward 结构
这一节回答标题里那个最关键的问题:为什么这套系统长成“一前一后、互相咬合”的样子?这不是巧合,而是“个体最优”与“群体一致”这两件事各自的时间方向天然相反,被均衡条件强行绑在一起的必然结果。
先看为什么 HJB 必须后向。个体最优是一个“向未来看”的问题:我现在怎么选,取决于这一步会把我带到哪、那之后我还能最优地赚回多少。所以你得先知道“终局值多少”(终端条件 $u(T,x)=g(x,m_T)$),再像逆向归纳那样从 $T$ 往 $0$ 回填。已知信息钉在时间轴的右端($t=T$)。
再看为什么 FPK 必须前向。群体演化是一个“从过去推”的问题:我已知一开始大家怎么分布(初始条件 $m(0,\cdot)=m_0$),人往前走,分布就往前演化。已知信息钉在时间轴的左端($t=0$)。
关键的张力就在这里:两个方程的已知信息分别钉在时间轴的两端,时间方向恰好相反,却又必须同时成立。 这正是它和普通最优控制的本质区别。普通最优控制只有一个后向 HJB,给定终端条件从 $T$ 积到 $0$ 即可,是个良定的单向问题。MFG 把一个后向方程和一个前向方程拴在一起,变成了函数空间里的两点边值问题(two-point boundary value problem):你没法“从一头积到另一头”,因为想解 HJB 得先知道未来的 $m$,想解 FPK 又得先知道(由未来终端条件决定的)$u$。
再看“双向耦合”具体通过谁传导,这是理解全章的画龙点睛之笔:
- $m$ 进入 HJB:HJB 里的 $H(x,\nabla u,m)$ 和终端条件 $g(x,m_T)$ 都依赖 $m$。含义:你的最优策略取决于人群在哪、人群长什么样。 这是“向上”的耦合,把群体信息喂给个体决策。
- $u$(经由最优控制 $\alpha^*=\nabla_p H$)进入 FPK:FPK 里的漂移 $\nabla_p H(x,\nabla u,m)$ 依赖 $u$。含义:人群往哪流动,取决于每个个体的最优策略。 这是“向下”的耦合,把个体决策汇总成群体演化。
把这两条合起来:$m \rightsquigarrow u \rightsquigarrow \alpha^* \rightsquigarrow \tilde m$,而均衡要求 $\tilde m = m$,环就闭合了。所以这套 forward-backward 结构其实是本章开头那张回路图的方程化身,一个箭头都没多、一个箭头都没少:
- HJB(后向)= 第一个箭头(针对 $m$ 求最优反应);
- $\alpha^*=\nabla_p H$ = 把最优反应读成可执行策略;
- FPK(前向)= 第三个箭头(大家执行后生成 $\tilde m$);
- 耦合系统有解 = 中间那个等号 $\tilde m=m$ 成立 = 不动点 = Nash 均衡。
最后补一个对偶视角的一句话,帮你把“为什么偏偏是这两个算子配对”记牢:FPK 恰好是 HJB 里那个线性输运算子的形式伴随(formal adjoint)。我们在 5.4 推 FPK 时做的分部积分,正是把 HJB 一侧的 $+\nu\Delta u$、对流方向 $\nabla u$,对偶成 FPK 一侧的 $-\nu\Delta m$、对流项 $\mathrm{div}(m\,\nabla_p H)$。一个向后、一个向前、互为伴随,这种对称的对偶结构既是 MFG 数学上的优雅之处,也是它全部技术难度的来源。
5.7 把存在性也对回你熟悉的不动点定理(点到为止)
写下了 $\Phi$ 的不动点定义,不等于不动点一定存在,正如写下“Nash 是最优反应映射的不动点”不等于 Nash 一定存在,你需要 Brouwer 或 Kakutani 那一类定理来兜底。平均场这边的逻辑链条和你熟悉的完全平行,这里只把对应关系点出来,细节留给后续讨论:
逻辑链是:给分布空间装上一个合适的距离(Wasserstein 距离)$\to$ 证明 $\Phi$ 关于这个距离连续 $\to$ 用不动点定理得到不动点 $\to$ 平均场均衡存在。
- Wasserstein 距离(Wasserstein distance) $W_p$ 是“两个概率测度有多接近”的度量,直觉上是把一个分布的“沙堆”搬成另一个分布的最小总搬运代价。它对“质量在空间上的位置”敏感(搬得越远代价越大),所以两个相距 $\varepsilon$ 的点质量 $\delta_0$ 与 $\delta_\varepsilon$ 的距离就是 $\varepsilon\to 0$,符合“它们越来越像”的直觉。它把概率测度空间 $\mathcal{P}(\mathbb{R}^d)$ 变成一个度量空间,让“$\tilde m=m$”这种话有严格意义。
- 在成本 $f,g$ 关于 $m$ 是 Wasserstein 连续的假设下,可以证明 $\Phi$ 连续(人群分布微小变化 $\Rightarrow$ 最优反应微小变化 $\Rightarrow$ 新分布微小变化);再加上紧性,Schauder 不动点定理(无穷维版的 Brouwer)给出不动点的存在,即均衡存在。
- 唯一性则一般需要 Lasry-Lions 单调性条件(粗略说:成本对“变挤”有惩罚,玩家彼此排斥而非聚集),这对应你熟悉的“某种凸性/单调性保证均衡唯一”。
还有一条计算上的对应也值得记住:求 $\Phi$ 的不动点最朴素的办法,就是反复迭代,即先猜一条 $m$,解 HJB,更新 $\alpha^*$,解 FPK 得新 $m$,再回头解 HJB,直到收敛。这正是你熟悉的 fictitious play(虚拟对弈)在连续统极限下的版本:每一轮都对“当前对手的平均行为”做最优反应,再用最优反应更新对手画像,逼向不动点。所以平均场均衡的“算”,骨子里也还是那套你早就会的“反复最优反应直到没人想动”。
5.8 本章小结
把一整章压成几句可以随身带走的话:
- 平均场博弈就是把“你针对的人群分布 $m$ $\to$ 你的最优反应 $\alpha^*$ $\to$ 大家最优反应共同生成的新分布 $\tilde m$”这条回路写成方程,再要求 $\tilde m=m$。
- 这条回路的不动点就是平均场均衡,而它就是 Nash 均衡,只不过玩家是一个连续统:在给定人群行为下,没有任何玩家能单方面改善(因为单个偏离不撼动 $m$,而 $\alpha^*$ 已是针对 $m$ 的最优反应)。
- 写成方程,它是 HJB-Fokker-Planck 耦合系统:HJB 后向(个体最优反应,是连续时间随机版的逆向归纳,配终端条件从 $T$ 倒推),FPK 前向(群体演化,是质量守恒加扩散,配初始条件从 $0$ 正推)。
- 二者双向耦合:$m$ 经 $H$ 和 $g$ 进入 HJB(人群影响个体决策),$u$ 经最优控制 $\alpha^*=\nabla_p H$ 进入 FPK(个体决策汇成群体演化)。这种“一后一前、互为伴随、已知信息钉在时间轴两端”的 forward-backward 结构,是 MFG 区别于普通最优控制的本质,也是它全部理论与数值难度的根源。
- 存在性、唯一性与求解,分别对应你熟悉的不动点定理、单调性/凸性、以及 fictitious play 式迭代,只是把它们搬到了概率测度空间上。
到这里,连续统里的 Nash 已经拼装完毕。一个自然的怀疑是:这个无穷玩家的优美极限,对真实存在的“有限但很多”个玩家究竟有多大用?下一章我们就回到有限 $N$ 的世界,证明把平均场均衡的策略拿去给 $N$ 个真实玩家用,每个人最多只能再改善一个随 $N\to\infty$ 趋于零的量,也就是它构成一个 $\varepsilon$-Nash 均衡。
第 6 章 回到有限 N:平均场均衡是近似 Nash(ε-Nash 与传播混沌)
上一章我们把 MFG 系统写成了 HJB(后向)与 Fokker-Planck(前向)首尾相扣的耦合方程,解出一对 $(u, m)$ 以及一个去中心化的反馈策略;现在我们要回答整套理论最该被博弈论读者追问的一个问题:这个“无穷多人”的解,对真实存在的、只有有限 $N$ 个理性玩家的博弈,到底有什么用。
6.1 先把这一章要证的事,用博弈论的语言说清楚
你已经非常熟悉 Nash 均衡这个概念了,所以我们直接从你最熟的地方切入。
在一个真实的、有限的多人博弈里,我们想要的是 Nash equilibrium(Nash 均衡):一组策略,使得没有任何一个玩家能通过单方面改变自己的策略而获益(在我们这里“获益”指降低成本)。这个对象在静态博弈里你闭着眼睛都会算,但在我们这一系列研究的对象($N$ 个玩家、连续时间、状态带随机扰动、彼此通过人群分布互相牵制)里,精确的 Nash 均衡几乎无法求解:它是 $N$ 个互相耦合的随机最优控制问题组成的不动点,每个玩家的最优反应都要追踪其余 $N-1$ 个玩家的整条随机轨迹,维度随 $N$ 爆炸。这正是经典博弈论工具(逆向归纳、fictitious play 等)在大规模动态随机博弈里直接失效的地方。
而上一章我们做的事,本质上是先取 $N \to \infty$ 的极限,得到一个干净得多的对象:一个代表性玩家(representative agent)面对一条事先算好的、确定性的人群分布流 $(m_t)_{t \in [0,T]}$ 做最优反应,并要求这条分布流自洽(即所有人都这么最优反应时,恰好再生出同一条分布)。这个自洽点就是 mean-field equilibrium(平均场均衡)。
这里先把最重要的类比立起来,后面反复用:平均场均衡就是一个不动点(fixed point),它在概念上和你熟悉的 Nash 不动点是同一类东西,“给定环境算最优反应,再要求最优反应生成的环境与给定的一致”。区别只在于:经典 Nash 里“环境”是其他玩家的策略组合,平均场均衡里“环境”被压缩成了一条人群分布流 $m_t$。
于是一个尖锐的问题摆在面前。我们手上的 $m_t$、值函数 $u(t,x)$(“此刻在 $(t,x)$、之后一直最优地走,未来要付的最小总成本”,是连续时间随机版的“逆向归纳算出来的最优续局价值”)、以及由它们导出的反馈策略 $\alpha^*$,全都是“无穷人”世界的产物。可现实里根本没有无穷个人。 那么:
把“无穷人”世界里算出来的这套对称的、去中心化的策略,原封不动地发给真实的 $N$ 个玩家去用,会发生什么?它在有限 $N$ 的博弈里,是不是一个(哪怕只是近似的)Nash 均衡?
本章的核心结论,一句话:是的,它是一个 $\varepsilon$-Nash 均衡,而且当 $N \to \infty$ 时 $\varepsilon \to 0$(典型量级 $\varepsilon \sim 1/\sqrt{N}$)。 这就是整套平均场近似在博弈论意义上的正当性来源,它把一个无法直接求解的有限 $N$ Nash 问题,替换成一个可解的极限问题,并保证替换带来的“不理性”随群体增大而消失。
为了把这件事讲严密,我们需要两块拼图:
- 传播混沌(propagation of chaos):解释为什么“无穷人”的确定性分布 $m_t$ 能逼近“有限人”的随机经验分布 $m^N_t$,以及为什么在大群体里各玩家近似相互独立。这是分析层面的引擎。
- $\varepsilon$-Nash 定理:在传播混沌的基础上,量化“单方面偏离最多能占多少便宜”,证明这个便宜是 $\varepsilon_N \to 0$。这是博弈论层面的结论。
下面分别展开。
6.2 舞台回顾:有限 N 博弈与三种“分布”
为避免和上一章的极限世界混淆,先把有限 $N$ 这一边的对象重新摆清楚,记号严格沿用全书约定。
有 $N$ 个玩家,编号 $i \in {1, \dots, N}$,时间 $t \in [0, T]$。玩家 $i$ 的状态 $x^i_t \in \mathbb{R}^d$(上标 $i$ 标玩家、下标 $t$ 标时刻,取值在 $d$ 维实空间),服从受控随机微分方程(controlled SDE,即“带噪声版的速度方程”,确定性趋势加随机抖动):
\[dx^i_t = b\!\left(x^i_t, \alpha^i_t, m^N_t\right) dt + \sigma\, dW^i_t, \qquad x^i_0 \sim m_0, \qquad i = 1, \dots, N .\]逐项的含义在前面章节已逐字讲过,这里只点关键:$\alpha^i_t$ 是玩家 $i$ 在 $t$ 时刻的控制(control,即动作,玩家唯一能自己说了算的手柄);$b$ 是漂移(drift,确定性的前进趋势);$\sigma$ 是扩散系数(diffusion coefficient,随机扰动强度旋钮);$W^i_t$ 是玩家 $i$ 自己独立的 Brownian motion(布朗运动,“每一刻被随机推一下”的累积),$dW^i_t$ 是这一小段时间被推的那一下;各玩家的 $W^i_t$ 相互独立。
玩家 $i$ 要最小化自己的期望总成本(cost functional,目标泛函):
\[J^i\!\left(\alpha^1, \dots, \alpha^N\right) = \mathbb{E}\!\left[ \int_0^T f\!\left(x^i_t, \alpha^i_t, m^N_t\right) dt + g\!\left(x^i_T, m^N_T\right) \right] ,\]其中 $f$ 是运行成本(running cost,每一刻的即时代价)、$g$ 是终端成本(terminal cost,到终点 $T$ 时结算的一笔代价),$\mathbb{E}$ 是对所有随机性取期望(average,即“对所有可能发生的随机轨迹求平均”)。注意 $b, f, g$ 全部只通过 $m^N_t$ 依赖群体,且对所有玩家是同一个函数,这就是对称、匿名(symmetric / anonymous)博弈的设定,你可以类比为“非原子博弈/连续统博弈”里那种“每个玩家只在乎人群分布、不在乎具体是谁”的结构,只是这里玩家数仍是有限的 $N$。
现在出现了三个看起来很像、但角色完全不同的“分布”,请务必区分清楚,本章后面所有论证都建立在这三者的关系上:
第一个:经验测度(empirical measure)$m^N_t$。 这是有限 $N$ 玩家此刻状态的“直方图”:
\[m^N_t = \frac{1}{N}\sum_{j=1}^N \delta_{x^j_t} ,\]其中 $\delta_a$ 是 Dirac 测度(Dirac measure,“在点 $a$ 放一颗单位质量的豆子”,问任意区域就答这颗豆子在不在里面)。$m^N_t$ 是一个概率测度(probability measure,全空间总质量为 $1$ 的测度,回答“随便抓一个玩家大概落在哪片区域”)。关键性质:$m^N_t$ 是随机的(因为 $x^j_t$ 随机),而且依赖每一个玩家的实时位置,包括想要偏离的那个玩家自己。它是有限 $N$ 博弈里玩家真正感受到的“群体环境”。
第二个:平均场均衡分布(mean-field equilibrium law)$m_t$。 这是上一章 Fokker-Planck 方程解出来的那条分布流,是确定性的(一个事先算好的、对每个时刻 $t$ 都固定的概率测度),不随机、也不依赖任何具体玩家。它属于概率测度空间 $\mathcal{P}(\mathbb{R}^d)$(probability measure space,所有概率测度构成的集合)。它是“无穷人”世界的产物。
第三个:单个玩家状态的真实分布(law of one player)$\mathrm{Law}(x^i_t)$。 这是“如果你只盯住玩家 $i$,它此刻在哪”的概率分布。传播混沌要论证的核心之一,就是当所有人都用平均场策略时,$\mathrm{Law}(x^i_t)$ 会趋于上面那个确定性的 $m_t$。
一句话把三者串起来:传播混沌说的是 $m^N_t \approx m_t$(随机经验分布逼近确定分布)且各 $\mathrm{Law}(x^i_t) \to m_t$(每个玩家自己的分布也趋于同一个 $m_t$)。而 $\varepsilon$-Nash 定理则利用“$m^N_t \approx m_t$ 且单个玩家撼不动 $m^N_t$”来证明偏离无利可图。
度量这些分布之间“差多远”,需要一把尺子。我们用 Wasserstein 距离(Wasserstein distance)$W_1$:它衡量两个分布之间的差异,直观上等于“把一堆土(一个分布)搬成另一堆土(另一个分布),最省力的搬运方案需要花多少功”(土的总量乘以平均搬运距离),所以也叫推土机距离(earth mover’s distance)。你只需要记住三件事:$W_1(\mu, \nu) \ge 0$;$W_1(\mu, \nu) = 0$ 当且仅当两个分布完全相同;它对“分布在空间里挪了多远”敏感(这正是处理 Dirac 豆子被挪动时需要的尺子,普通的“逐点比较密度”在豆子上会失效)。
6.3 传播混沌:N 很大时,玩家近似独立、各自分布都趋于同一个 m_t
这一节是本章的分析引擎。先讲名字,再讲直觉,最后讲为什么成立。
名字的来历。 “混沌(chaos)”在这里是个统计物理的术语,不是“混乱”的意思,而是特指渐近独立(asymptotic independence):一大群本来通过共享环境互相耦合的个体,在 $N \to \infty$ 时,统计上变得相互独立。“传播(propagation)”指的是:即便只在初始时刻 $t=0$ 假设各玩家独立(因为初值 $x^i_0$ 独立同分布于 $m_0$,这叫 initial chaos,初始混沌),这种独立性也会沿时间被动力学保持下去,而不会因为玩家之间的相互作用而被破坏。换句话说,独立性会“传播”到所有 $t \in [0, T]$。
为什么这件事先验上并不显然。 玩家 $i$ 的漂移 $b(x^i_t, \alpha^i_t, m^N_t)$ 里含有 $m^N_t$,而 $m^N_t$ 是所有玩家位置的函数。也就是说,玩家 $i$ 的运动依赖玩家 $j$ 的位置,玩家 $j$ 的运动又依赖玩家 $i$ 的位置,所有人通过 $m^N_t$ 紧紧缠在一起。耦合是真实存在的,凭什么说他们会“近似独立”?
直觉(这是全章最该想透的一步)。 关键在于耦合是匿名且被 $1/N$ 稀释的。玩家 $i$ 并不直接盯着某个特定的玩家 $j$,它只通过经验测度 $m^N_t$ 感受“整个群体作为一团”。而任何单个玩家 $j$ 对这团 $m^N_t$ 的贡献,只有 $1/N$ 那么一份:把玩家 $j$ 的位置从 $x^j_t$ 换到任意别处 $\tilde{x}^j_t$,经验测度的变化是
\[\Delta m^N_t = \frac{1}{N}\left(\delta_{\tilde{x}^j_t} - \delta_{x^j_t}\right) ,\]其在 $W_1$ 距离下的大小是 $O(1/N)$(搬动一颗质量为 $1/N$ 的豆子,花的功正比于 $1/N$)。所以当 $N$ 很大时,没有任何单个玩家能显著地改变其他人所面对的群体环境。每个玩家面对的 $m^N_t$,几乎完全由“其余所有人合在一起的统计行为”决定,而和“某一个特定同伴的具体动作”几乎无关。既然每个人的环境都几乎不被任何单个同伴左右,那么“通过同伴互相影响”这条耦合通道就近似断开了,这就是独立性出现的根源。
它会趋向哪个分布? 现在设想理想的极限场景:所有 $N$ 个玩家都采用同一个平均场反馈策略 $\hat{\alpha}(t, \cdot, m_t)$(上一章导出的那个,每个人只看自己的状态和那条确定性的 $m_t$)。我们暂时把每个玩家面对的随机 $m^N_t$ 替换成确定性的 $m_t$,得到一组“解耦后的理想玩家” $\bar{x}^i_t$,每个满足
\[d\bar{x}^i_t = b\!\left(\bar{x}^i_t,\, \hat{\alpha}(t, \bar{x}^i_t, m_t),\, m_t\right) dt + \sigma\, dW^i_t, \qquad \bar{x}^i_0 = x^i_0 .\]仔细看这条方程:右边只剩下两样东西在驱动 $\bar{x}^i_t$,玩家 $i$ 自己独立的布朗运动 $W^i_t$,以及一个对所有人都一模一样的确定性背景 $m_t$。唯一能把不同玩家缠在一起的耦合通道(共享的随机 $m^N_t$)已经被一个公共的、确定性的对象 $m_t$ 取代了。 既然各 $W^i_t$ 相互独立、各初值 $x^i_0$ 独立同分布,那么这组 $\bar{x}^1_t, \dots, \bar{x}^N_t$ 就是严格相互独立、且同分布的。而它们共同的那个分布,正是 $m_t = \mathrm{Law}(\bar{x}^i_t)$(这一点由上一章的 Fokker-Planck 自洽条件保证:用 $m_t$ 当背景跑出来的轨迹,其分布恰好又是 $m_t$)。
到这里直觉就完整了:真实有限系统里,每个玩家看到的是随机的 $m^N_t$;理想极限系统里,每个玩家看到的是确定的 $m_t$。传播混沌断言这两个系统在 $N \to \infty$ 时几乎重合,于是真实系统里的玩家也“近似独立、各自分布近似 $m_t$”。
为什么严格成立:大数定律 + Lipschitz + Grönwall。 把直觉变成定量结论,靠的是三件你大致熟悉、可以从零理解的工具的配合。技术上的标准做法是把真实玩家 $x^i_t$ 和理想玩家 $\bar{x}^i_t$ 跑在同一组布朗运动 $W^i_t$ 下做逐条轨迹的比较(这叫耦合论证,coupling argument),然后估计两者偏差。
第一步,大数定律(law of large numbers,“独立同分布的样本,其经验平均会收敛到真实期望/分布”)告诉我们:当 $\bar{x}^1_t, \dots, \bar{x}^N_t$ 独立同分布于 $m_t$ 时,它们的经验测度逼近 $m_t$:
\[W_1\!\left( \frac{1}{N}\sum_{j=1}^N \delta_{\bar{x}^j_t},\ m_t \right) \xrightarrow{\ N \to \infty\ } 0 .\]这是“直方图随样本增多越来越像真实分布”的精确版本。其期望收敛速率,在低维($d \le 3$ 之类的良好情形)约为 $O(N^{-1/2})$;高维下退化为 $O(N^{-1/d})$,这就是经验测度 Wasserstein 收敛著名的维度诅咒(curse of dimensionality),也是稍后 $\varepsilon_N$ 速率的来源之一,请记住。
第二步,Lipschitz 假设(即 $b, f, g$ 关于分布参数在 $W_1$ 距离下满足 Lipschitz:分布差一点,函数值最多差成比例的一点)把“$m^N_t$ 和 $m_t$ 差多少”翻译成“漂移 $b$ 差多少”,进而翻译成“两条轨迹被推开多少”。
第三步,Grönwall 不等式(Grönwall’s inequality,一个标准的工具:若一个量的增长率被它自身按比例控制,则该量的增长不会失控、可被指数型上界封住)把上面这些逐时刻的小偏差,沿时间累积起来仍封在一个可控范围内。三者合起来给出一个干净的结论:真实轨迹与理想轨迹的偏差,被经验测度的逼近误差控制,于是
\[\mathbb{E}\!\left[\, \sup_{t \in [0,T]} \big|\, x^i_t - \bar{x}^i_t \,\big| \right] \;\le\; C \cdot \varrho(N), \qquad \varrho(N) \sim N^{-1/2}\ (\text{低维}),\]其中 $C$ 是只依赖时间长度 $T$、Lipschitz 常数、扩散强度 $\sigma$ 的常数,$\varrho(N)$ 是上面那个经验测度收敛速率。由此立刻得到经验测度本身的收敛:
\[\mathbb{E}\!\left[\, \sup_{t \in [0,T]} W_1\!\left(m^N_t,\ m_t\right) \right] \xrightarrow{\ N \to \infty\ } 0 .\]这就是传播混沌的定量陈述:真实有限系统的随机经验分布 $m^N_t$,一致地(对所有时刻)逼近确定性的平均场分布 $m_t$,误差随 $N$ 以 $\sim N^{-1/2}$ 的速率消失(低维)。 同时它也蕴含了各玩家的渐近独立性。
一个能帮你记牢的物理类比:传播混沌之于 MFG,正如热力学极限(thermodynamic limit)之于统计物理,大量微观随机个体,经由大数定律,涌现出宏观确定性的演化。这里 $m^N_t$(随机、微观经验分布)收敛到 $m_t$(确定、宏观分布),正是同一种“微观随机 + 大数定律 → 宏观确定”的思想。
6.4 ε-Nash 定理:把平均场均衡策略拿到真实 N 人博弈里去用
万事俱备。现在我们把“无穷人”算出来的策略发给真实的 $N$ 个玩家,看它在博弈论意义上有多好。
第一步:明确“发什么策略给谁”。 上一章解出 MFG 系统后,得到一个去中心化的反馈策略(feedback policy,“看当前状态就知道该怎么动”的决策规则):
\[\alpha^*_t = \hat{\alpha}\!\left(t, x_t, m_t\right) = \arg\min_{\alpha}\Big\{ b(x_t, \alpha, m_t)\cdot \nabla u(t, x_t) + f(x_t, \alpha, m_t) \Big\} ,\]其中 $u(t,x)$ 是值函数,$\nabla u$ 是它关于状态的梯度(gradient,“值函数在状态空间里朝哪个方向下降最快、有多陡”,可类比逆向归纳里“未来续局价值对当前状态的边际敏感度”)。注意这个策略只用到玩家自己的状态 $x_t$ 和那条事先算好的确定性分布 $m_t$,完全不需要实时观测其他玩家。
现在令每个玩家 $i$ 都采用这套同一个对称策略:
\[\alpha^{i,*}_t = \hat{\alpha}\!\left(t, x^i_t, m_t\right) .\]请特别注意:大家用的是确定性的 $m_t$,而不是实时的随机经验测度 $m^N_t$。 这一点是整个构造能去中心化、能事先算好的关键,每个玩家不需要看别人,只需查表那条预先算好的 $m_t$。
我们要问的博弈论问题是:在其余 $N-1$ 个玩家都坚持用 $\alpha^{i,*}$ 的前提下,某一个玩家(不妨设玩家 $1$)能否换一套别的策略 $\beta^1$ 来显著降低自己的成本 $J^1$?
第二步:陈述定理。 在适当的正则性假设下($b, f, g$ 关于分布参数在 $W_1$ 下 Lipschitz、Hamiltonian $H$ 足够光滑、MFG 系统解存在且足够正则,这些假设的存在性部分留给下一章),这组对称分布式策略 $(\alpha^{1,}, \dots, \alpha^{N,})$ 构成有限 $N$ 人博弈的一个 $\varepsilon_N$-Nash 均衡($\varepsilon_N$-Nash equilibrium):对每个玩家 $i$ 和任意可行的偏离策略 $\beta^i$,
\[J^i\!\left(\alpha^{i,*},\, \boldsymbol{\alpha}^{-i,*}\right) \;\le\; J^i\!\left(\beta^i,\, \boldsymbol{\alpha}^{-i,*}\right) + \varepsilon_N ,\]其中 $\boldsymbol{\alpha}^{-i,*}$ 表示除玩家 $i$ 外其余所有人都用平均场策略,而且
\[\varepsilon_N \longrightarrow 0 \quad (N \to \infty), \qquad \text{典型量级 } \varepsilon_N = O\!\left(N^{-1/2}\right) \ (\text{低维}) .\]这个不等式你应该一眼认得:它就是 $\varepsilon$-Nash 的定义,没有任何玩家能通过单方面偏离,把自己的成本压低超过 $\varepsilon_N$。 而 $\varepsilon_N$ 随 $N$ 增大趋于零,意味着群体越大,这套平均场策略就越接近一个精确 Nash 均衡。当 $\varepsilon_N \to 0$,$\varepsilon$-Nash 就回到了你最熟悉的精确 Nash。
第三步:证明的逻辑链(为什么偏离无利可图)。 我们顺着玩家 $1$ 想“作弊”的念头走一遍,把 $\varepsilon_N$ 从哪里来讲清楚。整个论证就是把“玩家 $1$ 的真实最优偏离收益”和“它在理想极限世界里的最优偏离收益”做比较,证明两者只差 $O(N^{-1/2})$,而后者恰好是零。
玩家 $1$ 偏离时,它的成本 $J^1(\beta^1, \boldsymbol{\alpha}^{-1,*})$ 通过两条路径依赖群体:
- 直接路径:成本里显式出现的 $f(x^1_t, \beta^1_t, m^N_t)$ 和 $g(x^1_T, m^N_T)$ 中的 $m^N_t$;
- 间接路径:玩家 $1$ 改变自己的轨迹,会改变经验测度 $m^N_t$,从而(原则上)反过来影响包括它自己在内的所有人的成本。
间接路径先处理掉:由上一节“单体贡献 $O(1/N)$”的观察,玩家 $1$ 无论怎么偏离,它对 $m^N_t$ 的扰动都只有 $O(1/N)$,对自己成本的反作用因此也是 $O(1/N)$,可忽略不计。
直接路径是主项。这里用到传播混沌:当其余 $N-1$ 个玩家都用平均场策略时,传播混沌保证他们贡献的那部分经验测度逼近确定性的 $m_t$,即玩家 $1$ 实际面对的 $m^N_t$ 满足 $W_1(m^N_t, m_t) = O(N^{-1/2})$(低维,期望意义)。于是玩家 $1$ 面对的群体环境,可以近似看成外生固定的 $m_t$,它无论怎么挣扎,都改变不了这个事先定好的背景。把 $m^N_t$ 在成本里替换成 $m_t$,再借助 $f, g$ 的 Lipschitz 性质,这一替换带来的误差也是 $O(N^{-1/2})$。
替换之后,玩家 $1$ 的偏离优化问题退化成:
\[\min_{\beta^1} \; \mathbb{E}\!\left[ \int_0^T f\!\left(x^1_t, \beta^1_t, m_t\right) dt + g\!\left(x^1_T, m_T\right) \right] , \qquad m_t \text{ 视为已知、不受 } \beta^1 \text{ 影响} .\]而这恰恰就是上一章“代表性玩家面对固定平均场 $m_t$ 做随机最优控制”的那个问题,它的最优解,按构造,正是平均场反馈策略 $\hat{\alpha}(t, \cdot, m_t)$!换句话说,玩家 $1$ 拼命想找的最优偏离,到头来就是它本来要用的那套策略 $\alpha^{1,*}$。任何其他偏离 $\beta^1$ 在这个极限问题里都不可能严格更好。所以玩家 $1$ 偏离能占的便宜,最多就是上面那些被我们逐一估成 $O(N^{-1/2})$ 的近似误差之和。
把这些误差汇总,就得到 $\varepsilon_N$:
\[\varepsilon_N \;\lesssim\; \underbrace{O(1/N)}_{\text{单体对 } m^N_t \text{ 的贡献}} \;+\; \underbrace{O(N^{-1/2})}_{m^N_t \text{ 与 } m_t \text{ 的偏差(传播混沌)}} \;=\; O\!\left(N^{-1/2}\right) \ (\text{低维}) .\]主导项来自传播混沌那一项 $O(N^{-1/2})$,这也解释了为什么典型量级是 $\varepsilon_N \sim 1/\sqrt{N}$。高维下,由经验测度收敛的维度诅咒,速率退化为 $O(N^{-1/d})$(同样趋于零,只是更慢)。
用一句话收束这个证明:在大群体里,你一个人撼不动整个人群的分布,所以你最聪明的做法就是把人群当成固定背景去最优应对,而“对固定背景 $m_t$ 最优应对”算出来的,恰好就是平均场策略本身。这就是平均场策略在有限 $N$ 博弈里是近似最优反应、从而构成 $\varepsilon$-Nash 的根本原因。
6.5 为什么这一节正是博弈论读者最该关心的一环
把这一章放回整个理论的位置,它的分量就清楚了。
上一章我们解出了一对 $(u, m)$ 和一个漂亮的策略,但那都是在“无穷人”的虚构世界里。如果停在那里,一个博弈论读者完全有理由反问:这套东西只是一个数学上自洽的极限对象,凭什么说它对真实博弈有指导意义? 本章给出的 $\varepsilon$-Nash 定理,正是回答这个质疑的那块基石:
- 它告诉你,平均场均衡不是一个空中楼阁式的极限玩具,而是有限 $N$ 博弈近似 Nash 均衡的一个可计算、可部署的处方,你拿它去发给真实玩家,没人能显著地偏离获益,且群体越大越精确。
- 它把“求解 $N$ 个耦合最优控制的不动点”(维度随 $N$ 爆炸、实际不可解)这个难题,换成了“解一对 HJB-Fokker-Planck 方程 + 验证一个不动点”(维度与 $N$ 无关)。这是一次彻底的降维,也是 MFG 相对于直接求 $N$-player Nash 的根本优势所在。
- 它给出的近似策略是去中心化、对称、且无需实时观测他人的,每个玩家只看自己的状态和一条预先算好的 $m_t$。这在多智能体系统、经济建模、群体控制等工程场景里极具吸引力,因为它绕开了“每个玩家都要追踪所有其他玩家”的通信与计算瓶颈。
给你一个干净的“双向一致性”图景:平均场均衡和有限 $N$ Nash 均衡之间,是上下贯通的。自上而下(本章主线):把平均场均衡的策略发给有限 $N$ 玩家,它是 $\varepsilon_N$-Nash 的($\varepsilon_N \to 0$)。自下而上(更难、需要更强工具):有限 $N$ 博弈真正的 Nash 均衡,其经验测度在 $N \to \infty$ 时也会收敛到同一个平均场分布 $m_t$。两个方向合起来才完整地说明:平均场均衡不只是一个方便的近似,它就是有限 $N$ 博弈在大群体下“正确”的极限解。本章我们集中讲了对博弈论读者最直接、最实用的自上而下这一支。
至此,“无穷人的解对真实有限 $N$ 博弈有什么用”这个问题就有了硬核回答:平均场均衡策略是一个 $\varepsilon$-Nash 均衡,$\varepsilon \sim 1/\sqrt{N}$ 随群体增大而消失,其正当性由传播混沌严格背书。 这一章默认了 MFG 系统的解是存在且足够正则的,可这个前提本身需要被认真对待:那对 HJB-Fokker-Planck 耦合方程的解到底存不存在、唯不唯一,又该如何真正把它算出来?这正是下一章要回答的问题。
第 7 章 存在性、唯一性与怎么算
上一章我们证明了一件关键的事:把 MFG 的解(一对值函数与平均场分布)当作策略分发给有限的 $N$ 个玩家,得到的是一个 $\varepsilon_N$-Nash 均衡,且 $\varepsilon_N \to 0$。换句话说,只要 MFG 真的有解,它就是大规模博弈的好近似。但这句话里藏着一个我们一直假装跳过的前提:MFG 到底有没有解?如果有,唯一吗?又该怎么把它算出来? 这一章就专门回答这三个问题。
先把要分析的对象摆在桌面上。前几章已经把 MFG 均衡写成了一个 backward-forward 耦合的偏微分方程组(成本最小化范式):
\[\begin{aligned} \partial_t u + \nu\,\Delta u + H(x, \nabla u, m) &= 0, \qquad &&u(T,x) = g(x, m_T) \quad &&\text{(HJB, backward)},\\ \partial_t m - \nu\,\Delta m + \mathrm{div}\big(m\,\nabla_p H(x, \nabla u, m)\big) &= 0, \qquad &&m(0,\cdot) = m_0 \quad &&\text{(FPK, forward)}. \end{aligned}\]这里再快速复述一遍每个记号的含义,免得你往回翻:
- $u(t,x)$ 是值函数(value function),即“此刻时间 $t$、状态 $x$,从现在起一直最优地走下去,未来要付出的最小总成本”。它是连续时间随机版本的“逆向归纳(backward induction)算到一半时手里那张最优成绩单”。
- $m_t \in \mathcal{P}(\mathbb{R}^d)$ 是 $t$ 时刻的平均场分布(mean field),即整个人群此刻铺开成的概率测度;$\mathcal{P}(\mathbb{R}^d)$ 表示 $\mathbb{R}^d$ 上所有概率测度构成的空间(“所有可能的人群分布图”的集合)。把整条时间轨道 $(m_t)_{t\in[0,T]}$ 简记为 $m$。
- $H(x,p,m)$ 是 Hamiltonian,即“在状态 $x$、值函数梯度为 $p=\nabla u$、人群分布为 $m$ 时,个体当下这一步在所有可选动作里挑到的最优权衡”,本教程取成本最小化形式 $H(x,p,m)=\min_{\alpha}{\,b(x,\alpha,m)\cdot p + f(x,\alpha,m)\,}$。
- $\nabla_p H(x,\nabla u,m)$ 是 Hamiltonian 对第二个变量 $p$ 求的梯度,它正好给出最优控制 $\alpha^\ast$ 对应的漂移方向(即“大家都最优反应时,人群被推着往哪走”)。
- $\nu = \sigma^2/2$ 是扩散强度($\sigma$ 是扩散系数),$\Delta$ 是关于空间变量 $x$ 的 Laplace 算子(二阶导之和),$\mathrm{div}$ 是散度(衡量“流出多少”)。
注意这个系统里的耦合是双向的:HJB 那一行依赖 $m$(个体怎么选取决于人群多挤),FPK 那一行依赖 $\nabla u$(人群怎么演化取决于大家的最优策略)。正是这个双向纠缠让“一口气直接解出来”变得困难。本章的全部技术,都是在想办法驯服这个纠缠。
这一章的地图是这样的:第 1 节讲存在性,用不动点定理,并且要让你看清它和博弈论里证明 Nash 均衡存在用的是同一类思想;第 2 节讲唯一性,引入 Lasry-Lions 单调性条件,给足直觉,并说明单调性垮掉时会发生什么;第 3 节讲怎么算,把不动点/Picard 迭代和你早就熟悉的 fictitious play 直接迁移过来。
7.1 存在性:和证明 Nash 均衡用的是同一招
先回忆你早就会的那一招。 博弈论里证明 Nash 均衡存在,标准套路是这样的:定义每个玩家的最优反应(best response),把所有玩家的最优反应打包成一个映射,这个映射把“一组策略”送到“针对这组策略的最优反应”,然后证明这个映射有一个不动点(fixed point)。不动点的含义恰好是“每个人的策略都已经是对别人策略的最优反应”,这正是 Nash 均衡的定义。证明工具是 Brouwer 或 Kakutani 不动点定理(在连续统/非原子博弈里,常常是 Schauder 这一类无穷维版本)。
下面你会看到,MFG 的存在性证明一字不差地复用这个套路,只不过“一组策略”被换成了“一条人群分布轨道 $m$”。
1.1 把 MFG 均衡写成一个不动点
求解双向耦合系统的最自然办法是解耦再迭代。先固定一条候选的人群分布轨道 $m=(m_t)_{t\in[0,T]}$,把它当成外生给定、不会变的背景,然后分两步:
第一步(个体最优反应):把 $m$ 当作已知环境,只解 backward HJB,得到值函数 $u$ 以及对应的最优控制 $\alpha^\ast$。这一步就是一个标准的随机最优控制问题:环境(人群分布)固定了,单个个体在固定背景下算自己怎么走最划算。它正是上面所说“连续时间随机版的逆向归纳”,从终点 $T$ 往回算。
第二步(群体随之演化):拿第一步算出的最优控制对应的漂移 $\nabla_p H(x,\nabla u,m)$,代入 forward FPK,只解 $m$ 的演化,从起点 $0$ 往前推,得到一条新的分布轨道 $m’$。
把这两步首尾接起来,定义一个映射 $\Phi$:
\[\Phi : m \longmapsto m', \qquad m' = \mathrm{FPK}\big(\,\mathrm{HJB}(m)\,\big).\]它读作:“假设所有人都相信人群会按 $m$ 演化,于是各自做最优反应;在这种最优反应之下,人群实际会演化成 $m’$。”
那么什么是 MFG 均衡?就是 $\Phi$ 的不动点 $m^\ast = \Phi(m^\ast)$。
请把这一行和你脑子里的 Nash 不动点叠在一起看。Nash 均衡说“每个人的策略是对别人策略的最优反应,没人想偏离”。MFG 均衡说“个体对人群的预期 $m$,恰好等于个体最优反应导致的人群行为 $m’$,没人发现自己预期错了”。如果 $m \neq \Phi(m)$,那就说明大家当初对环境的预期是错的:他们按错误预期做了最优反应,结果人群真实演化成了别的样子,于是大家会想修正策略,这就不是均衡。两个“没人想偏离”讲的是同一件事。
一句话对照:博弈论里,Nash 均衡 = 最优反应映射的不动点;MFG 里,平均场均衡 = 分布演化映射 $\Phi$ 的不动点。唯一的区别是,单个玩家的“策略”被升级成了整条“人群分布轨道”,所以 $\Phi$ 活在一个无穷维空间里,需要无穷维版本的不动点定理。
1.2 为什么不能直接用“迭代必收敛”,而要请出拓扑不动点定理
你可能会想:既然 $\Phi$ 是个映射,那我从某个 $m^{(0)}$ 出发,反复作用 $\Phi$,即 $m^{(0)},\,\Phi(m^{(0)}),\,\Phi^2(m^{(0)}),\dots$,不就收敛到不动点了吗?这正是 Banach 收缩映射(contraction mapping)的逻辑:如果 $\Phi$ 每作用一次都把两点之间的距离缩小一个固定比例,迭代必然收敛到唯一不动点。
问题是 $\Phi$ 一般不是收缩的。 HJB 与 FPK 的双向耦合没有任何理由保证 $\Phi$ 把距离缩小。事实上(第 3 节会详细看到)这种朴素迭代经常震荡甚至发散:人群对预期过度反应,下一轮又过度反向反应,来回横跳。所以“收缩 ⇒ 收敛到不动点”这条路,在一般 MFG 里走不通。
好在证明“不动点存在”并不需要收缩。我们退而求其次,请出拓扑不动点定理,它只要求映射连续加上定义域紧(compact),完全不要求收缩:
- Brouwer 不动点定理(有限维):任何把一个非空、凸、紧集连续地映到自身的映射,必有不动点。最直白的版本:把一个圆盘连续地搅动并映回自己,总有一个点没动。这是博弈论里 Nash 存在性证明(混合策略单纯形上的 Brouwer)的同一个定理。
- Schauder 不动点定理(无穷维):把 Brouwer 推广到无穷维 Banach 空间。若 $\Phi$ 把一个非空、凸、紧集 $\mathcal{K}$ 连续地映到自身,则 $\Phi$ 在 $\mathcal{K}$ 中有不动点。MFG 因为 $m$ 是无穷维对象,用的就是这个版本。
- Kakutani 不动点定理(集值推广):当最优控制不唯一时,$\Phi$ 会从“一个点映到一个点”变成“一个点映到一个集合”(集值映射 set-valued map)。Kakutani 处理的正是这种情形。它也正是博弈论里 Nash 存在性最常用的工具(最优反应对应集 best-response correspondence 的不动点),所以你对它应该不陌生。
与你已知的对照:证明 Nash 均衡存在,混合策略时用 Brouwer,纯策略最优反应集值时用 Kakutani。MFG 把同样两件武器搬到无穷维:Schauder 对应 Brouwer,Kakutani 还是 Kakutani。思路完全平行,只是把“策略单纯形”换成了“分布轨道空间”。
1.3 把抽象定理落到 MFG 上:三个技术要点
Schauder 定理要生效,需要凑齐三样东西:一个凸紧的定义域 $\mathcal{K}$,以及 $\Phi$ 在其上的连续性。下面逐一说清这三样在 MFG 里怎么来。
(a)选对空间。 让 $\mathcal{K}$ 是“足够规整”的分布轨道构成的集合,通常取
\[\mathcal{K} \subset C\big([0,T];\, \mathcal{P}(\mathbb{R}^d)\big),\]读作:从时间区间 $[0,T]$ 到概率测度空间 $\mathcal{P}(\mathbb{R}^d)$ 的连续轨道(一条随时间连续变化的人群分布)。这里 $\mathcal{P}(\mathbb{R}^d)$ 要配一个距离,用的是 Wasserstein 距离(Wasserstein distance) $W_1$ 或 $W_2$。
什么是 Wasserstein 距离?给你两张人群分布图 $m$ 和 $m’$,$W_1(m,m’)$ 衡量“把 $m$ 这堆人搬成 $m’$ 这堆人,最少要搬多少(质量乘以搬运距离)”,所以也叫“搬土距离(earth mover’s distance)”。它和你熟悉的总变差(total variation)不同:哪怕两个 Dirac 测度 $\delta_a$ 和 $\delta_b$(即“全部质量集中在一点 $a$/一点 $b$”的分布)完全不重叠,Wasserstein 也只算 $\mid a-b\mid $ 这么大,符合“离得近就该算近”的几何直觉。选 Wasserstein 而不是别的度量,是因为它和“质量被搬来搬去”的输运几何相容,而 FPK 方程描述的恰恰就是质量被漂移和扩散搬运的过程,所以解对初值和系数的连续依赖在这个度量下最自然。
(b)凸性与紧性来自先验估计(a priori estimates)。 整个空间太大不会紧,必须把 $\mathcal{K}$ 收缩到一个“有界且不太剧烈变化”的子集。两条关键的先验估计提供了这种收缩:
- HJB 一侧给出有界性:在合理假设下(系数有界、Hamiltonian 关于 $p$ 有适当的凹性与增长,本教程的 $H=\min_\alpha{\cdots}$ 关于 $p$ 自动是凹的),值函数 $u$ 及其梯度 $\nabla u$ 有一个不依赖于具体 $m$ 的统一上界。梯度有界,意味着最优漂移 $\nabla_p H$ 有界,于是喂给 FPK 的“风场”不会失控。
- FPK 一侧给出紧性:有界漂移加上正的扩散($\nu>0$)会把新分布 $m’$ 压成一个紧集。具体说,扩散让 $m’$ 在时间方向变得平滑(轨道等度连续),在空间方向不让质量逃到无穷远(即 tightness,紧性)。
凑齐这两点后,标准结果接力:Prokhorov 定理说“tight 的测度族在弱拓扑下相对紧”,Arzelà-Ascoli 定理把时间方向的等度连续补上,于是 $\mathcal{K}$ 在 $C([0,T];\mathcal{P})$ 里是紧的。凸性是白送的:两张分布图的凸组合 $\lambda m + (1-\lambda) m’$ 仍是一张合法的分布图,所以 $\mathcal{P}(\mathbb{R}^d)$ 凸,把 $\mathcal{K}$ 取成它的凸子集即可。
关键洞察:扩散 $\nu>0$ 不是模型的装饰,它是存在性证明的发动机。 正是布朗噪声带来的平滑作用,一边把 HJB 的解抹光滑(梯度有界),一边把 FPK 的解压进紧集。没有噪声($\nu=0$,所谓 first-order/确定性 MFG)时,这两份正则性都没了,存在性证明要难得多,需要松弛控制、Lagrangian 表述等额外技术。这是一个值得记住的分水岭:噪声让分析变容易,因为它替你赚来了紧性。
(c)验证连续性。 最后要证 $\Phi$ 在 $\mathcal{K}$ 上连续:若 $m^{(n)} \to m$(在 $W_1$ 意义下),则 HJB 的解 $u^{(n)} \to u$,最优漂移随之收敛,FPK 的解 $m’^{(n)} \to m’$。技术上这是最繁琐的一步(要用 HJB/FPK 解对系数的稳定性估计),但思想极其朴素:小扰动的环境 → 小扰动的最优反应 → 小扰动的群体演化。也就是“没人会因为环境只动了一点点就疯狂改策略”。
三点齐备,Schauder(最优控制不唯一时用 Kakutani)立刻吐出一个不动点,也就是 MFG 均衡的存在性:
\[\boxed{\;\text{连续的 } \Phi \;+\; 凸紧的 \;\mathcal{K} \;\overset{\text{Schauder/Kakutani}}{\Longrightarrow}\; \exists\, m^\ast = \Phi(m^\ast)\;}\]存在性证明给了什么,没给什么。 它保证均衡“存在”,但它是非构造性的:不动点定理只说“有”,不告诉你怎么算出来(那是第 3 节的事)。更要紧的是,它完全不保证唯一:Schauder 和 Kakutani 都允许有好几个不动点共存。这正是博弈论里你早就习惯的局面,很多博弈有多个 Nash 均衡。要谈唯一性,必须额外加结构假设,这就引出下一节的主角。
7.2 唯一性:Lasry-Lions 单调性条件
2.1 多重均衡是怎么冒出来的
唯一性会失败,根子在于成本对人群分布的依赖方式可能产生正反馈。
举个你在博弈论里再熟悉不过的例子:协调博弈(coordination game)。如果成本结构鼓励扎堆(大家都往同一处去反而更划算,比如都去那家更热闹因而更安全的店),那么“全体向左”和“全体向右”就可能都是自洽的均衡。逻辑链是:我预期大家向左,于是我也向左最优,结果大家真的都向左,印证了我的预期;同样地,我预期大家向右也能自圆其说。预期决定行为,行为印证预期,于是多重均衡。这在 MFG 里的体现就是映射 $\Phi$ 有不止一个不动点。
Lasry 和 Lions 的洞察是:只要成本反过来惩罚拥挤(crowd aversion),这种正反馈就被掐断,多重均衡随之消失。直觉链条是:
\[\text{某处变挤} \;\to\; \text{该处成本上升} \;\to\; \text{个体倾向避开、分散} \;\to\; \text{没有“扎堆型”自我印证} \;\to\; \text{均衡唯一}.\]换句话说,拥挤厌恶给系统装了一个负反馈:任何局部聚集都会自己把成本顶高、把人推开。负反馈天然排斥多重稳态,就像一个碗底只有一个最低点。这个“越挤越不愿去”的性质,被精确地写成成本关于分布的单调性(monotonicity)条件。
2.2 单调性的不等式长什么样
把成本里依赖分布的那部分单独拎出来。设 running cost 写成可分离的形式 $f(x,\alpha,m)=f_0(x,\alpha)+f_1(x,m)$,其中只有 $f_1$ 依赖人群分布;为简洁,下面直接把这个依赖分布的项记作 $f(x,m)$。Lasry-Lions 单调性要求:对任意两张不同的分布图 $m, m’ \in \mathcal{P}(\mathbb{R}^d)$,
\[\begin{aligned} \int_{\mathbb{R}^d} \big( f(x,m) - f(x,m') \big)\,\mathrm{d}(m-m')(x) &\;\geq\; 0,\\[4pt] \int_{\mathbb{R}^d} \big( g(x,m) - g(x,m') \big)\,\mathrm{d}(m-m')(x) &\;\geq\; 0, \end{aligned}\]并且(用于严格唯一性)当 $m \neq m’$ 时第一式严格大于 $0$。
怎么读这个积分,一步一步来。 记号 $\mathrm{d}(m-m’)$ 表示“两张分布图之差”,把它想成一份“人口迁徙单”:在某个位置 $x$ 处,$m$ 比 $m’$ 多出来的人口是正、少掉的是负。被积的 $f(x,m)-f(x,m’)$ 是“在 $x$ 处,人口从 $m’$ 变成 $m$ 之后,那里的成本变了多少”。两者相乘再在全空间积分,要求结果非负,意思就是:人口增加的地方,成本也跟着上升。这正是“越挤越贵”的拥挤惩罚,数学上写出来就是这么一行。它和经济学里递增的边际成本、拥堵收费是同一个味道。
与凸性的类比(送给把 MFG 当优化看的读者):在最简单的标量情形,一个函数 $\phi$ 单调递增等价于 $(\phi(a)-\phi(b))(a-b)\ge 0$。上面的不等式,就是把这个标量单调性,搬到了测度空间上(把乘法换成“与 $m-m’$ 的配对”,即积分)。回想凸优化里那条铁律:梯度场单调 $\Rightarrow$ 极小点唯一。这里成本算子单调 $\Rightarrow$ 均衡唯一,是完全同构的逻辑。如果你愿意,可以把“拥挤厌恶”读成“成本泛函是凸的”,把唯一均衡读成“凸问题的唯一极小点”。
2.3 唯一性证明的骨架(看符号怎么对齐)
证明非常优雅,核心是一个“两套解交叉相减”的能量估计。假设反证:存在两个均衡 $(u_1, m_1)$ 与 $(u_2, m_2)$,都满足同一个耦合系统。记它们的差 $\bar u = u_1 - u_2$,$\bar m = m_1 - m_2$。
把两套 HJB 相减、两套 FPK 相减,然后交叉测试:用 $\bar m$ 去测试 HJB 的差,用 $\bar u$ 去测试 FPK 的差(“测试”就是两边乘上测试对象再在时空上积分),并做分部积分。很多项因为初末条件而成对消去:FPK 那边初值相同($m_1(0)=m_2(0)=m_0$,故 $\bar m(0)=0$),HJB 那边终值由 $g$ 钉死。一通积分之后,剩下一个出奇干净的等式,大致形如:
\[\begin{aligned} &\int_0^T \!\!\int_{\mathbb{R}^d} \big(f(x,m_1)-f(x,m_2)\big)\,\mathrm{d}(m_1-m_2)\,\mathrm{d}t \\ &\quad + \int_{\mathbb{R}^d} \big(g(x,m_{1,T})-g(x,m_{2,T})\big)\,\mathrm{d}(m_1-m_2)_T \\ &\quad + \underbrace{\int_0^T\!\!\int_{\mathbb{R}^d} \big[\text{Hamiltonian 凸性贡献}\big]\,\mathrm{d}x\,\mathrm{d}t}_{\geq\,0\ \text{(因 } H \text{ 关于 } p \text{ 凹)}} \;=\; 0. \end{aligned}\]现在逐项看符号:
- 前两项由单调性条件保证 $\geq 0$(这正是 2.2 那两行不等式);
- 第三项由 Hamiltonian 关于 $p$ 的(严格)凹性保证 $\geq 0$,它本质上度量了在 $m_1$ 与 $m_2$ 两种环境下,最优控制 $\alpha^\ast$ 差了多少。
三个非负项加起来等于零,那只有一种可能:每一项都恰好等于零。于是:
- 若单调性是严格的,第一项为零强迫 $m_1 = m_2$(对几乎所有时刻、几乎处处)。
- 一旦 $m$ 相同,两套 HJB 的非线性项就一模一样,backward 方程的唯一性立刻给出 $u_1 = u_2$。
两个均衡其实是同一个,矛盾。故均衡唯一。$\blacksquare$
为什么非要 backward 加 forward 这一反一正才行:这是 MFG 结构里一个微妙又漂亮的点。HJB 是 backward 的、FPK 是 forward 的,二者在分部积分时产生方向相反的边界贡献,恰好让时间端点的边界项成对消掉($t=0$ 用 FPK 初值消,$t=T$ 用 HJB 终值配 $g$),最后只剩单调性项和凸性项。如果两个方程同向,这套相消就垮了。换句话说,唯一性的代数,依赖于 HJB 与 FPK 的时间反向耦合。这也解释了为什么 MFG 一定要写成“一个往回、一个往前”这种乍看别扭的形式。
2.4 单调性垮掉时:多重均衡是真实存在的现象
要强调:单调性是充分而非必要的。它保证唯一,但唯一的均衡未必都来自单调成本。
而在不满足单调性的问题里(典型是带正反馈、协调、聚集效应的模型,比如鸟群聚集、城市集聚、金融市场里的羊群行为),多重均衡不是病态的边角料,而是真实且重要的现象。这时你关心的问题就变了:不再是“唯一吗”,而是“有哪几个均衡、系统会落到哪一个、参数变化时均衡如何分岔”,也就是均衡选择(equilibrium selection)与分岔结构。这和你在博弈论里处理多重 Nash 均衡时的思路完全一致:聚焦点、风险占优、演化稳定性等等,都是在回答“多个均衡里挑哪个”。
所以可以这样记:Lasry-Lions 单调性既是一个有用的技术假设,也是一条划分 MFG 难度与现象的分水岭。 单调这一侧,世界干净、均衡唯一、数值方法也好收敛(下一节会看到);非单调那一侧,世界丰富、可能多解、计算也更棘手。
7.3 怎么算:不动点/Picard 迭代与 Fictitious Play
存在唯一讲完了,但那两套证明都是“纸面上的”:不动点定理只说有解、不给算法,唯一性证明也只是排除多解。真正要把 $(u^\ast, m^\ast)$ 算出来,得靠迭代方法。好消息是,本节的两个主力算法,你在博弈论里其实都见过:一个是反复求最优反应(best-response 迭代),一个就是大名鼎鼎的 fictitious play。我们只需把它们从“离散策略博弈”平移到“分布轨道”上。
3.0 困难仍然是那个困难:时间方向相反且耦合
在动手之前先点明麻烦的来源,这样后面每个算法的设计动机你都能秒懂。普通的发展型方程(比如热方程)只有一个时间方向,给个初值往前一步步推(time marching)就解完了。MFG 不是:
- HJB 关于 $u$ 是 backward 的,带终端条件 $u(T,\cdot)=g$,要从 $t=T$ 往回积分。
- FPK 关于 $m$ 是 forward 的,带初始条件 $m(0,\cdot)=m_0$,要从 $t=0$ 往前积分。
- 而且两者耦合:HJB 里的 $H(x,\nabla u,m)$ 要用到 $m$,FPK 里的漂移 $\nabla_p H(x,\nabla u,m)$ 又要用到 $u$。
于是你既不能单独从 $T$ 往回解 $u$(因为不知道 $m$),也不能单独从 $0$ 往前解 $m$(因为不知道 $u$)。没有先后,只有自洽。 这正是 Nash 不动点结构在 PDE 层面的化身。所有算法归根结底都在回答同一个问题:怎么处理这个“一头朝前、一头朝后”的耦合。最常见的策略就是 3.1 的解耦迭代,把它拆成“固定 $m$ 解 $u$、再固定 $u$ 解 $m$”反复做。
3.1 朴素不动点(Picard / best-response)迭代
最直接的想法,直接照搬第 7.1 节那个映射 $\Phi$ 的定义去迭代。因为第一步就是在固定环境下求最优反应,所以它也叫 best-response 迭代,你应该觉得无比亲切:
给定 当前对人群分布的猜测 $m^{(k)}$。 第一步(best response):固定 $m^{(k)}$,从 $T$ 往回解 HJB,得到值函数 $u^{(k)}$ 和对应的最优控制 $\alpha^\ast$。 第二步(forward push):用 $u^{(k)}$ 诱导的最优控制,从 $0$ 往前解 FPK,得到新分布 $\widehat m^{(k)}$。 更新:令 $m^{(k+1)} = \widehat m^{(k)}$,回到第一步重复。
这就是在反复求映射 $\Phi : m \mapsto \widehat m$ 的不动点,即 $m^{(k+1)} = \Phi(m^{(k)})$。
它什么时候收敛、什么时候翻车。 正如第 7.1 节预告过的,$\Phi$ 一般不是收缩映射,所以这个朴素迭代没有普遍的收敛保证。它收敛,通常要求下列之一成立:时间区间 $T$ 足够短、耦合足够弱、或满足上一节的 Lasry-Lions 单调性。一旦这些条件不满足,迭代往往震荡甚至发散:第 $k$ 轮人群对预期过度反应,挤向某处;第 $k{+}1$ 轮发现那里太挤又集体逃开,过度反向;如此来回横跳,永不安定。
这个“过度反应”的毛病,你在博弈论里也见过:朴素的最优反应动态(best-response dynamics)在很多博弈里同样不收敛,会绕圈。而博弈论早就给出过一个经典解药,下面直接搬过来。
3.2 Fictitious Play:用历史平均压住震荡
Fictitious play(虚拟博弈)你太熟了。 在经典博弈论里,每个玩家不去对“对手上一步刚出的动作”做最优反应(那样容易追着对方绕圈),而是对“对手历史所有动作的经验频率”做最优反应。直觉是:把对手当成一个出招频率逐渐稳定下来的混合策略,针对这个平均来打,就不会被对方的瞬时抖动带着乱跑。
搬到 MFG 上,改动只有一处,而且改得极其自然:不要用最新一轮的 best-response 分布直接替换,而是用历史上所有 best-response 分布的平均,作为下一轮个体面对的人群分布。 第 $k$ 轮:
\[\begin{aligned} u^{(k)} &= \mathrm{HJB\text{-}solve}\big(\,\bar m^{(k-1)}\,\big), \\ \widehat m^{(k)} &= \mathrm{FPK\text{-}solve}\big(\,u^{(k)}\,\big), \\ \bar m^{(k)} &= \frac{1}{k}\sum_{j=1}^{k} \widehat m^{(j)} = \Big(1 - \tfrac{1}{k}\Big)\,\bar m^{(k-1)} + \tfrac{1}{k}\,\widehat m^{(k)}. \end{aligned}\]第三行是关键:新的“平均场猜测” $\bar m^{(k)}$ 是旧平均 $\bar m^{(k-1)}$ 与最新 best response $\widehat m^{(k)}$ 的凸组合,而且最新这一份的权重 $\tfrac{1}{k}$ 随轮数衰减。也就是说,越往后,单轮的新结果越撼动不了已经积累起来的历史平均,整条轨迹自然就稳下来了。注意这里平均的是“分布轨道”,对每个时刻 $t$ 把 $\widehat m_t^{(j)}$ 求平均即可,操作上和经典 fictitious play 平均混合策略一模一样。
为什么它管用,以及它和朴素迭代的关键差别。 直觉上,个体面对的不再是一个反复横跳的对手,而是一个“逐渐定形”的人群,过度反应被历史摊薄了。理论上更漂亮:Cardaliaguet-Hadikhanloo 证明了,在 Lasry-Lions 单调性条件下,fictitious play 在 MFG 中收敛,而朴素 Picard 在同样条件下都可能震荡。换句话说,fictitious play 把“要求 $\Phi$ 是收缩”这个苛刻条件,松绑成了“要求成本单调”这个弱得多的条件。这又一次呼应第 2 节:单调性不仅给唯一性,还顺带保证了一个你早已熟悉的算法能收敛到它。
一句话对照:经典 fictitious play 对“对手历史动作的经验频率”做最优反应;MFG fictitious play 对“人群历史分布的时间平均”做最优反应。换的只是“对手”从有限动作集变成了概率测度,算法骨架原封不动。读者在博弈论里积累的全部关于 fictitious play 收敛性的直觉(零和、势博弈、单调条件下收敛),几乎都能平移过来。
3.3 Damping:把 fictitious play 看成一种松弛
Fictitious play 里那个 $\tfrac{1}{k}$ 的递减权重,只是“松弛(relaxation)”的一个特例。更一般地,可以用一个固定或自适应的步长 $\delta \in (0,1]$ 做 damping(阻尼/欠松弛):
\[m^{(k+1)} = (1-\delta)\, m^{(k)} + \delta\, \widehat m^{(k)}.\]- $\delta = 1$:退化成朴素 Picard(可能震荡)。
- $\delta$ 取小:更稳,但收敛慢。
- $\delta = \tfrac{1}{k+1}$:就是 fictitious play 的递减步长。
为什么 damping 有效。 它和优化里的欠松弛、动量法里的平滑是同一回事:不让迭代变量在一步内跳得太远,把一个本来会发散的不动点迭代“拽”回收敛域。代价是收敛变慢,这就是稳定性与速度之间那个经典 trade-off。实务上,damping 步长是把朴素迭代救活的最省事的旋钮。
3.4 统一伪代码与收敛要点
迭代解耦类方法(Picard / damping / fictitious play)的最大优点是模块化:每一轮里 HJB 和 FPK 都是解耦的单个标准 PDE,可以直接复用成熟的求解器(低维用有限差分或有限元,高维用神经网络等)。它们的区别仅在第三步的更新规则。下面给出统一骨架:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
输入: m0(初始分布), 运行/终端成本 f,g, 容差 tol, 最大迭代 K
初始化: m_bar <- 用 m0 在时间上常数延拓得到的初始分布猜测
for k = 1, 2, ..., K:
# 第一步: 固定人群分布, 从 T 往回解 HJB (求 best response)
u <- solve_HJB_backward(m_bar) # 得到值函数 u 与最优控制 alpha*(.,.)
# 第二步: 用最优控制, 从 0 往前解 FPK (看 best response 把人群推成什么样)
m_hat <- solve_FPK_forward(u, m0) # 得到 best-response 诱导的新分布轨道
# 第三步: 松弛更新(三选一)
# Picard: m_new = m_hat # delta = 1
# damping: m_new = (1 - delta) * m_bar + delta * m_hat # 固定步长
# fictitious play: m_new = (1 - 1/k) * m_bar + (1/k) * m_hat # 历史平均
m_new <- relax(m_bar, m_hat, k)
# 收敛判据: 分布在某度量(如 W_1 或 L1)下不再变化
if dist(m_new, m_bar) < tol:
break
m_bar <- m_new
return u, m_bar
收敛要点,浓缩成几条便于记忆:
- 朴素 Picard($\delta=1$):实现最简单,但只在短 $T$、弱耦合或单调性下可靠;否则易震荡发散。
- damping(小 $\delta$):用牺牲速度换稳定,是把发散迭代救回来的通用手段。
- fictitious play($\delta=1/k$):在 Lasry-Lions 单调性下有收敛证明(Cardaliaguet-Hadikhanloo),是单调 MFG 上最稳妥的默认选择;它把对收缩性的要求降级成了对单调性的要求。
- 共同前提:这些方法都要求内层的 HJB、FPK 单方程能被可靠求解。在非单调 MFG(带聚集、可能多解)上,外层迭代没有收敛保证,可能停在错误的解或不收敛,这时回到第 7.2 节(唯一性)的视角:你面对的本就是一个多均衡问题,要谈的是均衡选择而非“算出那个唯一解”。
把三节串起来:第 1 节用不动点定理告诉你“均衡存在”,但不告诉你怎么算;第 3 节的迭代正是去把那个不动点真正逼出来。而第 2 节的单调性像一根隐线穿起两头,它既保证不动点唯一,又恰好是 fictitious play 收敛的充分条件。于是“存在、唯一、能算”这三件事在单调性这里漂亮地合流,这也是为什么 Lasry-Lions 单调性被视作 MFG 理论的基石。
到此,我们已经知道 MFG 均衡何时存在、何时唯一,以及如何用你早已熟悉的 best-response 迭代和 fictitious play 把它算出来。但这些算法都假定了一件奢侈的事:成本函数、动力学、扩散系数全都已知,于是 HJB 和 FPK 能直接写出来求解。现实中,个体往往不知道环境的精确模型,只能通过反复试错去学。下一章就把镜头转向这种情形,讲 MFG 与强化学习(reinforcement learning)的联系,看 fictitious play 这套不动点迭代如何摇身一变,成为 mean-field 多智能体强化学习里“学习平均场均衡”的算法骨架。
第 8 章 延伸:与强化学习的联系、典型应用
上一章我们解决了“这个 HJB-Fokker-Planck 耦合系统到底有没有解、解唯不唯一、怎么把它在计算机上算出来”这三件事。本章是全篇的收尾,不再推导新的方程,而是把视角拉远,回答两个更大的问题:第一,当模型未知、或者状态空间大到没法直接解 PDE 时,怎么办? 答案是用强化学习(reinforcement learning, RL)去“学”而不是“解”平均场均衡,这一节会指出 RL 的值函数与我们一路用的 HJB-Bellman 其实是同一棵树上的果子。第二,这套数学到底拿来建模什么? 我们会快速扫过人群疏散、金融、流行病、经济学等几个典型应用,每个都点到为止。
贯穿本章有一个统一的视角,请先记在心里:MFG 本质上就是“超大规模人群的博弈论”。 你已经熟悉的非原子博弈(non-atomic game)里,每个玩家是测度为零的“一滴水”,单个玩家撼动不了总体;MFG 无非是给这滴水加上了时间和随机动力学(它要在 $[0,T]$ 上一步步走,还被布朗噪声推搡),但“个体对总体只做最优反应、总体由所有个体的最优反应自洽生成”这个 Nash 不动点的灵魂完全没变。带着这个类比,下面无论是 RL 还是各种应用,都只是同一个不动点故事的不同外衣。
8.1 与强化学习的联系:当模型未知或状态爆炸时
先把记号从连续时间翻译成 RL 的离散时间。 前面几章我们活在连续时间 $t\in[0,T]$ 里,用受控随机微分方程(stochastic differential equation, SDE,即“常微分方程 + 布朗噪声推搡”的演化规则)$dx^i_t = b\,dt + \sigma\,dW^i_t$ 描述玩家 $i$ 的状态 $x^i_t$(上标 $i$ 是玩家、下标 $t$ 是时间,取值在 $\mathbb{R}^d$),用 $W^i_t$ 记它的布朗噪声(Brownian motion,连续时间版的随机游走)。但 RL 读者天然在离散时间工作:时间是一步步的 $t=0,1,2,\dots,T$,没有 SDE、没有 Itô,只有一个转移概率告诉你“现在在 $x$、动了 $\alpha$,下一步会到哪”。所以谈 RL 时,我们把连续时间的 SDE 离散成一个转移核(transition kernel)
\[P(x_{t+1} \mid x_t, \alpha_t, m_t),\]含义是:给定当前状态 $x_t$、动作 $\alpha_t$(玩家此刻能调的“手柄”,即控制 $\alpha^i_t$ 的离散时间版)、以及当前人群分布 $m_t$(mean field,整个人群此刻怎么铺开的那张概率分布,属于状态空间上的概率测度),下一步状态 $x_{t+1}$ 服从这个分布。请特别注意转移核里出现的 $m_t$:这正是“别人的存在”进入你个人决策的唯一通道,对应连续时间里漂移 $b(x,\alpha,m)$ 对分布 $m$ 的依赖。如果 $P$ 里根本不含 $m_t$,那这就退化成 $N$ 个互不相干的单人决策问题,谈不上博弈。
值函数:HJB / Bellman / RL 是同一个东西的三种说法。 这是本节最该看穿的一点。回忆我们一路用的值函数(value function) $u(t,x)$:它表示“此刻时间是 $t$、状态是 $x$,从现在起一直最优地走下去,未来要付出的最小总成本”。在连续时间里,$u$ 满足 HJB 方程;现在把它搬到离散时间、并固定一条人群分布流 $m=(m_t)_{t}$(即先假装别人怎么演化是已知的、外生的),单个玩家面对的就是一个标准的(非平稳)马尔可夫决策过程(Markov decision process, MDP),它的值函数满足贝尔曼方程(Bellman equation):
\[u_t(x) = \min_{\alpha} \Big\{ f(x,\alpha,m_t) + \sum_{x'} P(x'\mid x,\alpha,m_t)\, u_{t+1}(x') \Big\}, \qquad u_T(x) = g(x,m_T).\]逐块对照:$f$ 是运行成本(running cost,每走一步的即时代价),$g$ 是终端成本(terminal cost,到点 $T$ 时的收尾代价),$\min_\alpha$ 就是“在所有动作里挑最划算的一个”。这条方程从终点 $u_T=g$ 往回一步步算出每个 $u_t$,而“从终点往回算最优决策”,正是博弈论读者再熟悉不过的逆向归纳(backward induction)!只不过这里状态是连续/随机的、还带着一个分布参数 $m_t$。
于是三者的血缘关系一目了然:
- 连续时间的 HJB $\;\Longleftrightarrow\;$ 离散时间的 Bellman 方程 $\;\Longleftrightarrow\;$ 博弈论的逆向归纳。三者都是“当下一步的最优权衡 + 未来的最优值”的自洽条件,只是时间是连续还是离散、状态是确定还是随机的差别。
- RL,则是当上面这条 Bellman 方程没法直接解时的近似动态规划。 什么时候没法直接解?两种情形:(a) 模型未知,你不知道转移核 $P$ 和成本 $f$ 的解析形式,只能让智能体在环境里试、用采样到的 $(x_t,\alpha_t,x_{t+1},\text{cost})$ 去估计;(b) 状态空间爆炸,状态太多太大(高维连续状态、图像观测),那张值函数表根本存不下,只能用神经网络去逼近 $u$ 或 $Q$。RL(Q-learning、actor-critic、policy gradient)本质上就是在模型未知、状态爆炸时,用学习和采样去近似求解 Bellman 方程。一句话:RL 是“算不动的动态规划”的工程化近似。 HJB 求 $u$ 是动态规划的连续时间极致形式,RL 是它在不可解时的退而求其次。
把 MFG 均衡写成 RL 能求的不动点。 现在两块拼起来。单个玩家求最优反应是上面那条 backward 的 Bellman(给定分布流 $m$,学出最优策略 $\pi^\ast$),记作映射 $\pi^\ast=\mathrm{BR}(m)$,这里 BR 就是 best response,博弈论里的最优反应。反过来,如果所有玩家都用同一个策略 $\pi$,人群分布会从初始 $m_0$ 沿一条 forward 的递推往前演化(这正是离散版的 Fokker-Planck,描述“大家都这么走,分布怎么流动”),记作 $m=\Phi(\pi)$。一个 mean-field equilibrium(平均场均衡)就是同时满足两者的不动点:
\[\pi^\ast = \mathrm{BR}(m^\ast), \qquad m^\ast = \Phi(\pi^\ast).\]把这两步合成一个映射 $\Gamma=\Phi\circ\mathrm{BR}$,均衡就是 $m^\ast=\Gamma(m^\ast)$。这和你在前几章见过的 HJB-FPK 耦合、以及非原子博弈里的 Nash 不动点,是字面意义上同一个结构:BR 对应个体最优反应(HJB / 逆向归纳),$\Phi$ 对应群体演化(Fokker-Planck),不动点对应 Nash 一致性。MFG 的全部精髓,就压缩在这一个 $m^\ast=\Gamma(m^\ast)$ 里。
Mean-field RL / mean-field MARL 怎么求这个不动点。 既然均衡是不动点,最自然的算法就是不动点迭代:先猜一个分布 $m^{(0)}$,然后反复做两步,(1) 固定 $m^{(k)}$,用任意 RL 算法(Q-learning、DQN、PPO 等)学出最优反应 $\pi^{(k+1)}=\mathrm{BR}(m^{(k)})$;(2) 让所有玩家用 $\pi^{(k+1)}$ rollout(即模拟一遍)出新分布 $m^{(k+1)}=\Phi(\pi^{(k+1)})$;直到分布不再变化。这就是 mean-field RL 的骨架:外层一个不动点迭代,内层一个单智能体 RL。 当智能体不止一个、而是要让一大群同质智能体一起学时,这套框架就叫 mean-field MARL(mean-field multi-agent RL)。
但这里有一个博弈论读者立刻就能预见的陷阱:朴素的不动点迭代(直接跳到最新的最优反应)经常不收敛,会来回震荡。原因你太熟了,这正是 best-response dynamics 的经典病态:大家都看到左边的路空就全涌向左边,下一轮发现左边挤了又全涌向右边,永远在两极间横跳。补救办法也正是博弈论的老朋友 fictitious play(虚拟博弈):不要一步跳到最新最优反应,而是对历史分布取平均再走,
\[\bar{m}^{(k+1)} = (1-\lambda_k)\,\bar{m}^{(k)} + \lambda_k\,\Phi\big(\mathrm{BR}(\bar{m}^{(k)})\big),\]步长常取 $\lambda_k=1/(k+1)$(等价于对所有历史最优反应取算术平均)。平均把“突变”摊薄成“渐变”,在上一章讲过的 Lasry-Lions 单调性条件下可证明收敛,和有限博弈里 fictitious play 的收敛故事如出一辙。换句话说,你在标准博弈论里学过的求均衡的招式(best response、fictitious play、不动点存在性),在 MFG 里几乎可以原封不动地搬过来,只是把“对手的策略组合”换成了“人群的分布 $m_t$”。
为什么这件事对 RL 社区是大事:维度灾难的范式反转。 标准的多智能体 RL(MARL)有个致命痛点:$N$ 个智能体的联合动作空间大小是 $\mid \mathcal{A}\mid ^N$,随 $N$ 指数爆炸,$N$ 稍大就彻底算不动;而且每个智能体面对的是一个非平稳环境(别人也在学),收敛性极难保证。MFG 给出的解法是直接取 $N\to\infty$ 极限:当个体同质(homogeneous,动力学和成本都一样)、且单个个体对总体的影响趋于零(anonymity,匿名/可交换)时,一个智能体不再需要追踪其他 $N-1$ 个智能体各自的身份和状态,只需追踪一个分布 $m_t$。维度从 $O(\mid \mathcal{A}\mid ^N)$ 塌缩成“单智能体 MDP + 一个分布参数”,指数爆炸被彻底绕开。
更妙的是,这个近似的误差可以量化,而且方向和直觉相反。前几章的 $\varepsilon$-Nash 结果告诉我们:把 MFG 极限解出的策略拿回有限 $N$ 的真实博弈里用,每个个体的可改进空间是
\[\varepsilon_N = O\!\left(\frac{1}{\sqrt{N}}\right) \;\longrightarrow\; 0 \quad (N\to\infty),\]即它构成一个 $\varepsilon_N$-Nash 均衡,误差随 $N$ 增大而消失。注意这个“$N$ 越大越好”和标准 MARL 的“$N$ 越大越难”恰好相反,堪称范式反转:MFG 不是在小规模下凑合,而是在超大规模下才真正发力。这也呼应了本章开头那句话,MFG 就是超大规模人群的博弈论,人越多,平均场的近似越准。
需要诚实标注边界:这套理论吃下了同质 + 匿名 + 大 $N$ 三个假设。现实里的异质智能体、少数关键玩家(major player)、只和邻居耦合的网络结构,都会破坏它,需要 major-minor MFG、graphon MFG 等扩展(下文会提一句)。但只要你的问题近似满足这三条,MFG 就是把不可解的 MARL 变可解的最有力工具之一。
8.2 典型应用:一个统一的建模套路
理解所有 MFG 应用的钥匙只有一句话:看清 $m_t$ 是通过哪个渠道进入个体问题的。 具体到每个例子,只需问三件事:状态 $x^i_t$ 是什么、成本 $f,g$ 怎么写、人群分布 $m_t$ 从哪个口子耦合进来(是进成本 $f$,还是进动力学 $b$,还是先聚合成一个宏观量再反馈)。下面四类应用,点到为止。
(1) 人群疏散与交通(crowd motion & traffic)。 这是 Lasry 与 Lions 最早强调的应用,也最直观。体育场散场、地铁早高峰、火灾疏散:成千上万行人各想尽快到出口,又都讨厌拥挤。
- 状态 $x^i_t\in\mathbb{R}^2$:行人在平面上的位置;控制 $\alpha^i_t$:行进速度(方向 + 速率)。
- 分布 $m_t$:人群的空间密度,$m_t$ 高的地方就是“挤”。
- 耦合渠道:通过成本。运行成本里有一项拥挤厌恶 $\kappa\,F(m_t(x))$,$F$ 随局部密度递增。别人都涌向出口 A,A 处密度高、成本高,我就有动机改走出口 B,这正是行人之间的博弈。
交通版本完全同构:状态是车的位置/进度,分布 $m_t$ 是路网上的车流密度,越挤越慢、成本越高,于是司机们就一条路一条路地博弈。这里也最适合体会上一章讲的方向性:HJB 从终端(出口/目的地在哪)往回算“此刻该往哪走”,Fokker-Planck 从初始(大家现在站在哪)往前推“人群怎么流动”,在均衡处自洽。值得一提:若把耦合从“厌恶拥挤”反转成“喜欢扎堆”,单调性失效,就能建模羊群效应这类自组织现象(见下条金融)。
(2) 金融与系统性风险(systemic risk)。 金融市场天然是大量 agent 互相影响的场景。一个经典模型考虑 $N$ 家银行的(对数)货币储备 $x^i_t$,每家都倾向于把自己拉向群体平均水平 $\bar{x}_t=\int x\,m_t(dx)$(偏离平均会被市场或监管惩罚)。
- 状态 $x^i_t$:单家机构的储备;控制 $\alpha^i_t$:借贷/调仓速率。
- 耦合渠道:通过均值。分布 $m_t$ 经由它的均值 $\bar{x}_t$ 进入动力学,$dx^i_t=[a(\bar{x}_t-x^i_t)+\alpha^i_t]\,dt+\sigma\,dW^i_t$。
- 深刻之处:每家银行都追求“和大家一样安全”,反而让整个系统高度同步,一旦冲击来临就集体违约。个体理性导致系统性脆弱,这正是 mean-field 耦合放大风险的数学刻画。
同一框架还覆盖最优执行(大量交易者同时抛售,总抛压压低价格,彼此博弈)和羊群行为(把耦合设成吸引型,复现泡沫与崩盘的多重均衡)。
(3) 流行病传播(epidemic MFG)。 把经典的 SIR/SEIR 仓室模型和个体决策结合:每个人决定自己的社交强度/防护程度,既想正常生活,又怕被感染,而感染风险取决于群体中感染者的比例。
- 状态 $x^i_t$:个体健康状态,离散取值 ${S,I,R}$(易感/感染/康复)。
- 控制 $\alpha^i_t$:接触率、是否戴口罩、是否打疫苗。
- 耦合渠道:通过动力学的转移率(这是它和前两例的结构差异)。从 $S$ 到 $I$ 的转移率 $\propto \beta\,\alpha^i_t\, I_t$,其中 $I_t=m_t({I})$ 是感染者占比;别人感染的越多,我变阳的风险越高。
这个模型能定量讨论“个体自愿防护”与“社会最优防护”的差距,典型的 price of anarchy(无序代价):人人为自己算账,整体防护往往低于社会最优,为强制干预(封控、补贴疫苗)提供理论依据。注意此时状态离散,HJB 退化为一组耦合 ODE,Fokker-Planck 退化为 Kolmogorov 前向方程,但 HJB-FPK-不动点的框架丝毫不变。
(4) 经济学:宏观与增长模型。 MFG 与宏观经济学的异质个体(heterogeneous-agent)模型几乎是同一套数学的两种语言。事实上,经济学里的 Aiyagari / Bewley / Huggett 模型,其连续时间版本在数学上就是一个 MFG。
- 状态 $x^i_t$:个体财富 $a^i_t$;控制 $\alpha^i_t$:消费率(储蓄即未消费部分)。
- 个体动力学:预算约束 $da^i_t=(w_t+r_t a^i_t-c^i_t)\,dt+\sigma\,dW^i_t$,工资 $w_t$、利率 $r_t$ 是宏观价格。
- 耦合渠道:先聚合成宏观量、再经市场出清反馈(最有经济学特色的一种渠道)。分布 $m_t$(财富在人群中的分布,其形状就是贫富不均)不是直接进成本,而是先聚合成总资本 $K_t=\int a\,m_t(da)$,再通过生产函数的边际条件(market clearing)决定价格 $(w_t,r_t)$,反过来影响每个人。
写成 MFG 系统:HJB 是个体的消费-储蓄最优化,Fokker-Planck 描述财富分布的演化,再加一条 market clearing 的代数耦合。这套连续时间方法之所以在宏观经济学引起轰动,是因为它把原本要靠重型数值方法求解的稳态/转移路径,变成了一对能用有限差分高效求解的 PDE,这正是 MFG 的计算红利。增长模型、最优税收、贫富分化动态都能纳入。
一张速查表,把渠道看清楚。 把上面几类横向一比,MFG 的建模套路始终是同一个,区别只在 $m_t$ 从哪个口子进来:
| 应用 | 状态 $x^i_t$ | 控制 $\alpha^i_t$ | $m_t$ 的耦合渠道 |
|---|---|---|---|
| 人群疏散/交通 | 位置 | 行进速度 | 进成本(拥挤厌恶 $\kappa F(m)$) |
| 金融/系统性风险 | 储备/持仓 | 借贷/交易速率 | 进动力学(经均值 $\bar{x}_t$) |
| 流行病 | 健康状态 ${S,I,R}$ | 接触率/防护 | 进动力学转移率(经 $I_t$) |
| 宏观经济 | 财富 | 消费率 | 先聚合成 $K_t$,经市场出清反馈定价 |
渠道一旦确定,HJB-FPK 的耦合系统就随之写定,剩下的就是上一章讲的分析与计算。
几个值得一提的前沿延伸。 放松“同质 + 匿名 + 微弱影响”这三条假设,就通向几个活跃方向,这里各一句带过:Major-minor MFG,容纳一个对群体有非平凡影响的重量级玩家(央行、主调度中心),此时 $m_t$ 本身变成随机过程;Graphon games,把“全连接匿名交互”推广到带网络结构的交互(你只和邻居耦合,每个节点面对的是局部加权的 mean-field),是 MFG 接到图机器学习的自然接口;MFG + LLM agents,当我们用成千上万个大模型智能体模拟社会时,本质就是在研究大量自适应个体的均衡行为,MFG 有望充当其分析框架与可扩展训练目标,但 LLM 智能体未必满足 MFG 所需的理性/单调性假设,这里更多是有前景的研究入口而非成熟工具。
8.3 全篇收束
走到这里,整篇文章的逻辑闭环了:我们从难以驾驭的 $N$-player 随机微分博弈出发,靠“人多到只需看分布”这一步平均场近似,把它拆成个体对分布做最优反应的 backward HJB、群体分布自洽演化的 forward Fokker-Planck,并在不动点处达到均衡;接着处理了存在唯一与计算;最后这一章看到,当模型未知或状态爆炸时,RL 正是求解这个不动点的近似动态规划工具,而 HJB / Bellman / 逆向归纳本就是一脉相承的同一思想,只是穿了连续、离散、有限三件不同的外衣。 一句话作结:Mean-Field Game 就是超大规模人群的博弈论,它让“无穷多自私个体的 Nash 均衡”第一次变得既可以严格分析、又可以真正算出来,而这正是它同时吸引博弈论、随机控制与强化学习三个社群的根本原因。