ESC
输入关键词搜索文章
目录

图着色与组合优化:从四色定理到 NP-完全性

图论 · 图着色 · 组合优化
从地图着色到无线频谱分配的数学理论
引言
图着色:数学中最深刻的组合问题之一

图着色是组合数学中最深刻、最具应用广度的问题之一。从 1852 年 Guthrie 兄弟在地图着色中发现的四色猜想,到现代无线通信的频谱分配,它始终站在理论计算机科学与工程实践的交汇处。本文系统梳理图着色问题的起源、基本理论、计算复杂性,以及它在现实世界中的关键应用。

第一章 · 起源
图着色问题的起源

1.1 四色猜想的诞生

1852 年,正在为英国各郡地图着色的 Francis Guthrie 向其老师 Augustus De Morgan 提出一个问题:任何平面地图是否仅需四种颜色即可使得相邻区域着以不同颜色?这里的"相邻"指共享一条有限长边界,而非仅共享一个点。

这个问题在 1879 年被 Alfred Kempe 给出了一个看似完整的证明,但在 1890 年 Percy Heawood 发现了 Kempe 论证中的一个关键错误。尽管如此,Heawood 在纠正错误的过程中证明了更强的结论——五色定理:任何平面地图可用至多五种颜色着色。五色定理的证明相对简洁,利用了平面图的欧拉公式 $|V| - |E| + |F| = 2$ 以及度数上界。

历史跨度:四色猜想从 1852 年提出到 1976 年被证明,跨越了 124 年,是数学史上等待证明时间最长的著名猜想之一。

1.2 地图着色与图着色的等价性

地图着色与顶点着色之间的等价变换,是将几何问题转化为纯组合问题的关键步骤。具体构造如下:

  • 将地图中每个区域映射为图的一个顶点
  • 若两个区域共享一条有限长度边界,则在对应顶点之间添加一条边

得到的图是平面图(可以嵌入平面且边之间无交叉)。反之,任何平面图都可以从某个地图中通过上述方式得到。这个等价变换意味着,四色猜想可以重新表述为:

$$\text{任何平面图 } G \text{ 满足 } \chi(G) \leq 4$$

其中 $\chi(G)$ 表示图 $G$色数(chromatic number),即对 $G$ 进行正常着色所需的最少颜色数。

四色定理的等价变换图示

graph LR
    subgraph 地图
        M1["区域 A"]
        M2["区域 B"]
        M3["区域 C"]
        M4["区域 D"]
        M1 --- M2
        M2 --- M3
        M3 --- M4
        M2 --- M4
    end
    subgraph 等价变换
        TF["⇩ 区域→顶点 ⇩"]
    end
    subgraph 图
        G1["顶点 A"]
        G2["顶点 B"]
        G3["顶点 C"]
        G4["顶点 D"]
        G1 --- G2
        G2 --- G3
        G3 --- G4
        G2 --- G4
    end

参考来源

  • Appel, K. & Haken, W. (1977). Every planar map is four colorable. Bulletin of the American Mathematical Society, 82(5), 711–712.
  • West, D. B. (2001). Introduction to Graph Theory (2nd ed.). Prentice Hall. 第 5 章图着色基础。
第二章 · 理论基础
基本定义与核心定理

2.1 顶点着色与色数

正常 k-着色

一个正常 $k$-着色(proper $k$-coloring)是一个函数 $c: V(G) \to \{1, 2, \ldots, k\}$,使得对每条边 $\{u, v\} \in E(G)$,有 $c(u) \neq c(v)$

色数

图的色数 $\chi(G)$ 定义为:

$$\chi(G) = \min\{ k \in \mathbb{N} \mid G \text{ 存在正常 } k\text{-着色} \}$$

例题 1:计算图的色数

题目:计算下列各图的色数 $\chi(G)$

  1. 完全图 $K_5$(5 个顶点,每对顶点都相邻)
  2. 偶环 $C_4$(4 个顶点围成方形环)
  3. 奇环 $C_5$(5 个顶点围成五边形)

解答:

  1. $K_5$ 的色数:完全图中每对顶点相邻,因此任意两个顶点必须颜色不同。故 $\chi(K_5) = 5$
  2. $C_4$ 的色数:偶环只需两种颜色交替着色即可满足相邻顶点不同色的要求。故 $\chi(C_4) = 2$
  3. $C_5$ 的色数:奇环无法用两种颜色交替着色(回到起点会冲突),至少需要 3 种颜色。故 $\chi(C_5) = 3$
规律总结:完全图 $K_n$ 的色数为 $n$;偶环 $C_{2m}$ 的色数为 2;奇环 $C_{2m+1}$ 的色数为 3。

$\Delta(G) = \max\{ \deg(v) : v \in V(G) \}$ 为图的最大度数。一个平凡的上界是 $\chi(G) \leq \Delta(G) + 1$——按任意顺序逐顶点着色,每个顶点至多与 $\Delta(G)$ 个已着色邻居冲突,因此最多需要 $\Delta(G) + 1$ 种颜色。这个上界通常很宽松。

2.2 Brooks 定理

Brooks 定理

$G$ 是连通的且既不是完全图 $K_{n}(n \geq 3)$,也不是奇环,则

$$\chi(G) \leq \Delta(G)$$

换言之,除完全图和奇环这两类"极端"图之外,所有图的色数至多是 $\Delta(G)$,而非 $\Delta(G) + 1$。完全图 $K_n$ 需要 $n$ 种颜色,而 $\Delta(K_n) = n - 1$,所以恰好达到 $\Delta(G) + 1$ 的下界。奇环 $C_{2m+1}$$\Delta = 2$,但需要 3 种颜色。

直觉证明思路

$G$ 的最大度数为 $\Delta$。取一个深度优先搜索生成树,从根向下逐层着色。关键观察是:除了根节点(可能最多有 $\Delta$ 个子节点与之相邻)之外,树上任何顶点的已着色邻居数不超过 $\Delta - 1$——因为它的父节点已经在树边上连接,剩余的 $\Delta - (\text{已着色邻居数})$ 个邻居可以提供足够的颜色自由度。当图不是完全图或奇环时,存在某个度数为 $\Delta$ 的顶点,其非邻居在图中形成了足够大的不相关集,从而保证可以用 $\Delta$ 种颜色完成着色。

2.3 边着色与 Vizing 定理

顶点着色是对边添加约束(相邻边不能共端点颜色),边着色是对相邻边添加约束(共享端点的边必须颜色不同)。设 $\chi'(G)$ 为图 $G$ 的边色数。

Vizing 定理(1964)

$$\Delta(G) \leq \chi'(G) \leq \Delta(G) + 1$$

这意味着任何图的边色数要么是 $\Delta(G)$(第一类),要么是 $\Delta(G) + 1$(第二类)。

对于平面图,Vizing 证明所有平面图的边色数至多是 $\Delta(G) + 1$。确定一个图属于哪一类是一个困难的问题(对一般图是 NP-完全的),但 Vizing 定理已经足够精确地限定了范围。

参考来源

  • Brooks, R. L. (1941). On colouring the nodes of a network. Mathematical Proceedings of the Cambridge Philosophical Society, 37(2), 194–203.
  • Vizing, V. G. (1964). On an estimate of the chromatic class of a $p$-graph. Discretnaya Matematika, 3, 25–30.
第三章 · 四色定理
四色定理的证明历程

3.1 Appel-Haken 的计算机辅助证明(1976)

1976 年 6 月 21 日,Kenneth Appel 和 Wolfgang Haken 在伊利诺伊大学宣布证明了四色定理。他们的证明方法是不可避免性 + 可约性方法的集大成之作。

不可避免性(Unavoidability)

证明如果一个平面图是最小五色反例(即需要五种颜色但边数最少),则它必然包含某些"不可避免"的局部结构。具体而言,通过放电法(discharging method),Appel 和 Haken 证明了任何最小反例必须包含 1936 种"不可避免构型"中的至少一种。

可约性(Reducibility)

证明上述构型中的每一种——称为可约构型——都不可能出现在最小反例中。若一个构型存在,则通过对局部区域的精细分析,可以将图的规模缩小,同时保持反例性质,导致无限递降的矛盾。

整个证明依赖于计算机对 1936 种不可约构型的逐一验证。1989 年,Appel 和 Haken 发表了完整的证明,包含 400 多页的手工推导和大量计算机验证。当时这一证明引发了数学界的激烈争论——首次有数学定理依赖计算机辅助证明且无法人工验证其全部细节。

3.2 Robertson-Sanders-Seymour-Thomas 的简化证明(1997)

1997 年,Neil Robertson、Paul Seymour、Daniel Sanders 和 Robin Thomas 给出了一个显著简化的证明版本。该证明同样基于不可避免性和可约性,但将不可约构型的数量从 1936 减少到 633。尽管这仍然是无法手工逐一验证的数量,但证明的结构更加清晰,算法验证也更加高效。

3.3 定理的机器验证

2005 年,Georges Gonthier 使用通用形式化证明助手 Coq,给出了四色定理的完整形式化验证。这不仅确认了证明的正确性,还意味着证明的每一步都可以在计算机上自动验证,从而回应了关于传统计算机辅助证明可靠性的质疑。

四色定理

$$\text{任何无自环的平面图 } G \text{ 满足 } \chi(G) \leq 4$$

参考来源

  • Robertson, N., Sanders, D., Seymour, P. & Thomas, R. (1997). The four-color theorem. Journal of Combinatorial Theory, Series B, 70(1), 2–44.
  • Gonthier, G. (2005). A formal proof of the four color theorem. Proceedings of the First International Conference on Certified Programs and Proofs, 183–198.
第四章 · 计算复杂性
NP-完全性

4.1 图着色判定问题的复杂性

图着色判定问题(Graph Coloring Decision Problem)可以表述为:给定图 $G = (V, E)$ 和整数 $k$,判定是否存在 $G$ 的一个正常 $k$-着色?记为 $k$-COLORING。

  • $k = 2$ 时,判定图是否是二部图(bipartite graph),可以在多项式时间内通过 BFS 或 DFS 完成
  • $k \geq 3$ 时,问题是 NP-完全的

NP-完全性定理

对任意 $k \geq 3$$k$-COLORING 是 NP-完全的。

4.2 从 3-SAT 到 3-色的归约

为了证明 3-COLORING 的 NP-完全性,需要从已知的 NP-完全问题(通常选择 3-SAT)进行多项式时间归约。归约的核心思想是为每个 3-SAT 实例构造一个图,使得该公式可满足当且仅当构造的图可以用 3 种颜色着色。

归约构造图示

graph TB
    subgraph 构造组件
        VAR["变量 Gadget
v_i — v_i' 与 B 构成三角形"] OR["OR Gadget
5 个辅助顶点"] BASE["全局基础顶点
T — F — B 三角形"] end subgraph 3-SAT 实例 F["公式 (x₁ ∨ ¬x₂ ∨ x₃)"] end subgraph 构造结果 G["图 G
可 3-着色 ⟺ 公式可满足"] end F --> VAR F --> OR VAR --> G OR --> G BASE --> G

具体构造包含以下组件:

  1. 变量 gadget:对每个变量 $x_i$,创建两个顶点 $v_i$$v_i'$(表示 $x_i$$\neg x_i$),它们与一个公共基础顶点 $B$ 形成一个三角形。这一约束强制 $v_i$$v_i'$ 分别着两种不同的颜色,从而对应 TRUE 和 FALSE 的语义。
  2. 句 Gadget:对每个子句 $c = (u \vee v \vee w)$,构造一个 OR-gadget,包含 5 个辅助顶点,通过特定的连接方式确保:若三个文字 $u, v, w$ 的对应顶点全部为 FALSE(即都被着色为与 FALSE 对应的颜色),则 OR-gadget 的输出顶点无法合法着色。
  3. 全局颜色框架:引入三个特殊的全局顶点 T、F、B,形成一个三角形。这三个顶点强制所有颜色被限制在恰好三个不同的颜色类中。

归约的正确性

(充分性):若 3-SAT 公式存在可满足赋值,则对每个变量根据真值选择 T 或 F 的颜色,OR-gadget 可以正确着色,从而得到合法的 3-着色。

(必要性):若图可以 3-着色,则每个变量 gadget 强制变量取唯一真值,且每个 OR-gadget 约束保证其对应句中至少有一个文字为真,从而得到一个可满足赋值。

因此,3-COLORING 是 NP-完全问题。由于 3-COLORING 是 $k$-COLORING 的特例,一般的 $k$-COLORING($k \geq 3$)也是 NP-完全的。

4.3 近似的困难性

图着色问题的近似算法同样面临严峻的困难。在最优颜色数的近似比上,已知结果为:除非 $\text{P} = \text{NP}$,对任意常数 $\varepsilon > 0$,不存在多项式时间近似算法能在 $O(n^{1 - \varepsilon})$ 的近似比内逼近最优色数。这与许多其他 NP-困难问题(如独立集)类似,APPROX-COLORING 的问题在理论上几乎是不可改进的。

参考来源

  • Garey, M. R. & Johnson, D. S. (1979). Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman. 第 5 节图着色 NP-完全性证明。
第五章 · 算法
贪心着色与算法

5.1 贪心着色算法

最朴素的图着色算法是贪心着色(Greedy Coloring):按任意顺序遍历图中的顶点,每次为当前顶点分配它所遇到的第一个可用颜色。

贪心着色算法流程图

graph TD
    A["开始:输入图 G"] --> B["将顶点排成序列
v₁, v₂, ..., vₙ"] B --> C["i = 1"] C --> D{"i ≤ n?"} D -->|"是"| E["为 vᵢ 分配最小可用颜色
(未被邻居使用的最小颜色)"] E --> F["i = i + 1"] F --> D D -->|"否"| G["输出着色方案"] G --> H["结束"]

算法描述

  1. 将图 $G$ 的顶点排成一个序列 $(v_1, v_2, \ldots, v_n)$
  2. $i = 1$$n$,将 $v_i$ 着色为当前未被其邻居使用的最小颜色编号

时间复杂度$O(|V| + |E|)$。使用颜色数的上界为 $\Delta(G) + 1$

问题:贪心算法的性能对顶点顺序极为敏感。最坏的顶点顺序可能使用 $\Delta(G) + 1$ 种颜色,而一个精心选择的顺序可能只需要接近 $\chi(G)$ 的颜色数。例如,对于完全图 $K_n$,任何顺序都需要 $n$ 种颜色;但对于路径图 $P_n$,按自然顺序仅需 2 种颜色,而一个"坏"的顺序(如交替端点)可能使用更多颜色。

例题 2:应用贪心着色算法

题目:对下图所示的图使用贪心着色算法,分别按两种不同顶点顺序着色。

图结构:顶点 A、B、C、D,边的连接为 A-B、A-C、B-D、C-D(即 A、C 与 B、D 分别构成 K₂,AC 和 BD 是对角线)。这是一个四边形环图(偶环 $C_4$)。

顺序 1(自然顺序):A → B → C → D

  1. A:分配颜色 1
  2. B:邻居 A 使用颜色 1,分配颜色 2
  3. C:邻居 A 使用颜色 1(仅 A 相邻),分配颜色 2(与 B 不同)
  4. D:邻居 B、C 使用颜色 2,分配颜色 1

结果:使用 2 种颜色。

顺序 2(坏顺序):A → C → B → D

  1. A:分配颜色 1
  2. C:邻居 A 使用颜色 1,分配颜色 2
  3. B:邻居 A 使用颜色 1(不与 C 相邻),分配颜色 2?但 B 与 D 尚未着色,这里只需避开 A 的颜色 1,分配 2
  4. D:邻居 B、C 使用颜色 2,分配颜色 1

结果:仍然使用 2 种颜色。但若图结构更复杂,不同顺序可能产生不同颜色数。

5.2 Welsh-Powell 算法

Welsh-Powell 算法(1967)是最早的改进贪心策略之一,其核心思想是优先处理高度数顶点

  1. 按度数降序排列所有顶点
  2. 按此顺序进行贪心着色

直觉:高度数顶点的约束最多,先处理它们可以避免后期颜色冲突。通过优先消除高约束顶点,算法通常能在较少颜色数内完成着色。对大多数图,这一策略显著优于随机顺序,但仍然无法保证接近最优色数。

5.3 DSatur 算法(分支限界法)

饱和度(saturation degree)定义为:一个顶点当前已着色的邻居所使用的不同颜色的数量。DSatur(Degenration + Saturation)算法使用分支限界搜索,在每一步选择饱和度最高的顶点进行着色:

  1. 计算所有未着色顶点的饱和度
  2. 选择饱和度最大的顶点 $v$(若多个顶点饱和度相同,按度数打破平局)
  3. 尝试为 $v$ 分配每一种可能的颜色(剪枝:当剩余可用颜色数已不足以处理剩余子图时跳过)
  4. 递归或迭代直到找到完整着色或证明不可行

DSatur 是精确算法(最坏指数时间),但在实际应用中通过良好的剪枝策略,可以求解规模相当大的实例。它是组合优化中分支限界法(branch and bound)思想的具体应用,通过选择最"紧张"的位置进行搜索,以最大化剪枝效果。

参考来源

  • Brown, J. R. (1972). Chromatic scheduling and the chromatic number problem. Management Science, 19(4), 456–463.(DSatur 算法原始论文)
第六章 · 色多项式
色多项式理论

6.1 定义与基本性质

色多项式

色多项式(Chromatic Polynomial)$P(G, k)$ 定义为:图 $G$ 用恰好 $k$ 种颜色进行正常着色的不同方案数。$P(G, k)$ 是关于变量 $k$ 的多项式,其次数等于 $|V(G)|$

色多项式的研究动机来自两个方面:其一,它编码了图的所有着色方案的信息;其二,色多项式的研究直接导致了 Tutte 多项式的发现,后者是图不变量理论的核心对象。

6.2 删除-收缩递推

色多项式的核心计算工具是删除-收缩递推公式(Deletion-Contraction Recurrence):

$$P(G, k) = P(G \setminus e, k) - P(G / e, k)$$

删除-收缩递推图示

graph LR
    G["原图 G
边 e = uv"] --> D["删除操作
G \\ e"] G --> C["收缩操作
G / e"] D --> P1["P(G \\ e, k)
移除了边 e 的约束"] C --> P2["P(G / e, k)
合并 u 和 v"] P1 --> R["P(G, k)
= P(G \\ e) - P(G / e)"] P2 --> R

其中:

  • $G \setminus e$ 表示从 $G$删除$e$(保留端点)
  • $G / e$ 表示收缩$e$(合并其两个端点为一个顶点,删除自环,合并平行边)

公式直观理解

考虑图 $G$ 的所有 $k$-着色。对于边 $e = uv$:删除操作 $G \setminus e$ 移除了边 $e$ 的约束,使得 $u$$v$ 可以相同或不同颜色;收缩操作 $G / e$ 合并了 $u$$v$,强制它们颜色相同。在删除-着色方案中,颜色相同的那些方案恰好对应收缩图的着色方案,二者之差即为 $G$ 本身的合法着色数。

递推终止条件:当 $G$ 无边时,$P(G, k) = k^{|V|}$,因为每个顶点可以独立选择任意一种颜色。

6.3 完全图的色多项式

完全图 $K_n$ 的色多项式具有极为简洁的形式:

$$P(K_n, k) = k(k-1)(k-2)\cdots(k-n+1) = \frac{k!}{(k-n)!}$$

这正是因为完全图中每对顶点相邻,任何两个顶点不能同色,因此着色方案等价于从 $k$ 种颜色中选取一个无重复排列,即 $k$$n$-排列数。

6.4 色多项式系数的意义

色多项式 $P(G, k)$ 可以展开为:

$$P(G, k) = k^n - e_1 k^{n-1} + e_2 k^{n-2} - \cdots + (-1)^n e_n$$

其中 $e_i$ 为第 $i$ 个系数。

系数含义
$e_1$等于图 $G$ 的边数 $|E|$
$e_2$与图的连通性、环数等结构特征相关
最高次项系数为 1——因为用 $k$ 种颜色对 $n$ 个独立顶点(无约束)的着色方案数为 $k^n$

色多项式的研究揭示了图的结构性质与计数性质之间的深层联系。例如,若两个图的色多项式相同(色同构),它们在着色计数意义上不可区分,但可能具有完全不同的拓扑结构。

参考来源

  • Tutte, W. T. (1954). A contribution to the theory of chromatic polynomials. Canadian Journal of Mathematics, 6, 80–91.
第七章 · 应用
图着色在实际中的应用

7.1 无线通信频谱分配

现代无线通信系统(4G/5G 蜂窝网络、Wi-Fi、卫星通信)需要为大量发射设备分配频率信道。频谱分配的核心约束是同频干扰:若两个相邻(距离足够近)的基站使用相同的频率,信噪比将严重下降。

这一问题的图模型天然对应图着色:将每个基站(或访问点)建模为一个顶点,若两个顶点之间的距离低于干扰阈值,则它们之间连边。频率分配方案对应图的顶点着色——相邻基站不能使用同一信道(即同一颜色),不同颜色代表不同的频谱信道。

实际系统的复杂性

实际系统中的频谱分配更为复杂,需要考虑干扰强度的量化权重、信道可用性的地理差异等,但图着色模型提供了问题的基本框架和下界分析工具。由于一般的着色问题是 NP-困难的,实际系统通常使用启发式算法(如 DSatur 的改进版本)或基于图神经网络的方法来近似求解。

7.2 考试排期

考试排期问题(Exam Timetabling)的约束来源于:一个学生不能同时参加两场考试。这同样可以建模为图着色:每个考试对应一个顶点,若某个学生参加了考试 $A$ 和考试 $B$,则在对应顶点之间连一条边。排期方案对应一种着色——同一时间段(颜色)内安排的考试集合必须两两无冲突。

教育系统中实际的考试排期是大型组合优化问题,一个拥有 3 万名学生的大学可能需要安排数千场考试。图着色模型结合启发式算法(如基于约束的搜索、遗传算法)是这类问题的标准求解手段。

7.3 编译器中的寄存器分配

在编译器优化中,寄存器分配是一个核心问题:编译器需要将程序的无限多个临时变量映射到有限数量的 CPU 寄存器中,使得同一时间活跃的变量不共享寄存器。

这个问题可以建模为冲突图:图的顶点代表程序中的临时变量(或"虚拟寄存器"),两个顶点之间有边当且仅当相应变量在同一时间点同时活跃(即生命期交叉)。寄存器分配对应冲突图着色——每个颜色代表一个物理寄存器。

工程实践:Chaitin 等人在 1980 年代提出的图着色寄存器分配算法是编译器领域的经典方法,至今仍是 LLVM 等主流编译器的核心优化模块。这里的"颜色数"直接受限于目标 CPU 的物理寄存器数量(如 x86-64 有 16 个通用寄存器),因此着色算法的效率直接影响生成代码的质量。

7.4 地图着色

虽然四色定理在理论上已解决,但在地理信息系统(GIS)和其他视觉化场景中,地图着色仍然是一个实践问题。当地图包含飞地、碎片状区域或需要考虑更多约束(如不同区域可能有不同的优先级)时,问题可能超越经典四色设定的范畴。此外,艺术化地图着色可能需要满足美学约束(如颜色和谐、对比度),这些问题在图着色框架中可以通过加权着色或约束编程加以扩展。

结论
图着色问题的意义与展望

图着色问题横跨纯数学与计算科学两个维度。在纯数学层面,四色定理的证明标志着计算机辅助证明时代的到来,色多项式的研究引出了 Tutte 多项式这一图论与统计物理的统一框架。在计算科学层面,图着色的 NP-完全性揭示了组合优化中固有的计算困难,而 DSatur、Welsh-Powell 等算法则提供了在实践中可用的近似工具。

从无线频谱分配到编译器寄存器分配,从考试排期到地图可视化,图着色作为组合优化的核心模型,持续为工程实践提供理论框架和算法基础。理解图着色的理论边界与算法能力,是每一个从事算法设计或运筹优化的研究者必备的基础。

复习速查

  • 色数 $\chi(G)$:图 $G$ 进行正常着色所需的最少颜色数。
  • Brooks 定理:除完全图和奇环外,$\chi(G) \leq \Delta(G)$
  • Vizing 定理$\Delta(G) \leq \chi'(G) \leq \Delta(G) + 1$
  • 四色定理:任何平面图满足 $\chi(G) \leq 4$
  • NP-完全性$k$-COLORING($k \geq 3$)是 NP-完全问题。
  • 删除-收缩递推$P(G, k) = P(G \setminus e, k) - P(G / e, k)$
  • 贪心着色$O(|V| + |E|)$,颜色数上界 $\Delta(G) + 1$

参考来源

  • Appel, K. & Haken, W. (1977). Every planar map is four colorable. Bulletin of the American Mathematical Society, 82(5), 711–712.
  • Robertson, N., Sanders, D., Seymour, P. & Thomas, R. (1997). The four-color theorem. Journal of Combinatorial Theory, Series B, 70(1), 2–44.
  • Garey, M. R. & Johnson, D. S. (1979). Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman.
  • West, D. B. (2001). Introduction to Graph Theory (2nd ed.). Prentice Hall.
  • Tutte, W. T. (1954). A contribution to the theory of chromatic polynomials. Canadian Journal of Mathematics, 6, 80–91.
  • Chaitin, G. J. (1982). Register allocation and spilling via graph coloring. Proceedings of the 1982 SIGPLAN Symposium on Compiler Construction, 98–105.