图的着色
chap12 图的着色

点着色的应用
课程安排问题 某大学数学系要为这个夏季安排课程表。所要开设 的课程为:图论(GT), 统计学(S),线性代数(LA), 高等 微积分(AC), 几何学(G)和近世代数(MA)。现有10名 学生(如下所示)需要选修这些课程。根据这些信息, 确定开设这些课程所需要的最少时间段数,使得学 生选课不会发生冲突。(学生用Ai表示)
5
K可着色的图例
v1
1
v2
G
v3 v4
v5
2 3
S
:V(G) →S,满射 是正常3着色,G是3可着色的。
6
K色图
定义12.1.2 图G的正常k着色中最小的k称为G的色
数,记为(G),即(G)=min{k|G存在正常k着色}。
若(G) =k,则称G是k色图。 显然,含环的图不存在正常着色,而多重边与一条 边对正常着色是等价的。以后总设G为简单图。 问题:已知一个图G(p,q),如何求色数(G)?
又因k>0, 所以与(G)定义矛盾。结论成立。 注意此定理与定理12.1.2的区别。 定理12.1.2 若G是一个临界图,则(G) ≤(G)+1
21
Brooks 定理
定理12.1.5 若连通图G既不是奇回路,也不是完全 图,则(G) (G) . 例如,对Petersen图应用Brooks定理,可得: (G) (G) =3 . 此定理说明只有奇回路 或完全图这两类图的色 数才是(G) +1。
第一步:建图。 把每门课程做为图G的顶点,两顶点连线当且仅当 有某个学生同时选了这两门课程。
色给同一时 段的课程顶点染色,那么,问 题转化为在状态图中求点色数 问题。
MA
S
G
AC 选课状态图
LA
图的着色问题--C++实现(含详细注释)

图的着色问题一、题目简述(1) 图的m-着色判定问题给定一个无向连通图 G 和 m 种不同的颜色。
用这些颜色为图 G 的各顶点着色,每个顶点着一种颜色,是否有一种着色法使 G 中任意相邻的两个顶点着不同颜色?(2) 图的m-着色优化问题若一个图最少需要 m 种颜色才能使图中任意相邻的两个顶点着不同颜色,则称这个数 m 为该图的色数。
求一个图的最小色数 m 的问题称为m-着色优化问题。
二、算法思想1. m-着色判定问题总体思想:通过回溯的方法,不断为每一个节点着色,每个点的颜色由一个数字代表,初始值为1。
在对前面 step - 1 个节点都合法的着色之后,开始对第 step 个节点进行着色。
如果 n 个点均合法,且颜色数没有达到 m 种,则代表存在一种着色法使 G中任意相邻的两个顶点着不同颜色。
具体步骤:1. 对每个点 step ,有 m 种着色可能性,初始颜色值为1。
2. 检查第 step 个节点颜色的可行性,若与某个已着色的点相连且颜色相同,则不选择这种着色方案,并让颜色值加1,继续检查该点下一种颜色的可行性。
3. 如果第 step 点颜色值小于等于 m ,且未到达最后一个点,则进行对第 step + 1 点的判断。
4. 如果第 step 点颜色值大于 m ,代表该点找不到合适的分配方法。
此时算法进行回溯,首先令第 step 节点的颜色值为0,并对第 step - 1 个点的颜色值+1后重新判断。
5. 如果找到一种颜色使得第 step 个节点能够着色,说明 m 种颜色的方案是可行的。
6. 重复步骤2至5,如果最终 step 为0则代表无解。
2. m-着色优化问题基于问题1,对于一个无向图 G ,从1开始枚举染色数,上限为顶点数,第一个满足条件的颜色数即为所求解。
三、实现过程(附代码)1. m-着色判定问题#include<iostream>using namespace std;int color[100]; // 每个点的颜色int mp[100][100]; // 图的邻接矩阵int n, m, x; // n顶点,m种颜色方案,x条边bool check(int step) {// 判断与step点相邻的点,颜色是否与step点相同,若相同则返回falsefor (int i=1; i<=n; i++) {if (mp[step][i] ==1&&color[i] ==color[step]) {return false;}}return true;}bool Solve(int m) {// 求解是否可以找到一种可行的染色方案int step=1; // step指示当前节点while (step>=1) {color[step] +=1; // 假定颜色值从1开始,若为回溯,选择下一种方案while (color[step] <=m) { // 按照问题条件选择第step点颜色if (check(step)) {break;} else {color[step]++; // 搜索下一个颜色}}if (color[step] <=m&&step==n) { // 如果找完n个点,且染色方法小于等于m种 return true;} else if (color[step] <=m&&step<n) {step++; // 求解下一个顶点} else { // 如果染色数大于m个,回溯color[step] =0; // 回溯,该点找不到合适的分配方法,对上一点进行分析step--;}}// 如果step退到0,则代表无解return false;}int main() {int i, j;bool ans=false;cout<<"输入顶点数n和着色数m"<<endl;cin>>n>>m;cout<<"输入边数"<<endl;cin>>x;cout<<"具体输入每条边"<<endl;for (int p=0; p<x; p++) { // 以无向邻接矩阵存储边cin>>i>>j;mp[i][j] =1;mp[j][i] =1;}if (Solve(m)) {cout<<"有解";} else {cout<<"无解";}return0;}2. m-着色优化问题#include<iostream>using namespace std;int color[100]; // 每个点的颜色int mp[100][100]; // 图的邻接矩阵int n, m, x; // n顶点,m种颜色方案,x条边bool check(int step) {// 判断与step点相邻的点,颜色是否与step点相同,若相同则返回falsefor (int i=1; i<=n; i++) {if (mp[step][i] ==1&&color[i] ==color[step]) {return false;}}return true;}bool Solve(int m) {// 求解是否可以找到一种可行的染色方案int step=1; // step指示当前节点while (step>=1) {color[step] +=1; // 假定颜色值从1开始,若为回溯,选择下一种方案while (color[step] <=m) { // 按照问题条件选择第step点颜色if (check(step)) {break;} else {color[step]++; // 搜索下一个颜色}}if (color[step] <=m&&step==n) { // 如果找完n个点,且染色方法小于等于m种 return true;} else if (color[step] <=m&&step<n) {step++; // 求解下一个顶点} else { // 如果染色数大于m个,回溯color[step] =0; // 回溯,该点找不到合适的分配方法,对上一点进行分析step--;}}// 如果step退到0,则代表无解return false;}int main() {int i, j;bool ans=false;cout<<"输入顶点数n"<<endl;cin>>n;cout<<"输入边数"<<endl;cin>>x;cout<<"具体输入每条边"<<endl;for (int p=0; p<x; p++) { // 以无向图邻接矩阵存储边 cin>>i>>j;mp[i][j] =1;mp[j][i] =1;}for (m=1; m<=n; m++) { // 从小到大枚举着色数mif (Solve(m)) { // 如果有解,输出答案并跳出循环cout<<"最小色数m为 "<<m;break;}}return0;}四、结果及分析问题1测试用例:问题2测试用例:经检验,最少着色数的范围为2-4,意味着使 G 中任意相邻的两个顶点着不同颜色最多需要4种颜色。
图论讲义第6章-图的着色问题

ikik i0
( Δ + 1) 边染色。由引理 6.1.2, G[ Ei′0 ∪ Ei′k ] 中含有 u 的那个分支 H 1 是个奇圈。
ik i0 ik
vk …
im
… v3 v2
i4 i3 i2
u
i1
vm
v1
v
3
而对 k ≤ j ≤ m − 1 ,用颜色 ij+1 给 uvj 重新染色,而用颜色 ik 给 uvm 重新染色,得到一
1
, E k ) 中每个 Ei 都是非空的
设 v0 e1v1e2
eε v0 是 G 的一条 Euler 闭迹。 令 E1 = {ei i 为奇数},E 2 = {ei i 为偶数}。
于是 c = (E1, E2) 即为所求的边 2-染色。 需要说明的是,Euler 闭迹从度≥4 的顶点出发是必需的。例如在下图中,若从 2 度顶 点 u 处出发沿 Euler 闭迹交替地对边进行 2 染色,则 u 点可能仅能获得一种色(如图,1、2 表示两种颜色) 。
′′, E 2 ′′, 个( Δ+1 )边染色 c ′′ = ( E1
′′+1 ) 。同理有 c ′′( v ) ≥ c( v ) 对所有 v ∈ V 成立。故由引理 , EΔ
′ ∪ Ei′k′ ] 中含有 u 的分支 H 2 是个奇圈。 6.1.2, G[ Ei′0
vk-1
iki0 ik+1 ik
第六章 染色理论
许多实际问题可以归结为求图的匹配或者独立集。 此外, 在许多应用中, 人们希望知道: 一个给定的图, 它的边集至少能划分成多少个边不交的匹配?或它的顶点集至少能划分成多 少个点不交的独立集?这便是图的边染色和顶点染色问题。
图的着色问题

问题来源
图的着色
通常所说的着色问题是指下述两类问题: 通常所说的着色问题是指下述两类问题: 1.给定无环图G=(V,E),用m种颜色为图中 的每条边着色,要求每条边着一种颜色, 的每条边着色,要求每条边着一种颜色,并 使相邻两条边有着不同的颜色, 使相邻两条边有着不同的颜色,这个问题称 为图的边着色问题。 为图的边着色问题。 2.给定无向图G=(V,E),用m种颜色为图中 的每个顶点着色,要求每个顶点着一种颜色, 的每个顶点着色,要求每个顶点着一种颜色, 并使相邻两顶点之间有着不同的颜色, 并使相邻两顶点之间有着不同的颜色,这个 问题称为图的顶着色问题。 问题称为图的顶着色问题。
化简得
( a + bd )(b + aceg )(c + bdef )( d + aceg )(e + bcdf )( f + ceg )( g + bdf )
求极小覆盖法- 求极小覆盖法-布尔代数法
Step3:从中挑选所用极大独立集个数最小者, Step3:从中挑选所用极大独立集个数最小者, 即为X 即为X(G) 但上述子集的颜色数都不是X ),正确的应 但上述子集的颜色数都不是X(G),正确的应 该是X =3,该子集为: {b,d,f}中的 该是X(G)=3,该子集为:给{b,d,f}中的 b,d,f涂颜色 涂颜色1 {a,e,g}中a,e,g涂颜色 涂颜色2 b,d,f涂颜色1,为{a,e,g}中a,e,g涂颜色2为 {a,c,g}中的 涂颜色3 中的c {a,c,g}中的c涂颜色3。 由此可见, 由此可见,求色数其需要求极大独立集以 及一切若干极大独立集的和含所有顶点的子 对于大图, 集,对于大图,因为图计算量过大而成为实 际上难以凑效的算法,所以不是一个好算法, 际上难以凑效的算法,所以不是一个好算法, 一般我们采用贪心法等近似算法来求解 。
图论 图的着色

X(G(V1,V2))=
X(G)=2 G为二部图
Th5.1:如果图G的顶点次数≤ρ,则G是ρ+1可着色的。
Th5.2:如果G是一个简单连通的非完全图,如果它的最大顶点次 数为ρ(ρ≥3),则称G为ρ可着色的。
下面的讨论的图为平面图:
Th5.3:每个平面图都是6可着色的。 Th5.4:每个平面图都是5可着色的。 Th5.5:每个平面图都是4可着色的。
ρ ≤ X’(G)≤ ρ+1
对任意图判断X’(G)= ρ 或X’(G)= ρ+1没有解决,但对于一些特殊图, 答案是清楚的。
对于n个点圈图: 2 or 3
.13:对于n(n>1)的完全图,
X’(kn)=n (n为奇数)X’(kn)=n-1(n为偶数) Th5.15:如G为具有最大顶点次数ρ的二部图,则X’(G)= ρ。
Corollary 5.9:地图4色定理 平面图的4色定理。 Th5.10:设G为一张每个顶点都是3次的地图,则 G为3可面着色G的每个面皆被偶数条边所围 Th5.11:如果每个3正规的地图是4可面着色的,则4色定理成立。
5.3 边的着色
G是k可边着色的:如果图G的所有的边皆可用k种颜色着色,使得 任何两条相邻的边均具有不同的颜色,则称G是k边着色的。 k为G的边色数:如果G为k可边着色的,但不是k-1可边着色的,则 称k为G的边色数,记为:X’(G)。 Th5.12:如果G为简单图且它的最大顶点次数为ρ
第五章 图的着色
5.1 色数 5.2 地图的着色 5.3 边的着色
5.1 色数
G为k可着色的:设G是一个无自环图,如果对它的每个顶点可以用 k种颜色之一着色,使得没有两个相邻的顶点有相同的颜色,则称G 是k可着色的。
《图论》第6章-图的着色

6.1 色数
[定理6-1-1] k-临界图 G=(V, E), =min{deg(vi)|viV}, 则
k-1。
[证明]反证法:设 G 是一个 k-临界图且 <k-1。又设v0V, deg(v0)= 。由 k-临界图的定义,Gv0 是 (k1)可着色的, 在一种 k1着色方案下,Gv0 的顶点可按照颜色划分 成 V1,V2, …, Vk-1 共 k1块,块 Vi 中的顶点被涂以颜色 ci。由于deg(v0)< k1,v0 至少与其中一块 Vj 不邻接即与 Vj 中的任何顶点不邻接。此时可将 v0 涂以颜色 cj,
12
第十二页,编辑于星期六:八点 一分。
6.1 色数
[五色定理] (1890, Heaword) 任何简单平面图都是 5-可着色的。 [证明]设简单平面图 G=(V, E),对 n=|V| 作归纳。
n 5时容易讨论结论成立。
设 n = k1时,结论成立。 当 n = k 时,由[定理5-1-8]简单平面图 G 至少有一个顶点的度 小于6。故可设 v0V,deg(v0) 5。设 G=Gv0,由归纳假设
何顶点的度不小于 k-1。又 G 为 k 色图,其中至少有 k 个顶点。
9
第九页,编辑于ቤተ መጻሕፍቲ ባይዱ期六:八点 一分。
6.1 色数
[推论2] 对 G=(V, E), =max{deg(vi)|viV},有 (G) +1。
[证明] 设 (G)=k,由推论1,有 vV,使得 deg(v) k-1
又: deg(v) 故: k-1 或 (G)-1 即: (G) +1
图所示。
13
第十三页,编辑于星期六:八点 一分。
图论课件第七章图的着色

平面图的着色问题是一个经典的图论问题,其目标是在满足相邻顶点颜色不同 的条件下,使用最少的颜色对平面图的顶点进行着色。
详细描述
平面图的着色问题可以使用欧拉公式和Kuratowski定理进行判断和求解。此外 ,也可以使用贪心算法、分治策略等算法进行求解。
树图的着色问题
总结词
树图的着色问题是一个经典的图论问 题,其目标是使用最少的颜色对树图 的顶点进行着色,使得任意两个相邻 的顶点颜色不同。
分支限界算法
总结词
分支限界算法是一种在搜索树中通过剪枝和 优先搜索来找到最优解的算法。
详细描述
在图的着色问题中,分支限界算法会构建一 个搜索树,每个节点代表一种可能的着色方 案。算法通过优先搜索那些更有可能产生最 优解的节点来加速搜索过程,同时通过剪枝 来排除那些不可能产生最优解的节点。分支 限界算法可以在较短的时间内找到最优解,
尤其适用于大规模图的着色问题。
03
图的着色问题的复 杂度
计算复杂度
确定图着色问题的计算复杂度为NP-完全,意味着该问题在多项式时间 内无法得到确定解,只能通过近似算法或启发式算法来寻找近似最优解 。
图着色问题具有指数时间复杂度,因为对于n个顶点的图,其可能的颜色 组合数量为n^k,其中k为每个顶点可用的颜色数。
02
图的着色算法
贪心算法
总结词
贪心算法是一种在每一步选择中都采取当前状态下最好或最优(即最有利)的选 择,从而希望导致结果是最好或最优的算法。
详细描述
贪心算法在图的着色问题中的应用是通过逐个对顶点进行着色,每次选择当前未 被着色的顶点中颜色数最少的颜色进行着色,直到所有顶点都被着色为止。这种 算法可以保证最小化使用的颜色数量,但并不保证得到最优解。
数学中的图的着色问题与四色定理

数学中的图的着色问题与四色定理数学中的图论是一门研究图及其性质的学科,其中一个重要的问题就是图的着色问题。
图的着色问题是指如何用有限种颜色给图的顶点或边进行染色,使得相邻的顶点或边不具有相同的颜色。
这个问题在实际应用中有着广泛的应用,比如地图着色、时间表的安排等。
在图的着色问题中,最著名的就是四色定理。
四色定理是指任何平面图都可以用四种颜色进行着色,使得相邻的区域不具有相同的颜色。
这个定理在1852年被英国数学家弗朗西斯·格思·韦尔斯顿和威廉·哈姆顿·伯奇证明,被认为是图论中的一个里程碑。
证明四色定理的过程非常复杂,需要运用大量的数学知识和技巧。
其中一个重要的思想就是通过对图进行适当的分割,将大问题转化为小问题,然后逐步解决。
这种分割的方法被称为“规约法”,即将一个复杂的问题规约为一系列简单的子问题。
通过这种方法,韦尔斯顿和伯奇最终证明了四色定理的正确性。
四色定理的证明引起了广泛的关注和讨论。
人们对于这个问题的兴趣不仅在于它的应用价值,更在于它背后的数学原理和思维方式。
四色定理的证明过程中,涉及到了众多的数学概念和定理,如图的平面性、图的连通性、图的染色等。
这些概念和定理的研究不仅推动了图论的发展,也对其他领域的数学研究产生了重要影响。
除了四色定理,图的着色问题还有其他一些重要的结果。
比如,五色定理指出任何平面图都可以用五种颜色进行着色,六色定理指出任何平面图都可以用六种颜色进行着色。
这些定理的证明过程和四色定理类似,都需要运用复杂的数学技巧和方法。
图的着色问题不仅在理论上有着重要的意义,也在实际应用中发挥着重要的作用。
比如,在地图着色中,我们可以用不同的颜色表示不同的国家或地区,以便更好地区分它们。
在时间表的安排中,我们可以用不同的颜色表示不同的活动或任务,以便更好地组织和管理。
这些应用都离不开图的着色问题的研究和应用。
总之,图的着色问题是数学中一个重要且有趣的问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.2 色数多项式
[加边法] 求给定图G的色数多项式 原理:由[定理5-2-1], PG(k) = P1(k) + P2(k) o P(k)1 和 P2(k) 对应图 G ij 和 G ij 。 ① 在图G中任取两个不相邻顶点u, v; ② 在图G中加上 (u,v),得新图G1, 在图G中收缩 (u,v),得新图G2,由上述讨论有 PG(k) = PG1(k) + PG2(k) ③ 继续分解G1和G2,直到最后全部为完全图。 ④ 利用n阶完全图的 P(k)=k(k-1)(k-2)…(k-n+1) 构造 图G的色数多项式。
v5
v2
v
v3 v4
v1
v5
v2
v
v3 v4
11
5.1 色数
[例 ] i j G
颜色,那么
i
ij
G ij
j
G ij
o
对于两个不相邻结点i,j, 如果G 的最小着色方案使得i,j着不同
(G) (Gij )
如果G 的最小着色方案使得i,j着相同颜色,那么
(G) (Gij )
12
(G) , 即G是 -可着色的。 定理给出了色数的一个上限,但很不精确。Brooks定理也
说明只存在两类满足(G) =+1的图。
[例] 二部图可2着色,但是可以相当大。
9
5.1 色数
[Hajó s猜想] 若G是n色图,则G包含Kn的一个同胚图。 n=1,2显然,n=3,4已证,其他未决 。
避免一个学生在同一天参加两
个考试,试问最少需要安排几 天进行期末考试?例如,用矩 阵表示,(a , b)=1表示有学生同 时参加a和b考试。
3
第五章 图的着色
a 0 1 0 1 b 0 1 1 c 0 1 d 0 e f a b c d 0 1 0 1 0 e 1 0 1 1 1 0 f
number ?
/wiki/Edge_colouring
24
5.3 边着色
[课程表]假设有4位老师给5个班上课,如何将这些
课程安排在最少的时段内?
c1 c2 c3 c4 c1 c2 c3 c4
t1 t2 t3 t4
t1 t2 t3 t4
c5
c5
25
本章内容要求
a f b c d
e
[解]以该矩阵为邻接矩阵构造图如上所示。给图的顶
点染色使得相邻点具有不同颜色,最少需要3种颜 色。
4
5.1 色数
[着色] 图 G=(V,E) 的一个k顶点着色(k colouring)指用
k种颜色对G的各顶点的一种分配方案, 使得相邻 顶点的颜色都不同. 此时称G存在一个k着色,或 者称G为k-可着色的(k-colourable)。 [色数] 使 G=(V,E) k-可着色的最小k值称为G的色数 (chromatic number),记为 (G)(或(G))。 若 (G)=k,称G为k色图(k-chromatic)。
5.1 色数
[定理] G=(V,E) 为简单图,vi, vj 为其中不相邻顶点。
o
G ij 为在G中添加边(vi, vj) 得到的图, G ij为在G中合 并vi, vj ,其他顶点与其关系不变,并合并多重边
(称为收缩 vi, vj )得到的图。则有:
(G)=min(( G ij ), ( G ij ))
练习
1. 设G是n阶m条边的简单平面图,n=7,m=15,证明G的所有面
次数为3。
2. 证明正多面体有且仅有5种。
a 0 1 0 1 0 1 1 3. 假设要安排6个期末考试,要避 b 0 1 免一个学生在同一天参加两个 c 0 考试,试问最少需要安排几天 d 进行期末考试?右图矩阵表示: e (a , b)=1表示有学生同时参加a f 和b考试。 a b c d
• 图的着色和意义,色数概念;
•
•
特殊图的色数,图的色数求法;
理解图的色数特点,如上界,Brooks定理,
五色定理等;
• 色数多项式特点及求法。
26
Exercises
Develop a traffic light pattern so that traffic will flow smoothly at the cross.
着色的,则称G的边色数是k, 记作’(G).
例 右图的边色数是4。
显然,’(G)(G)
23
5.3 边着色
[定理](Kö nig)任何二部图G的边色数为(G).
[定理](Vizing)如果G是简单图,则’(G)=,或者
’(G)=+1.
Open problem: which graphs have edge-chromatic
[推论1] 对任何图G=(V,E),n=|V|,m=|E|,PG(k)
都是k的整系数n次多项式,且:① 首项为kn;
② 次项为-mkn-1; ③ 常数项为0; ④各项系数 的符号正-负交替。 [证明] [留作 习题] [推论1]证明了函数PG(k) 具有多项式形式。 [色数多项式] 上述函数 PG(k)称为图G的色数多项 式。
5
5.1 色数
[例 ]
6
5.1 色数
[例 ]
7
5.1 色数
特殊图的色数 ① 零图: (G)=1 ② 完全图Kn: (G)=n ③ G是一条回路: (G)=2 若|V|是偶数
(G)=3 若|V|是奇数
④ G是一棵非平凡树: (G)=2 ⑤ (G)=2的充要条件是: (a) |E|1;(b) G中不存 在边数为奇数的回路。(此时G为二部图) ⑥ 若G1、G2为G的两个连通分支,则 (G)=max{(G1), (G2)} 8
o
[证明]
13
5.1 色数
[例] 如图, 求 (G)。
G ij
G ij
o
G ij
G ij
o
(K5)=5
(K4)=4
(K4)=4
(K3)=3
14
5.2 色数多项式
[定义] 对给定的图 G=(V,E) , PG(k)表示以k种颜色给G进行正 常着色的方案数目。 两种方案相同:同一个结点着同一种颜色。 例如,PK3(3)=6
5.1 色数
[定理] 对G=(V,E), =max{deg(vi)|viV},则 (G) +1。 [证明] 对于结点数使用归纳法,证明G是(+1) -可着色的。 [定理] (Brooks)设G=(V,E) 是简单连通图,但不是完全图,不
是奇数长度圈, =max{deg(vi)|viV}3,则
19
5.2 色数多项式
[例] 如图,求其色数多项式。
加边法比较适合于求稠密图的色数多项式。
20
5.2 色数多项式
[减边法] 求给定图G的色数多项式
PG (k ) PG (k ) P (k )
ij
Gij
① 在图G中任取一边e;
② 在图G中去掉e,得新图G1
在图G中收缩e的两端点,得新图G2,由上述有 PG(k) = PG1(k) - PG2(k) ③ 继续分解G1和G2,直到最后全部为零图。 ④ 利用n阶零图的 P(k)=kn 构造图G的色数多项式。 21
5.2 色数多项式
[例] 如图,求其色数多项式。
减边法比较适合于求稀疏图的色数多项式。 证明n个结点的树的色数多项式是k(k-1)n-1.
22
5.3 边着色
[边着色] 图 G=(V,E) 的一个边着色(edge colouring)指用k种颜 色对G的各边着色, 使得相邻边的颜色都不同. 此时称G存 在一个k-边着色,或者称G为k-边可着色的(k-edge colourable)。如果G是k-边可着色的,而不是(k-1)-边可
a
a
a
b
a b
c
b
a
cbac来自cbc
b
c
15
5.2 色数多项式
当 k< (G)时, 不可能进行正常着色, 此时PG(k)=0。
当 k (G)时, PG(k)>0。
4色猜想:对平面图G, PG(4)>0(存在4-着色方案)
若干特殊图的 PG(k)
1) 零图: G=(V,E) ,n=|V|,|E|=0,PG(k)=kn 2) 树:根节点在K种颜色中任取,非根节点选取与其父亲
[四色猜想] 任何平面图都是 4-可着色的。 由于存在着不可3-着色的平面图K4,4色问题若可证明,将 是平面图色数问题的最佳结果。 [五色定理] 任何简单平面图都是 5-可着色的。 [证明](1890,Heawood)
10
五色定理证明
v1
对结点数n归纳。假定<n个结 点的平面图可5着色。当G 有n个结点时,必有一个结 点v其度数<6. 不妨设 dev(v)=5, 其邻接点是 v1,…,v5. 至少有两个结点 不相邻,否则G包含K5, 是 非平面图。设v1,v3不相邻, 将v1,v3”拉至v”与v合并, 其结点数<n, 故可5 着色。 现在将v1,v3”从中拉出”, v1,v3着色不变,此时 v1,v2,…,v5着4种颜色,故 v可着第五种颜色。
节点不同的颜色。 PG(k)=k(k-1)n-1
3) n阶完全图: PG(k)=k(k-1)(k-2)…(k-n+1)
16
5.2 色数多项式
G ij 和 G ij 分别如前所述,则 [定理5-2-1] 设简单图G,
o
PG (k ) PG (k ) P (k )
ij
Gij
[证明]
17
5.2 色数多项式
0 1 0 1 0 e
1 0 1 1 1 0 f