MathLabs

组合数学与离散数学

图着色与四色定理

给顶点或区域着色,使相邻的颜色不同;任何平面地图最多只需四种颜色。

直观直观理解:给地图上色

想象在政治地图上给各个国家上色,使任何两个接壤的国家颜色都不同。这正是图着色问题:把每个区域变成一个顶点,只要两个区域相邻就在对应顶点间连一条边。合法的着色是给每个顶点分配一种颜色,使每条边两端的颜色始终不同。使这成为可能的最少颜色数称为色数,记作 χ(G)\chi(G)。

图网络小部件,展示用四种颜色对顶点着色且相邻顶点颜色不同。
一个平面地图图的有效4着色:没有两个相邻区域颜色相同。

中学合法着色与色数

定义: 合法着色、色数

图 GG 的一个合法 kk 着色是一个函数,给每个顶点分配 kk 种颜色之一,使任何两个相邻顶点都不同色。色数 χ(G)\chi(G) 是使合法 kk 着色存在的最小 kk 值。等价地,χ(G)\chi(G) 也是把 V(G)V(G) 划分成独立集(两两不相邻的顶点集合)所需的最少个数。

χ(G)=min⁡{k∈N:G is properly k-colorable}\chi(G) = \min\{k \in \mathbb{N} : G \text{ is properly } k\text{-colorable}\}

这里 kk 取遍自然数,GG 是待着色的图,χ(G)\chi(G) 是所得的最小值。一个简单实用的上界来自贪心算法:任意排列各顶点,依次给每个顶点分配一个之前邻居尚未使用的最小颜色。由于每个顶点至多有 Δ(G)\Delta(G) 个邻居,该算法所用颜色数不会超过 Δ(G)\Delta(G) + 1,于是得到 χ(G)≤Δ(G)+1\chi(G) \le \Delta(G) + 1。

χ(G)≤Δ(G)+1\chi(G) \le \Delta(G) + 1
常见图族的色数与色多项式
图族色数色多项式
完全图 KnK_nnnP(Kn,k)=k(k−1)(k−2)⋯(k−n+1)P(K_n,k) = k(k-1)(k-2)\cdots(k-n+1)
有 nn 个顶点的树 TT22(当 n≥2n \ge 2)P(T,k)=k(k−1)n−1P(T,k) = k(k-1)^{n-1}
nn 为奇数的圈 CnC_n33P(Cn,k)=(k−1)n+(−1)n(k−1)P(C_n,k) = (k-1)^n + (-1)^n(k-1)
任意平面图至多 44(四色定理)一般没有封闭公式

大学色多项式

除了色数,我们还可以精确数出 GG 的合法 kk 着色个数:这个个数是关于 kk 的多项式,称为色多项式 P(G,k)P(G,k)。它满足删除-收缩递推关系:任取 GG 的一条边 ee,删去它得到 G−eG-e,或收缩它(把两个端点合并成一个)得到 G/eG/e,则有 P(G,k)=P(G−e,k)−P(G/e,k)P(G,k) = P(G-e,k) - P(G/e,k)。对完全图 KnK_n,每个顶点都必须取不同颜色,故 P(Kn,k)=k(k−1)(k−2)⋯(k−n+1)P(K_n,k) = k(k-1)(k-2)\cdots(k-n+1)。对有 nn 个顶点的树 TT,递推关系给出 P(T,k)=k(k−1)n−1P(T,k) = k(k-1)^{n-1},因为第一个顶点可取 kk 种颜色中任意一种,此后每个顶点(通过一条边连接)可取除其父顶点颜色外的任意颜色。

P(G,k)=P(G−e,k)−P(G/e,k)P(G,k) = P(G-e,k) - P(G/e,k)
P(Kn,k)=k(k−1)(k−2)⋯(k−n+1)P(K_n,k) = k(k-1)(k-2)\cdots(k-n+1)

大学核心定理

定理: 五色定理

任意平面图 GG 都满足 χ(G)≤5\chi(G) \le 5。

为什么成立?

这是四色定理之前容易得多的热身:它只用到初等归纳法和一个巧妙的局部换色技巧(肯普链),不需要计算机辅助,读者可以逐步手工验证。

证明

归纳基础。若 GG 至多有5个顶点,给每个顶点分配不同颜色;这样至多用5种颜色,结论成立。

归纳步骤,准备工作。假设每个顶点数少于 nn 的平面图都可5着色,设 GG 是有 nn 个顶点的平面图。每个简单平面图都满足 E≤3V−6E \le 3V - 6(该边数上界由欧拉公式证明),故所有顶点度数之和至多为 2(3n−6)=6n−122(3n-6) = 6n-12,小于 6n6n。因此平均度数小于6,于是存在某个顶点 vv 度数至多为5。

去掉 vv 得到一个更小的、有 n−1n-1 个顶点的平面图;由归纳假设它有一个合法的5着色。若 vv 至多有4个邻居,这些邻居至多用了4种颜色,于是给 vv 留下一种自由颜色,证毕。

剩下的情形是 deg(v)=5(v) = 5 且5种颜色在 vv 的5个邻居中各恰好出现一次。按平面图中围绕 vv 出现的循环顺序,把这些邻居依次称为第一、第二、第三、第四、第五个,分别染色1、2、3、4、5。考虑由所有染色1或3的顶点构成的子图 H1,3H_{1,3}。若第一个邻居与第三个邻居位于 H1,3H_{1,3} 的不同连通分量中,则在含第一个邻居的分量内交换颜色1和3;由于只涉及染色1或3的顶点,这仍是合法着色,此时第一个邻居变为颜色3,于是颜色1可用于 vv。

否则第一个邻居与第三个邻居位于 H1,3H_{1,3} 的同一连通分量中,由一条颜色1、3交替的路径相连。这条路径连同 vv 及通向第一、第三个邻居的两条边,在平面上围成一个闭合圈,(由约当曲线定理,并因围绕 vv 的循环顺序为第一、第二、第三、第四、第五)将第二个邻居与第四个邻居分隔开。因此不存在颜色2、4交替的路径连接第二个邻居与第四个邻居,因为这样的路径必须穿过颜色1-3的闭合圈。于是在含第二个邻居的 H2,4H_{2,4} 分量内交换颜色2和4;这就为 vv 腾出了颜色2。

无论哪种情形,vv 都能获得5种颜色之一且不与任何邻居冲突,从而把 GG-v 的着色扩展到整个 GG。由归纳法,χ(G)≤5\chi(G) \le 5 对每个平面图都成立。

定理: 四色定理

任意平面图 GG 都满足 χ(G)≤4\chi(G) \le 4。

为什么成立?

这解答了弗朗西斯·格思里1852年提出的原始地图着色问题:任何平面地图始终只需四种颜色就够了,且这个界是紧的,因为某些平面图(例如四个区域两两相邻的地图)确实需要用满全部四种颜色。

证明

归约为最小反例。若定理不成立,取一个需要5种或更多颜色、顶点数尽可能少的平面图。在保持平面性的前提下增加边只会使所需颜色数增多不会减少,因此这个最小反例可以假设是一个极大平面图(三角剖分),其中每个面(包括外部面)恰好由3条边围成。

放电法准备。给每个顶点 vv 分配初始电荷 6−deg⁡(v)6 - \deg(v)。结合 V−E+F=2V - E + F = 2 以及 2E=∑vdeg⁡(v)2E = \sum_v \deg(v) 和 3F≤2E3F \le 2E(每个面至少有3条边),所有顶点上的电荷总和恰好等于 1212,因而严格为正。放电法随后按照一套固定规则在相邻顶点间局部转移电荷,而不改变这个总和;分析放电后正电荷必然残留在何处,可以证明图中某处必定出现某个低度顶点及其特定邻域模式。这有限多种模式称为不可避配置,因为每个平面三角剖分中至少会出现其中一种。

可约性。称一个配置是可约的,是指每当它出现在假设的最小反例中时,通过删去或收缩该配置所得较小图的任何4着色,总能重新扩展为整个图的4着色,这与最小性矛盾。Appel和Haken于1976年用计算机验证了他们列出的1936个不可避配置(后于1997年被Robertson、Sanders、Seymour和Thomas精简为633个)全部都是可约的,共耗费一千多个小时的计算机时间。这使四色定理成为第一个证明本质上依赖机器计算的重大定理,此后又被独立重新验证,并于2005年由Gonthier在Coq证明助手中逐行进行了形式化核验。

结论。由于每个不可避配置都是可约的,最小反例不可能存在:没有平面图需要5种或更多颜色,因此对任意平面图 GG 都有 χ(G)≤4\chi(G) \le 4。

大学实际应用与典型例题

只要有些任务因互相冲突而必须分开,而不冲突的任务可以共用资源,图着色就会出现。编译器用它把有限数量的CPU寄存器分配给程序变量(寄存器分配):在同一时刻都"存活"的两个变量之间连一条边,合法的寄存器分配恰好就是一个合法着色。大学用它安排期末考试:有共同学生的两门课程之间连一条边,所需的最少考试场次就是该冲突图的色数。无线网络用它给发射机分配无线电频率,使相邻(会相互干扰)的发射机绝不共用同一频率。

例题: 四个临时变量的寄存器分配

某编译器在一个循环中跟踪四个临时变量 a,b,c,da, b, c, d。它们的活跃区间重叠情况如下:aa 与 bb、cc 重叠;bb 与 aa、cc、dd 重叠;cc 与 aa、bb、dd 重叠;dd 只与 bb、cc 重叠。请构造冲突图,并求出所需CPU寄存器的最小数目。

解答

构造图。顶点为 a,b,c,da, b, c, d;边为 ab,ac,bc,bd,cdab, ac, bc, bd, cd(根据所给重叠关系),因为 aa 与 dd 从不重叠,所以没有边 adad。

寻找三角形。顶点 a,b,ca, b, c 两两相邻(边 abab、acac、bcbc 都存在),因此该图含有一个三角形,这意味着至少需要3个寄存器:2个寄存器永远无法合法地给三角形着色,因为任何2着色都会迫使三个两两相邻的顶点中有两个颜色相同。

尝试3种颜色(寄存器)1,2,31, 2, 3。设 a=1a=1、b=2b=2、c=3c=3(因构成三角形而被迫互不相同)。现在检查 dd:dd 与 bb(颜色2)和 cc(颜色3)相邻,但不与 aa 相邻,所以 dd 可以安全地取颜色1。

结论。着色 a=1,b=2,c=3,d=1a=1, b=2, c=3, d=1 是合法的,所以3个寄存器就够了,而由于三角形 {a,b,c}\{a,b,c\} 的存在,3个也是必需的。所需寄存器的最小数目是3。

例题: 用最少考试场次安排考试

某大学开设五门课程 1,2,3,4,51, 2, 3, 4, 5。有些课程对至少共有一名选课学生,因此不能同时考试:(1,2)(1,2)、(1,3)(1,3)、(2,3)(2,3)、(2,4)(2,4)、(3,4)(3,4)、(4,5)(4,5) 这些对相互冲突;其余各对都没有共同学生。求使任何学生都不必同时参加两场考试所需的最少考试场次。

解答

建模为图。顶点 1,2,3,4,51,2,3,4,5 代表课程;为每对冲突课程画一条边:12,13,23,24,34,4512, 13, 23, 24, 34, 45。所需的最少考试场次恰好等于该冲突图的 χ(G)\chi(G),因为两门课程能共用一个场次当且仅当它们不相邻。

求下界。顶点 1,2,31, 2, 3 两两相邻(边 12,13,2312, 13, 23 都存在),构成一个三角形;和任何三角形一样,2种颜色不够,因此至少需要3个场次。

尝试3个场次。把课程 11 分配到场次A,课程 22 分配到场次B,课程 33 分配到场次C(因三角形而被迫互不相同)。课程 44 与 22(场次B)和 33(场次C)冲突,但与 11 不冲突,所以课程 44 可以放入场次A。课程 55 只与 44(场次A)冲突,所以课程 55 可以放入场次B(或C)。

结论。场次A ={1,4}= \{1, 4\},场次B ={2,5}= \{2, 5\},场次C ={3}= \{3\} 是一个没有冲突的有效安排,并且由于三角形 {1,2,3}\{1,2,3\} 的存在,3是最优的。因此需要且只需要3个考试场次。

5个顶点的完全图 K5K_5 的色数 χ(G)\chi(G) 是多少?

图 GG 的最大度为 Δ(G)\Delta(G) =4= 4。贪心着色界所保证的 χ(G)\chi(G) 的上界是多少?

Appel和Haken依靠计算机检验数千个不可避配置,发表四色定理第一个证明是在哪一年?

某大学把考试冲突建模为图 GG:每门课程是一个顶点,只要有学生同时选修两门课程,就在它们之间连一条边。可能的最少考试场次等于什么?

参考文献

  1. Kenneth Appel, Wolfgang Haken (1977). Every Planar Map Is Four Colorable, Part I: Discharging
  2. Neil Robertson, Daniel P. Sanders, Paul Seymour, Robin Thomas (1997). The Four-Colour Theorem
  3. Georges Gonthier (2008). Formal Proof—The Four-Color Theorem
  4. Reinhard Diestel (2017). Graph Theory