主页 模型库 竞赛 学习中心 工具箱 论文库 前沿 建模空间 AI建模
学习中心 探索专题 图论与复杂网络 网络上的动力学

本页实验台

  1. 网络上的 SIR
  2. 传播阈值
  3. 同步
  4. 级联失效
LAB 01

网络上的 SIR

在三种网络上跑同一组参数,比较峰值时间与总感染规模

问题
同样的病毒、同样的传染率,放到不同结构的人群里,疫情曲线会差多少?这一台在随机图、小世界、无标度三种网络上跑同一组参数,把"结构本身也是流行病学参数"这件事摆出来。
模型
网络上的 SIR:每条边独立以速率 β 传染,个体以速率 γ 恢复。
基本再生数 R₀ = (β ⁄ (β+γ)) · ( ⟨k²⟩ − ⟨k⟩ ) ⁄ ⟨k⟩
注意分子里的 ⟨k²⟩:传播由度数的二阶矩决定,而不是平均度。这就是为什么少数超高度数的点能彻底改变结局。
峰值感染占比—
峰值出现在第几步—
总感染规模 R∞—
当前时间步—
把网络从 BA 换成 WS,其他参数一个都不动。峰值会从第 15 步推到第 25 步,峰高从约 41% 压到约 31%——因为无标度网络里那几个枢纽一旦被感染,等于同时把病递给了几十个人。这就是"超级传播者"在网络语言里的样子:不是某个人特别能传染,而是某个位置连接数特别多。但请同时看"总感染规模"这个读数:曲线被压平了,最终感染的人反而更多(BA 约 92%,WS 约 97%)。原因是无标度网络里有大量只连一两条边的末梢,它们本来就容易被漏掉;而 WS 里每个人的度都一样,谁也躲不开。压平曲线和减少总量是两个目标,它们不总是同向的。
LAB 02

传播阈值

无标度网络的阈值为什么趋近于零

问题
传统流行病学有一条"接种到多少人就安全了"的阈值。可在无标度网络上,这个阈值趋近于零——意味着再弱的病毒也能扎根。这是网络科学最有名也最令人不安的结论之一。
模型
SIS 模型的传播阈值由度分布的二阶矩给出。
λc = ⟨k⟩ ⁄ ⟨k²⟩,  幂律 P(k)~k−γ 且 γ ≤ 3 时 ⟨k²⟩ → ∞,故 λc → 0
λ = β/γ 是有效传播率。结论不是"病毒更厉害了",而是"网络结构让阈值消失了"。对策也随之改变:随机接种没用,要按度数定向接种。
⟨k²⟩/⟨k⟩(ER / WS / BA)—
理论阈值 Tc(ER / WS / BA)—
实测阈值(ER / WS / BA)—
T=0.6 时的 R∞(ER / WS / BA)—
阈值公式是 Tc = ⟨k⟩ / (⟨k²⟩ − ⟨k⟩)。横轴的 T 是"一条边最终把病传过去的概率",离散时间下 T = β / (1 − (1−β)(1−γ))。必须用 T 而不是 β/γ 做横轴,上面这个公式才严格成立——这正是 Newman 把网络上的 SIR 化成键渗流的那一步。公式的分母里有二阶矩。对无标度网络来说,幂指数 ≤ 3 时 ⟨k²⟩ 随 N 发散,于是阈值随网络变大而趋近于零:理论上再弱的传染病也会扩散开。把节点数从 150 拉到 600,盯着 BA 那一列的理论阈值——它从 0.104 掉到 0.076 还在继续往下,而 ER 和 WS 基本不动。这就是"无标度网络没有传播阈值"这句话的全部内容,它不是修辞,是二阶矩发散的直接后果。最后看实测值:三条曲线里 BA 确实最早抬头,但它与理论值的差距也最大。原因很实在——在 BA 网络里随便挑一个起始点,多半挑到只连一两条边的末梢,火从那里根本烧不起来。
LAB 03

同步

耦合强度一过临界值,一群振子突然同步

问题
萤火虫同时闪、心肌细胞同时收缩、电网里的发电机保持同频——一群各有各频率的振子,为什么会突然步调一致?而且这个"突然"同样是一个精确的临界点。
模型
Kuramoto 模型:每个振子被所有其他振子拉向它们的平均相位。
dθi/dt = ωi + (K/N) Σj sin(θj − θi),  r eiψ = (1/N) Σj eiθj
ωi 是各自的固有频率,K 是耦合强度,r ∈ [0,1] 是同步程度。固有频率服从标准差 σ 的高斯时,临界耦合 Kc = σ√(8/π)。
序参量 r—
平均场临界耦合 Kc—
锁相振子占比—
相位速度的标准差—
点"扫描 K",右下那张图就是同步相变。K 很小的时候每个振子按自己的频率走,序参量 r 在 0 附近随机涨落;越过临界耦合后 r 突然抬起来,一群本来频率各异的振子被拽到同一个节奏上。这不是有人指挥,只是每个振子都在微弱地"迁就"邻居。萤火虫齐闪、心肌细胞同搏、电网频率锁定、观众鼓掌自发变整齐,都是同一个方程。换成 BA 再扫一次:达到同样的 r 所需的 K 比 ER 更小,而 WS 需要的最大。平均场的 Kc = σ√(8/π) 只对全连接严格成立;在网络上临界耦合大致还要乘一个 ⟨k⟩²/⟨k²⟩,度越不均匀这个折扣越大——枢纽成了天然的节拍器。
LAB 04

级联失效

一个节点过载转移负荷,连锁反应扫过整张电网

问题
一条输电线跳闸,负荷转到别的线上,别的线也过载跳闸——一个小故障怎么变成大停电?2003 年北美大停电、2012 年印度大停电,走的都是这条路径。
模型
级联失效模型:每个节点有容量 C = (1+α)·L₀,失效后把负荷按某种规则转给邻居。
Ci = (1 + α) Li(0),  节点 i 失效 ⟺ Li > Ci
α 是容量裕度。关键现象是:崩溃规模对 α 的依赖是高度非线性的——裕度略低于某个临界值时,单点故障就能扫掉网络的大部分。
存活比例—
级联轮数—
触发点的度 / 负荷占比—
保住九成网络所需的 α—
这是 Motter–Lai 模型:负荷 = 介数,容量 = (1+α)×初始负荷。打掉一个点以后,原本经过它的最短路要改道,改道就把负荷压到别的点上,超过容量的点接着失效,再改道——雪崩就这么滚起来。把 α 从 0 慢慢推大,看右下那条曲线:它不是缓慢上升的,多数情况下会在很窄的一段 α 里陡然抬起(WS 被打掉度最大的点时,α 从 0.10 到 0.20,存活比例就从 51% 跳到 94%)。这意味着电网、路网这类系统的冗余度存在一个临界值:差一点点就是全网崩溃,多一点点就几乎无事——"我们的余量只差 5%"在这种系统里不是小事。BA 网络是个例外,也是最值得看的一个:随机打一个点,α 只要 0.05 就能保住九成;而打掉度最大的那个点,α 给到 1.2(容量放到初始负荷的 2.2 倍)存活比例也只回到八成。"稳健而脆弱"在这里的表现是:所需余量差了二十几倍。

这一页想说的

这一页的四个实验有同一个结论:网络结构会把动力学的结果放大成完全不同的量级。无标度网络传播阈值趋零、对随机故障稳健而对定向攻击脆弱、枢纽同时充当超级传播者和同步的节拍器,这些看起来分散的事实,背后都是同一件事——度分布的二阶矩很大。所以拿到一个真实网络,先算 ⟨k²⟩/⟨k⟩²;这个数远大于 1 的时候,任何基于"平均个体"的模型都会给出严重偏离的答案。

接着看

← 返回模块 ← 返回探索专题