组合数学与离散数学
图着色与四色定理
给顶点或区域着色,使相邻的颜色不同;任何平面地图最多只需四种颜色。
直观直观理解:给地图上色
想象在政治地图上给各个国家上色,使任何两个接壤的国家颜色都不同。这正是图着色问题:把每个区域变成一个顶点,只要两个区域相邻就在对应顶点间连一条边。合法的着色是给每个顶点分配一种颜色,使每条边两端的颜色始终不同。使这成为可能的最少颜色数称为色数,记作 。
中学合法着色与色数
定义: 合法着色、色数
图 的一个合法 着色是一个函数,给每个顶点分配 种颜色之一,使任何两个相邻顶点都不同色。色数 是使合法 着色存在的最小 值。等价地, 也是把 划分成独立集(两两不相邻的顶点集合)所需的最少个数。
这里 取遍自然数, 是待着色的图, 是所得的最小值。一个简单实用的上界来自贪心算法:任意排列各顶点,依次给每个顶点分配一个之前邻居尚未使用的最小颜色。由于每个顶点至多有 个邻居,该算法所用颜色数不会超过 + 1,于是得到 。
| 图族 | 色数 | 色多项式 |
|---|---|---|
| 完全图 | ||
| 有 个顶点的树 | (当 ) | |
| 为奇数的圈 | ||
| 任意平面图 | 至多 (四色定理) | 一般没有封闭公式 |
大学色多项式
除了色数,我们还可以精确数出 的合法 着色个数:这个个数是关于 的多项式,称为色多项式 。它满足删除-收缩递推关系:任取 的一条边 ,删去它得到 ,或收缩它(把两个端点合并成一个)得到 ,则有 。对完全图 ,每个顶点都必须取不同颜色,故 。对有 个顶点的树 ,递推关系给出 ,因为第一个顶点可取 种颜色中任意一种,此后每个顶点(通过一条边连接)可取除其父顶点颜色外的任意颜色。
大学核心定理
任意平面图 都满足 。
为什么成立?
这是四色定理之前容易得多的热身:它只用到初等归纳法和一个巧妙的局部换色技巧(肯普链),不需要计算机辅助,读者可以逐步手工验证。
证明
归纳基础。若 至多有5个顶点,给每个顶点分配不同颜色;这样至多用5种颜色,结论成立。
归纳步骤,准备工作。假设每个顶点数少于 的平面图都可5着色,设 是有 个顶点的平面图。每个简单平面图都满足 (该边数上界由欧拉公式证明),故所有顶点度数之和至多为 ,小于 。因此平均度数小于6,于是存在某个顶点 度数至多为5。
去掉 得到一个更小的、有 个顶点的平面图;由归纳假设它有一个合法的5着色。若 至多有4个邻居,这些邻居至多用了4种颜色,于是给 留下一种自由颜色,证毕。
剩下的情形是 deg 且5种颜色在 的5个邻居中各恰好出现一次。按平面图中围绕 出现的循环顺序,把这些邻居依次称为第一、第二、第三、第四、第五个,分别染色1、2、3、4、5。考虑由所有染色1或3的顶点构成的子图 。若第一个邻居与第三个邻居位于 的不同连通分量中,则在含第一个邻居的分量内交换颜色1和3;由于只涉及染色1或3的顶点,这仍是合法着色,此时第一个邻居变为颜色3,于是颜色1可用于 。
否则第一个邻居与第三个邻居位于 的同一连通分量中,由一条颜色1、3交替的路径相连。这条路径连同 及通向第一、第三个邻居的两条边,在平面上围成一个闭合圈,(由约当曲线定理,并因围绕 的循环顺序为第一、第二、第三、第四、第五)将第二个邻居与第四个邻居分隔开。因此不存在颜色2、4交替的路径连接第二个邻居与第四个邻居,因为这样的路径必须穿过颜色1-3的闭合圈。于是在含第二个邻居的 分量内交换颜色2和4;这就为 腾出了颜色2。
无论哪种情形, 都能获得5种颜色之一且不与任何邻居冲突,从而把 -v 的着色扩展到整个 。由归纳法, 对每个平面图都成立。
任意平面图 都满足 。
为什么成立?
这解答了弗朗西斯·格思里1852年提出的原始地图着色问题:任何平面地图始终只需四种颜色就够了,且这个界是紧的,因为某些平面图(例如四个区域两两相邻的地图)确实需要用满全部四种颜色。
证明
归约为最小反例。若定理不成立,取一个需要5种或更多颜色、顶点数尽可能少的平面图。在保持平面性的前提下增加边只会使所需颜色数增多不会减少,因此这个最小反例可以假设是一个极大平面图(三角剖分),其中每个面(包括外部面)恰好由3条边围成。
放电法准备。给每个顶点 分配初始电荷 。结合 以及 和 (每个面至少有3条边),所有顶点上的电荷总和恰好等于 ,因而严格为正。放电法随后按照一套固定规则在相邻顶点间局部转移电荷,而不改变这个总和;分析放电后正电荷必然残留在何处,可以证明图中某处必定出现某个低度顶点及其特定邻域模式。这有限多种模式称为不可避配置,因为每个平面三角剖分中至少会出现其中一种。
可约性。称一个配置是可约的,是指每当它出现在假设的最小反例中时,通过删去或收缩该配置所得较小图的任何4着色,总能重新扩展为整个图的4着色,这与最小性矛盾。Appel和Haken于1976年用计算机验证了他们列出的1936个不可避配置(后于1997年被Robertson、Sanders、Seymour和Thomas精简为633个)全部都是可约的,共耗费一千多个小时的计算机时间。这使四色定理成为第一个证明本质上依赖机器计算的重大定理,此后又被独立重新验证,并于2005年由Gonthier在Coq证明助手中逐行进行了形式化核验。
结论。由于每个不可避配置都是可约的,最小反例不可能存在:没有平面图需要5种或更多颜色,因此对任意平面图 都有 。
大学实际应用与典型例题
只要有些任务因互相冲突而必须分开,而不冲突的任务可以共用资源,图着色就会出现。编译器用它把有限数量的CPU寄存器分配给程序变量(寄存器分配):在同一时刻都"存活"的两个变量之间连一条边,合法的寄存器分配恰好就是一个合法着色。大学用它安排期末考试:有共同学生的两门课程之间连一条边,所需的最少考试场次就是该冲突图的色数。无线网络用它给发射机分配无线电频率,使相邻(会相互干扰)的发射机绝不共用同一频率。
例题: 四个临时变量的寄存器分配
某编译器在一个循环中跟踪四个临时变量 。它们的活跃区间重叠情况如下: 与 、 重叠; 与 、、 重叠; 与 、、 重叠; 只与 、 重叠。请构造冲突图,并求出所需CPU寄存器的最小数目。
解答
构造图。顶点为 ;边为 (根据所给重叠关系),因为 与 从不重叠,所以没有边 。
寻找三角形。顶点 两两相邻(边 、、 都存在),因此该图含有一个三角形,这意味着至少需要3个寄存器:2个寄存器永远无法合法地给三角形着色,因为任何2着色都会迫使三个两两相邻的顶点中有两个颜色相同。
尝试3种颜色(寄存器)。设 、、(因构成三角形而被迫互不相同)。现在检查 : 与 (颜色2)和 (颜色3)相邻,但不与 相邻,所以 可以安全地取颜色1。
结论。着色 是合法的,所以3个寄存器就够了,而由于三角形 的存在,3个也是必需的。所需寄存器的最小数目是3。
例题: 用最少考试场次安排考试
某大学开设五门课程 。有些课程对至少共有一名选课学生,因此不能同时考试:、、、、、 这些对相互冲突;其余各对都没有共同学生。求使任何学生都不必同时参加两场考试所需的最少考试场次。
解答
建模为图。顶点 代表课程;为每对冲突课程画一条边:。所需的最少考试场次恰好等于该冲突图的 ,因为两门课程能共用一个场次当且仅当它们不相邻。
求下界。顶点 两两相邻(边 都存在),构成一个三角形;和任何三角形一样,2种颜色不够,因此至少需要3个场次。
尝试3个场次。把课程 分配到场次A,课程 分配到场次B,课程 分配到场次C(因三角形而被迫互不相同)。课程 与 (场次B)和 (场次C)冲突,但与 不冲突,所以课程 可以放入场次A。课程 只与 (场次A)冲突,所以课程 可以放入场次B(或C)。
结论。场次A ,场次B ,场次C 是一个没有冲突的有效安排,并且由于三角形 的存在,3是最优的。因此需要且只需要3个考试场次。
5个顶点的完全图 的色数 是多少?
图 的最大度为 。贪心着色界所保证的 的上界是多少?
Appel和Haken依靠计算机检验数千个不可避配置,发表四色定理第一个证明是在哪一年?
某大学把考试冲突建模为图 :每门课程是一个顶点,只要有学生同时选修两门课程,就在它们之间连一条边。可能的最少考试场次等于什么?
参考文献
- Kenneth Appel, Wolfgang Haken (1977). Every Planar Map Is Four Colorable, Part I: Discharging
- Neil Robertson, Daniel P. Sanders, Paul Seymour, Robin Thomas (1997). The Four-Colour Theorem
- Georges Gonthier (2008). Formal Proof—The Four-Color Theorem
- Reinhard Diestel (2017). Graph Theory