Lec 3 一般图的确定性着色
对应 DGA 第 1.4 节 · 延伸阅读:Linial (1992)、Kuhn–Wattenhofer (PODC 2006)、Kuhn (SPAA 2009)
TL;DR
- 在最大度为 Δ 的图上,Linial 算法利用覆盖无关族在 O(log∗n) 轮内将着色数压缩至 O(Δ2)。
- Kuhn-Wattenhofer 引入分桶并行缩减技巧,在 O(ΔlogΔ+log∗n) 轮内将色数降低至 (Δ+1)。
- Kuhn 缺陷着色通过允许受控的同色邻居度数,配合度数减半递归,进一步实现了 O(Δ+log∗n) 轮的确定性 (Δ+1)-着色。
1. 本讲要回答的核心问题
终极目标是 (Δ+1)-着色:用颜色 {1,…,Δ+1} 给最大度 Δ 的图合法着色。集中式贪心(逐点取一个未被已着邻居占用的色)显然可行,但直接搬到 LOCAL 会退化为 Ω(n) 轮(着色顺序是全局的)。
本讲分三步逼近 (Δ+1)-着色,轮数依次改进:
- Linial 算法:O(Δ2) 色,O(log∗n) 轮;
- Kuhn–Wattenhofer:转成 (Δ+1) 色,O(ΔlogΔ+log∗n) 轮;
- Kuhn 缺陷着色:进一步到 O(Δ+log∗n) 轮。
2. Take 1:Linial 的 O(Δ2) 着色
定理 1.17. 存在确定性 LOCAL 算法,在 O(log∗n) 轮内把任意最大度 Δ 的 n 节点图着成 O(Δ2) 色。
核心是单轮颜色缩减(推广自 Lec 1 引理 1.5;区别在于现在要避开所有邻居而非仅父亲):
引理 1.18. 给定最大度 Δ 图的 k-着色,单轮内可算出 k′-着色,k′=O(Δ2logk);若 k≤Δ3,则可改进到 k′=O(Δ2)。
定理 1.17 的证明. 从初始 n-着色出发反复用引理 1.18:
n→O(Δ2logn)→O(Δ2(logΔ+loglogn))→⋯
O(log∗n) 次后到 O(Δ2logΔ) 色,再用引理 1.18 第二部分一轮降到 O(Δ2) 色。□
3. 关键工具:覆盖无关族 (Cover-Free Families)
覆盖无关族(Cover-Free Family)
给定基集 {1,…,k′},集族 S1,…,Sk⊆{1,…,k′} 称为 Δ-覆盖无关族,若对任意指标 i0,i1,…,iΔ 都有
Si0∖(⋃j=1ΔSij)=∅.
即:族中没有任何一个集合被另外 Δ 个集合的并所覆盖。
用法(单轮颜色缩减). 旧色为 q 的节点 v 用集合 Sq⊆{1,…,k′} 作为自己的“候选色集”。它取新色 q′∈Sq 使得 q′ 不在任何邻居的候选色集中。覆盖无关性恰好保证:v 至多 Δ 个邻居的色集之并不能盖住 Sq,故这样的 q′ 必存在。
覆盖无关族是 Sperner 家族(Lec 1)的推广:Sperner 家族 = 1-覆盖无关族。我们希望基集 k′ 尽量小。
3.1 存在性:概率方法(Lemma 1.20)
引理 1.20. 对任意 k,Δ,存在大小为 k、基集大小 k′=O(Δ2logk) 的 Δ-覆盖无关族。
证明. 取 k′=CΔ2logk(C 充分大)。对每个 i,让 Si 独立地以概率 p=1/Δ 纳入每个元素。固定 i0,…,iΔ,单个元素 q 落入 Si0∖⋃jSij 的概率为 Δ1(1−Δ1)Δ≥4Δ1。故无任何此种 q 的概率 ≤(1−4Δ1)k′≤e−CΔlogk/4。指标选法共 k(Δk−1)≤k(k−1)Δ 种,并集界给出失败概率
≤k(k−1)Δe−CΔlogk/4≤e−CΔlogk/8≪1.
故存在。□
3.2 显式构造:低次多项式(Lemma 1.21)
引理 1.21. 对 Δ≥k1/3,存在大小 k、基集 k′=O(Δ2) 的 Δ-覆盖无关族。
证明. 取素数 q∈[3Δ,6Δ](由伯特兰-切比雪夫定理存在)。在有限域 Fq 上,给每个 i 配一个不同的 2 次多项式 gi:Fq→Fq(共 q3>Δ3>k 个,足够)。令 Si={(a,gi(a)):a∈Fq}⊆Fq×Fq,基集大小 k′=q2=O(Δ2)。两条性质:
- (A) ∣Si∣=q;
- (B) i=i′ 时 ∣Si∩Si′∣≤2(因 gi−gi′ 为 ≤2 次多项式,至多 2 个零点)。
于是
Si0∖⋃j=1ΔSij≥∣Si0∣−∑j=1Δ∣Si0∩Sij∣≥q−2Δ>Δ≥1.□
去掉 Δ≥k1/3 假设:取 q=Θ(ΔlogΔk)、d=Θ(logΔk),得 k′=O(Δ2logΔ2k)。
引理 1.20 与 1.21 即给出引理 1.18,从而完成定理 1.17。
4. Take 2:Kuhn–Wattenhofer,转成 (Δ+1) 着色
4.1 逐一缩减(Warm-up)
引理 1.22. 给定最大度 Δ 图的 k-着色(k≥Δ+2),单轮内可算 (k−1)-着色。
证明. 颜色 =k 的节点不变;颜色 =k 的节点改取 {1,…,Δ+1} 中某个未被邻居占用的色(因度 ≤Δ,必存在)。□
定理 1.23. 存在确定性 LOCAL 算法在 O(Δ2+log∗n) 轮内给出 (Δ+1)-着色。
(先 Linial 得 O(Δ2) 色,再逐一缩减 O(Δ2) 轮。)
4.2 分桶并行缩减(KW06 的巧思)
引理 1.24. 给定 k-着色(k≥Δ+2),在 O(ΔlogΔ+1k) 轮内可算 (Δ+1)-着色。
证明. 把颜色 {1,…,k} 分成 ⌊2Δ+2k⌋ 个桶,每桶 2Δ+2 色。各桶可并行做逐一缩减(不同桶色不交,互不干扰),O(Δ) 轮后每桶降到 Δ+1 色,总色数减半。重复 ⌈logΔ+1k⌉ 次即到 Δ+1 色。□
定理 1.25. 存在确定性 LOCAL 算法在 O(ΔlogΔ+log∗n) 轮内给出 (Δ+1)-着色。
(Linial 得 O(Δ2) 色,再用引理 1.24,k=O(Δ2) 时为 O(ΔlogΔ) 额外轮。)
5. Take 3:Kuhn 缺陷着色,O(Δ+log∗n) 轮
缺陷着色(Defective Coloring)
φ:V→{1,…,k} 称为 d-缺陷 k-着色,若每种颜色 q 诱导的子图最大度 ≤d;即每个节点至多有 d 个同色邻居。标准合法着色就是 0-缺陷着色。
引理 1.28. 给定 d-缺陷 k-着色,单轮内可算 d′-缺陷 k′-着色,k′=O((d′−d+1Δ−d)2logk)。
(即:大幅减色,仅微增缺陷。)
定理 1.26. 存在确定性 LOCAL 算法在 O(Δ+log∗n) 轮内给出 (Δ+1)-着色。
证明(递归分解度数). 先 Linial 得 CΔ2 色。反复用引理 1.28:
CΔ2-色→(logΔΔ)-缺陷O(log3Δ)-色→⋯
O(log∗Δ) 次后得 (2Δ)-缺陷 O(1)-色。每个色类诱导出最大度 ≤Δ/2 的子图,即把 G 分成 O(1) 个度 ≤Δ/2 的子图 G1,…,GO(1),对各自递归用 Δ/2+1 色(并行),合并后是 O(Δ) 色,再逐一缩减 O(Δ) 轮到 Δ+1。递归式
T(Δ)=O(log∗Δ)+T(Δ/2)+O(Δ) ⇒ T(Δ)=O(Δ).
加上初始 O(log∗n) 即得。□
6. 历史与现状
O(Δ+log∗n) 长期被认为可能是确定性 (Δ+1)-着色的极限,直到 2015:
- Barenboim (2015): O(Δ3/4logΔ+log∗n);
- Fraigniaud–Heinrich–Kosowski (FHK16): O(Δlog2.5Δ+log∗n)。
确定性 (Δ+1)-着色的最优轮复杂度仍是重要开放问题。随机算法是另一条线(Lec 5:O(logn) 随机 (Δ+1)-着色)。
7. 本讲小结与算法对比
| 算法 | 颜色数 | 轮数 | 关键工具 |
|---|
| Linial (Take 1) | O(Δ2) | O(log∗n) | 覆盖无关族 |
| Kuhn–Wattenhofer (Take 2) | Δ+1 | O(ΔlogΔ+log∗n) | 分桶并行缩减 |
| Kuhn 缺陷着色 (Take 3) | Δ+1 | O(Δ+log∗n) | 缺陷着色 + 度数减半递归 |
主线:“先快速降到 poly(Δ) 色(覆盖无关族,O(log∗n) 轮),再把对 Δ 的依赖一步步压低(分桶 / 缺陷着色)”。