TOPIC 24 · PHASE D

传播与传染SPREADING AND CONTAGION

观念不是病毒,别照搬病毒的打法(Ideas are not viruses — don't copy the virus playbook)

2026-08-10 · 网络

"一个病人平均传给几个人"——这个数字里,没有任何一项单独属于病毒。它是病毒、你的行为、和你所在那张关系网三者相乘的结果。所以同一种病在两个城市里,可以是两种病。

一句话在办公室传开、一个 App 忽然人人都在装、一场流感、一段视频——这些都被叫做"传播",而且都被套上了"病毒式"这个词。这个词是从流行病学借来的,借的时候把最要紧的一条前提留在了原地。

丢掉的那条前提是:病毒只需要碰你一次。而一个要你改变做法的东西——换个工具、改个习惯、站出来说句话——通常需要好几个不同的人先做给你看。这一个字的差别,会把整套打法翻过来:让病毒跑得飞快的那种结构(远距离的捷径、连得广的弱关系),恰恰是让行为跑不动的结构。

本 Phase 讲网络的六期各管一段:第 20 期是结构本身(度、路径、聚类),第 21 期是捷径与小世界,第 22 期是枢纽怎么长出来,第 23 期是这种结构抗什么、怕什么,第 25 期是负载重分配引发的级联失效。本期只问一件事:一个东西沿着这张网跑起来之后,什么决定它停不停得下来。

01一个人传给几个人(The Number That Runs Everything)

1927 年,两位苏格兰研究者 Kermack 和 McKendrick 做了一件很省事的事:不追踪任何一个具体的人,只把人群分成三堆 → 参考 · SIR 模型

第一堆是易感者(susceptible),还没得过、碰上就会中招;第二堆是感染者(infectious),正在往外传;第三堆是移出者(removed),康复了或者死了,反正不再参与传播。三堆的英文首字母连起来就是这个模型的名字:SIR。规则也只有两条:易感者碰到感染者,按某个概率变成感染者;感染者过一阵子变成移出者。

从这两条规则里能挤出一个数,叫基本再生数(basic reproduction number),写作 R₀:把一个感染者丢进一个所有人都还易感的人群里,他平均能传给几个。R₀ 大于 1 就会涨,小于 1 就会自己熄掉。这个分界线干净得几乎不像真的。

但真正值得停下来看一眼的是它的组成。R₀ 是三件事的乘积:你每单位时间接触多少人 × 接触一次传过去的概率 × 你能传多久。三项里只有中间那项主要由病原体决定,另外两项是行为和环境。所以"这个病的 R₀ 是 3"这句话,严格说是不完整的——必须补上"在哪儿、什么时候、什么人之间"。

三堆人,两条箭头,一个数 易感 S Susceptible 感染中 I Infectious 移出 R Removed β 碰上了,中招 γ 不再传了 R₀ = 接触率 每天见几个人 × 每次传过去的概率 只有这一项主要归病原体 × 传染期 能传多久 另外两项是行为和环境 — 所以同一种病原体在两个城市里可以有两个 R₀
SIR 的全部内容:三堆人、两条转移。R₀ 是三个因子的乘积,其中两个不属于病毒。

还有一个数比 R₀ 更常用,叫有效再生数(effective reproduction number),写作 R_eff:现在这一刻,一个感染者实际传给几个。它等于 R₀ 乘上"还剩多少人是易感的"。这句话不起眼,但它是本期后面所有内容的种子——传播会自己吃掉自己的燃料。感染过的人从易感堆里被拿走,同样的病毒、同样的行为,传得就慢了。

🎯 决策线

"降低传播"不是一件事,是三件可以分开定价的事。把 R₀ 拆成接触率、单次传染概率、传染期三项,分别问:把这一项砍掉三成要花多少钱?口罩和加密砍的是中间那项,限流和隔离砍的是第一项,早发现和快下线砍的是第三项。先把三张价目表摆出来再选,别直接喊"要控制传播"——那句话没有单位。

🌀 工程与技术史 · SQL Slammer 2003 年 1 月,一个只有 376 字节的蠕虫用随机挑 IP 地址的方式扫全网,感染数量每 8.5 秒翻一倍,不到 10 分钟就拿下了约 90% 的易感主机。它之所以能被事后精确复盘,恰恰因为"随机挑一个对象接触"这个教科书假设在它身上真的成立——它不认识谁,也没有社交圈。反过来推出一句不太顺耳的话:人类流行病难预测,主要不是因为病毒复杂,而是因为人不随机混合。

EN Kermack & McKendrick (1927) split a population into Susceptible, Infectious and Removed. R₀ — the average number of onward infections in a fully susceptible population — is the product of contact rate, per-contact transmission probability and infectious period; only the middle term belongs mostly to the pathogen. The effective reproduction number R_eff = R₀ · S/N falls as susceptibles are consumed: spreading eats its own fuel.

02它为什么会自己停下来(Why It Stops By Itself)

既然 R_eff = R₀ × 易感者比例,那么只要易感者比例掉到 1/R₀ 以下,R_eff 就小于 1,传播开始收缩。这个门槛有个名字叫群体免疫阈值(herd immunity threshold),等于 1 − 1/R₀。R₀ 是 3,阈值就是 67%。

Kermack 和 McKendrick 当年真正想解决的正是这件事:为什么疫情会在还剩一大堆没得过病的人的时候就退潮?当时流行的解释是"病毒毒力衰减了"。他们证明了不需要这个假设——燃料被烧掉一部分,火自己就小了。

但这里有个几乎所有人都会漏掉的转折。疫情不是在越过阈值的那一刻结束的。越过阈值只意味着新增开始下降;而此刻仍有大量正在传染期的人,他们不会因为跨过了一条统计上的线就停止呼吸。他们继续传,于是易感者继续减少,一路冲到阈值以下很远的地方才真的停。多出来的这一截叫超调(overshoot)。

数字比感觉更吓人:R₀ = 3 时,阈值算出来是 67%,而让它自然烧完,最终会有约 94% 的人被感染过。多出的 27 个百分点,全部是超调。这就是"让它自然获得群体免疫"这个说法在算术上的问题——它把阈值当成了终点,而阈值只是转折点。

火停下来的时候,柴还剩多少(R₀ = 3) 还没得过病的人占比 群体免疫阈值:剩 33% 易感(即 67% 已感染) 自然烧完:只剩 6% 易感(94% 已感染) 易感者 S/N R_eff 刚好等于 1 新增在这里见顶,不是结束 超调 多烧掉 27% 时间 →
阈值是新增见顶的那一刻,不是结束。红色带子里的 27 个百分点,是在"已经该停了"之后烧掉的。

超调还解释了一件更实用的事:什么时候松手是个真问题。如果干预正好在 R_eff 刚穿过 1 的时候撤掉,易感者比例还紧贴着阈值,撤掉的那一刻 R_eff 立刻弹回 1 以上,一切重来。所以任何"到点就停"的方案都要预留超调的余量——撤除条件不该写成一个日期,该写成"某个存量低于某个水平并维持多久"。

🌀 人口学 · Keyfitz 的人口惯性 1971 年 Nathan Keyfitz 问了一个当时很多人想当然的问题:如果生育率明天就降到刚好世代更替的水平,人口会不会停止增长?答案是不会——他算出高生育率国家的人口仍会一路涨到当时的约 1.6 倍才稳住,因为过去的高生育已经把一大批人送进了育龄阶段,这个存量还得走完。这跑的正是超调那条机制:驱动量穿过阈值,只让增量见顶,不让存量掉头。由此推出一条对所有"到点即停"式政策都成立的判据——如果你干预的是流量而关心的是存量,那么达标那一刻永远不是收手的时刻。

EN The herd immunity threshold is 1 − 1/R₀: at R₀ = 3, 67%. But crossing it only turns incidence over — people already infectious keep transmitting, so susceptibles fall well below the threshold. That excess is overshoot: an unmitigated R₀ = 3 epidemic infects about 94%, not 67%. Hence any exit rule should be written as a stock level sustained over time, never as a date.

03平均值不管用的地方(Where the Average Stops Working)

前面两节都偷偷做了一个假设,叫均匀混合(homogeneous mixing):每个人和每个人碰上的机会都一样,就像一锅搅匀的汤。这个假设让数学变得极其干净,也让结论跟现实差出一大截。

真人不是汤。有人一天见两百个人,有人一周见五个。第 22 期讲过这类接触网络的度分布常常是重尾的 → 参考 · 幂律的识别与误判。而一旦度分布不均匀,决定"传得开传不开"的那个量就换了:不再是平均接触数 ⟨k⟩,而是 ⟨k²⟩ / ⟨k⟩——分子是接触数的平方的平均。平方对尾巴极其敏感:一个见两百人的人,在平方里的分量是见十人者的四百倍。

2001 年 Pastor-Satorras 和 Vespignani 把这条算到底,得到一个当时相当震动的结论:如果度分布是幂指数不超过 3 的重尾,那么随着网络变大,⟨k²⟩ 会发散,流行阈值趋向于零——不存在一个"传染性低于这个值就烧不起来"的安全区间。任何强度的传染,都能在这样的网上扎下根。

同样的平均接触数,两张完全不同的网 均匀网络 每个人接触数都差不多 重尾网络 少数人接触极多,平均数看不出来 均匀网的阈值在这儿 重尾网的阈值贴到 0 传染性强度 λ → 左边这一整段,在重尾网上不存在"传不开"这回事
阈值不由平均接触数决定,由接触数平方的平均决定。所以尾巴上那几个人,几乎单独定义了整张网的命运。

还有一层比"有人连得多"更进一步的事实:二次感染数的分布本身是重尾的,行话叫超离散(overdispersion)。新冠的离散参数估计在 0.1 量级,意思是约 10% 的病例造成了约 80% 的传播。于是"平均每人传 3 个"描述的那个人,可能一个都不存在——绝大多数人传 0 个,极少数人一次传几十个。

这件事直接改变干预的形状。均匀混合的世界里,干预必须普遍施加才有效,因为每个人的贡献一样;超离散的世界里,传播集中在少数场景里(密闭、通风差、待得久、大声说话),于是针对场景的干预便宜得离谱——你在用极小的覆盖面,买走分布尾巴上的大部分质量。

🎯 决策线

凡是"人均"口径的传播指标,先问它的分布形状。如果二次传播数是重尾的,人均值几乎不含信息,该测的是尾巴:多少比例的事件贡献了多少比例的后果。对应的动作也换掉——不做全体的普遍性削减,去枚举高传播场景并单独处理。判据很直白:把历史事件按后果排序,前 10% 占了总量的多少;超过一半,就说明普遍性干预在给你买错东西。

🌀 历史与医学 · 伤寒玛丽 Mary Mallon 是纽约的厨师,本人从未发病,却被确认直接造成至少 51 例伤寒、3 人死亡,先后两次被强制隔离在北兄弟岛,前后约 26 年直到 1938 年去世。这个案子通常被当成公共卫生伦理的教材,但从本节的机制看,它还给出一条冷冰冰的判据:只有在传播极度超离散的时候,针对某一个人的干预才可能有整体效果;在均匀混合的世界里,隔离任何单个个体的收益必然微不足道,因而也无从证成。所以"该不该盯住某个人"这个问题,答案的一半藏在分布的形状里,而不只在伦理直觉里——同时代价也一起被算清楚了:26 年。

EN Sections 1–2 assumed homogeneous mixing. Once contact degrees are heavy-tailed, the epidemic threshold is set by ⟨k²⟩/⟨k⟩, not by the mean; Pastor-Satorras & Vespignani (2001) showed it vanishes for power-law exponents at or below 3. Transmission is also overdispersed — SARS-CoV-2's dispersion parameter is around 0.1, with roughly 10% of cases driving 80% of infections — which makes setting-targeted intervention far cheaper than uniform intervention.

04一次够不够(Simple and Complex Contagion)

现在说本期最有用的那条区分。病毒只需要接触一次:碰上了,按概率中招,跟你之前碰过几个病人无关。这叫简单传染(simple contagion)。

而很多社会性的东西不是这样。要不要辞职去创业、要不要换掉用了十年的工具、要不要在会上第一个说"这个方向不对"——这类事情的门槛是:我身边得有好几个不同的人已经这么做了。一个人说,是噪声;三个互不相干的人都这么做,才是信号。这叫复杂传染(complex contagion)。它最早由 Centola 和 Macy 在 2007 年正式提出,而更早的雏形是 Granovetter 1978 年的阈值模型:每个人心里有一个数——"周围有 n 个人做了,我才做"——而这些数在人群里参差不齐。

关键是这个区分会把网络结构的价值翻过来。第 21 期讲过,少数几条远距离捷径能让整张网的直径急剧缩短 → 参考 · 小世界模型,这对简单传染是天大的好事:一条捷径就足以把火种送到对岸。但复杂传染缺的不是距离,是落在同一个人身上的多份独立信号。一条捷径只送来一份,送到就断了;而互相认识的密集小圈子会把同一件事从三个方向重复送到你面前——那恰恰是阈值要的东西。

Centola 在 2010 年把这件事做成了实验:一千五百多名参与者被随机分进两种人工社交网络,一种是聚簇的格状网(邻居之间也互相是邻居,连接高度冗余),另一种是随机网(连得远、路径短)。要传播的行为是"去注册一个健康论坛"。结果和小世界的直觉正好相反:聚簇网里传得又快又远——最终采纳率 54% 对 38%,扩散速度约四倍。

同一张网,同一条捷径,两种结果 ① 简单传染:碰一次就够 唯一的捷径 一份信号就足以点燃对岸 已感染 全部沦陷 ② 复杂传染:要 2 个不同的邻居先做 同一条捷径 只送来 1 份信号,门槛是 2 — 停在这里 已采纳 一个也没动
捷径省的是距离,而复杂传染缺的是重复。让病毒跑得快的结构,恰好让行为跑不动。
🎯 决策线

投入任何"推广"之前,先做一个判断题:一次曝光够不够。够(看到就会转、装上就能用)→ 买广度:捷径、跨圈、覆盖人数。不够(要改做法、要担风险)→ 买密度:在一个小圈子里做到饱和,再换下一个圈,绝不摊薄。两种投法的资源方向相反,混着投等于两头都不到位。核对办法也很具体:去问已经采纳的人一句"你是从几个不同的人那儿听说的"——多数人答"一个",你要传的是简单传染;多数人答"两三个",你在做的是复杂传染,那么所有按覆盖人数计价的投放都在浪费。

🌀 经济与制度 · 冷启动为什么要一个城市一个城市打 叫车、支付、协作工具这类产品的采纳门槛,是"我认识的人里已经有几个在用"——典型的复杂传染。所以全国铺开的广告(广度、单次曝光)几乎推不动它,而逐城市、逐校园做到局部饱和能推动:饱和制造的正是同一个人被多个熟人重复触达的条件。由此推出一条对预算分配很硬的结论:在复杂传染里,把预算摊到十个城市的效果不是集中打一个城市的十分之一,而可能是零——因为每个城市都停在门槛之下,而门槛之下的投入不产生任何存量。

EN Viruses need one exposure (simple contagion); costly or risky behaviours need several independent adopters nearby (complex contagion — Centola & Macy 2007, foreshadowed by Granovetter's 1978 threshold model). This inverts the value of network structure: shortcuts shorten distance but deliver only one signal each. Centola's 2010 experiment found behaviour spread faster and farther on clustered lattices than on random networks — 54% versus 38% adoption, roughly four times the speed.

05这套说法在哪儿不成立(Where This Breaks Down)

传染模型是复杂性科学里被搬运得最勤的一套工具,也因此最容易搬坏。用之前得知道它在哪儿会散架。

第一,R₀ 不是一个可以查表的常数。麻疹的 R₀ 长期被引作 12–18,几乎成了常识。2017 年 Guerra 等人做了一次系统综述,从 18 项研究里收集到 58 个估计值,结论是:实际估计的跨度远大于这个常被引用的区间,而且高度依赖人口结构、年代和估计方法。这不奇怪——R₀ 里有两项本来就是行为和环境。引一个 R₀ 而不说它是在哪张网、什么行为下测出来的,等于引一个没有单位的数。

第二,分室模型的假设是硬的,不是装饰。它要求均匀混合(第三节已经拆过)、要求状态转移离散且不可逆(得过就终身免疫)、要求这段时间里人口构成基本不变。真实的病原体有潜伏期(得再加一个分室 E)、有再感染、有变异、有季节性。模型给的是骨架,不是身体。

第三,把"传染"这个词套到观念上,最缺的东西是"感染"的定义。什么时候算一个人"接受了某个观念"?听到的那一刻?同意的那一刻?改变行为的那一刻?没有一个可判定的时刻,R₀ 就无法测量,整套模型就退化成比喻。模因论(memetics)就卡在这一步——它把观念当成会自我复制的单位,可几十年过去,"复制"这个动作始终没有一个可观察的对应物;专门的《模因论学刊》(Journal of Memetics)在 2005 年停刊,缺的从来不是数据。

第四,复杂传染自己也有边界。Centola 那个漂亮的实验是在研究者搭建的在线网络上做的:网络是随机分配的,行为只有一种(注册一个健康论坛),参与者互不相识。它有力地证明了"社会强化确实存在",但没有证明"所有社会传播都是复杂传染"。近年的工作还指出,聚簇结构存在一个触达与强化之间的权衡:太聚簇,强化够了但触达慢;太随机,触达快但强化不足。最优结构在两者之间,而不是越聚簇越好——所以"多建密集小圈子"这个结论,本身也是有剂量的。

🎯 决策线

用任何传播模型之前,先在纸上写下三件事:①你的"感染"对应哪个可观测事件(下载?付费?连续用满两周?);②你的网络里,边是什么关系;③一次曝光够不够。三件里有一件填不出来,就别报 R₀,改报你真能测到的量——比如"新用户里,此前从几个不同来源听说过本产品"的分布。一个填得出来的粗指标,胜过一个填不出来的漂亮参数。

EN Four limits. R₀ is not a lookup constant: Guerra et al. (2017) gathered 58 measles estimates from 18 studies and found spread far wider than the familiar 12–18. Compartmental models hard-code homogeneous mixing, irreversible states and a stable population. Applied to ideas, the missing piece is an observable definition of infection — the rock memetics foundered on. And complex contagion itself trades reach against reinforcement, so clustering has a dose, not a direction.

🎒 场景 · BigCat

  1. 写作与这个学习站本身反复发生的情境:一期发出去,隔天看阅读量和转发数,把数字高的那期当成"写对了"。但这个站要传的东西——改变一个人看问题的方式——如果是复杂传染,那么它的采纳需要同一个人在不同场合反复撞见同一条机制,而阅读量统计的恰恰是简单传染那一侧的量:一次触达。可改的东西:把主看的数从"单期触达"换成回访深度——最近三个月里,有多少人读过三期以上;以及有没有人能说出"我在某个决定里用了哪一期的哪条判据"。停掉的动作:为了提高转发率去改标题——转发率优化的是捷径的数量,而你缺的是重复。
  2. 育儿反复发生的情境:希望孩子养成一个习惯(读书、运动、把事做完再玩),做法是自己多说几次、多讲几遍道理。这是在用简单传染的打法——增加同一个源的曝光次数。而按本期第四节,复杂传染要的是多个不同的、互相独立的源:同一句话由你说第十遍,在门槛计数里仍然只算一个人。可改的东西:不增加自己的重复次数,去增加"他亲眼看见在做这件事的人"的个数,并且这些人最好彼此不认识(否则是同一个源在复读)。可核对的判据:数一数,除了你之外,他身边有几个人是他真的看见在做这件事的?答案通常是零或一,而门槛往往是二或三。
  3. 投资与仓位反复发生的情境:看到某个东西在快速增长(用户数、门店数、渗透率),拿最近几个月的增速往前推。本期第一节的机制说明这类外推为什么系统性乐观:在易感池还没被明显消耗之前,R_eff 还没开始掉,增长曲线是纯指数的,而纯指数段不含任何关于最终规模的信息——它的形状对天花板完全不敏感。可改的东西:不看增速,先写下分母(这东西真正可触达的总人数/家庭数/企业数是多少),再算已经吃掉了几成;然后盯一个比增速更早的信号——新增/存量的比值有没有开始下降,那是 R_eff 掉头的第一个可见迹象。停掉的动作:用最近三个月的复合增速外推 24 个月。

🌀 越界 · 跨学科的联想(Crossings)

深入思考(Going Deeper)

如果一个东西同时有简单和复杂两种传播路径,会怎样?

大多数真实的东西都是混合的:知道一条消息是简单传染,采纳一个做法是复杂传染。有意思的是这两层的最优结构不同——上层(知晓)要捷径,下层(采纳)要密度。这提示一种分工式的投放:用广度制造"听说过"的存量,再用密度在局部把它转成采纳。值得追问的是:知晓层的饱和会不会反而抬高采纳的门槛(人人都听说过、但没人先做,观望本身成了一种信号)?

为什么"压平曲线"能减少总感染人数,而不只是把它摊开?

直觉上干预只是推迟,总量不变。但超调那条机制给了另一个答案:干预降低 R_eff,而最终感染比例是 R_eff 的函数——把 R_eff 从 3 压到 1.5,终末规模从约 94% 降到约 58%。也就是说压平曲线确实改变了总量,因为它改变了系统冲过阈值的惯性。前提是干预持续到易感者被消耗到位,否则撤掉就反弹。

超离散是好消息还是坏消息?

两面都有。坏消息:平均值不再能预测,小规模爆发的方差极大,早期数据几乎不能外推。好消息:既然大部分传播集中在少数场景,那么便宜的、局部的干预就能拿走大部分风险——这是均匀混合世界里不存在的机会。所以"这个系统是不是超离散的"应该是干预设计的第一个问题,而不是一个统计学细节。

观念传播里有没有"移出者"这一堆?

这是把 SIR 搬到观念上最难对付的地方。得过病的人不再易感,而听过一个说法却没接受的人,下次仍然可能接受——甚至更可能,因为门槛是累计的。这意味着观念的动力学可能根本不是 SIR 而更接近有记忆的 SIS(可反复感染),而带记忆的过程里"阈值"这个概念要重新定义。谁能给这一堆人一个可观测的定义,谁就推进了这件事。

延伸阅读(Further Reading)