TOPIC 17 · PHASE C

渗流与连通阈值PERCOLATION AND THE CONNECTIVITY THRESHOLD

一个参数越线,整体突然贯通(One parameter crosses a line, and the whole thing connects)

2026-08-04 · 自组织与临界

谣言破圈、疫情起飞、电网跳闸、一个小众爱好突然人人都在谈——事后我们都在找"是哪件事点着了它"。可在一整类系统里,火苗一直都在,变的只是路通没通;而"通没通"这件事,会在一段极窄的区间里,从几乎不发生变成到处都是。

拿一张方格纸,随机涂格子。涂到 45% 的时候,纸上是一堆互不相干的小斑,最大的一块小得可怜。继续涂到 70%,最大的那一块几乎把所有涂过的格子都吞了进去,从上边一路通到下边。

你可能以为中间是个渐变过程:涂得越多,最大的块就越大一点。不是。在很长一段里,最大的块几乎不长;然后在某个很窄的区间里,它一口气吞掉了整张纸。这中间没有一个"半通"的阶段。

更要命的是:当你手里只有"最大的块有多大"这一个量表时,你在越线之前什么都看不到。不是你观察得不够仔细,是这个量在越线之前本来就不动。这就是为什么这类事总是"毫无征兆"。

本站讲"临界"的有五期,视角各不相同:第 10 期是分岔跃迁(系统跳到另一个稳态),第 16 期是相变与普适类(临界点上细节为何不重要),第 18 期是自组织临界性(系统自己爬到临界点),第 36 期是临界慢化(怎么监测)。本期的视角是拓扑的:不问系统有多热、多满、多陡,只问一件事——它连没连上。

01连通是整张图的事,不是每个格子的事(Connectivity Is a Property of the Whole)

1957 年,两位英国人 Simon Broadbent 和 John Hammersley 在算一个很实际的问题:防毒面具的滤芯是一块多孔的碳,气体要穿过它,得沿着内部相通的孔道走。孔是随机分布的。问:孔要多密,气体才能从这头走到那头?

他们把这件事剥干净:一张格子,每个位置以概率 p 打开,其余关闭。相邻的开位置算连通。然后问,什么时候会出现一条从顶到底的通路。这门数学从此有了名字——渗流(percolation)。→ 参考 · 渗流模型

算出来的数字很干净。在最常见的方格上,随机打开格子(这叫座渗流,site percolation),阈值大约是 0.5927;如果格子全在、随机打开格子之间的连线(这叫键渗流,bond percolation),阈值恰好是 1/2——这个"恰好"是 1980 年 Harry Kesten 严格证明出来的。换到三维的立方格子上,只要打开约 0.3116 就够了:空间越宽敞,绕路的办法越多,所需的密度就越低。

占据率从 45% 升到 70%,最大连通簇涨了九倍 ① p = 0.45 阈值以下 最大簇 26 格 占已占据格的 17% ② p = 0.59 阈值附近 最大簇 125 格 占 61% — 仍未贯通 ③ p = 0.70 阈值以上 最大簇 231 格 占 99% — 上下贯通 三帧用的是同一张随机底图,只把占据概率 p 调高。彩色 = 当前最大的那一个连通簇
同一张随机底图,只把占据概率 p 调高。真正在变的不是"涂了多少",是"连成了多大一块"。

请注意这两个量的性质完全不同。p 是逐个格子的、局部的、可以连续微调的;而"通不通"是整张图的、集体的、只有两个答案。你手上握着的旋钮是连续的,它控制的那个结果是二值的。本期后面所有的怪事,都是从这一句话里长出来的。

🌀 工程与技术史 · 会导电的塑料 往绝缘塑料里掺碳黑或碳纳米管,掺到某个体积比例,材料的电阻率会在很窄的一段里掉好几个数量级——因为填料颗粒终于连成了贯穿整块材料的通路。这条推论对配方研发是硬的:性能与配比之间不是连续曲线,均匀撒点做实验必然把阈值跳过去,实验点得密集地布在拐点附近。而且颗粒越细长,越容易互相搭上,所需的填充量就越低——碳纳米管体系里这个阈值能压到万分之一以下的质量分数。改的是形状,不是用量。

EN Percolation was born in 1957 from a gas-mask problem: how porous must a carbon filter be before gas can cross it? On a square lattice the site threshold is ≈0.5927 and the bond threshold is exactly 1/2 (Kesten, 1980); in three dimensions ≈0.3116 suffices. The knob you turn is continuous; the outcome it controls — connected or not — is binary.

02越线之前的平静是结构性的(The Quiet Before Is Structural)

把整件事画成一条曲线看得最清楚。横轴是占据概率 p,纵轴是"最大的那一块占整张格子的比例"——这个量在物理里叫序参量(order parameter),意思是它专门用来指示系统处在哪一相。

占据率多 6 个百分点,最大簇从 5% 变成 52% 占据概率 p → 最大簇占整张格子的比例 p₊ ≈ 0.593 0% 50% 100% 0.30 0.45 0.60 0.75 0.90 5% 52% 占据概率 p → 除最大簇外,其余簇的平均大小 先炸开,再塌回去 0.30 0.45 0.60 0.75 0.90 160×160 方格上的座渗流,一次模拟
左:最大簇的占比。右:除最大簇以外,其余所有簇的平均大小——它在阈值处先炸开、再塌回去。

左图的形状值得盯一会儿。p 从 0.30 一路涨到 0.55,曲线基本贴着地面:涂了一半以上的格子,最大的一块还不到全场的 2%。然后从 0.56 到 0.62——多涂 6 个百分点——它从 5% 蹿到 52%。

右图解释了这是怎么办到的。阈值附近,那些中等大小的块都变得很大,大到彼此几乎贴着;再多一点点占据,它们就开始成批地互相搭上,并进同一块。所以贯通不是某一块慢慢长成的,是一大批中等块在同一时间被缝合起来。缝合完之后,剩下的都是小碎块,那条曲线于是又塌回去。

这里有一个说法要小心。左图那条曲线看着像是"到了 0.59 才开始动",但真正的机制是:簇的典型尺寸在逼近阈值时一路涨,到阈值处发散(这个尺度叫关联长度,correlation length)。所以积累是一直在发生的,只是它积累在一个你没有在看的量上——你盯着"最大的块有多大",而正在变化的是"块与块之间还差多远"。

🎯 决策线

别用规模指标去预警连通性事件。"最大的那一块多大"在越线前几乎不动,它是结果不是前兆。改测两个东西:一是次大的那些块有多大(它们在阈值前会一起变大),二是块与块之间还差几条边。放到具体场景里,就是别只看头部社群/头部客户的规模,看第二梯队之间的重合度在不在涨。

🌀 文学与艺术 · "破圈"的错觉 一件作品突然人人都在谈,行业里的复盘几乎总是回去分析它本身:切中了什么情绪、赶上了什么时点。渗流给出一个不同的解释:在破圈之前,同类作品早就在若干个互不相通的圈子里各自有人喜欢;变的往往不是作品,是圈与圈之间那几条重合的边终于够多了。由此推出一个反常识的结论——破圈的规模不由内容质量解释,而由跨圈边的密度解释。所以复盘"它为什么火"时去逐句拆内容,多半在拆一个不携带信息的东西:同样的东西,早半年发就是不会火。

EN Plot the largest cluster against p and it hugs the floor until roughly 0.55, then leaps from 5% to 52% within six percentage points. The mechanism is visible in the second panel: near threshold the mid-sized clusters all grow large and get stitched together en masse. What accumulates before the jump is not the size of the biggest cluster but the distance between clusters — a quantity nobody is watching.

03阈值住在结构里,不住在数量里(The Threshold Lives in the Structure)

方格子是个玩具。现实里的连通发生在网络上:人和人、机器和机器、路口和路口。换到网络上,问题就变成——平均每个点要连几条边,整张网才会连成一片?

答案漂亮得让人不适:如果边是随机撒的,平均每个点连 1 条边就够了。这是 Erdős 和 Rényi 1960 年的结果。低于 1,网络是一地碎片;越过 1,会突然出现一个吞掉相当大比例节点的巨型团块,学名叫巨大连通分支(giant component),下文就叫它巨簇

同样 44 个点,只是连线数量在变 〈k〉 = 0.6 13 条边 · 最大团 3 个点 一地碎片 〈k〉 = 1.0 22 条边 · 最大团 10 个点 阈值就在这里 〈k〉 = 2.0 44 条边 · 最大团 33 个点 四分之三的点连成一片 彩色 = 最大的那一团;灰色 = 其余所有点和线
44 个点。13 条边时是一地碎片,22 条边(平均度 1)时最大的一团刚开始有形状,44 条边时四分之三的点连成了一片。

"平均 1 条边"这个数字之所以低得反直觉,是因为连通不需要每个人都认识很多人,只需要没有人被完全落下,而随机撒边的时候,落下一个点比想象中难。

但这个 1 只对"边随机撒"成立。更一般的判据要看度的分布:把每个点的连线数记作它的度,则出现巨簇的条件是 ⟨k²⟩ / ⟨k⟩ > 2(Molloy–Reed 判据,这里 ⟨·⟩ 表示对所有点求平均)。这个式子里有 k 的平方,意味着少数几个连得特别多的点,会把阈值整个拽下来——因为平方项对大值极其敏感。

2000 年,Reuven Cohen 等人把这个算到了极端:在度分布极不均匀的无标度网络(scale-free network,少数节点连接数远超其余)里,只要网络足够大,渗流阈值会趋近于零。这类网络几乎不可能靠随机拆点拆散。——它同时也解释了为什么这类网络对定点打击极脆弱(第 23 期的正题)。

把这一节压成一句可用的话:连通度是边的属性,不是点的属性。想让东西贯通,加边(尤其是跨团块的边)比加点有效得多;想阻断,删边、删枢纽,而不是均匀地少量减少参与者。

🎯 决策线

当目标是"让它贯通"或"别让它贯通"时,先分清你手里的杠杆是加点还是加边——两者的效果差着数量级。想推开一个东西:预算别花在拉更多新参与者上,花在制造跨圈的那几条连接上(同时属于两个圈子的人、能被两边都引用的东西)。想挡住一个东西:找出把不同团块缝在一起的那几条边,删它们,而不是普遍性地降低每个人的参与度。

🌀 生物与医学 · 为什么不需要人人接种 在网络的语言里,接种疫苗等于把一个点从易感网络里随机删掉。目标不是"零感染",而是把剩下那张易感网络的连通度压到渗流阈值以下——一旦低于阈值,病原体的传播就被困在一个个小簇里,出不来。这解释了群体免疫为什么不需要 100% 的接种率。但同一条机制立刻给出一个不那么让人安心的推论:接种率是全国平均值,而渗流看的是局部连通。一个接种率很低的社区,就是一块自成一体的、仍在阈值以上的子网络——全国数字达标和那个社区安全,是两件事。

EN On a random network, one link per node on average is enough for a giant component to appear (Erdős–Rényi, 1960). The general criterion is ⟨k²⟩/⟨k⟩ > 2: because the numerator squares the degree, a few very-well-connected nodes drag the threshold down hard — in scale-free networks it approaches zero as the network grows (Cohen et al., 2000). Connectivity is a property of edges, not of nodes.

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

渗流是本站最好用也最容易被滥用的模型之一:它太容易套了,什么东西都能说成"到了阈值"。用之前得知道它的前提在哪儿会塌。

第一,真实的网络不是随机摆的。上面那个"平均度 1 就贯通",前提是边随机撒。现实里人际、组织、代码的连接高度扎堆:朋友的朋友还是朋友。同样多的边,如果全花在小圈子内部,整张网可以远远过了"平均度 1"却依然分块。

两边都是 44 个点、44 条边,只有摆法不同 边随机撒 最大簇:44 中的 32 同样的边,全关在四个圈子里 最大簇:44 中的 10 两边平均度都是 2,教科书阈值是 1。右边永远不会贯通
两边都是 44 个点、44 条边,平均度都是 2,是教科书阈值的两倍。左边连成了一片,右边永远不会。

第二,很多东西不是一条边就能传的。渗流默认接触一次就够——病毒差不多是这样。但"改变一个行为"通常不是:换供应商、参加一场抗议、接受一个新工具,人往往需要从几个不同的人那里独立地看到它才会动。这叫复杂传染(complex contagion,Centola 与 Macy 2007 年提出)。它的后果不只是"阈值更高":普通渗流里最值钱的是跨圈的长边,而在复杂传染里长边常常无效——一个圈外人的推荐不足以启动你——反而是稠密的本地小圈子更能推动。套错模型的代价是,你会把预算花在恰好没用的那种连接上。

第三,方向被抹掉了。渗流里的边是双向的。但影响、资金、信息很多是单向的:他看得见你,不代表你看得见他。有向图里"能到达"要分成"我能到多少人"和"多少人能到我"两个不同的巨簇,阈值也不是同一个。凡是把关注、引用、供应关系当成无向边来算连通的,都在系统性地高估贯通程度。

第四,也是最要紧的:你测不到 p。0.5927 是无限大格子上的数;有限的系统里,那道陡坎会被抹得平缓一些,越小的系统抹得越厉害。更根本的是,现实里没有一个仪表盘显示"当前连通概率 0.57"——占据概率是模型里的参数,不是世界里的读数。所以渗流给你的从来不是报警线,而是一份该看什么的清单:次大簇的尺寸、跨簇边的条数、社群之间的重合度。谁告诉你"我们现在到 0.6 了",那个数多半是编的。

🎯 决策线

用渗流之前,逐条答完这四问:边是不是接近随机撒的(有没有强扎堆)?一次接触够不够(还是要多次独立确认)?边有没有方向?我能测到的到底是哪个量?四问全过才可以用数字,只过前两问就只能定性用——也就是只用它的方向(该加边不是加点、该看次大簇不是最大簇),不用它的刻度。

EN Four limits. Real networks are clustered, so average degree can sit far above one while the graph stays fragmented. Many things spread by complex contagion, needing several independent exposures — which inverts the value of long-range ties. Edges are often directed, splitting the giant component in two. And p is a model parameter, not a dial you can read: percolation supplies a watchlist, never an alarm threshold.

🎒 场景 · BigCat

  1. 工程与系统设计又一个"就加一个调用"的变更过来了,评审只看这一条调用本身合不合理——单看永远合理。可这正是加边,而加边是唯一能改变连通度的动作。具体动作:每季度画一次服务依赖图,记一个数——最大的那个互相可达的服务团块占服务总数的比例。这个数越过一半之后,"某个服务挂了会波及谁"就不再有局部答案了。同时停掉一个动作:把"没有引入新服务"当成低风险的理由——风险是边给的,不是点给的。
  2. 育儿某一科长期"就是不开窍",于是加练习量、盯错题数。但错题数是在数点,而"懂了"是知识点之间连没连上——它像渗流一样,在连通之前几乎不动,然后一段时间内成片地通。可改的是问法:把每周固定的一段时间从"多做题"换成"让他讲清两个知识点之间是什么关系",那是在加边。可改的是指标:别用错题数当唯一进度表,它在越线前不会给你任何好消息,而你很可能就在那段时间里判定"这孩子不行"。
  3. 修行与心性每天坐二十分钟,坚持了几个月,自觉毫无变化,于是停掉。亚临界期观察量不动是结构性的,不代表没在积累——但这句话不能当成"再忍忍"的鸡汤,它得换来一个更好的指标。换这个:不再用"这次坐得好不好"来判断,改成记一件事——过去一个月里,有几次是在生气或焦躁的当下想起了呼吸。那测的是这件事有没有连到别的情境里去,也就是有没有在长边。若这个数几个月纹丝不动,那才是真的该换方法,而不是该加时长。

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

深入思考(Going Deeper)

如果连通阈值不可预警,那预警到底还剩下什么?

剩下的是换一个被观测量。序参量(最大簇)在越线前不动,但次大簇的尺寸、簇间距离、跨簇边的条数都在动。第 36 期讲的临界慢化是同一个思路的另一个版本:不看状态本身,看系统对扰动的反应。共同点是——凡是"平静得可疑"的地方,多半是量表选错了,不是真的什么都没发生。

阻断和贯通用的是同一条机制,为什么难度差这么多?

因为两者面对的度分布不同。要贯通一张均匀的网,加边就行;要拆散一张有枢纽的网,随机删点几乎无效——阈值被枢纽拽到接近零,你得删到只剩碎片。这个不对称正是第 23 期"鲁棒但脆弱"的来源:同一张网对随机故障和对定点攻击的表现,差的不是程度,是方向。

「加边而不是加点」这条建议,什么时候会反过来害人?

当你不想要的东西也在同一张网上跑的时候。跨圈的边同时提高了好消息和坏消息的贯通度——组织里打通信息孤岛的那几条连接,也是让一次局部故障变成全局故障的那几条。第 25 期的级联失效讲的正是这笔账。所以"加边"从来不是无条件的好,得先问这张网上跑的是什么。

为什么是 0.5927 这么一个难看的数,而键渗流却恰好是 1/2?

键渗流的 1/2 来自方格子的自对偶性——打开的边构成的图和它的"对偶图"形状相同,于是阈值只能落在对称点上,Kesten 把这个直觉变成了证明。座渗流没有这样的对称,阈值就只是一个由格子形状定出来的、没有闭式表达的数。这件事本身值得记:阈值是格子结构的属性,不是渗流这套机制的属性。换成三角格子,座渗流的阈值又恰好回到 1/2。

延伸阅读(Further Reading)