Lec 5 最大独立集 MIS
对应 DGA 第 1.6 节 · 延伸阅读:Luby (STOC 1985)、Alon–Babai–Itai (1986);二者获 2016 年 Dijkstra 奖
TL;DR
最大独立集(MIS)是局部分布式图算法的核心工具,通过构造拷贝团图可在相同轮复杂度内归约求解 ( Δ + 1 ) (\Delta+1) ( Δ + 1 ) -着色。
Luby 随机算法通过局部挑选极大随机数并剔除其闭邻域,以极简规则打破网络对称性。
利用“单手击杀”计数技巧,严格证明了每轮算法期望删除至少一半的边,从而保证在 O ( log n ) O(\log n) O ( log n ) 轮内高概率收敛。
1. 本讲要回答的核心问题
最大独立集(Maximal Independent Set, MIS) 是局部分布式图算法的中心问题之一,因为着色、最大匹配等许多问题都可归约到它。本讲:
定义 MIS,给出 MIS → ( Δ + 1 ) (\Delta+1) ( Δ + 1 ) -着色 的优雅归约;
讲解 Luby 算法 ——一个极简随机算法,O ( log n ) O(\log n) O ( log n ) 轮高概率求出 MIS;
用“边计数”论证证明其复杂度。
2. 定义与归约
最大独立集(Maximal Independent Set, MIS)
S ⊆ V S\subseteq V S ⊆ V 是 MIS,若同时满足:
独立性 :S S S 中任两点不相邻;
极大性 :无法再加入任何 v ∉ S v\notin S v ∈ / S (即每个 v ∉ S v\notin S v ∈ / S 至少有一个邻居在 S S S 中)。
:::
注意 MIS 是“极大”(maximal,加不进去了)而非“最大”(maximum,势最大)。直觉上 MIS 是一组聚类中心:每个节点要么自己是中心,要么有个邻居是中心,且中心互不相邻。
引理 1.51(MIS → ( Δ + 1 ) (\Delta+1) ( Δ + 1 ) -着色). 若有算法 A A A 在 T ( N ) T(N) T ( N ) 轮内求任意 N N N 节点图的 MIS,则有算法 B B B 在 T ( n ( Δ + 1 ) ) T(n(\Delta+1)) T ( n ( Δ + 1 )) 轮内求任意最大度 Δ \Delta Δ 的 n n n 节点图的 ( Δ + 1 ) (\Delta+1) ( Δ + 1 ) -着色。
证明. 构造 H = G × K Δ + 1 H=G\times K_{\Delta+1} H = G × K Δ + 1 :取 G G G 的 Δ + 1 \Delta+1 Δ + 1 份拷贝,节点 v v v 的拷贝记 v 1 , … , v Δ + 1 v_1,\dots,v_{\Delta+1} v 1 , … , v Δ + 1 ;同一原节点的所有拷贝两两连边(团),不同原节点 u , v u,v u , v 相邻则各对应拷贝按 G G G 连边。在 H H H 上跑 A A A 得 MIS S S S 。令 v v v 的颜色 = i =i = i ,其中 v i ∈ S v_i\in S v i ∈ S 。
至多一色 :v v v 的拷贝构成团,S S S 至多含其一。
至少一色 :v v v 有 ≤ Δ \le\Delta ≤ Δ 个邻居 u u u ,每个 u u u 至多一份拷贝在 S S S 中,故至多堵住 v v v 的 Δ \Delta Δ 份拷贝;v v v 有 Δ + 1 \Delta+1 Δ + 1 份拷贝,必有一份 v i v_i v i 无任何相邻拷贝在 S S S ,由极大性 v i ∈ S v_i\in S v i ∈ S 。
相邻 u , v u,v u , v 不会同色:否则 u i , v i u_i,v_i u i , v i 都在 S S S 且相邻,违反独立性。□ \square □
配合下文的 O ( log n ) O(\log n) O ( log n ) 随机 MIS,立刻得到 O ( log n ) O(\log n) O ( log n ) 随机 ( Δ + 1 ) (\Delta+1) ( Δ + 1 ) -着色。
3. Luby 算法 算法流程(每轮含两个子轮):
子轮 1: 每个节点 v v v 取随机实数 r v ∈ [ 0 , 1 ] r_v\in[0,1] r v ∈ [ 0 , 1 ] 发给邻居。若 r v > r u r_v>r_u r v > r u 对所有邻居 u u u 成立(严格局部极大 ),则 v v v 加入 MIS S S S 。
子轮 2: 加入 S S S 的节点通知邻居,然后 v v v 与其全部邻居退出问题(不参与后续轮)。
用 O ( log n ) O(\log n) O ( log n ) 位精度的随机数即可,无需真实连续实数。
显然算法始终维持 S S S 为独立集,且终态极大。问题在于:多久收敛?
定理 1.52. Luby 算法在 O ( log n ) O(\log n) O ( log n ) 轮内高概率(≥ 1 − 1 / n \ge 1-1/n ≥ 1 − 1/ n )求出 MIS。
4. 复杂度证明:期望每轮删一半边 核心引理:
E [ m i + 1 ∣ G i 有 m i 条边 ] ≤ m i / 2 , \mathbb E[m_{i+1}\mid G_i\text{ 有 }m_i\text{ 条边}]\le m_i/2, E [ m i + 1 ∣ G i 有 m i 条边 ] ≤ m i /2 ,
其中 m i m_i m i 是第 i i i 轮剩余图 G i G_i G i 的边数。
4.1 “单手击杀”技巧 考虑边 e = { u , v } e=\{u,v\} e = { u , v } 与 u u u 的邻居 w w w 。若 w w w 在其邻居中随机数最大,则 w w w 入选、w w w 与 u u u 及边 e e e 一并被删——称 w w w 击杀 了 e e e 。但“e e e 被某个 w w w 击杀”这些事件不互斥,直接求和会重复计数。
称 w w w 从 u u u 一侧单手击杀 e = { u , v } e=\{u,v\} e = { u , v } ,若 r w r_w r w 是 N ( w ) ∪ N ( u ) N(w)\cup N(u) N ( w ) ∪ N ( u ) 中所有随机数的最大值。
这样每条边至多被两个节点单手击杀(u u u 侧一个、v v v 侧一个),重复计数被限制在因子 2 内。设指示变量 X w → e = 1 X_{w\to e}=1 X w → e = 1 当且仅当 w ∈ N ( e ) = N ( u ) ∪ N ( v ) w\in N(e)=N(u)\cup N(v) w ∈ N ( e ) = N ( u ) ∪ N ( v ) 单手击杀 e e e 。若 e e e 被删,则 ( ∑ w ∈ N ( e ) X w → e ) / 2 ∈ [ 1 / 2 , 1 ] \big(\sum_{w\in N(e)}X_{w\to e}\big)/2\in[1/2,1] ( ∑ w ∈ N ( e ) X w → e ) /2 ∈ [ 1/2 , 1 ] ,是“e e e 被删”的良好下界。
4.2 求和与化简
E [ m i − m i + 1 ] ≥ ∑ e ∈ E ∑ w ∈ N ( e ) E [ X w → e ] 2 = ∑ w ∈ V ∑ e : w ∈ N ( e ) E [ X w → e ] 2 . \mathbb E[m_i-m_{i+1}]\ge\sum_{e\in E}\sum_{w\in N(e)}\frac{\mathbb E[X_{w\to e}]}{2}=\sum_{w\in V}\sum_{e:\,w\in N(e)}\frac{\mathbb E[X_{w\to e}]}{2}. E [ m i − m i + 1 ] ≥ ∑ e ∈ E ∑ w ∈ N ( e ) 2 E [ X w → e ] = ∑ w ∈ V ∑ e : w ∈ N ( e ) 2 E [ X w → e ] .
按节点对 { w , u } ∈ E \{w,u\}\in E { w , u } ∈ E 归并:w w w 在 N ( w ) ∪ N ( u ) N(w)\cup N(u) N ( w ) ∪ N ( u ) 中最大的概率 ≥ 1 d ( w ) + d ( u ) \ge\tfrac{1}{d(w)+d(u)} ≥ d ( w ) + d ( u ) 1 ,此时 w w w 从 u u u 侧单手击杀 d ( u ) d(u) d ( u ) 条边;对称地 u u u 从 w w w 侧击杀 d ( w ) d(w) d ( w ) 条。于是
E [ m i − m i + 1 ] ≥ ∑ { w , u } ∈ E i ( d ( u ) d ( w ) + d ( u ) + d ( w ) d ( w ) + d ( u ) ) / 2 = m i 2 . \mathbb E[m_i-m_{i+1}]\ge\sum_{\{w,u\}\in E_i}\Big(\frac{d(u)}{d(w)+d(u)}+\frac{d(w)}{d(w)+d(u)}\Big)\Big/2=\frac{m_i}{2}. E [ m i − m i + 1 ] ≥ ∑ { w , u } ∈ E i ( d ( w ) + d ( u ) d ( u ) + d ( w ) + d ( u ) d ( w ) ) / 2 = 2 m i .
4.3 收尾
反复套用得 E [ m 4 log n ] ≤ m 0 / 2 4 log n ≤ 1 / n 2 \mathbb E[m_{4\log n}]\le m_0/2^{4\log n}\le 1/n^2 E [ m 4 l o g n ] ≤ m 0 / 2 4 l o g n ≤ 1/ n 2 。由马尔可夫不等式,G 4 log n G_{4\log n} G 4 l o g n 含 ≥ 1 \ge1 ≥ 1 条边的概率 ≤ 1 / n 2 \le1/n^2 ≤ 1/ n 2 。故高概率下 4 log n + 1 4\log n+1 4 log n + 1 轮后无边剩余,算法终止。□ \square □
直觉: 不论度数分布如何,“取局部极大、删其闭邻域”这一步在期望意义下总能干掉一半的边——因为每条边的两端各有不低于 1 d ( w ) + d ( u ) \tfrac{1}{d(w)+d(u)} d ( w ) + d ( u ) 1 的概率被某端的高随机数节点连带删除,按对求和恰好凑成 m i / 2 m_i/2 m i /2 。
5. 相关结果与延伸
节点删除概率下界(Exercise 1 .7)
证明 Luby 算法中,每轮每个节点 v v v 被删除的概率至少 1 2 Δ \tfrac{1}{2\sqrt\Delta} 2 Δ 1 。
提示: 分情形讨论 v v v 的高度邻居数量,估计 v v v 自身成为局部极大、或其某邻居成为局部极大的概率。
正则化 Luby: log Δ + 1 \log\Delta+1 log Δ + 1 个 phase,第 i i i phase 每轮以概率 2 i 10 Δ \tfrac{2^i}{10\Delta} 10Δ 2 i 标记节点,可证每 phase 后剩余图最大度降到 Δ / 2 i \Delta/2^i Δ/ 2 i 。
简单随机 ( Δ + 1 ) (\Delta+1) ( Δ + 1 ) -着色: 每轮每节点从未被邻居占用的色中随机取一个,若无邻居同选则定色;可证每轮每节点有常数概率被着色,故 O ( log n ) O(\log n) O ( log n ) 轮完成。
极大匹配(maximal matching): Luby 思想同样给出 O ( log n ) O(\log n) O ( log n ) 随机算法。
6. 本讲小结与核心机制
结果 复杂度 要点 MIS → ( Δ + 1 ) (\Delta+1) ( Δ + 1 ) -着色 T ( n ( Δ + 1 ) ) T(n(\Delta+1)) T ( n ( Δ + 1 )) G × K Δ + 1 G\times K_{\Delta+1} G × K Δ + 1 拷贝团构造Luby MIS O ( log n ) O(\log n) O ( log n ) 轮,高概率局部极大 + 删闭邻域 边减半引理 E [ m i + 1 ] ≤ m i / 2 \mathbb E[m_{i+1}]\le m_i/2 E [ m i + 1 ] ≤ m i /2 单手击杀避免重复计数
Luby 算法的优雅之处:规则极简(取局部极大),分析靠一个干净的期望边减半论证,且作为“瑞士军刀”经归约带动着色、匹配等一系列问题。