Archipelago

Lec 5最大独立集 MIS

讲义完成更新于 2026-09-17

Lec 5 最大独立集 MIS

对应 DGA 第 1.6 节 · 延伸阅读:Luby (STOC 1985)、Alon–Babai–Itai (1986);二者获 2016 年 Dijkstra 奖

TL;DR

  • 最大独立集(MIS)是局部分布式图算法的核心工具,通过构造拷贝团图可在相同轮复杂度内归约求解 (Δ+1)(\Delta+1)-着色。
  • Luby 随机算法通过局部挑选极大随机数并剔除其闭邻域,以极简规则打破网络对称性。
  • 利用“单手击杀”计数技巧,严格证明了每轮算法期望删除至少一半的边,从而保证在 O(log⁡n)O(\log n) 轮内高概率收敛。

1. 本讲要回答的核心问题

最大独立集(Maximal Independent Set, MIS) 是局部分布式图算法的中心问题之一,因为着色、最大匹配等许多问题都可归约到它。本讲:

  1. 定义 MIS,给出 MIS → (Δ+1)(\Delta+1)-着色 的优雅归约;
  2. 讲解 Luby 算法——一个极简随机算法,O(log⁡n)O(\log n) 轮高概率求出 MIS;
  3. 用“边计数”论证证明其复杂度。

2. 定义与归约

最大独立集(Maximal Independent Set, MIS)

S⊆VS\subseteq V 是 MIS,若同时满足:

  1. 独立性:SS 中任两点不相邻;
  2. 极大性:无法再加入任何 v∉Sv\notin S(即每个 v∉Sv\notin S 至少有一个邻居在 SS 中)。 :::

注意 MIS 是“极大”(maximal,加不进去了)而非“最大”(maximum,势最大)。直觉上 MIS 是一组聚类中心:每个节点要么自己是中心,要么有个邻居是中心,且中心互不相邻。

引理 1.51(MIS → (Δ+1)(\Delta+1)-着色). 若有算法 AA 在 T(N)T(N) 轮内求任意 NN 节点图的 MIS,则有算法 BB 在 T(n(Δ+1))T(n(\Delta+1)) 轮内求任意最大度 Δ\Delta 的 nn 节点图的 (Δ+1)(\Delta+1)-着色。

证明. 构造 H=G×KΔ+1H=G\times K_{\Delta+1}:取 GG 的 Δ+1\Delta+1 份拷贝,节点 vv 的拷贝记 v1,…,vΔ+1v_1,\dots,v_{\Delta+1};同一原节点的所有拷贝两两连边(团),不同原节点 u,vu,v 相邻则各对应拷贝按 GG 连边。在 HH 上跑 AA 得 MIS SS。令 vv 的颜色 =i=i,其中 vi∈Sv_i\in S。

  • 至多一色:vv 的拷贝构成团,SS 至多含其一。
  • 至少一色:vv 有 ≤Δ\le\Delta 个邻居 uu,每个 uu 至多一份拷贝在 SS 中,故至多堵住 vv 的 Δ\Delta 份拷贝;vv 有 Δ+1\Delta+1 份拷贝,必有一份 viv_i 无任何相邻拷贝在 SS,由极大性 vi∈Sv_i\in S。

相邻 u,vu,v 不会同色:否则 ui,viu_i,v_i 都在 SS 且相邻,违反独立性。□\square

配合下文的 O(log⁡n)O(\log n) 随机 MIS,立刻得到 O(log⁡n)O(\log n) 随机 (Δ+1)(\Delta+1)-着色。

3. Luby 算法

算法流程(每轮含两个子轮):

  • 子轮 1: 每个节点 vv 取随机实数 rv∈[0,1]r_v\in[0,1] 发给邻居。若 rv>rur_v>r_u 对所有邻居 uu 成立(严格局部极大),则 vv 加入 MIS SS。
  • 子轮 2: 加入 SS 的节点通知邻居,然后 vv 与其全部邻居退出问题(不参与后续轮)。

用 O(log⁡n)O(\log n) 位精度的随机数即可,无需真实连续实数。

显然算法始终维持 SS 为独立集,且终态极大。问题在于:多久收敛?

定理 1.52. Luby 算法在 O(log⁡n)O(\log n) 轮内高概率(≥1−1/n\ge 1-1/n)求出 MIS。

4. 复杂度证明:期望每轮删一半边

核心引理: E[mi+1∣Gi 有 mi 条边]≤mi/2,\mathbb E[m_{i+1}\mid G_i\text{ 有 }m_i\text{ 条边}]\le m_i/2, 其中 mim_i 是第 ii 轮剩余图 GiG_i 的边数。

4.1 “单手击杀”技巧

考虑边 e={u,v}e=\{u,v\} 与 uu 的邻居 ww。若 ww 在其邻居中随机数最大,则 ww 入选、ww 与 uu 及边 ee 一并被删——称 ww 击杀了 ee。但“ee 被某个 ww 击杀”这些事件不互斥,直接求和会重复计数。

称 ww 从 uu 一侧单手击杀 e={u,v}e=\{u,v\},若 rwr_w 是 N(w)∪N(u)N(w)\cup N(u) 中所有随机数的最大值。

这样每条边至多被两个节点单手击杀(uu 侧一个、vv 侧一个),重复计数被限制在因子 2 内。设指示变量 Xw→e=1X_{w\to e}=1 当且仅当 w∈N(e)=N(u)∪N(v)w\in N(e)=N(u)\cup N(v) 单手击杀 ee。若 ee 被删,则 (∑w∈N(e)Xw→e)/2∈[1/2,1]\big(\sum_{w\in N(e)}X_{w\to e}\big)/2\in[1/2,1],是“ee 被删”的良好下界。

4.2 求和与化简

E[mi−mi+1]≥∑e∈E∑w∈N(e)E[Xw→e]2=∑w∈V∑e: w∈N(e)E[Xw→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}.

按节点对 {w,u}∈E\{w,u\}\in E 归并:ww 在 N(w)∪N(u)N(w)\cup N(u) 中最大的概率 ≥1d(w)+d(u)\ge\tfrac{1}{d(w)+d(u)},此时 ww 从 uu 侧单手击杀 d(u)d(u) 条边;对称地 uu 从 ww 侧击杀 d(w)d(w) 条。于是 E[mi−mi+1]≥∑{w,u}∈Ei(d(u)d(w)+d(u)+d(w)d(w)+d(u))/2=mi2.\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}.

4.3 收尾

反复套用得 E[m4log⁡n]≤m0/24log⁡n≤1/n2\mathbb E[m_{4\log n}]\le m_0/2^{4\log n}\le 1/n^2。由马尔可夫不等式,G4log⁡nG_{4\log n} 含 ≥1\ge1 条边的概率 ≤1/n2\le1/n^2。故高概率下 4log⁡n+14\log n+1 轮后无边剩余,算法终止。□\square

直觉: 不论度数分布如何,“取局部极大、删其闭邻域”这一步在期望意义下总能干掉一半的边——因为每条边的两端各有不低于 1d(w)+d(u)\tfrac{1}{d(w)+d(u)} 的概率被某端的高随机数节点连带删除,按对求和恰好凑成 mi/2m_i/2。

5. 相关结果与延伸

节点删除概率下界(Exercise 1 .7)

证明 Luby 算法中,每轮每个节点 vv 被删除的概率至少 12Δ\tfrac{1}{2\sqrt\Delta}。 提示: 分情形讨论 vv 的高度邻居数量,估计 vv 自身成为局部极大、或其某邻居成为局部极大的概率。

  • 正则化 Luby: log⁡Δ+1\log\Delta+1 个 phase,第 ii phase 每轮以概率 2i10Δ\tfrac{2^i}{10\Delta} 标记节点,可证每 phase 后剩余图最大度降到 Δ/2i\Delta/2^i。
  • 简单随机 (Δ+1)(\Delta+1)-着色: 每轮每节点从未被邻居占用的色中随机取一个,若无邻居同选则定色;可证每轮每节点有常数概率被着色,故 O(log⁡n)O(\log n) 轮完成。
  • 极大匹配(maximal matching): Luby 思想同样给出 O(log⁡n)O(\log n) 随机算法。

6. 本讲小结与核心机制

结果复杂度要点
MIS → (Δ+1)(\Delta+1)-着色T(n(Δ+1))T(n(\Delta+1))G×KΔ+1G\times K_{\Delta+1} 拷贝团构造
Luby MISO(log⁡n)O(\log n) 轮,高概率局部极大 + 删闭邻域
边减半引理E[mi+1]≤mi/2\mathbb E[m_{i+1}]\le m_i/2单手击杀避免重复计数

Luby 算法的优雅之处:规则极简(取局部极大),分析靠一个干净的期望边减半论证,且作为“瑞士军刀”经归约带动着色、匹配等一系列问题。