自组织临界
上一页说复杂只出现在一条窄缝上——那自然要问:系统怎么找到这条缝?巴克、汤超和维森菲尔德 1987 年给出的答案是:有些系统根本不用谁去调,它们在自己的动力学驱动下会自动走到临界点并停在那里。沙堆是最干净的例子。
LAB 01
沙堆模型
一粒一粒加沙,看雪崩规模分布怎么慢慢变成一条直线(双对数坐标下)
问题
地震大小、股灾规模、断电范围、物种灭绝事件——这些"雪崩"的规模分布都是幂律,没有典型尺度。可临界态本来需要精确调参数才能达到,自然界为什么随处可见?
模型
Bak–Tang–Wiesenfeld 沙堆:格子上堆沙,超过阈值就倒给邻居,可能引发连锁。
zi ≥ zc ⟹ zi ← zi − zc, 这 zc 粒由四个邻居均分(zc = 4 即经典的各 +1); P(s) ~ s−τ, 二维 τ ≈ 1.27
s 是一次雪崩涉及的格子数。关键在于系统会自己走到临界点(自组织临界):加沙是慢驱动,雪崩是快耗散,两者的时间尺度分离让系统停在边缘上,不需要谁去调参数。已落下沙粒—
平均堆高—
最大一次雪崩—
幂律指数 τ—
不要盯着沙堆看,要盯着下面那张分布图。沙堆自己会稳定在一个平均高度上,这个高度不是谁设定的,是"加沙 → 崩塌 → 再加沙"这套动力学的不动点。而在这个状态下,雪崩规模的分布在双对数坐标上是一条直线——没有特征尺度,一粒沙可能什么都不发生,也可能引发扫过全场的连锁反应,两者服从同一条幂律。
LAB 02
森林火灾模型
树木生长率与雷击率一变,火场规模从「零星」跳到「烧穿全场」
问题
森林防火最反直觉的一条经验是:扑灭所有小火,最终会烧掉整片森林。这个模型给出了为什么——它把"生长速度"和"点火频率"的比值变成一个可以拨动的参数。
模型
Drossel–Schwabl 森林火灾模型,两个参数。
空格 →(概率 p) 长树; 树 →(概率 f) 被雷击点燃 → 整个连通林区烧光; 控制参数 p/f
p/f → ∞ 时系统自组织到临界,火场规模分布是幂律。"扑灭小火"等价于降低 f,于是 p/f 变大、森林更密更连通,一旦着火就是贯穿全场的大火——这正是 1988 年黄石大火之后美国林业政策转向的模型依据。森林密度—
已发生火灾—
最大过火面积—
p/f 比值—
p/f 才是真正的控制参数。雷击越稀(f 越小),森林在两次火之间长得越密,于是一旦着火烧得越大。密度不是自由参数——它被 p/f 锁定在渗流阈值附近。这也是现实中"长期灭火反而酿成巨灾"的机制:压低 f 会把系统推得更临界。
LAB 03
幂律与尺度
同一份雪崩数据,线性坐标下看不出名堂,双对数坐标下是一条直线
问题
同一份雪崩数据,在线性坐标下看起来只是"大部分很小、偶尔很大",毫无名堂;换成双对数坐标,它是一条直线。这一台要说的是:坐标的选择本身就是一种假设。
模型
幂律在双对数坐标下是直线,这是它区别于指数分布的判据。
P(s) ~ s−τ ⟹ log P = −τ log s + c; 对比指数分布 P(s) ~ e−s/s₀(半对数下才是直线)
"双对数下是直线"是必要条件,不是充分条件——对数正态在有限区间内也能画得很直。要下结论必须用极大似然估 τ、报告 xmin,并和别的重尾分布做似然比。拟合指数—
拟合 R²—
最大值 / 中位数—
均值有限吗—
换成线性坐标,幂律看起来就只是"大部分很小、偶尔有个大的"。这正是幂律最容易被漏掉的原因。另外注意"均值有限吗"这个读数:τ ≤ 2 时理论均值发散,你算出来的样本均值完全取决于样本里最大的那个值,再多样本也不收敛——这种数据上做"平均值 ± 标准差"的报告是没有意义的。
这一页想说的
自组织临界给了"为什么现实里到处是幂律"一个机制性的答案:地震规模、城市人口、灭绝事件、股价跳变、网络流量、论文引用,都是慢慢积累 + 阈值触发 + 连锁释放这套结构。对建模的提醒有两条:一是这类系统不能用平均值刻画,二是"预测下一次雪崩有多大"原则上做不到,能做的是给出规模分布。