random walk:从度数到 graph Laplacian
在图上走路的规则简单到近乎无趣:站在某个点上,看一眼邻居,等概率挑一个走过去,重复。可这条规则同时是 PageRank 的底座、spectral clustering 的底座、一大批采样算法的底座,还与一张由电阻拼成的网络严格对应。原因在于它把「图的结构」压成了一个可以反复相乘的矩阵,而矩阵的谱把结构里的连通程度、瓶颈位置、走遍全图要多久,全都编码成了几个数。
本页从最容易验证的一条结论开始(极限分布正比于度数),再看它什么时候不成立(bipartite 图上的振荡),然后量两个「要走多久」的指标,最后把矩阵换成 graph Laplacian,看它的第二特征值如何指出图的瓶颈。PageRank 是同一套东西在有向图上的版本,见 PageRank:网页图上的 power iteration。概率工具本身见概率 · 条件、独立与后验更新。
1 · 图上的 random walk
定义 1.1(random walk) 给定无向连通图 ,。walk 从某个起点出发,每一步在当前点 的 个邻居中等概率选一个走过去。转移矩阵是 若 ,否则为 0;它每行之和为 1。
分布的演化不含任何随机:记 为第 步所在位置的概率分布(行向量),则 。单条轨迹与分布演化是同一件事的两种看法:前者是一次抽样,后者是全部抽样的加权汇总。本页的演示凡涉及分布都直接乘矩阵,只有展示单条轨迹时才用带固定种子的伪随机,以保证同一参数下每次得到同一条路径。
2 · 度数与 stationary distribution
有向图上求 stationary distribution 一般要解线性方程组。无向图上不必:答案能直接写出来。
定理 2.1 无向连通图上 random walk 的 stationary distribution 是 。
验证只要一行。 在 处的分量是
关键在于 里的 与 里的 相消,求和退化成数一遍 有多少个邻居。换个说法:把质量摊在边上而不是点上,每条边分到 ,点 得到的就是它所连边的份额之和。
风筝那张图的度数是 1 到 4,,于是 。星形图更极端:中心一个点独占 ,五个叶子各 。高度数的点不是「更重要」,只是被更多条边指着,路过的次数按比例更多。
3 · 周期性与 bipartite 图上的振荡
定理 2.1 说 是不动点,没说 一定收敛到它。星形图上从中心出发就不收敛:第 1 步全部质量在五个叶子上,第 2 步全部回到中心,此后严格周期为 2,与 的 L1 距离恒等于 1.0,走一万步也不下降。六圈图同样如此,只是振荡的形状复杂些。
原因是 bipartite 图上任何闭合回路的长度都是偶数,从一侧出发的 walk 在偶数步必在同侧、奇数步必在另一侧。分布的「相位」永远对不上 。
有意思的是振荡的中心仍是 :相邻两轮取平均,星形图上得到的正好是 ,与 的 L1 差是 0。长期访问频率也照样收敛到 ——图 1-1 里频率柱贴虚线,与分布是否收敛无关。不收敛的是逐轮的分布本身。
修法是 lazy random walk:每步先抛一枚均匀硬币,正面才走,反面原地不动,即把 换成 。对角线一进来周期就变成 1,而 分毫未变()。星形图从中心出发做 lazy walk,第 1 步就精确落在 上: 留在原地, 平摊给五个叶子,各得 。
代价是变慢。风筝那张图上,普通 walk 的误差每轮乘 0.717,lazy 版乘 0.813,达到同样精度所需的轮数多出约六成。一半的步数花在原地不动上,这个折扣躲不掉。
4 · hitting time 与 cover time
两个自然的时间尺度。hitting time 是从 出发首次抵达 的期望步数;cover time 是从 出发访问遍全部点的期望步数。前者可以精确算:对固定的目标 ,诸 满足 与
这是一个 元线性方程组,解一次就得到整列。 一般不对称:风筝图上 而 。F 是挂在 E 上的悬挂点,从它出发只有一条路可走,回到主体很快;反过来要撞进这条死胡同则需要运气。
cover time 没有同样简洁的闭式解。Matthews 给了一个只用 hitting time 的上界 [3]:cover time 不超过 ,其中 是调和数。本页用 400 个固定种子抽样估计实际值:风筝图从 A 出发均值 22.6,上界 47.9;星形图均值 22.4,上界 22.8。星形图上这个界几乎是紧的,因为覆盖它的瓶颈就是「最后一个没访问过的叶子」,而各叶子彼此对称,Matthews 的耦合论证在星形图上几乎无损。
注 · 从最偏僻的点出发,反而覆盖得最快。风筝图上从悬挂点 F 出发的抽样均值是 15.8 步,从度数最高的 C 出发是 24.2 步,差出五成还多。原以为「从中心出发更划算」,实测正好反过来。解释也简单:这张图的覆盖瓶颈是 F 本身(任意点到 F 的 hitting time 都在 17 到 21 之间),从 F 起步等于把最贵的那一项白送。这也提醒 cover time 是依赖起点的量,报数时必须写清从哪里出发。
5 · graph Laplacian 与 algebraic connectivity
把 里的归一化去掉,换成一个对称矩阵:graph Laplacian ,其中 是度数对角阵、 是邻接矩阵。它每行之和为 0,所以全 1 向量在核里,最小特征值恒为 。 对称半正定,特征值可以排成 。
叫 algebraic connectivity,也叫 Fiedler value [4]。它为 0 当且仅当图不连通(0 的重数等于连通分支数),而它有多接近 0,度量的是图有多容易被切开。对应的特征向量称作 Fiedler 向量,按分量符号把点分成两组,就是 spectral bisection。
哑铃图(两个三角形加一条桥)的 ,spectral bisection 切下来的正好只有那条桥,两侧各三个点。风筝图的 ,切口是两条边。六圈图的 有闭式解 ,切成两段各三个点。
警示 · 简并时 spectral bisection 给出的划分不是图的性质。星形图的谱是 , 有四重简并, 的特征子空间是四维的,Fiedler 向量在其中任取一个都合法。本页的 Jacobi 求解器给出的划分把中心和两个叶子分作一侧、另外三个叶子分作另一侧,切断三条边——这在图上毫无意义,纯粹是求解器破简并的方式。谱二分只有在 与 拉开差距时才谈得上是图的判断。
与 §3 的收敛速度说的是同一件事,只是严格的对应要换成正则化后的 Laplacian :它的特征值 与 的特征值 满足 ,谱隙越大混合越快。 与 在度数处处相等的图上只差一个常数倍,度数悬殊时则不然。它与组合意义上的 vertex connectivity(删几个点才能拆开图)也有一层关系,Fiedler 证明了 不超过 vertex connectivity,那一侧的故事见连通性:分隔集与 Menger 定理。
6 · effective resistance 与电阻网络
把每条边换成一个 1 欧姆电阻,整张图就成了一个电路。任取两点 、,量出它们之间的等效电阻 (可由 的 Moore–Penrose 伪逆算出,)。Chandra 等人证明了 [2]
其中 叫 commute time,是一来一回的期望步数。 不对称, 对称,而对称正好是电阻该有的性质。
风筝图上这条等式逐位对得上:,而
。单条边上的电阻也符合直觉:三角形里的一条边并联着另外两条串起来的边,;悬挂边 E–F 无并联路径,。core/walk.test.ts 对四张图的全部点对都做了这个对照,两条完全不同的算路(解线性方程组 vs 谱分解求伪逆)给出同一组数。
这个类比不只是好看。电阻网络有一整套现成的推理工具,最有用的是 Rayleigh 单调性:加一条边只会让任何两点间的电阻变小,删一条边只会变大。翻译成 walk 的语言就是「加边只会缩短 commute time」——这条结论直接证不算容易,借电阻则一句话。
7 · 参考文献
- Lovász, L. (1993). Random walks on graphs: A survey. Combinatorics, Paul Erdős is Eighty, 2, 1–46.
- Chandra, A. K., Raghavan, P., Ruzzo, W. L., Smolensky, R., & Tiwari, P. (1996). The electrical resistance of a graph captures its commute and cover times. Computational Complexity, 6(4), 312–340.
- Matthews, P. (1988). Covering problems for Markov chains. The Annals of Probability, 16(3), 1215–1228.
- Fiedler, M. (1973). Algebraic connectivity of graphs. Czechoslovak Mathematical Journal, 23(2), 298–305.
- Doyle, P. G., & Snell, J. L. (1984). Random Walks and Electric Networks. Mathematical Association of America.