---
title: "拉动波与推动波由谁带领扩张"
description: "推导 Fisher 速度，看协作增长怎样让前沿变成推动波，找出祖先所在的位置，并用格点和连续介质解检验速度。"
canonical_url: "https://sandboxphysics.com/zh/stories/evolution-statistical-physics/pulled-and-pushed-waves/"
language: "zh-CN"
page_type: "story"
alternate_languages:
  en: "https://sandboxphysics.com/stories/evolution-statistical-physics/pulled-and-pushed-waves/"
last_modified: "2026-10-30"
---

[演化统计物理](https://sandboxphysics.com/zh/stories/evolution-statistical-physics/)

L3 · 第 6 章

# 拉动波与推动波由谁带领扩张

Sandbox Physics · 2026-10-30

一个物种向空地扩散，推进的样子像一道波。如果尖端孤零零的先行者长得最快，尖端就拉着整道波走，未来的种群都是少数几个先行者的后代。如果个体要有同伴才长得好，尖端就会落后，后面的群体推着波走。这一区别决定了波走多快，也决定了它能保住多少遗传多样性。

## 开始前需要什么

第 4 章：扩张边缘的漂变为什么强。初等课程水平的偏导数和扩散方程。常系数线性微分方程的指数解。

- 从尖端的线性化方程推导 Fisher 速度，并写出协作增长下推动波的精确速度。
- 用波速与 Fisher 速度之比判断一道波是拉动波、半推动波还是完全推动波，并用格点和连续介质解检验速度。

## 由增长和扩散构成的波

记 $n(x,t)$ 为一条直线上的种群密度。个体以扩散常数 $D$ 扩散，以人均速率 $r(n)$ 增长。右边的增长律中，$N$ 是容纳量，$g_0$ 是低密度下的增长率，$B$ 是协作程度。$B=0$ 时增长是逻辑斯谛型的，种群稀疏时长得最快。$B$ 很大时个体在群体中长得更快，生态学上叫 Allee 效应。

Lab 运行的是 Birzu、Hallatschek 和 Korolev 所用模型的离散版本：一排小格（deme），每格最多容纳约 $N$ 个个体。每一代，每格四分之一的个体迁到左右两格，本地密度按上面的规则增长，再随机重抽出下一代。这里的随机重抽，就是第 1 到 3 章的漂变，只不过现在逐格起作用。

$$
\frac{\partial n}{\partial t}=D\frac{\partial^2 n}{\partial x^2}+r(n)\,n,\qquad r(n)=g_0\Bigl(1-\frac{n}{N}\Bigr)\Bigl(1+B\frac{n}{N}\Bigr)
$$

反应扩散方程与协作增长律。

来源：G. Birzu

## 尖端定下最低速度

前沿远处密度极小，$r(n)\approx g_0$，方程变成线性的。在随前沿运动的坐标 $\zeta=x-vt$ 中试探 $\rho\sim e^{-k\zeta}$，代入得 $Dk^2-vk+g_0=0$。只有 $v\ge2\sqrt{Dg_0}$ 时它才有实的衰减率。这个最小值就是 Fisher 速度 $v_{\mathrm F}$。

$B\le2$ 时，前沿恰好以 $v_{\mathrm F}$ 前进：它被尖端拉着走，后方无关紧要。$B>2$ 时，中等密度下的增长强到足以把前沿推得比尖端单独能做到的更快。这一增长律下的精确速度由第二个公式给出。

$$
v_{\mathrm F}=2\sqrt{Dg_0}\quad(B\le2),\qquad v=\sqrt{\frac{g_0DB}{2}}\Bigl(1+\frac{2}{B}\Bigr)\quad(B>2)
$$

协作增长律下的前沿速度：$B\le2$ 时为拉动波，$B$ 更大时为推动波。

来源：G. Birzu · W. van Saarloos

## 是三类，不是两类

Birzu 等人发现推动波还分两种。他们关于漂变和前沿游走的微扰公式里，有对整个前沿的积分，只有尖端密度下降得足够快，积分才收敛。用尖端的衰减率 $k$ 来算，收敛条件是 $v/v_{\mathrm F}$ 超过 $3/(2\sqrt2)$。这一点把完全推动波和半推动波分开：前者的涨落按 $1/N$ 减小，后者减小得更慢。对这一增长律，分界在 $B=4$。

下图检验了速度。无噪声的格点模型在每个 $B$ 上都与连续介质曲线相差不到 $0.6$%；连续介质方程的有限差分解外推到零网格间距后，与推动波精确速度的相对误差在 $2\times10^{-5}$ 以内。

$$
\rho\sim e^{-k\zeta},\qquad k=\frac{v}{2D}\Bigl(1+\sqrt{1-v_{\mathrm F}^2/v^2}\Bigr),\qquad \text{fully pushed}\iff \frac{v}{v_{\mathrm F}}\ge\frac{3}{2\sqrt2}
$$

前沿尖端的衰减，以及完全推动波的条件。

前沿速度与 Fisher 速度之比随协作程度的变化。曲线是连续介质公式，圆点是 Lab 模型中无噪声的格点前沿，各自除以格点的 $v^*$。$B=2$ 以下是拉动波，到 $B=4$ 为止是半推动波，此时比值达到 $3/(2\sqrt2)$，再往上是完全推动波。

来源：G. Birzu

## 完整例题：刚刚超过 Fisher 速度的波

题目。Lab 取 $D=0.125$（格的平方每代）、$g_0=0.01$（每代）。求 $B=3$ 时的速度和波的类型，并与模拟比较。

速度。$v_{\mathrm F}=2\sqrt{0.125\times0.01}=0.0707$。$B=3$ 时 $v=\sqrt{0.01\times0.125\times1.5}\times(1+2/3)=0.0722$。比值 $1.021$，大于 $1$、小于 $1.061$，所以是半推动波。

尖端。$v_{\mathrm F}^2/v^2=0.96$，所以 $k=0.289\times1.2=0.346$（每格）。漂变公式中的被积函数向尖端按 $e^{(2v/D-3k)\zeta}$ 增长，而 $2v/D-3k=1.155-1.039>0$，积分发散。$B=4$ 时这个指数恰好为零。

与模拟比较。无噪声格点前沿每代推进 $0.07242$ 格，比连续介质值快 $0.34$%，因为格点模型并不完全等同于连续方程。连续介质求解器给出 $0.0721684$，精确值 $0.0721688$。

结论。$v=0.0722$，比 Fisher 速度高百分之二，属于半推动波。

来源：G. Birzu

## 祖先在哪里

拉动波里，最前端的个体长得最快，又最先进入空地，所以未来的个体几乎都是它们的后代。推动波里，尖端长得慢，祖先分散在前沿的主体中。平均场理论给每个位置的权重是 $\rho^2e^{v\zeta/D}$。

Lab 的检验办法是：从选定位置到尖端的所有个体都打上标记，数标记最终占满的次数。$N=1000$，每种情形 $80$ 轮固定种子。$B=10$ 的完全推动波里，从前沿位置起的标记胜出 $69\pm5$%，预期 $71$%。其余三种情形，标记胜出的次数都比权重预测的少：再往前两格起的标记 $29\pm5$%，预期 $40$%；$B=3$ 的半推动波里从前方四格起的标记 $49\pm6$%，预期 $69$%；拉动波里从前方六格起的标记 $91\pm3$%，预期 $99.8$%。这个权重忽略了尖端的涨落，而在这几种情形下，涨落恰恰最要紧。

来源：G. Birzu

## 个体太少，拉动前沿变慢

拉动前沿依赖尖端少数几个个体，所以对个体的离散性非常敏感。van Saarloos 的综述中有两个结果适用。确定性的拉动前沿以第一个公式的方式缓慢逼近渐近速度 $v^*$。每格 $N$ 个个体的有噪声前沿会更慢，慢下来的量只按 $\ln N$ 平方的倒数减小，这就是 Brunet–Derrida 修正。

Lab 格点的 $v^*=0.07095$。无噪声前沿只拟合后半段得 $0.07061$，把缓慢逼近项加回去得 $0.07097$。有噪声时，$N=1000$ 得 $0.0614\pm0.0012$，Brunet–Derrida 给出 $0.0636$；$N=10^4$ 得 $0.0655\pm0.0005$，公式给出 $0.0668$。这个公式只是按 $1/\ln N$ 展开的首项，模拟比它低几个百分点。$B=10$、$N=1000$ 的完全推动前沿速度是 $0.09532\pm0.00019$，只比无噪声速度低约千分之一。

$$
v(t)\approx v^*-\frac{3}{2\lambda^*t},\qquad v_N\approx v^*-\frac{\pi^2\lambda^*D^*}{\ln^2N}
$$

确定性拉动前沿的缓慢逼近，以及每格 $N$ 个个体时有噪声拉动前沿的速度。

来源：W. van Saarloos · G. Birzu

## 到实验里试一试

### [找出谁在带领前沿](https://sandboxphysics.com/zh/labs/pulled-pushed-fronts/)

1. 选“拉动波：尖端胜出”。先预测从前沿位置后方开始的标记区域能否占满，再把标记区域往后移，看几轮。
2. 把协作程度从零逐步调到十。预测速度比在哪里开始超过一、在哪里变成完全推动波，再读波的类型。
3. 选“个体太少，前沿变慢”，把容纳量调低。预测拉动前沿和完全推动前沿哪个慢得更多，再比较两者测得的速度。

## 练习与解答

1. 证明 $Dk^2-vk+g_0=0$ 只在 $v\ge2\sqrt{Dg_0}$ 时有实根，并求这一速度下的 $k$。

   展开解答

   判别式 $v^2-4Dg_0$ 必须非负，所以 $v\ge2\sqrt{Dg_0}$。取最小值时有重根 $k=v/(2D)=\sqrt{g_0/D}$，按 Lab 参数为每格 $0.283$。

2. 对 $B=4$ 和 $B=10$ 计算速度比 $v/v_{\mathrm F}=\sqrt{B/8}\,(1+2/B)$，并判断波的类型。

   展开解答

   $B=4$ 时 $\sqrt{0.5}\times1.5=1.061=3/(2\sqrt2)$，恰在分界上，属于完全推动波。$B=10$ 时 $\sqrt{1.25}\times1.2=1.342$，完全推动波。

3. $N$ 从 $10^3$ 增到 $10^6$ 时，Brunet–Derrida 修正 $\pi^2\lambda^*D^*/\ln^2N$ 缩小多少？和正比于 $1/N$ 的修正比较。

   展开解答

   $\ln^2N$ 从 $47.7$ 增到 $190.9$，修正缩小为四分之一。若修正正比于 $1/N$，会缩小为千分之一。正是这种缓慢的衰减，让拉动前沿在极大的种群中也依然对噪声敏感。

[上一章：大扇区就意味着选择吗？菌落里的张角与运气](https://sandboxphysics.com/zh/stories/evolution-statistical-physics/does-a-big-sector-mean-selection/) [下一章：读《既非拉动也非推动》并复核其中的漂变结论](https://sandboxphysics.com/zh/stories/evolution-statistical-physics/reading-neither-pulled-nor-pushed/)

## 来源与复算范围

1. [G. Birzu, O. Hallatschek and K. S. Korolev, Neither pulled nor pushed: genetic drift and front wandering uncover a new class of reaction-diffusion waves, arXiv:1709.01601v2 (2018)](https://arxiv.org/abs/1709.01601v2)

   第 2 版，全文。式 (2)：Fisher 速度。式 (3)：协作增长律。式 (5)：多样性丢失速率的微扰结果。式 (6)—(7)：前沿尾部的衰减，以及区分半推动波与完全推动波的速度比 $3/(2\sqrt2)$。图 5：三类波的多样性丢失。方法部分式 (11)：模拟模型。补充材料式 (S28)：祖先权重；式 (S122)：丢失速率的闭式；“模拟时长与数据采集”一节，式 (S149)—(S150)。

2. [W. van Saarloos, Front propagation into unstable states, arXiv:cond-mat/0308540v2 (2003), Physics Reports](https://arxiv.org/abs/cond-mat/0308540v2)

   第 2 版，全文。第 2.2 节，式 (24)—(27)：由色散关系求线性扩展速度 $v^*$ 与陡度 $\lambda^*$。第 2.9.1 节，式 (78)：拉动前沿普适的缓慢逼近 $v(t)=v^*-3/(2\lambda^*t)$。第 7.1 节，式 (241)—(246)：粒子模型中拉动速度的截断修正，正比于 $1/\ln^2N$；式 (248)：前沿扩散常数按 $1/\ln^3N$ 减小。
