网络生成模型
真实网络既不是规则的格子,也不是完全随机的连线。它们同时具备两个看起来矛盾的性质:任意两点之间只隔几步(小世界),而且少数节点连着极多的边(无标度)。ER、WS、BA 三个模型各解释了一部分,把它们并排跑一遍,差别就看清了。
LAB 01
ER 随机图
调连接概率,看巨片涌现与泊松度分布
问题
把 n 个点随便连起来,连接概率调到多大的时候,零散的小块会突然并成一整片?这个"突然"不是比喻——它是一个真正的相变,位置精确地在平均度等于 1。
模型
Erdős–Rényi 模型 G(n, p):每一对点独立地以概率 p 连边。
⟨k⟩ = p(n−1), P(k) ≈ e−⟨k⟩⟨k⟩k ⁄ k!, 巨片阈值:⟨k⟩ = 1
度分布是泊松的:有一个明确的"典型度数",偏离它的点很少。这正是真实网络最不像 ER 图的地方。平均度 ⟨k⟩—
最大分量占比—
聚类系数—
平均路径长—
ER 图的度分布是泊松分布——有一个明确的"典型度数"。这正是它与真实网络最不像的地方:现实中很少有网络的度分布是钟形的,大多数是右侧拖着长尾的。另外注意它的聚类系数≈p,也就是说随机图几乎没有"朋友的朋友也是朋友"这回事,而真实社交网络的聚类系数往往比同规模随机图高两三个数量级。
LAB 02
WS 小世界
重连概率从 0 到 1,聚类系数与平均路径长度一起画出那张著名的图
问题
社会网络有两个看起来矛盾的性质:朋友圈高度重叠(你的朋友互相也认识),而任意两个人之间却只隔六步。规则格子有前者没后者,随机图有后者没前者。怎么同时要到?
模型
Watts–Strogatz:从环形格子出发,每条边以概率 β 随机重连。
β = 0:C 高、L ~ n; β = 1:C ~ ⟨k⟩/n、L ~ log n; 小世界区:β ≈ 0.01–0.1
C 是聚集系数,L 是平均最短路。关键在于两者对 β 的响应速度差很多:极少量随机长边就能把 L 拉下来,而 C 几乎没掉。聚类系数 C(β)/C(0)—
平均路径 L(β)/L(0)—
小世界系数 σ—
当前 β—
这张图是 Watts 与 Strogatz 1998 年那篇论文的核心。横轴是重连概率的对数。有一段区间(大约 β = 0.01 ~ 0.1):平均路径长度已经掉到接近随机图的水平,而聚类系数几乎没动——既保留了局部的紧密,又获得了全局的捷径。真实网络大量落在这一段上。少数几条"远程连接"就能把世界变小,这个结论对传播、谣言控制、疫情防控都有直接的含义。
LAB 03
BA 无标度
优先连接长出枢纽节点,度分布在双对数坐标下成直线
问题
真实网络里总有几个连接数惊人的枢纽——机场、门户网站、明星论文。随机图里这种点的概率低到可以忽略。那枢纽是怎么长出来的?答案是网络在生长,而且新点偏爱已经很红的点。
模型
Barabási–Albert:每加入一个新点,带 m 条边,按现有度数成比例地选择连谁。
Π(i) = ki ⁄ Σj kj, P(k) ~ k−γ, γ = 3
两个条件缺一不可:生长(网络在变大)和优先连接(富者愈富)。只要其中一个,尾巴就不是幂律。最大度—
度分布幂指数 γ—
前 5% 节点占了几成边—
聚类系数—
入场顺序 vs 度的斜率—
把"优先连接强度"调到 0,就退化成随机加边。这时最大度会明显下降,度分布也从幂律变回钟形。所以无标度不是"节点多了自然就有",它需要两个条件同时成立:网络在增长,而且新来的更愿意连已经很红的。这两条一去掉任何一条,枢纽就不会出现——这一点在解释"为什么某些行业出现赢者通吃"时特别有用。 新加的第三张图把「幂律」还原成一句更朴素的话:谁先来的。横轴是节点的入场顺序(下标就是它第几个加入),纵轴是它最终的度,双对数坐标。优先连接下理论上 k ∝ (入场序号)^(−1/2),也就是一条斜率 −0.5 的直线。但请把优先连接强度调到 0 再看一眼,这里有个容易被讲错的地方。实测:强度 0 时拟合斜率是 −0.397,强度 1.0 时是 −0.447——几乎没动。也就是说,「早来的人度数更高」这件事在任何一个不断长大的网络里都成立,和优先连接没关系:后来的节点单纯是没那么多时间去接收连边。优先连接改变的不是「谁赢」,而是「赢多少」。同一组实测里,度分布的幂指数 γ 从 2.29 一路降到 1.75,最大度从 13 涨到 30,前 5% 的节点占的边从 14.3% 涨到 23.8%。换句话说,优先连接把一个本来就存在的、温和的先发优势,放大成了一条重尾。这也提醒一件方法上的事:看到「早期节点度数高」就断言存在优先连接,是站不住的——那是任何增长模型都会有的现象,真正要看的是尾巴有多重。
LAB 04
三者对比
同样的节点数与边数,三种模型的度分布、聚类、路径长度同屏比较
问题
三个模型放在一起才看得出各自缺了什么。同样的点数和边数,它们在度分布、聚集、路径长度上分别长什么样?这一台是做模型选择时该先看的一张表。
模型
三个模型在三项指标上的定性差别:
ER:P(k) 泊松、C ≈ ⟨k⟩/n、L ~ log n
WS:P(k) 窄、C 高、L ~ log n
BA:P(k) ~ k−3、C 偏低、L ~ log n ⁄ log log n
没有一个模型三样全对。真实网络通常同时具备重尾度分布和高聚集,这需要在 BA 上再加三角闭合之类的机制。WS:P(k) 窄、C 高、L ~ log n
BA:P(k) ~ k−3、C 偏低、L ~ log n ⁄ log log n
聚类系数(ER / WS / BA)—
平均路径(ER / WS / BA)—
最大度(ER / WS / BA)—
度的方差 / 均值—
三个模型点数相同、边数相同,性质却完全不同。看"度的方差 / 均值"这个读数:ER 接近 1(泊松的性质),WS 更小(几乎每个点度数一样),BA 则大得多。这个量叫异质性,它直接决定了很多动力学结果——比如无标度网络上传染病的爆发阈值趋于零,就是因为方差发散。建模时如果拿到的是真实网络数据,先算一下这个比值,比先跑模型有用。
这一页想说的
三个模型不是竞争关系,而是三次"加一条机制看会怎样"的实验:ER 只有随机,WS 加了局部结构与少量捷径,BA 加了增长与偏好。真实网络通常三样都有。用它们的正确方式是当作零模型——把你手里的真实网络和"同样点数边数的随机图"比一比,差出来的那部分才是真正需要解释的结构。