TOPIC 20 · PHASE D

结构决定动力学STRUCTURE DRIVES DYNAMICS

先画出关系图,再谈个体归因(Draw the graph before you blame the person)

2026-08-06 · 网络

同一封内部通知,在一家公司两天就人人都知道了,在另一家三周之后还有人说没听说。人差不多,通知一模一样。差别在于谁跟谁连着——而我们解释这件事的时候,几乎从来不看这张图。

接下来六期讲网络。这个词已经被用滥了,所以先把它降回一个很朴素的东西:一张"谁跟谁有关系"的图。只有点和线,没有别的。

反直觉的地方在于,这张看起来贫瘠得可笑的图,能吃掉很多本来要归给"人的素质""执行力""企业文化"的差别。你可以让两组人的能力、动机、规则完全一样,只改接线,然后眼看着一件事的结局翻转。接线是一个能单独测量、能和内容分开的变量。本期就干这一件事:把它测出来。

这一步是有历史的。1736 年欧拉解决哥尼斯堡七桥问题(Seven Bridges of Königsberg),证明那七座桥不可能一次不重复地走完——从此有了图论(graph theory),它问的是"存不存在这样一条路"这类是非题。而网络科学(network science)问的是另一类问题:一张有几万个点的真实的图,它的统计长什么样,跑在它上面的东西(消息、钱、病、故障)会怎么走。前者要答案,后者要分布。

01同样的人,不同的接线(Same People, Different Wiring)

先把词说定。图里的每个东西叫一个节点(node),比如一个人、一台服务器、一个物种;两个节点之间的关系叫一条(edge)。一个节点连了几条边,这个数叫它的(degree)。

现在做一个对照实验。两张图,都是 12 个节点、12 条边,因此平均每个节点连 2 条边——两边的平均度一模一样。区别只在接法:左边每个人只连左右两个邻居,围成一圈;右边有两个人各自连了一大片,这两片之间再搭一条。

然后跑同一条规则:从某个人出发,消息每一轮传给他所有的邻居,传三轮。

同样 12 个人、同样 12 条关系、同样的平均度 2.0 ① 环形接线:每人只连左右邻居 起点 三轮之后:7 个人知道(含起点) 灰色的 5 个人还没听说 ② 枢纽接线:同样 12 条边,接法不同 起点 三轮之后:12 个人全知道 颜色越亮 = 越早收到;灰色 = 三轮内没收到
规则相同、人数相同、关系总量相同。唯一的差别是接线,而结局差了近一倍。

左边七个人知道,右边十二个人全知道。你手里那个最常用的数字——"平均每人认识几个人"——在这两张图上完全相等,因此对结果一点信息也不提供

真正起作用的是度怎么散开的:左边所有人的度都是 2,右边有两个人的度是 6、大多数人的度是 1。这个"度的分布情况"叫度分布(degree distribution),它是网络最基本的指纹。当度分布是重尾的(少数节点极高、多数极低),平均值就会像上一期讲的那样变成一个陷阱 → 参考 · 幂律的识别与误判

🎯 决策线

把结果归因到某个人之前,先花一小时把图画出来。不要凭印象画组织架构图——用留痕的数据:过去三个月谁给谁做过代码评审、谁在哪个工单里 @ 了谁、谁和谁同时出现在哪个会上。画完再看你原来那个解释还站不站得住。大多数时候会发现,你要怪的那个人正好站在图上唯一一个必经的位置上。

🌀 建筑与城市规划 · Christopher Alexander「城市并非树形」 1965 年 Alexander 写过一篇著名的批评:规划出来的新城把功能切成互不重叠的块,是一棵;而自然生长的老城里,杂货店、报摊、公交站、人行道的使用者集合彼此重叠,是一张半格(semilattice)。用本节的话说,两者的节点几乎相同,接线的重叠度完全不同。由此能推出一个规划师当时不接受的结论:新城的"没有生气"不是因为选错了功能配比,而是因为接线本身被压成了不允许重叠的形状——所以再怎么调配比也补不回来。

EN Two graphs, both 12 nodes and 12 edges, therefore identical average degree. Run the same three-round spreading rule: the ring reaches 7 people, the hub wiring reaches all 12. Average degree carries no information here; what does the work is the degree distribution.

02三把尺子(Three Rulers: Degree, Path Length, Clustering)

要把"接线"说清楚,最少需要三个数,因为它们量的是三个不同的层次。

量的是最局部的事:你自己连了几个人。最短路径长度(shortest path length)量的是最全局的事:从这个点走到那个点,最少几步。把所有点对的最短路径取个平均,就是这张图的平均最短路径长度——它大致等于"消息从任意一个人传到任意另一个人,通常要转几手"。

中间还差一层,而这层最容易被忽略:聚类系数(clustering coefficient)。它问的是——你的朋友之间,彼此认识吗?把你的邻居两两配对,数一数有多少对本来就是熟人,再除以总配对数,就是你的聚类系数。全是熟人是 1,互相都不认识是 0。

同一张图,三个不同层次的量 ① 度 · 最局部 2 3 3 3 3 2 2 绿点连了 3 个人 它的度 = 3 ② 最短路径 · 最全局 两端之间最少走 4 步 全图所有点对平均 2.0 步 ③ 聚类系数 · 中间层 虚线这一对不认识 紫点的 3 个邻居两两配对共 3 对 其中 2 对彼此认识 → 聚类系数 2/3 三个量互不蕴含:知道其中一个,猜不出另外两个
度看的是「我连了谁」,路径看的是「全场要转几手」,聚类看的是「我的人互相认不认识」。

要紧的是最后那句:这三个量互相独立。一张图可以聚类很高而路径很长(每个村子内部人人相熟,村与村之间要走很远),也可以聚类很低而路径很短(一个大厅里所有人都只认识主持人,但任意两人转两手就到)。所以只报一个数就说"这个网络很紧密",等于什么都没说。

顺带一提,"高聚类 + 短路径同时出现"这件事本身很反常,也很常见,它有专门的名字,下一期专讲。

🌀 东方思想 · 华严宗的因陀罗网 佛经里那个著名的意象:帝释天宫悬着一张宝网,每个网结上一颗宝珠,每颗珠子都映现其余所有珠子,重重无尽。用本节的尺子去读它,会读出一个很硬的东西:这个意象要求任意两颗珠子之间的路径长度是 1,聚类系数是 1——也就是一张完全图。而完全图的边数按节点数的平方涨,任何有维护成本的真实系统都撑不起。由此推出的结论不是"这个比喻不好",而是:真实世界里的"万物互摄"必须靠少数枢纽中转才实现得了,于是它天然是不平等的——而因陀罗网的全部道德分量恰恰来自珠子之间的平等互摄。这个落差不是修辞问题,是拓扑问题。

EN Three rulers at three levels: degree (how many you connect to), average shortest path length (how many hops the whole graph typically needs), and clustering coefficient (whether your neighbours know each other). They are mutually independent — high clustering implies nothing about path length, and vice versa. Quoting one number and calling a network "tight-knit" says nothing.

03「谁最关键」有四个答案(Centrality Is Not One Thing)

现在问一个所有人都想问的问题:这张图上谁最重要?

这个问题没有单一答案,而且不是因为它太难,是因为它问得不完整。衡量"重要"的量叫中心性(centrality),常用的有四种,各自对应一种完全不同的重要 → 参考 · 网络中心性指标

度中心性(degree centrality)就是度本身——连的人最多。接近中心性(closeness centrality)看的是你到所有人的距离之和最小——你在"平均意义上离大家最近"的位置。介数中心性(betweenness centrality)数的是有多少对人之间的最短路径必须经过你——你是多少人的必经之路。特征向量中心性(eigenvector centrality)则是递归的:你重要,是因为连你的那些人重要——搜索引擎的 PageRank 就是它的一个变种。

下面这张图是社会网络分析里的标准算例(Krackhardt 的"风筝图"),十个人、十八条关系。三种中心性,选出来的是三个不同的人。

同一张关系图,三种「最重要」,三个不同的人 度中心性 · 连的人最多 A B C D E F G H I J D 连了 6 个人,全场最多 接近中心性 · 离所有人最近 A B C D E F G H I J F 与 G 到其余 9 人的距离和 = 14(D 是 15) 介数中心性 · 最多路径的必经之地 A B C D E F G H I J H 只连 3 个人,却是 14 对人的唯一通道
D 最热闹,F 与 G 位置最居中,而真正掐着咽喉的是只连了三个人的 H。

H 只有 3 条关系,度中心性排在中下游。但 I 和 J 通往其余所有人的路都必须过 H——把 H 拿掉,图就断成两块。最忙的人和最关键的人不是同一个人,而且经常离得很远。

那到底该用哪一个?答案取决于什么在流动、以及它怎么流。可以复制、可以同时往四面八方走的东西——一条消息、一个笑话、一种习惯——用度和特征向量中心性;不能复制、必须沿着一条路走完的东西——一笔钱、一批货、一个转诊的病人、一次面对面的引荐——用介数和接近中心性。选错了指标,你就会保护错人。

🎯 决策线

在算任何中心性之前,先用一句话写清楚:在这张图上流动的是什么,它能不能被复制。写不出这句话就别算——算出来的排行榜一定有人信,而一个没说清流的排行榜和星座运势的可靠性差不多。写得出来之后,指标是被这句话选定的,不是你挑的。

🌀 历史与技术 · 用元数据找出保罗·里维尔 社会学家 Kieran Healy 在 2013 年写过一篇著名的演示:只拿 1770 年代波士顿各个社团的成员名单——不看任何人说了什么、写了什么——把"谁和谁同属一个社团"连成图,算一遍介数中心性,排在最前面的就是保罗·里维尔。他用这个说明:情报机关声称"我们只看元数据、不看内容"完全不构成安慰。本节的机制解释了为什么——"谁是关键人物"本来就是一个纯结构的量,它不需要内容也能算出来。内容保护和结构保护是两件事,前者做得再好也挡不住后者。

EN Four centralities — degree, closeness, betweenness, eigenvector — pick different people. On Krackhardt's kite, D has the most ties, F and G sit closest to everyone, and H, with only three ties, is the sole route between fourteen pairs. Which measure is right depends on what flows and whether it can be copied.

04网络不是一团浆糊(Communities and Modularity)

到这里为止,图还只是一堆点线。但真实的关系图几乎从不均匀:边会成块地密集,块与块之间只挂着几根线。这些块叫社群(community)。

难点在于,"看起来分成几块"是句主观的话。要把它变成可以算的东西,Newman 和 Girvan 在 2004 年提出了模块度(modularity,通常记作 Q)。它的定义只有一句话:按你这种切法,落在社群内部的边占了多大比例;再减去"如果保持每个点的度不变、把所有边随机重接一遍,本来该有多大比例"。

后面那半句是关键——它是一把尺子的零点。任何切法都会有一些边落在内部,光看比例会骗人;减掉随机情况下的期望之后,剩下的才是"这个结构确实比碰运气更成块"的部分。

两张图每个点的度完全一样,只有接法不同 ① 有社群结构 模块度 Q = 0.52 21 条边里 18 条在块内,只有 3 条(虚线)跨块 ② 保持每点的度,随机重连 同样的三色分组 → Q = −0.19 颜色还在,块没了:这个分组已经不携带任何信息
模块度不是数"块内有多少边",而是数"比随机接线多出了多少"。右图颜色照旧,模块度掉到负数。

这件事在真实数据上做过一个漂亮的检验。1970 年代,人类学家 Zachary 记录了一个大学空手道俱乐部 34 个成员之间的私下往来。后来俱乐部因为教练和会长闹翻,真的裂成了两半。Zachary 事后只用那张关系图去切,切出来的两半和实际站队只错了一个人。谁跟谁喝过酒这件事,比谁在会上说了什么更早地写好了结局。

社群结构也把第 3 期讲的近可分解性(near-decomposability)从一个哲学论断变成了一个能算的数:Simon 说复杂系统必然是"块内紧、块间松"的,模块度就是那个"必然"的刻度。

一句必要的警告:模块度不能当绝对分数用。Fortunato 和 Barthélemy 在 2007 年证明了它有分辨率极限(resolution limit)——最大化模块度的算法会系统性地看不见小于某个尺度的社群,而那个尺度随整张网的边数变大。也就是说,同一个小团体,在一张大图里会被算法揉进邻居里,在一张小图里却能被认出来。所以 Q 只能横向比较同一张图的不同切法,不能拿两张不同大小的图的 Q 来比。

🌀 生态学 · 互惠网络与捕食网络长得不一样 Thébault 和 Fontaine 在 2010 年比较了两类生态网络:植物与传粉者构成的互惠网络,和吃与被吃构成的食物网。前者高度连通、少有清晰的模块;后者则明显分块。用本节的机制看,这不是审美差异而是稳定性机制的差异——分块把扰动关在模块里,因此适合"一次冲击可能致命"的捕食关系;不分块让影响迅速摊薄到全网,因此适合"多一个少一个传粉者无所谓"的互惠关系。由此推出一个反直觉的结论:模块化不是普遍的好设计,它是针对某种扰动的好设计。用模块度高低给一个系统打分而不问它挨的是哪种打击,等于在给答案打分却没看题。

EN Real graphs are lumpy: dense blocks joined by a few edges. Modularity Q measures the fraction of edges inside your proposed blocks minus the fraction expected from a degree-preserving random rewiring — the second term is the zero point. Zachary's 1977 karate club split in reality, and the structure alone predicted the sides with one error. But Q has a resolution limit (Fortunato & Barthélemy 2007), so it compares partitions of one graph, never two graphs of different size.

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

"先画关系图"是本期的主张。现在说它会在哪儿把你带沟里,而且这几条比前面四节加起来更重要。

第一,你画的那张图多半是错的。真实的边永远是抽样出来的:你只能看到留痕的互动,看不到走廊里那句话。而中心性对漏边极其敏感——尤其是介数中心性,因为它靠的是"唯一通道"这种性质,补上一条边,某个人的介数就可能塌掉一半。更麻烦的是"多熟才算一条边"这个门槛是你定的:门槛调一格,排行榜就换人。所以网络指标的小数点后两位没有意义,能用的只有量级和排序,而且排序还得做门槛扫描。

第二,也是最要命的:结构相关不等于结构导致。2007 年有一项被广泛报道的研究说肥胖会在社交网络里"传染"——你的朋友变胖,你变胖的概率显著上升。这个结论后来遭到了一个很难反驳的方法论批评:Shalizi 和 Thomas 在 2011 年证明,在观测性的社会网络数据里,"传染"和"同类相聚"(homophily,同质选择)一般是无法区分的。你看到相连的人彼此相似,可能是因为 A 影响了 B,也可能是因为 A 和 B 本来就像所以才成了朋友,还可能是他们住在同一片街区、面对同一家超市。三种机制留下的观测数据长得一模一样。

观测到的都是同一件事:连着的两个人更像 ① 传染 A B 影响 先有边,A 把状态传给 B 边是因,相似是果 ② 同质选择 A B 本来就像 → 才连上 先相似,因此才结成边 相似是因,边是果 ③ 共同环境 Z A B 同一个环境同时造出了边和相似 两者都是果 三张因果图,同一张数据表。只看观测数据,你分不出自己在看哪一张。
「相连的人更像」是一条真实的观测。它同时兼容三种完全不同的因果结构,而干预方案在三种情况下完全相反。

这条边界的实际后果很重:如果是传染,那么干预枢纽是对的;如果是同质选择,干预枢纽白花钱,该改的是让人聚成堆的那个筛选机制;如果是共同环境,那么改的既不是人也不是边,是环境。三种情况下的行动方案互相排斥,而漂亮的网络图对它们一视同仁。

第三,静态快照会系统性高估可达性。图上画着 A—B—C,你以为消息能从 A 到 C。但如果 A 和 B 的那次接触发生在 B 和 C 那次之后,这条路在时间上根本不存在。把带时间的互动压成一张静态图,你就把大量走不通的路算成了通路——传播模型因此普遍偏乐观。

第四,能画成图不等于该画成图。任何东西两两之间定义个关系都能得到一张网络,然后一堆指标就都能算了。但指标算得出来,不等于它测的是你以为的那件事。一个中心性数字要有意义,前提是这张图上真的有某种东西在沿着边流动;如果边只是"我觉得这俩有点关系",那么算出来的介数中心性只是把你的直觉重新排了个序,再用小数点给它镀了层金。

🎯 决策线

拿网络结论做决定之前,过三道关:① 边是怎么定义的、门槛变一变结论还在不在;② 你主张的是相关还是因果——如果是因果,说出你凭什么排除掉"他们本来就像"和"他们在同一个环境里";③ 有没有时间顺序,静态图算出的可达性是不是被高估了。三关过不了,就只把图当成一份地图看,别拿它当因果模型用。

🌀 考古学 · 用陶片重建的贸易网 近二十年考古学兴起了网络分析:把各遗址出土器物的相似度当成"边",重建古代贸易往来。麻烦在于"相似到什么程度才算一条边"完全由研究者定,而阈值一动,图上那个"贸易中心"就换了城市。这正是本节第一条机制在一门无法补数据的学科里的极端版本:现代社交网络还能再抓一轮日志,两千年前的陶片抓不了。由此推出的做法不是放弃,而是把汇报格式改掉——不报告"某城是中心",只报告"在哪一段阈值区间里它一直是中心"。一个结论的可信度,等于它能扛住多宽的阈值扫描。

EN Four limits. Observed graphs are sampled and threshold-dependent, and betweenness is especially fragile to missing edges. Homophily and contagion are generically confounded in observational network data (Shalizi & Thomas 2011), and the three causal stories imply opposite interventions. Static snapshots ignore edge timing and so overstate reachability. And anything can be drawn as a graph — the metrics only mean something if something actually flows along the edges.

🎒 场景 · BigCat

  1. 带团队与组织跨部门的事总在同一个环节卡住,复盘写的是"沟通不畅"。换个做法:把最近三个月真实发生过的协作(代码评审、工单里的 @、共同参会)连成一张图,算介数中心性,找出排前二三名的人。他们通常不是最忙的人,而是所有跨模块的路必须经过的人。可改的动作:不是给他们加人手(加人手提高的是度,解决不了介数),而是给他们承担的每一条桥接配一条平行路径——第二个评审人、第二个对接口的人。判据很简单:把这个人请一周假,如果多条线同时停摆,那就是它。
  2. 修行与心性"我怎么老是被某一类事牵动"——这件事通常被当成心性问题处理。先别急着处理心性,先画图:把过去一年真正影响过你决策的关系画出来(不是通讯录,是"这件事我最后听了谁的")。很多时候会看到一个度很低、介数极高的结构——某个人或某个信息源,是你通往某件你在意的事的唯一路径可改的东西:加一条平行路径(同一件事再找一个能问的人)。一条唯一路径带来的那种拽住你的力量,加一条并联边就会掉一大半;而在只有一条路的情况下反复修炼"不在意",是在拿心性去补拓扑的缺口。
  3. 投资与仓位分散度通常用持仓数量衡量——那是度。但真正决定回撤形状的是社群结构:这些标的是不是共享同一批资金来源、同一条供应链、同一个监管口径。可改的指标:把"持有几只"换成"如果按共同暴露把它们分组,最大的那一组占多少仓位"。另外记住本期第四节那条警告——这种分组在小样本上极不稳定,所以看的是量级(最大组是三成还是七成),不是小数点。

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

深入思考(Going Deeper)

如果结构这么关键,为什么组织里改结构总是最难的事?

因为真正起作用的那张图不是组织架构图,而是留痕之外的那张——谁信任谁、谁欠谁人情。行政命令能改的是前者,后者只能靠改变互动的机会成本慢慢移动。这也解释了为什么重组之后前三个月往往一切照旧:正式的图变了,实际跑消息的那张图还是老的。

介数中心性高的人,是资产还是风险?

两者是同一件事。他是效率的来源(信息不必绕路),也是单点故障,还占据着一个可以收租的位置——所有跨块的往来都得让他知道。所以"该不该给桥接加冗余"从来不是纯技术问题:加冗余会削弱某个具体的人的位置权力,这才是它推不动的真实原因。

网络指标能不能反过来被人操纵?

能,而且一旦指标公开就一定会被操纵——这正是第 26 期要讲的古德哈特问题在网络上的版本。搜索引擎排名的历史就是完整的演示:PageRank 是特征向量中心性,公开之后立刻长出了链接农场。所以任何"用中心性做人事或资源分配"的方案,都得先想清楚被评估者能怎么便宜地加边。

「先画关系图」和「不要过度还原论」冲突吗?

不冲突,但要小心它变成另一种还原论。把一切归给结构,和把一切归给个人品质,犯的是同一个错误——都在声称一个层次能解释完。本期能站住的主张只有较弱的那一条:在做个体归因之前,结构这个变量应该先被扣掉,因为它便宜、可测、而且经常吃掉大半解释力。扣完之后剩下的部分,才轮到谈人。

延伸阅读(Further Reading)