布鲁克斯定理

图论中，布鲁克定理（英語：Brooks' theorem） 描述了图的着色数与图中最大度数的关系，提供了图着色数的一个上界。定理斷言，若连通图G中，每個頂點都不多於Δ個鄰居，且G不是完全图或奇环，则G可以被Δ-着色，即G可以被染成Δ种颜色，使得相邻点颜色互不相同。 考慮為 G {\displaystyle G} 的頂點染色，而使每邊的兩端不同色。以符號表示，條件是：对于图 G {\displaystyle G} 中任意两个顶点 u , v {\displaystyle u,v} ，如果 u v ∈ E ( G ) {\displaystyle uv\in E(G)} ，那么 u , v {\displaystyle u,v} 所染成的颜色不同。 对于图 G {\displaystyle G} ，如果存在一个 k {\displaystyle k} 种颜色的恰当染色方案，称 G {\displaystyle G} 可染 k {\displaystyle k} 色（或「 k {\displaystyle k} 可着色」）。在所有满足条件的 k ∈ Z + {\displaystyle k\in \mathbb {Z_{+}} } 中，称最小的那个 k {\displaystyle k} 稱為染色數 χ ( G ) {\displaystyle \chi (G)} 。 圖 G {\displaystyle G} 的最大度記作 Δ ( G ) {\displaystyle \Delta (G)} 。对于任意图 G {\displaystyle G} ， χ ( G ) ≤ Δ ( G ) + 1 {\displaystyle \chi (G)\leq \Delta (G)+1} 始终成立。但是这个上界并不足够紧。而布鲁克斯定理提供了一个更紧的上界。 图着色问题有一个贪心染色法（greedy coloring），将颜色标号为 1 , 2 , . . . , Δ ( G ) + 1 {\displaystyle 1,2,...,\Delta (G)+1} ，将图G的顶点排序为 v 1 , v 2 , . . . , v n {\displaystyle v_{1},v_{2},...,v_{n}} ，按顺序对顶点 v i {\displaystyle v_{i}} 进行染色。染 v i {\displaystyle v_{i}} 時，其邻居至多有 Δ ( G ) {\displaystyle \Delta (G)} 個，所以已染色的鄰居中，至多衹用了 Δ ( G ) {\displaystyle \Delta (G)} 種色，尚有某種色未用，可选择該種色作为 v i {\displaystyle v_{i}} 的着色。 根据布鲁克斯定理，不等式 χ ( G ) ≤ Δ ( G ) + 1 {\displaystyle \chi (G)\leq \Delta (G)+1} 取等当且仅当G为完全图或奇环。当G为完全图时， χ ( G ) = n {\displaystyle \chi (G)=n} ， Δ ( G ) = n − 1 {\displaystyle \Delta (G)=n-1} ，当G为奇环时， χ ( G ) = 3 {\displaystyle \chi (G)=3} ， Δ ( G ) = 2 {\displaystyle \Delta (G)=2} ，均满足 χ ( G ) = Δ ( G ) + 1 {\displaystyle \chi (G)=\Delta (G)+1} 。 如果 G {\displaystyle G} 是一个连通图，而且 G {\displaystyle G} 不是奇环 C 2 n + 1 {\displaystyle C_{2n+1}} 或者完全图 K n {\displaystyle K_{n}} ，那么 χ ( G ) ≤ Δ ( G ) {\displaystyle \chi (G)\leq \Delta (G)} 。其中 χ ( G ) {\displaystyle \chi (G)} 是图 G {\displaystyle G} 的最小着色数， Δ ( G ) {\displaystyle \Delta (G)} 是图 G {\displaystyle G} 中点的最大度数。 此處给出洛瓦兹·拉兹洛的一个证明（亦見諸）。 记 k = Δ ( G ) {\displaystyle k=\Delta (G)} 。当 k = 0 , 1 {\displaystyle k=0,1} 的时候， G {\displaystyle G} 是完全图。当 k = 2 {\displaystyle k=2} 的时候，由于 G {\displaystyle G} 不是奇环，那么 G {\displaystyle G} 要么是一条路径 P {\displaystyle P} ，或者偶环 C 2 n {\displaystyle C_{2n}} 。此时 χ ( G ) = 2 = Δ ( G ) {\displaystyle \chi (G)=2=\Delta (G)} 。所以，衹需从 k ≥ 3 {\displaystyle k\geq 3} 开始考虑。分下列三種情況： 选择G中度小于k的点 v 0 {\displaystyle v_{0}} 最后染色。由於 G {\displaystyle G} 連通，有某種排序方式使得除 v 0 {\displaystyle v_{0}} 之外，每个节点都有一个邻点排在它的后面：例如从 v 0 {\displaystyle v_{0}} 出发对图G进行深度优先遍历，按照DFS序的逆序排列G的节点。故只有小于等于k - 1个邻点排在它前面，这样，只有小于等于k - 1个邻点排在它前面，而 d ( v 0 ) ≤ k − 1 {\displaystyle d(v_{0})\leq k-1} ，故也只有小于等于k - 1个邻点排在它前面，按該次序的貪心染色最多衹用k種色。 若要避免術語「DFS」，可以构造下列集合 { S i } {\displaystyle \{S_{i}\}} 直到里面包含 G {\displaystyle G} 中所有顶点： S 0 = v 0 S 1 = N ( v 0 ) S 2 = N ( S 1 ) − S 1 − S 0 … S l = N ( S l − 1 ) − S l − 1 − S l − 2 ⋯ − S 0 {\displaystyle {\begin{aligned}S_{0}&={v_{0}}\\S_{1}&=N(v_{0})\\S_{2}&=N(S_{1})-S_{1}-S_{0}\\\dots \\S_{l}&=N(S_{l-1})-S_{l-1}-S_{l-2}\dots -S_{0}\end{aligned}}} 然后可以用上述贪心染色算法对图 G {\displaystyle G} 进行染色。染色顺序为：先染 S l {\displaystyle S_{l}} 中的点，再染 S l − 1 {\displaystyle S_{l-1}} 中的点，一直这么下去直到染完 S 0 {\displaystyle S_{0}} 中的点。这种算法使用 l {\displaystyle l} 种颜色就能完成。当染到点 u ∈ S i ( i ≠ 0 ) {\displaystyle u\in S_{i}(i\neq 0)} 時， u {\displaystyle u} 在 S i − 1 {\displaystyle S_{i-1}} 中至少有一个邻居，所以 u {\displaystyle u} 邻居中至多只有 k − 1 {\displaystyle k-1} 个被染色过，所以能对 u {\displaystyle u} 进行染色。 当染点 v 0 {\displaystyle v_{0}} 的时候，由于 d ( v 0 ) < k {\displaystyle d(v_{0})<k} ， v 0 {\displaystyle v_{0}} 邻居中至多只有 k − 1 {\displaystyle k-1} 个被染色过，所以同样能对 v 0 {\displaystyle v_{0}} 进行染色。所以用 k {\displaystyle k} 种颜色对 G {\displaystyle G} 恰当染色。 假设割点为 u {\displaystyle u} ，那么 G ′ = G − { u } {\displaystyle G'=G-\{u\}} 就不是连通图，设 G ′ {\displaystyle G'} 有 t {\displaystyle t} 个連通分量 G 1 , G 2 , … , G t {\displaystyle G_{1},G_{2},\dots ,G_{t}} 。对于任意一个连通分支 G i {\displaystyle G_{i}} ，考虑 H i = G i ∪ { u } {\displaystyle H_{i}=G_{i}\cup \{u\}} 。由于 u {\displaystyle u} 在 H i {\displaystyle H_{i}} 的度數小於 k {\displaystyle k} ， Δ ( H i ) < k {\displaystyle \Delta (H_{i})<k} 。由前述贪心染色算法可知， H i {\displaystyle H_{i}} 可染 k {\displaystyle k} 色。然后只需令这些染色方案中 u {\displaystyle u} 所染的颜色一样（如果不一样，将所有点染的颜色重新排列一下），就能拼成 G {\displaystyle G} 的染色方案，所以可用 k {\displaystyle k} 种颜色对 G {\displaystyle G} 恰当染色。 由于 G {\displaystyle G} 中没有割点， G {\displaystyle G} 是2连通图（英语：Biconnected graph）。斷言可以找到一个顶点 u {\displaystyle u} ，使得它有两个邻点 v 1 , v 2 {\displaystyle v_{1},v_{2}} ，满足 v 1 , v 2 {\displaystyle v_{1},v_{2}} 不相邻，且 G − { v 1 , v 2 } {\displaystyle G-\{v_{1},v_{2}\}} 连通。如果这样的 u , v 1 , v 2 {\displaystyle u,v_{1},v_{2}} 存在，就可以先將 v 1 , v 2 {\displaystyle v_{1},v_{2}} 染成同色，然後貪心地為其他點染色，使 u {\displaystyle u} 最後染。这样貪心染法衹用不超過 k {\displaystyle k} 種色，因为除 u {\displaystyle u} 之外的点，只有小于等于 k − 1 {\displaystyle k-1} 个邻点排在它前面，而 u {\displaystyle u} 又有兩個邻点 v 1 , v 2 {\displaystyle v_{1},v_{2}} 同色，故 u {\displaystyle u} 的鄰域衹用前 k − 1 {\displaystyle k-1} 種色，尚有餘下顏色可用。以下說明為何有此種 u , v 1 , v 2 {\displaystyle u,v_{1},v_{2}} 。 如果 G {\displaystyle G} 是3连通的，則可以選取距離為2的兩點 v 1 , v 2 {\displaystyle v_{1},v_{2}} （因為 G {\displaystyle G} 不是完全圖），及其公共鄰點 u {\displaystyle u} 。如此有 v 1 v 2 ∉ E ( G ) {\displaystyle v_{1}v_{2}\notin E(G)} ，又由于 G {\displaystyle G} 是3连通的， G − { v 1 , v 2 } {\displaystyle G-\{v_{1},v_{2}\}} 是连通图，即為所求。 僅剩 G {\displaystyle G} 是2连通但不是3连通的情況。此時有頂點 u {\displaystyle u} 使 G − u {\displaystyle G-u} 僅為1連通，考慮 G − u {\displaystyle G-u} 各個雙連通分支（英语：biconnected component），之間以割點連接，組成一棵樹。因為 G − u {\displaystyle G-u} 不是2連通，該樹至少有兩個叶区块（leaf block），設為 B 1 , B 2 {\displaystyle B_{1},B_{2}} 。又因为 G {\displaystyle G} 无割点，所以 G − u {\displaystyle G-u} 的每一个叶区块中，必有某個非割點與 u {\displaystyle u} 相邻。於是，可以在 B 1 , B 2 {\displaystyle B_{1},B_{2}} 中各取 u {\displaystyle u} 的鄰點 v 1 , v 2 {\displaystyle v_{1},v_{2}} ，使 v 1 , v 2 {\displaystyle v_{1},v_{2}} 不是 G − u {\displaystyle G-u} 的割点。如此， v 1 , v 2 {\displaystyle v_{1},v_{2}} 不相邻（否則 B 1 , B 2 {\displaystyle B_{1},B_{2}} 屬同一雙連通分支），且 G − { u , v 1 , v 2 } {\displaystyle G-\{u,v_{1},v_{2}\}} 连通。因为 k ≥ 3 {\displaystyle k\geq 3} ，所以 G − { v 1 , v 2 } {\displaystyle G-\{v_{1},v_{2}\}} 连通。證畢。 Brooks, R. L., On colouring the nodes of a network, Mathematical Proceedings of the Cambridge Philosophical Society（英语：Mathematical Proceedings of the Cambridge Philosophical Society）, 1941, 37 (2): 194–197, doi:10.1017/S030500410002168X  Mitchem, John, On various algorithms for estimating the chromatic number of a graph, The Computer Journal（英语：The Computer Journal）, 1976, 19 (2): 182–183, MR 0437376, doi:10.1093/comjnl/19.2.182  Lovász, L., Three short proofs in graph theory, Journal of Combinatorial Theory（英语：Journal of Combinatorial Theory）, Series B, 1975, 19 (3): 269–271, doi:10.1016/0095-8956(75)90089-1  Douglas B.West. Introduction to Graph Theory. Pearson Enducation. 2002. ISBN 81-7808-830-4.  Rigo, Michel. Advanced graph theory and combinatorics. London, UK. 2008: 90–92. ISBN 978-0-387-79711-3.  |author1=和|last1=只需其一 (帮助) Bondy, J. A. Graph theory. New York: Springer. 2008: 359-363. ISBN 978-1-84628-969-9.  |author1=和|last1=只需其一 (帮助)