Archipelago

Lec 3一般图的确定性着色

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

Lec 3 一般图的确定性着色

对应 DGA 第 1.4 节 · 延伸阅读:Linial (1992)、Kuhn–Wattenhofer (PODC 2006)、Kuhn (SPAA 2009)

TL;DR

  • 在最大度为 Δ\Delta 的图上,Linial 算法利用覆盖无关族在 O(log⁡∗n)O(\log^* n) 轮内将着色数压缩至 O(Δ2)O(\Delta^2)。
  • Kuhn-Wattenhofer 引入分桶并行缩减技巧,在 O(Δlog⁡Δ+log⁡∗n)O(\Delta\log\Delta + \log^* n) 轮内将色数降低至 (Δ+1)(\Delta+1)。
  • Kuhn 缺陷着色通过允许受控的同色邻居度数,配合度数减半递归,进一步实现了 O(Δ+log⁡∗n)O(\Delta + \log^* n) 轮的确定性 (Δ+1)(\Delta+1)-着色。

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

终极目标是 (Δ+1)(\Delta+1)-着色:用颜色 {1,…,Δ+1}\{1,\dots,\Delta+1\} 给最大度 Δ\Delta 的图合法着色。集中式贪心(逐点取一个未被已着邻居占用的色)显然可行,但直接搬到 LOCAL 会退化为 Ω(n)\Omega(n) 轮(着色顺序是全局的)。

本讲分三步逼近 (Δ+1)(\Delta+1)-着色,轮数依次改进:

  1. Linial 算法:O(Δ2)O(\Delta^2) 色,O(log⁡∗n)O(\log^* n) 轮;
  2. Kuhn–Wattenhofer:转成 (Δ+1)(\Delta+1) 色,O(Δlog⁡Δ+log⁡∗n)O(\Delta\log\Delta+\log^* n) 轮;
  3. Kuhn 缺陷着色:进一步到 O(Δ+log⁡∗n)O(\Delta+\log^* n) 轮。

2. Take 1:Linial 的 O(Δ2)O(\Delta^2) 着色

定理 1.17. 存在确定性 LOCAL 算法,在 O(log⁡∗n)O(\log^* n) 轮内把任意最大度 Δ\Delta 的 nn 节点图着成 O(Δ2)O(\Delta^2) 色。

核心是单轮颜色缩减(推广自 Lec 1 引理 1.5;区别在于现在要避开所有邻居而非仅父亲):

引理 1.18. 给定最大度 Δ\Delta 图的 kk-着色,单轮内可算出 k′k'-着色,k′=O(Δ2log⁡k)k'=O(\Delta^2\log k);若 k≤Δ3k\le\Delta^3,则可改进到 k′=O(Δ2)k'=O(\Delta^2)。

定理 1.17 的证明. 从初始 nn-着色出发反复用引理 1.18: n→O(Δ2log⁡n)→O(Δ2(log⁡Δ+log⁡log⁡n))→⋯n \to O(\Delta^2\log n)\to O(\Delta^2(\log\Delta+\log\log n))\to\cdots O(log⁡∗n)O(\log^* n) 次后到 O(Δ2log⁡Δ)O(\Delta^2\log\Delta) 色,再用引理 1.18 第二部分一轮降到 O(Δ2)O(\Delta^2) 色。□\square

3. 关键工具:覆盖无关族 (Cover-Free Families)

覆盖无关族(Cover-Free Family)

给定基集 {1,…,k′}\{1,\dots,k'\},集族 S1,…,Sk⊆{1,…,k′}S_1,\dots,S_k\subseteq\{1,\dots,k'\} 称为 Δ\Delta-覆盖无关族,若对任意指标 i0,i1,…,iΔi_0,i_1,\dots,i_\Delta 都有 Si0∖(⋃j=1ΔSij)≠∅.S_{i_0}\setminus\Big(\bigcup_{j=1}^{\Delta} S_{i_j}\Big)\ne\varnothing. 即:族中没有任何一个集合被另外 Δ\Delta 个集合的并所覆盖。

用法(单轮颜色缩减). 旧色为 qq 的节点 vv 用集合 Sq⊆{1,…,k′}S_q\subseteq\{1,\dots,k'\} 作为自己的“候选色集”。它取新色 q′∈Sqq'\in S_q 使得 q′q' 不在任何邻居的候选色集中。覆盖无关性恰好保证:vv 至多 Δ\Delta 个邻居的色集之并不能盖住 SqS_q,故这样的 q′q' 必存在。

覆盖无关族是 Sperner 家族(Lec 1)的推广:Sperner 家族 = 1-覆盖无关族。我们希望基集 k′k' 尽量小。

3.1 存在性:概率方法(Lemma 1.20)

引理 1.20. 对任意 k,Δk,\Delta,存在大小为 kk、基集大小 k′=O(Δ2log⁡k)k'=O(\Delta^2\log k) 的 Δ\Delta-覆盖无关族。

证明. 取 k′=CΔ2log⁡kk'=C\Delta^2\log k(CC 充分大)。对每个 ii,让 SiS_i 独立地以概率 p=1/Δp=1/\Delta 纳入每个元素。固定 i0,…,iΔi_0,\dots,i_\Delta,单个元素 qq 落入 Si0∖⋃jSijS_{i_0}\setminus\bigcup_j S_{i_j} 的概率为 1Δ(1−1Δ)Δ≥14Δ\tfrac1\Delta(1-\tfrac1\Delta)^\Delta\ge\tfrac{1}{4\Delta}。故无任何此种 qq 的概率 ≤(1−14Δ)k′≤e−CΔlog⁡k/4\le(1-\tfrac1{4\Delta})^{k'}\le e^{-C\Delta\log k/4}。指标选法共 k(k−1Δ)≤k(k−1)Δk\binom{k-1}{\Delta}\le k(k-1)^\Delta 种,并集界给出失败概率 ≤k(k−1)Δe−CΔlog⁡k/4≤e−CΔlog⁡k/8≪1.\le k(k-1)^\Delta e^{-C\Delta\log k/4}\le e^{-C\Delta\log k/8}\ll 1. 故存在。□\square

3.2 显式构造:低次多项式(Lemma 1.21)

引理 1.21. 对 Δ≥k1/3\Delta\ge k^{1/3},存在大小 kk、基集 k′=O(Δ2)k'=O(\Delta^2) 的 Δ\Delta-覆盖无关族。

证明. 取素数 q∈[3Δ,6Δ]q\in[3\Delta,6\Delta](由伯特兰-切比雪夫定理存在)。在有限域 Fq\mathbb F_q 上,给每个 ii 配一个不同的 2 次多项式 gi:Fq→Fqg_i:\mathbb F_q\to\mathbb F_q(共 q3>Δ3>kq^3>\Delta^3>k 个,足够)。令 Si={(a,gi(a)):a∈Fq}⊆Fq×FqS_i=\{(a,g_i(a)):a\in\mathbb F_q\}\subseteq\mathbb F_q\times\mathbb F_q,基集大小 k′=q2=O(Δ2)k'=q^2=O(\Delta^2)。两条性质:

  • (A) ∣Si∣=q|S_i|=q;
  • (B) i≠i′i\ne i' 时 ∣Si∩Si′∣≤2|S_i\cap S_{i'}|\le 2(因 gi−gi′g_i-g_{i'} 为 ≤2\le 2 次多项式,至多 2 个零点)。

于是 ∣Si0∖⋃j=1ΔSij∣≥∣Si0∣−∑j=1Δ∣Si0∩Sij∣≥q−2Δ>Δ≥1.□\Big|S_{i_0}\setminus\bigcup_{j=1}^\Delta S_{i_j}\Big|\ge |S_{i_0}|-\sum_{j=1}^\Delta|S_{i_0}\cap S_{i_j}|\ge q-2\Delta>\Delta\ge 1.\qquad\square

去掉 Δ≥k1/3\Delta\ge k^{1/3} 假设:取 q=Θ(Δlog⁡Δk)q=\Theta(\Delta\log_\Delta k)、d=Θ(log⁡Δk)d=\Theta(\log_\Delta k),得 k′=O(Δ2log⁡Δ2k)k'=O(\Delta^2\log^2_\Delta k)。

引理 1.20 与 1.21 即给出引理 1.18,从而完成定理 1.17。

4. Take 2:Kuhn–Wattenhofer,转成 (Δ+1)(\Delta+1) 着色

4.1 逐一缩减(Warm-up)

引理 1.22. 给定最大度 Δ\Delta 图的 kk-着色(k≥Δ+2k\ge\Delta+2),单轮内可算 (k−1)(k-1)-着色。

证明. 颜色 ≠k\ne k 的节点不变;颜色 =k=k 的节点改取 {1,…,Δ+1}\{1,\dots,\Delta+1\} 中某个未被邻居占用的色(因度 ≤Δ\le\Delta,必存在)。□\square

定理 1.23. 存在确定性 LOCAL 算法在 O(Δ2+log⁡∗n)O(\Delta^2+\log^* n) 轮内给出 (Δ+1)(\Delta+1)-着色。

(先 Linial 得 O(Δ2)O(\Delta^2) 色,再逐一缩减 O(Δ2)O(\Delta^2) 轮。)

4.2 分桶并行缩减(KW06 的巧思)

引理 1.24. 给定 kk-着色(k≥Δ+2k\ge\Delta+2),在 O(Δlog⁡kΔ+1)O(\Delta\log\tfrac{k}{\Delta+1}) 轮内可算 (Δ+1)(\Delta+1)-着色。

证明. 把颜色 {1,…,k}\{1,\dots,k\} 分成 ⌊k2Δ+2⌋\lfloor\tfrac{k}{2\Delta+2}\rfloor 个桶,每桶 2Δ+22\Delta+2 色。各桶可并行做逐一缩减(不同桶色不交,互不干扰),O(Δ)O(\Delta) 轮后每桶降到 Δ+1\Delta+1 色,总色数减半。重复 ⌈log⁡kΔ+1⌉\lceil\log\tfrac{k}{\Delta+1}\rceil 次即到 Δ+1\Delta+1 色。□\square

定理 1.25. 存在确定性 LOCAL 算法在 O(Δlog⁡Δ+log⁡∗n)O(\Delta\log\Delta+\log^* n) 轮内给出 (Δ+1)(\Delta+1)-着色。

(Linial 得 O(Δ2)O(\Delta^2) 色,再用引理 1.24,k=O(Δ2)k=O(\Delta^2) 时为 O(Δlog⁡Δ)O(\Delta\log\Delta) 额外轮。)

5. Take 3:Kuhn 缺陷着色,O(Δ+log⁡∗n)O(\Delta+\log^* n) 轮

缺陷着色(Defective Coloring)

φ:V→{1,…,k}\varphi:V\to\{1,\dots,k\} 称为 dd-缺陷 kk-着色,若每种颜色 qq 诱导的子图最大度 ≤d\le d;即每个节点至多有 dd 个同色邻居。标准合法着色就是 00-缺陷着色。

引理 1.28. 给定 dd-缺陷 kk-着色,单轮内可算 d′d'-缺陷 k′k'-着色,k′=O((Δ−dd′−d+1)2log⁡k)k'=O\big((\tfrac{\Delta-d}{d'-d+1})^2\log k\big)。 (即:大幅减色,仅微增缺陷。)

定理 1.26. 存在确定性 LOCAL 算法在 O(Δ+log⁡∗n)O(\Delta+\log^* n) 轮内给出 (Δ+1)(\Delta+1)-着色。

证明(递归分解度数). 先 Linial 得 CΔ2C\Delta^2 色。反复用引理 1.28: CΔ2-色→(Δlog⁡Δ)-缺陷 O(log⁡3Δ)-色→⋯C\Delta^2\text{-色}\to(\tfrac{\Delta}{\log\Delta})\text{-缺陷}\,O(\log^3\Delta)\text{-色}\to\cdots O(log⁡∗Δ)O(\log^*\Delta) 次后得 (Δ2)(\tfrac\Delta2)-缺陷 O(1)O(1)-色。每个色类诱导出最大度 ≤Δ/2\le\Delta/2 的子图,即把 GG 分成 O(1)O(1) 个度 ≤Δ/2\le\Delta/2 的子图 G1,…,GO(1)G_1,\dots,G_{O(1)},对各自递归用 Δ/2+1\Delta/2+1 色(并行),合并后是 O(Δ)O(\Delta) 色,再逐一缩减 O(Δ)O(\Delta) 轮到 Δ+1\Delta+1。递归式 T(Δ)=O(log⁡∗Δ)+T(Δ/2)+O(Δ) ⇒ T(Δ)=O(Δ).T(\Delta)=O(\log^*\Delta)+T(\Delta/2)+O(\Delta)\ \Rightarrow\ T(\Delta)=O(\Delta). 加上初始 O(log⁡∗n)O(\log^* n) 即得。□\square

6. 历史与现状

O(Δ+log⁡∗n)O(\Delta+\log^* n) 长期被认为可能是确定性 (Δ+1)(\Delta+1)-着色的极限,直到 2015:

  • Barenboim (2015): O(Δ3/4log⁡Δ+log⁡∗n)O(\Delta^{3/4}\log\Delta+\log^* n);
  • Fraigniaud–Heinrich–Kosowski (FHK16): O(Δlog⁡2.5Δ+log⁡∗n)O(\sqrt\Delta\log^{2.5}\Delta+\log^* n)。

确定性 (Δ+1)(\Delta+1)-着色的最优轮复杂度仍是重要开放问题。随机算法是另一条线(Lec 5:O(log⁡n)O(\log n) 随机 (Δ+1)(\Delta+1)-着色)。

7. 本讲小结与算法对比

算法颜色数轮数关键工具
Linial (Take 1)O(Δ2)O(\Delta^2)O(log⁡∗n)O(\log^* n)覆盖无关族
Kuhn–Wattenhofer (Take 2)Δ+1\Delta+1O(Δlog⁡Δ+log⁡∗n)O(\Delta\log\Delta+\log^* n)分桶并行缩减
Kuhn 缺陷着色 (Take 3)Δ+1\Delta+1O(Δ+log⁡∗n)O(\Delta+\log^* n)缺陷着色 + 度数减半递归

主线:“先快速降到 poly(Δ)\mathrm{poly}(\Delta) 色(覆盖无关族,O(log⁡∗n)O(\log^* n) 轮),再把对 Δ\Delta 的依赖一步步压低(分桶 / 缺陷着色)”。