演化的速度与加速度

Feb 4, 2023

我不懂演化博弈的数学,Replicator Dynamics 对我来说只是个名词。但我会计算机模拟,Agent-Based Model(ABM)是我的语言。

假如在一个 $n \times n$ 的网格上,按网格数量乘以种群密度生成一群 agents,每一步 agents 带着一个 action 在网格上移动,在 Von Neumann 邻域找另一个 agent 配对,玩一把经典博弈,然后更新 action,进入下一步。所有 agents 更新 action 的方式都一样。以上定义了模型的基本要素。

现在考虑一个关键变量:agents 更新 action 的依据是什么?

一、和邻居比较这一步的得分 $P_1$,下一步变成得分 $P_1$ 高的 action。

二、和邻居比较历史所有博弈的得分 $P_2$,下一步变成得分 $P_2$ 高的 action。

微观设定上,只是"看当前"和"看历史"的区别。但当我试图用数学去描述这两个模型时,发现它们对应着两种完全不同的物理动态:一阶系统与二阶系统,速度与加速度。

下面一步步完成推导。

从代码到方程:平均场近似

在计算机模拟中,有一个 $n \times n$ 的网格,Agent 在上面走动并寻找邻居。数学家做了一个"偷懒"但极其有效的假设——平均场近似(Mean-Field Approximation):假设网格无限大,且所有人像气体分子一样充分混合,随机相遇。

这意味着什么?假设当前全图有 $x$ 比例的人使用策略 $A$,有 $1-x$ 比例的人使用策略 $B$。在一个极小的时间步 $\Delta t$ 内,随机抓取一个 Agent,他是策略 $B$ 的概率是 $1-x$;他恰好撞见一个策略 $A$ 邻居的概率就是 $x$。所以,"$B$ 遇到 $A$“这个事件发生的联合概率就是 $x(1-x)$

当 $B$ 遇到 $A$ 后,会不会变成 $A$?在我们的规则中,比较的是得分。假设切换策略的概率与两者的收益差成正比:如果 $\pi_A > \pi_B$,那么 $B$ 变成 $A$ 的概率 $P(B \to A) = \alpha (\pi_A - \pi_B)$,其中 $\alpha$ 是一个常数比例系数。

这就是从微观到宏观的桥梁。接下来,两个模型分道扬镳。

模型一:看当前得分——Replicator Dynamics

推导

设在时间 $t$ 时刻,全网格采用策略 $A$ 的 Agent 比例为 $x(t)$,采用 $B$ 的比例为 $1-x(t)$。策略 $A$ 的期望单步收益为 $\pi_A(x)$,策略 $B$ 的为 $\pi_B(x)$。

经过一个极小的时间步 $\Delta t$ 后,策略 $A$ 的人口比例变化了多少?

策略 $A$ 增加的人口 = “原本是 $B$ 的人” × “遇到了 $A$” × “决定变成 $A$ 的概率”:

$$\Delta x = (1-x) \cdot x \cdot \alpha(\pi_A - \pi_B) \cdot \Delta t$$

两边同时除以 $\Delta t$:

$$\frac{\Delta x}{\Delta t} = \alpha x(1-x)(\pi_A - \pi_B)$$

当 $\Delta t \to 0$ 时,$\frac{\Delta x}{\Delta t}$ 变成导数 $\frac{dx}{dt}$。令 $\alpha = 1$(吸收进时间尺度),得到:

$$\frac{dx}{dt} = x(1-x)[\pi_A(x) - \pi_B(x)]$$

这就是演化博弈中最著名的标准复制子动态方程(Standard Replicator Equation)

特征

直觉翻译:速度 = 相遇概率 × 利益驱动力

这是一阶常微分方程。$\frac{dx}{dt}$ 相当于物理学中的"速度”——种群演化的速度,直接由当前的收益差决定。如果这一步 $A$ 赚得多,大家立刻转向 $A$。

系统具有马尔可夫性(无记忆性):下一步状态只依赖当前这一步的收益状态,与过去无关。

物理类比:在浓稠蜂蜜中运动。只要没有推力(收益差为 0),运动立刻停止,系统达到纳什均衡。

模型二:看历史总得分——Inertial Dynamics

推导

在模型二中,Agent 比较的不再是当前的单步得分 $\pi$,而是历史所有博弈的累计得分。

在离散的代码里,用的是累加。在连续的微积分里,“随时间累加"就是定积分:

$$U_A(t) = \int_0^t \pi_A(x(\tau)) d\tau, \quad U_B(t) = \int_0^t \pi_B(x(\tau)) d\tau$$

Agent 更新策略的逻辑没变,只是把比较对象换成了 $U_A$ 和 $U_B$:

$$\frac{dx}{dt} = x(1-x)[U_A(t) - U_B(t)]$$

看起来只是把 $\pi$ 换成了 $U$,但数学性质发生了根本变化。为了看清楚,做一个变形。

把 $x(1-x)$ 除到左边:

$$\frac{1}{x(1-x)} \frac{dx}{dt} = \int_0^t \pi_A(x(\tau)) d\tau - \int_0^t \pi_B(x(\tau)) d\tau$$

对等式两边同时对时间 $t$ 求导。

根据微积分基本定理(变上限积分的导数等于被积函数本身),右边的积分符号被"扒掉”,露出当步收益 $\pi_A - \pi_B$:

$$\frac{d}{dt} \left( \frac{1}{x(1-x)} \frac{dx}{dt} \right) = \pi_A(x) - \pi_B(x)$$

特征

左边是对一个包含速度 $\frac{dx}{dt}$ 的项再次求导——速度的导数,就是加速度

当前收益差 $\pi_A - \pi_B$ 决定的不再是速度,而是加速度。这是二阶积分微分方程,带有严重的路径依赖(Memory & Inertia),在文献中被称为惯性动态(Inertial Dynamics)

物理类比:牛顿第二定律 $F = ma$。当前的收益差就像"受力",受力改变的是加速度,不是速度。系统具有惯性

两种动态在模拟中的表现

如果将这两个模型写进代码并跑起来,会观察到截然不同的现象。

滞后与过冲(Overshoot)。 模型一中,如果博弈的纳什均衡点发生移动,Agent 会非常灵活地立刻转向新最优解,曲线平滑地趋近稳定比例。模型二则会出现"掉头困难"——即使当前 $A$ 已经不如 $B$ 赚钱了($\pi_A < \pi_B$),但因为 $A$ 在历史早期积累了巨大的财富总额($U_A > U_B$),Agent 依然在盲目地变成 $A$。直到 $B$ 的当期优势持续足够长的时间,把历史欠账追平,种群才会开始转向。曲线上表现为剧烈的震荡、延迟甚至超调

马太效应与锁定(Lock-in)。 在模型二中,如果前几轮由于纯随机的原因,某一部分 Agent 玩某个策略运气极好,积累了极高的历史得分,这个策略可能会永久"锁定"全图,即使它并不是当前的全局最优解。经济学中经典的例子是 QWERTY 键盘——早期的历史累积优势提供了巨大的惯性,使劣势技术一统天下。

写在最后

模型一是关于"顺应时势"的数学,模型二是关于"历史底蕴"的数学。这个对应关系让我觉得意外又自然。

In model 1, payoff differences directly determine the velocity of strategy evolution (replicator dynamics).

In model 2, payoff differences accumulate over time and determine the acceleration of strategy evolution, leading to an inertial (second-order) dynamic system.

意外的是,微观规则上只是一个微小的改动——比较当期收益还是比较累计收益——就在宏观数学上从一阶跳到了二阶,从无记忆跳到了有惯性。自然的是,一旦想通了这个跳跃的逻辑,一切又显得不可避免:累计收益是当期收益的积分,把积分放进方程,再对时间求导消去积分,自然就多出一阶导数。

这个结果也让我重新审视 ABM 和数学推导的关系。ABM 是微观视角的演化博弈——局部交互、概率模仿、有限理性;数学方程则是假设网格无限大、主体无限多、混合均匀时的宏观近似。两者是同一枚硬币的两面,而平均场近似就是翻面的手法。ABM 能捕捉空间效应和随机涨落,数学方程则能给出清晰的定性判断——比如"看历史得分会导致系统震荡"这个结论,从二阶方程的数学性质就能预判,不需要跑一万次模拟。

但反过来,数学方程的预测也有边界。平均场近似忽略了空间聚集效应——当 Agent 倾向于和同类聚集时,实际相遇概率会偏离 $x(1-x)$,宏观方程的预测就会失准。这时候 ABM 反而是更诚实的工具。

最后,模型二的"惯性"让我想到一个更宽泛的问题:很多社会现象——技术锁定、制度路径依赖、文化惯性——是否都可以用类似的二阶动态来理解?当个体决策基于历史累积信息而非当期信号时,系统自然会表现出迟滞和震荡。这或许不是巧合,而是某种更深层的热力学或统计物理规律在起作用。