图论讲义第6章-图的着色问题
第6章 着色问题
∴
c' (v) c(v)
v V v V
,
这与C为最优矛盾。
图论及其应用
6
6.1 边色数
定理6.1 设G为偶图,则 = 。 证明: (Wilson)对 进行归纳。当 = 1 时显然成立。假设
对 < k( 2) 都成立,而 (G)= k 。任取G的一边 e = uv , 考虑 G’ = G - e 。
(a) 利用Vizing定理证明:(G×K2)= (G×K2) 。 (b) 试证:若H是非平凡的,且(H) = (H),则(G×H) = (G×H)。
6.2.7 叙述求简单图G的正常(+1)-边着色的好算法。 6.2.8*证明 ≥2的简单图G有一(-1)-边着色,使得所有-1种色在每个顶点上都表现 6.2.9 设简单图G有割点,则 = + 1 。
图论及其应用
11
6.2 Vizing定理——习题
6.2.1* 找出适当的边着色以证明(K2N-1) = (K2N) = 2n-1 。 6.2.2 为奇数的非空正则简单图G有 = + 1 。 6.2.3(a) 设简单图G中 = 2n+1且 >n ,则 = +1 ; (b) 利用(a)证明: ① 若G是从有偶数个顶点的简单图中剖分一条边所得的图,则 = +1 ; ② 若G是从有奇数个顶点的简单k正则图中删去少于k/2条边所得的图,则=+1 6.2.4 (a) 证明: 任一无环图G都有-正则无环母图。(注:不一定为生成母图) (b) 利用(a)及习题5.2.3(b)证明:若G 是无环图且 是偶数,则 3 /2。 6.2.5 称G为唯一k-边可着色的,如果G的任意两个k-边着色都导致E有相同的划分。 证明:每个唯一3-边可着色的3-正则图都是Hamilton 图 。 6.2.6 简单图的积图是指顶点集为V(G)×V(H)的简单图G×H,其中 (u,v)与(u’,v’)相邻 u = u’且v’ E(H); 或 v = v’且uu’ E(G)
图的平面性与图的着色问题
图的平面性与图的着色问题在图论中,图的平面性与图的着色问题是两个重要的研究方向。
图的平面性指的是一种特殊的图的布局方式,使得图的边不相交。
而图的着色问题是指如何给图的顶点进行染色,使得相邻的顶点颜色不相同。
本文将分别介绍图的平面性和图的着色问题,并对其进行详细讨论。
一、图的平面性(Planarity of Graphs)图的平面性是图论中一个经典的问题,研究的是如何将一个图画在平面上,使得图的边不相交。
具体而言,如果一个图可以被画在平面上,且不同边的交点只有顶点,那么我们称该图是一个平面图。
而对于不能在平面上画出来的图,则被称为非平面图。
定理1:一个图是平面图,当且仅当它不包含任何的子图同构于以下两种图之一:K5(五个没有共同边的顶点)或K3,3(六个节点,其中任意两个节点之间都有边相连但不交叉)。
这个定理被称为Kuratowski定理,它为我们判断一个图是否是平面图提供了一个有效的方法。
根据Kuratowski定理,我们可以使用该定理的逆否命题,即如果一个图中包含K5或K3,3,则该图一定是非平面图。
除了Kuratowski定理之外,还有一种判断图的平面性的方法,称为Euler公式。
Euler公式表达了平面图的顶点数、边数和面数之间的关系:V - E + F = 2其中V表示顶点数,E表示边数,F表示面数。
根据Euler公式,对于简单连接图(无环,无孤立点),如果它的顶点数大于等于3且边数大于等于3,且满足Euler公式,则该图是一个平面图。
二、图的着色问题(Graph Coloring)图的着色问题是指如何给一个图的顶点进行染色,使得相邻的顶点颜色不相同。
这里的相邻指的是有边相连的顶点。
在图论中,颜色通常表示为正整数,颜色数则表示为给定图所需的最小颜色数。
对于任意图G,G的最小颜色数被称为G的色数。
如果图G的色数为k,则称图G是可k着色的。
求解一个图的最小色数是一个复杂的问题,称为顶点着色问题(Vertex Coloring Problem),它是一个NP 完全问题。
图论_6_平图及着色
• 定义3 设G是一个平图,则G把平面划分 成若干个连通区域,每个连通区域的闭包 称为G的一个面,其中恰有一个无界的面, 称为外部面。
• 定理1 若G是连通平图,则 υ-ε+f=2, 其中,f是G的面数. (这个公式称为Euler公 式) • 证明 对G的边数ε用归纳法, ……
• 推论1 给定平面连通图G,则G的所有平 面嵌入有相同的面数。
•
推论2 若G是平面简单图,υ≥3,则 ε≤3υ-6。 证明 设G为连通平图,用d(Fi)表示面Fi 的边数, ……
•
• 推论3 若平图G的每个面由至少四条边围 成,则 ε≤2υ-4。
• 推论4 K5与K3,3是非平面图。
• 定理2 在平面简单图G中,至少存在一个 顶点v0,使d(v0)≤5。 • 证明 假设一个平面简单图的所有顶点度 数均大于5,则 6υ ≤ ∑ d (v ) = 2ε ≤ 6υ − 12 , v∈V 矛盾,因此,平面简单图中至少有一个顶 点v0,使d(v0)≤5。
• 地图的k面可着色问题,可以转化为平面图 的k可着色问题。 • 定理1*(五色定理)任何无自环的平面图G 是5可着色的。 • 证明:对顶点数归纳……
作业
• 证明地图G是2面可着色的,当且仅当它 是一个欧拉图。
图 论
• 图——基本概念
– 图、路与连通、最短路、有向图、图的矩阵
• Euler图与Hamilton图 • 树
– 树、生成树、有向树
• 平面图 图的着色
– 平面图、对偶图、顶点着色、面着色
• 网络 匹配 独立集
平面图
• 定义1 如果一个图能画在平面上,使得它 的边仅在端点相交,则称这个图为平面图, 或说它是可平面嵌入的,平面图G的这样一 种画法,称为G的一个平面嵌入。 • 平面图G的平面嵌入称为平图。
图的着色问题
问题来源
图的着色
通常所说的着色问题是指下述两类问题: 通常所说的着色问题是指下述两类问题: 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。 由此可见, 由此可见,求色数其需要求极大独立集以 及一切若干极大独立集的和含所有顶点的子 对于大图, 集,对于大图,因为图计算量过大而成为实 际上难以凑效的算法,所以不是一个好算法, 际上难以凑效的算法,所以不是一个好算法, 一般我们采用贪心法等近似算法来求解 。
《图论》第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
第十三页,编辑于星期六:八点 一分。
6图染色问题
图着色问题的应用-交通管理系统 图着色问题的应用-交通管理系统
接下来的通行方向为结点(如图12接下来的通行方向为结点(如图12-8所示),考虑结点分组
图着色问题的应用-交通管理系统 图着色问题的应用-交通管理系统
图例中分组情况如下: 绿色:AB,AC,AD,BA,DC, 绿色:AB,AC,AD,BA,DC,ED 蓝色:BC,BD, 蓝色:BC,BD,EA 红色:DA, 红色:DA,DB 黄色:EB, 黄色:EB,EC
b c a d
h g f
e
顶点色数即为最少房间数数
图着色问题的应用-交通管理系统 图着色问题的应用-交通管理系统
对于一个多叉路口,设计一个交通信号灯的管理系统:对车辆的可能行 驶方向作某种分组,对分组的要求是使任一个组中各个方向行驶的车辆 可以同时安全行驶而不发生碰撞。 我们将通行方向作为结点,如果某些通行方向不能同时进行,则在相应 的结点间连一条线于是问题就转化为将结点分组,使得相连结点不在同 一组里。 例3:如图12-7所示,某交叉路口有A,B,C,D,E,五条街道,请设计一 :如图12- 所示,某交叉路口有A E,五条街道,请设计一 个交通信号灯的管理系统。 图12-7 12分析:首先考虑可以通行的方向
b c a d
h g f
e
解 (1)各顶点按度数递减次序排列:
c,a,e,f,b,h,g,d; (2)对c和与c不邻接的e,b着第一种颜色; (3)对a和与a不邻接的g,d着第二种颜色; (4)对f和与f不邻接的h着第三种颜色。
b c a d
h g f
e
边的着色问题可以转化为顶点的着色问题。
图着色问题的应用-安排考试问题
着色问题的应用-排课时间表问题
问题描述: 给出老师与班级的任课关系, 以及教室数的限制,给出一个合理 的排课方案。 匹配、边着色或顶点着色 未解决好
图论讲义第6章-图的着色问题
u
(2) 设 G 不是 Euler 图。此时给 G 增添一个新顶点 v0,将 v0 与 G 的每个奇度顶点连一条 边 , 得 到 一 个 新 图 G* 。 显 然 G* 的 所 有 顶 点 都 是 偶 数 度 的 , 因 而 是 Euler 图 。 设
v0 e1v1e2
* eε ( G *) v0 是 G*的一个 Euler 闭迹,令 E1* = {ei i 为奇数}, E 2 = {ei i 为偶数},这 * * *
ik-1
… v3 v2
i3
…
ik
u
…
im
i2 i1 i1
ห้องสมุดไป่ตู้
vm
v1
v
因 d ( v1 ) < Δ + 1 ,故必有某种色 i 2 不在 v1 处出现。这样 i 2 必然在 u 处出现(否则,可 。因此存在一条 用 i 2 给 uv1 重新染色,得到一个改进的 Δ+1 边染色,与 c 是最佳染色矛盾) 边 uv2 染有色 i 2 。 。 又因 d ( v 2 ) < Δ + 1 ,必有某种色 i 3 不在 v2 处出现。 i 3 必然在 u 处出现 (理由同上) 因此存在一边 uv3 染有色 i 3 。 继续这个过程,可找出一个顶点序列 v1 , v 2 , 染有颜色 ij,且色 ij+1 不在点 vj 处出现, ( j = 1,2, , 以及一个颜色序列 i1 , i2 , , 使得边 uvj ) 。而且,因 c(u ) < d (u ) 且 d (u ) 是有
| c1 (ν ) | = 1 ,其中 ci (υ ) 表示 υ 阶第 i 类图的集合。这 v →∞ | c (ν ) ∪ c (ν ) | 1 2
图学基础教程习题集答案
图学基础教程习题集答案第一章:图学基本概念1. 图的定义是什么?答案:图是由顶点(或称为节点)和边组成的数学结构,其中边是顶点之间的连接。
2. 什么是有向图?答案:有向图是一种图,其中的边具有方向性,从一个顶点指向另一个顶点。
第二章:图的表示方法1. 邻接矩阵的优缺点是什么?优点:易于实现,可以快速判断任意两个顶点之间是否存在边。
缺点:空间复杂度高,对于稀疏图来说效率较低。
2. 邻接表的优缺点是什么?优点:空间效率高,对于稀疏图特别适用。
缺点:需要额外的时间来检查两个顶点之间是否存在边。
第三章:图的遍历1. 深度优先搜索(DFS)的基本思想是什么?答案:从图中的一个顶点开始,沿着边尽可能深地搜索,直到无法继续,然后回溯到上一个顶点,继续搜索其他路径。
2. 广度优先搜索(BFS)的基本思想是什么?答案:从图中的一个顶点开始,逐层遍历所有可达的顶点,直到所有顶点都被访问过。
第四章:最小生成树1. 最小生成树问题的定义是什么?答案:在无向图中,最小生成树是一棵连接所有顶点的树,且边的总权重最小。
2. Kruskal算法的基本步骤是什么?答案:Kruskal算法通过按权重递增的顺序选择边,确保选择的边不会形成环,直到所有顶点都被连接。
第五章:最短路径问题1. Dijkstra算法的工作原理是什么?答案:Dijkstra算法通过维护一个优先队列,不断地选择距离起点最近的顶点,并更新其邻接顶点的距离。
2. Bellman-Ford算法与Dijkstra算法的主要区别是什么?答案:Bellman-Ford算法可以处理带有负权重边的图,而Dijkstra算法不能。
第六章:图的着色1. 图的着色问题的定义是什么?答案:图的着色问题是指给图中的每个顶点分配一种颜色,使得相邻的顶点颜色不同。
2. 贪心算法在图的着色问题中的应用是什么?答案:贪心算法在图的着色问题中,从顶点集合中选择一个顶点,为其分配一种颜色,然后移动到下一个顶点,并为其分配一种与相邻顶点不同的颜色。
图论第6章-平面图
若G不是树,则G中含有回路。设边e在G的 某个回路上。令G′=G-e(从G中删除边e,而得 到G′),则G′仍然是连通图。设n′,m′和r′分别是 的结点数、边数和面数。则n′=n,m′=m-1=k, r′=r–1 。 于 是 n=n′ , m=m′+1 , r=r′+1 。 因 为 G′ 是连通图且m′=k,所以G′满足归纳假设的条件。 由归纳假设知:n′–m′+r′=2,所以 n–m+r= n′–(m′+1)+(r′+1)= n′-m′+r′=2。
v1
v4
R0 R2 R1 v2
v3 v5
v6
又例:下图为非连通的平面图,有两个连
通分支, deg(R1)=3, deg(R2)=4, R0的 边界由两个初级回路v1 v2 v3v1 和v4 v5 v6 v7 v4围成, deg(R0)=7 。
v1
v4
v7
v2
R1 v3R0 v5
R2
v6
定理:设G=V,E是有限平面图,有r个面,
如下图G1,G2,G3是同胚的。
G1
G2
G3
定理 (库拉斯基定理) 一个图G是非平面的,当 且仅当它包含一个同胚于K3.3或K5的子图。
例 说明彼得森图不是平面图。
解:删去下图(a)皮得森图的结点b,得其子图
(b)H。a 而H胚于Kf 3,3,所以皮c 得森不是平f面图。d
j
f ejg baFra bibliotekd g
6
36
4
54 12
7
8
图论五色问题四色问题
的不同面中来证明这个结论。 我们在 D 中分别取 s2 和 s4 的内点 x2 和 x4 ,那么在 D \ ( s1 s3 ) R 2 \ C 中,每个点 都可以通过一条多边弧连接到 x2 和 x4 。 这说明 x2 和 x4(因此 v2 和 v4 也是一样的) 在 C 的不同面中;否则, D 只与 C 的两个面中的一个相交,这与 v 属于这两个面 的边界这一事实矛盾。 给定 i, j {1, ,5} 设 H i , j 是由着色 i 和 j 的顶点所导出的 H 的子图, 我们可以假设
所以可以得到的结论是:用 m 种颜色给顶点数为 n ,边数不超过 (m 1)(n m / 2) 的连通图顶点着色, 不管边怎么分布, 都能保证相邻的顶点颜色不同。 当 m 4 时, 对边数不超过 3n 6 的图的顶点着色可以保证相邻顶点颜色不同。 对于平面连通图,根据推论 1.4 可知当 n 3 时,边数一定不超过 3n 6 ,所以用 4 种颜色去给平面连通图着色,一定可以保证相邻的顶点颜色不同。
复计算两次, 所以实际上边的总数是 E n(n 1) / 2 。由于图中任意两个顶点都相 邻,如果相邻的顶点用不同的颜色,则图中 n 个顶点都必须要用不同的颜色去着 色,所以总共需要 n 中颜色。如果任意去掉一条边,那么原来这条边所连接的两 个顶点可以同色,所以去掉一条边可以少用一种颜色。此时如果再去掉一条边, 就不一定会又减少一种颜色了,比如第一次去掉的边是 e1, 2 ,第二次去掉的边是
H1,3 中包含 v1 的分支 C1 也包含 v3 。 如果把 C1 中所有着色 1 和 3 的顶点交换颜色的
话,我们就得到了 H 的另一个 5-着色;如果 v3 C1 ,那么在这个新着色中,v1 和
v3 都着色 3,这时我们可以给 v 着色 1。因此, H1,3 中包含一条 v1 v3 路 P 。上面
图论中的图的着色与染色问题
图论中的图的着色与染色问题在图论中,图的着色与染色问题是一类经典的问题。
图的着色是指给图的每个顶点赋予一个颜色,要求相邻的顶点不能有相同的颜色;而图的染色是指给图的边赋予一个颜色,要求相邻的边不能有相同的颜色。
一、图的顶点着色图的顶点着色问题是图论中的经典问题之一。
给定一个无向图,要求为每个顶点分配一个颜色,使得任意两个相邻的顶点颜色不同。
这个问题的本质是将相邻的顶点划分到不同的颜色集合中。
解决图的顶点着色问题有多种算法,其中较为简单和常用的是贪心算法。
贪心算法按照某种规则为图的顶点逐个着色,每次着色时选择当前可用颜色的最小编号。
贪心算法的时间复杂度为O(n^2),其中n 为图的顶点数。
二、图的边染色图的边染色问题是另一个经典的图论问题。
给定一个无向图,要求给每条边分配一个颜色,使得任意两条相邻的边颜色不同。
这个问题的目标是将相邻的边划分到不同的颜色集合中。
解决图的边染色问题的算法有多种,其中常用的是基于回溯法和深度优先搜索的算法。
回溯法通过递归地尝试为每条边分配颜色,并根据约束条件进行回溯,直到找到可行的解或者穷尽所有可能。
深度优先搜索则通过遍历图的边,逐个给边染色,当发现某条边与相邻边颜色相同时,回溯到前一条边重新选择颜色。
三、特殊图的着色与染色问题除了一般的图的着色与染色问题,还存在一些特殊类型的图,对应着特殊的着色与染色问题。
1. 树的着色与染色:在树中,任意两个顶点之间都只有一条路径,因此树的着色与染色问题可以简化为树的边染色问题。
树的边染色问题可以使用贪心算法解决,每次为某条边选择一个未使用的颜色,直到所有边都被染色。
2. 平面图的着色与染色:平面图是指可以画在平面上,且任意两条边最多只有一个公共顶点的图。
平面图的着色与染色问题是在满足平面图约束条件下对图进行着色或染色。
对于平面图的着色与染色问题,使用四色定理可以得到解,即任何平面图最多只需要四种颜色来着色或染色。
四、应用领域图的着色与染色问题在实际应用中具有广泛的应用。
图论讲义6染色理论
第六章 染色理论许多实际问题可以归结为求图的匹配或者独立集。
此外,在许多应用中,人们希望知道:一个给定的图,它的边集至少能划分成多少个边不交的匹配?或它的顶点集至少能划分成多少个点不交的独立集?这便是图的边染色和顶点染色问题。
§6.1 点染色定义6.1.1 设G 是一个无环边的图。
G 的顶点正常k 染色(proper vertex k-colouring)π是指k 种颜色k ,,,L 21对于G 的各顶点的一种分配,使得任二相邻的顶点被染上不同的颜色。
换句话说,G 的顶点正常k 染色π是一个映射},,2,1{)(:k G V L →π,使得)(1i −π是独立集或空集),,2,1(k i L =.注:设π是G 的一个顶点正常k 染色。
令})(|)({)(V 1i x G V x i i =∈==−ππ,(k i ,,2,1L =)。
则π实际上是对顶点集)(G V 的一种划分:),,,(21k V V V L =π,其中φ=j i V V I ,)(1G V Vki i==U ,且每个i V 是独立集或空集),,2,1(k i L =.例:定义6.1.2 若存在G 的一种顶点正常k 染色,则称图G 是点k 色可染的(vertex k-colourable), 有时简称为k 色可染的或可k 染色的。
注:⑴ 每个图G 一定是)(G ν色可染的。
⑵ 若图G 是k 色可染的,则对任何正整数k m ≥,G 也m 色可染。
定义6.1.3 设G 是无环边的图,令G k G |min{)(=χ是k 色可染的},称)(G χ为G 的点色数,有时简称为色数(chromatic number)。
若k G =)(χ,则称G 为k 色图(k-chromatic graph)。
注:(1) 若k G =)(χ(即G 是k 色图),则G 中任何点k 染色),,,(21k V V V L =π中每个i V 都是非空的独立集。
图着色问题论述
图着色问题论述在包含问题的所有解的解空间树中,按照深度优先搜索的策略,从根结点出发深度探索解空间树。
若用回溯法求问题的所有解时,要回溯到根,且根结点的所有可行的子树都要已被搜索遍才结束。
而若使用回溯法求任一个解时,只要搜索到问题的一个解就可以结束。
贪心法它适用于解一些组合数较大的问题。
根据当前已有的信息就做出选择,而且一旦做出了选择,不管将来有什么结果,这个选择都不会改变。
换言之,贪心法并不是从整体最优考虑,它所做出的选择只是在某种意义上的局部最优。
【关键词】图着色回溯法贪心法1 图着色问题的分类1.1 回溯法回溯法是一种系统地搜索问题解的搜索算法。
它在包含问题的所有解的解空间树中,按照深度优先的策略,从根结点出发搜索解空间树。
算法搜索至解空间树的任一结点时,总是先判断该结点是否肯定不包含问题的解。
如果肯定不包含,则跳过对以该结点为根的子树的系统搜索,逐层向其祖先结点回溯。
否则,进入该子树,继续按深度优先的策略进行搜索。
用回溯法解题的一般步骤:(1)描述解的形式,定义一个解空间,它包含问题的所有解。
(2)构造状态空间树。
(3)构造约束函数(用于杀死节点)。
1.2 贪心算法贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。
不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。
贪心算法不是对所有问题都能得到整体最优解,但对一些问题它能产生整体最优解或者是整体最优解的近似解。
贪心算法没有固定的算法框架,算法设计的关键是贪婪策略的选择。
一定要注意,选择的贪婪策略要具有无后向性,即某阶段状态一旦确定以后,不受这个状态以后的策略影响,也就是说某个状态以后的过程不会影响以前的状态,只与当前状态有关,也称为这种特性为无后效性。
因此,适应用贪婪策略解决的问题类型较少,对所采用的贪婪策略一定要仔细分析其是否满足无后效性。
图的着色问题是由地图的着色问题引申而来的:用m 种颜色为地图着色,使得地图上的每一个区域着一种颜色,且相邻区域颜色不同。
图的着色问题
顶点着色-基本概念
• K可着色:G的一个k顶点着色是指k种颜色1,2,…,k对于G各顶点的 可着色: 的一个k顶点着色是指k种颜色1,2,…,k对于G 1,2, 对于 一个分配,如果任意两个相邻顶点都分配到不同的颜色, 一个分配,如果任意两个相邻顶点都分配到不同的颜色,则称着 色是正常的。换句话说,无环图G的一个正常k顶点着色是把V 色是正常的。换句话说,无环图G的一个正常k顶点着色是把V分成 可能有空的)独立集的一个分类( 2,… k个(可能有空的)独立集的一个分类(V1,V2,…,Vk)。当G有一个 正常k顶点着色时,就成G 顶点可着色的。 正常k顶点着色时,就成G是k顶点可着色的。 • G的色数X(G)是指G为k可着色的k的最小值,若X(G)=k,则称G 的色数X 是指G 可着色的k的最小值, =k,则称G 色的。 是k色的。 • 事实上,如果我们将同色的顶点列入一个顶点子集,那么求X(G) 事实上,如果我们将同色的顶点列入一个顶点子集,那么求X 就转为求满足下列条件的最少子集数k 就转为求满足下列条件的最少子集数k: 两两子集中的顶点不同; (1)两两子集中的顶点不同; 子集中的两两顶点不相邻。 (2)子集中的两两顶点不相邻。 显然有: 为平凡图, =1; 显然有: (i)若G为平凡图,则X(G)=1; ii) 为偶图, (ii)若G为偶图,则X(G)=2 iii)对任意图G Δ+1(这里Δ (iii)对任意图G,有X(G)≤Δ+1(这里Δ表示为顶点 数最大值) 数最大值)
问题来源
图的着色
• 通常所说的着色问题是指下述两类问题: 通常所说的着色问题是指下述两类问题: • 1.给定无环图G=(V,E),用m种颜色为图中 的每条边着色,要求每条边着一种颜色, 的每条边着色,要求每条边着一种颜色,并 使相邻两条边有着不同的颜色, 使相邻两条边有着不同的颜色,这个问题称 为图的边着色问题。 为图的边着色问题。 • 2.给定无向图G=(V,E),用m种颜色为图中 的每个顶点着色,要求每个顶点着一种颜色, 的每个顶点着色,要求每个顶点着一种颜色, 并使相邻两顶点之间有着不同的颜色, 并使相邻两顶点之间有着不同的颜色,这个 问题称为图的顶着色问题。 问题称为图的顶着色问题。
图论讲义第6章-染色应用
§6.5 染色应用举例—求图的边色数及色数的算法一、排课表问题—求二部图的正常)(G χ′边染色1. 问题: 有m 位教师m x x x ,,,21 ,n 个班级n y y y ,,,21 。
教师x i 每周需要给班级y j 上p ij 次(节)课。
要求制订一张周课时尽可能少的课程表。
2. 图论模型:构造二部图),(Y X G =,其中X ={m x x x ,,,21 },Y ={n y y y ,,,21 },顶点i x 与j y 之间连ij p 条边。
一个课时的安排方案对应于二部图G 的一个匹配。
排课表问题等价于:将E (G )划分成一些匹配,使得匹配的数目尽可能地少。
按)(G χ′的定义,这个最小的数目便是)(G χ′。
由定理6.2.1,()()G G χ′=Δ。
因此,排课表问题等价于:求二部图G 的边正常)(G Δ染色。
如§6.1中所述,虽然求简单图的正常(1+Δ)边染色存在多项式时间算法,但求简单图G 的边色数)(G χ′及其相应的正常边染色是一个NPC 问题[28]。
尽管如此,求二部图的边正常Δ染色却有多项式时间算法。
求图的边色数的近似算法可参考文献[29]~[51]。
[28] I. Holyer, The NP-completeness of edge-coloring, SIAM J. Computing , 10: 4(1981), 718-720.[29] E. Petrank, The hardness of approximation: gap location, Computational Complexity , 4 (1994), 133-157.[30] D. Leven and Z. Galil, NP completeness of finding the chromatic index of regular graphs, J. Algorithms , 4(1983) 35-44.[31] P. Crescenzi, V . Kann, R. Silvestri, and L. Trevisan, Structure in approximation classes, SIAM J. Comp., 28 (1999), 1759-1782.[32] J. Misra and D. Gries, A constructive proof of Vizing's theorem. Inform. Process. Lett. 41 (1992), 131-133.[33] O. Terada, and T. Nishizeki, Approximate algorithms for the edge-coloring of graphs, Trans. Inst. Eletron. Commun. Engr. Japan J65-D , 11(1982), 1382-1389.[34] M. Chrobak, and T. Nishizeki, Improved edge-coloring algorithms for planar graphs, J. Algorithms , 11(1990), 102-116.[35] I. Caragiannis, A. Ferreira, C. Kaklamanis, S. Perennes, P. Persiano and H. Rivano, Approximate constrained bipartite edge coloring, Discrete Applied Mathematics , 143(2004), 54-61[36] M. R. Salavatipour, A polynomial time algorithm for strong edge coloring of partial k -trees, Discrete Applied Mathematics , 143(2004), 285-291.[37] D.A. Grable, A. Panconesi, Nearly optimal distributed edge coloring in O (log log n ) rounds, Proceedings of the Eighth Annual ACM-SIAM Symposium on Discrete Algorithms, January, (1997), 278–285.[38] Yijie Han, Weifa Liang and Xiaojun Shen, Very fast parallel algorithms for approximate edge coloring, Discrete Applied Mathematics, 108(2001), 227-238.[39] M. Fürer and B. Raghavachari, Parallel edge coloring approximation, Parallel Process. Lett. , 6 (1996), 321–329.[40] H.J. Karloff and D.B. Shmoys, Efficient parallel algorithms for edge coloring problems. J. Algorithms 8 (1987), 39–52.[41] W. Liang, Fast parallel algorithms for the approximate edge-coloring problem. Inform. Process. Lett. 56 (1995), 333–338.[42] W. Liang, X. Shen and Q. Hu, Parallel algorithms for the edge-coloring and edge-coloring update problems. J. Parallel Distrib. Comput. 32 (1996), 66-73.[43] R. Motwani, J. Naor and M. Naor, The probabilistic method yields deterministic parallel algorithms. J. Comput. System Sci. 49 (1994), 478-516.[44] D. Bertsimas, C-P. Teo, and R. V ohra, On dependent randomized rounding algorithms, Proc. 5th Int. Conf. on Integer Prog. and Combinatorial Optimization , Lecture Notes in Comput. Sci. 1084, Springer-Verlag, (1996), 330-344.[45] M.K. Goldberg, Edge-colorings of multigraphs: recoloring technique, J. Graph Theory , 8(1984), 123-127.[46] D.S. Hochbaum, T. Nishizeki and D.B. Shmoys, Better than “Best Possible” algorithm to edge color multi graphs, Journal of Algorithms , 7(1986), 79-104[47] T. Nishizeki and K. Kashiwagi, On the 1.1 edge-coloring of multigraphs, SIAM J. Disc. Math. , 3(1990), 391-410.[48] J. Kahn, Asymptotics of the chromatic index for multigraphs, Journal of Combinatorial Theory (Ser. B ), 68(1996), 233-254.[49] X. Zhou H. Susuki, and T. Nishizeki, A linear algorithm for edge-coloring series-parallel multigraphs, J. Algorithms , 20(1996), 174-201.[50] X. Zhou H. Susuki, and T. Nishizeki, An NC parallel algorithm for edge-coloring series-parallel multigraphs, J. Algorithms , 23(1997), 359-374.[51] B. Berger and J. Rompel, Simulating (log c n )-wise independence in NC. J. ACM 38 (1991), 1026–1046.3. 求二部图),(Y X G =的边正常)(G Δ染色的算法z 算法思想:给G 添加必要的顶点使得||||Y X =,再添加必要的边使得G 成为)(G Δ正则二部图,所得图记为*G ,然后反复运用匈牙利算法求*G 的完美匹配。
图论中的图着色问题算法
图论中的图着色问题算法图着色问题是图论中的一个重要研究课题,它的目标是给定一个无向图,为每个顶点分配一个颜色,使得相邻的顶点拥有不同的颜色。
这个问题有着广泛的应用,例如地图着色、课程时间表安排以及调度等领域。
本文将介绍几种常见的图着色算法。
一、贪心算法贪心算法是解决图着色问题最直接且简便的方法之一。
其基本思想是从图的某个顶点开始,依次为每个顶点选择一个未被使用的最小颜色号。
该算法的具体步骤如下:1. 选择一个起始顶点v,并为其分配一个颜色c。
2. 对于v的所有相邻顶点u,如果u未着色,则为u选择一个未被使用的最小颜色号,并标记u为已着色。
3. 重复步骤2,直到所有顶点都被着色。
贪心算法的时间复杂度为O(n^2),其中n为顶点数。
该算法的缺点是可能得到的着色方案不是最优解。
二、回溯算法回溯算法是另一种常见的用于解决图着色问题的算法。
其基本思想是通过不断尝试不同的着色方案,直到找到一个满足条件的解。
该算法的具体步骤如下:1. 选择一个起始顶点v,并为其分配一个颜色c。
2. 对于v的所有相邻顶点u,如果u未着色,则为u选择一个未被使用的颜色号,并标记u为已着色。
3. 选择下一个未着色的顶点作为新的起始顶点,重复步骤2。
4. 如果无法为任何顶点着色,则回溯到上一步,修改之前的着色方案,为当前顶点选择一个新的颜色。
5. 重复步骤3和步骤4,直到所有顶点都被着色。
回溯算法的时间复杂度取决于图的结构和颜色数目,一般情况下是指数级的。
该算法可以得到最优解,但在处理大规模问题时效率较低。
三、基于现有算法的改进除了贪心算法和回溯算法外,还存在一些基于这两种算法的改进方法,以提高图着色问题的求解效率。
例如,使用启发式算法、剪枝技术以及约束求解等方法。
启发式算法是一种非确定性的搜索算法,通过引入启发函数来指导搜索过程,以期望更快地找到一个不错的解。
典型的启发式算法包括Tabu搜索、模拟退火算法等。
剪枝技术是在搜索过程中通过判断某些分支的无效性,从而减少搜索空间,提高算法效率。
图论中的图的着色与染色问题
图论中的图的着色与染色问题图是图论中的基本概念之一,是由顶点和边构成的数学结构。
在图的理论中,图的着色与染色问题是一个非常重要且有趣的研究领域。
本文将介绍图的着色与染色问题的基本概念、定理和算法,希望能够为读者深入了解图论领域提供一些帮助。
一、基本概念在图的理论中,图的着色与染色问题是指将图的顶点或边用不同颜色标记的过程。
着色是指给图的顶点或边分配颜色,使得相邻的顶点或边颜色不相同;而染色是指给图的顶点或边分配颜色,使得相邻的顶点或边颜色可以相同。
定理1:图的顶点着色问题对于一个简单图,顶点着色问题是指如何用最少的颜色将图的所有顶点着色,使得相邻的顶点颜色不同。
根据四色定理,任何一个平面图都可以只用四种颜色进行顶点着色。
定理2:图的边着色问题对于一个简单图,边着色问题是指如何用最少的颜色将图的所有边着色,使得任意两条依附于同一顶点的边颜色不同。
根据维茨定理,任何简单无向图都可以用最大度数加一种颜色进行边着色。
二、算法与实践在解决图的着色与染色问题时,常用的算法包括贪心算法、回溯算法、图染色算法等。
其中,Welsh-Powell算法是用来解决无向图的顶点着色问题的一种有效算法,其基本思想是优先考虑度数最大的顶点进行着色。
而在解决边着色问题时,常用的算法包括Vizing定理、边染色算法等。
三、应用与拓展图的着色与染色问题在实际生活中有着广泛的应用,如地图着色、时间表着色、调度问题等。
同时,在拓展领域中,图的着色与染色问题也与其他数学领域有着密切的联系,如组合数学、离散数学等,在各个领域都有着深入的研究与应用。
总结:图的着色与染色问题是图论领域中的一个重要研究方向,具有丰富的理论内涵和实际应用。
通过本文对图的着色与染色问题的介绍,希望读者能够对该领域有一个初步的了解,进一步深入研究与探讨。
愿本文能够为读者在图论领域的学习与研究提供一些帮助与启发。
图论讲义6染色理论
第六章 染色理论许多实际问题可以归结为求图的匹配或者独立集。
此外,在许多应用中,人们希望知道:一个给定的图,它的边集至少能划分成多少个边不交的匹配?或它的顶点集至少能划分成多少个点不交的独立集?这便是图的边染色和顶点染色问题。
§6.1 点染色定义6.1.1 设G 是一个无环边的图。
G 的顶点正常k 染色(proper vertex k-colouring)π是指k 种颜色k ,,,L 21对于G 的各顶点的一种分配,使得任二相邻的顶点被染上不同的颜色。
换句话说,G 的顶点正常k 染色π是一个映射},,2,1{)(:k G V L →π,使得)(1i −π是独立集或空集),,2,1(k i L =.注:设π是G 的一个顶点正常k 染色。
令})(|)({)(V 1i x G V x i i =∈==−ππ,(k i ,,2,1L =)。
则π实际上是对顶点集)(G V 的一种划分:),,,(21k V V V L =π,其中φ=j i V V I ,)(1G V Vki i==U ,且每个i V 是独立集或空集),,2,1(k i L =.例:定义6.1.2 若存在G 的一种顶点正常k 染色,则称图G 是点k 色可染的(vertex k-colourable), 有时简称为k 色可染的或可k 染色的。
注:⑴ 每个图G 一定是)(G ν色可染的。
⑵ 若图G 是k 色可染的,则对任何正整数k m ≥,G 也m 色可染。
定义6.1.3 设G 是无环边的图,令G k G |min{)(=χ是k 色可染的},称)(G χ为G 的点色数,有时简称为色数(chromatic number)。
若k G =)(χ,则称G 为k 色图(k-chromatic graph)。
注:(1) 若k G =)(χ(即G 是k 色图),则G 中任何点k 染色),,,(21k V V V L =π中每个i V 都是非空的独立集。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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
第六章 染色理论
许多实际问题可以归结为求图的匹配或者独立集。 此外, 在许多应用中, 人们希望知道: 一个给定的图, 它的边集至少能划分成多少个边不交的匹配?或它的顶点集至少能划分成多 少个点不交的独立集?这便是图的边染色和顶点染色问题。
§6.1 边染色
,, 2 ,k 定义 6.1.1 非空无环图 G 的边正常 k 染色 (proper edge k- colouring) 是指 k 种颜色 1
对 E(G)中元素的一种分配,使得相邻两条边所染颜色不同。换句话说,G 中边正常 k 染色 是映射
c : E (G ) → {1,2,
使得对每个 i ( i = 1,2,
−1
, k} ,
, k ), c −1 (i ) 是匹配或者空集。
, k ) ,则 G 的一个边正常 k 染色可看
注: 若令 E i = c (i ) = {e ∈ E (G ) c( e ) = i}, (i = 1,2, 成是边集的一种划分 c = ( E1 , E 2 ,
限数,故存在一个最小整数 m,使得对某个 k < m,有 im+1 = ik。 现在,对 1 ≤ j ≤ k − 1 , 用颜色 ij+1 给边 uvj 重新染色。这样产生一个新的( Δ+1 )边染色
′, C ′ = ( E1′, E 2
′ +1 ) 。显然对所有 v ∈ V , c′(v ) ≥ c(v ) 。因此 c ′ 也是 G 的一个最佳 , EΔ
G 是二部图矛盾。证毕。 注:也可按推论 3.3.3,二部图的边集可分解为 Δ (G ) 个边不交的匹配,故 χ ′(G ) = Δ (G ) 。 定理 6.1.4 (Vizing 定理,1964) 设 G 是无环非空简单图,则
Δ(G ) ≤ χ ′(G ) ≤ Δ(G ) + 1 。
证明:首先, χ ′(G ) ≥ Δ (G ) (定义 6.1.3 的注(4))。下证 χ ′(G ) ≤ Δ (G ) + 1 (用反证法)。 假如
, E k ) 是 G 的一个最佳边 k 染ቤተ መጻሕፍቲ ባይዱ, 且存在一个顶点 u 及两种颜色
i 和 j, 色 i 不在 u 处出现,而色 j 在 u 处出现了至少两次,则 G[ Ei ∪ E j ] 中含 u 的连通分支
′, Ei ∪ E j 中的边重新染色后,得到 G 的一个新的边 k-染色 c′ = ( E1′, E 2
ik-1
… v3 v2
i3
…
ik
u
…
im
i2 i1 i1
vm
v1
v
因 d ( v1 ) < Δ + 1 ,故必有某种色 i 2 不在 v1 处出现。这样 i 2 必然在 u 处出现(否则,可 。因此存在一条 用 i 2 给 uv1 重新染色,得到一个改进的 Δ+1 边染色,与 c 是最佳染色矛盾) 边 uv2 染有色 i 2 。 。 又因 d ( v 2 ) < Δ + 1 ,必有某种色 i 3 不在 v2 处出现。 i 3 必然在 u 处出现 (理由同上) 因此存在一边 uv3 染有色 i 3 。 继续这个过程,可找出一个顶点序列 v1 , v 2 , 染有颜色 ij,且色 ij+1 不在点 vj 处出现, ( j = 1,2, , 以及一个颜色序列 i1 , i2 , , 使得边 uvj ) 。而且,因 c(u ) < d (u ) 且 d (u ) 是有
1 2 1 2 1 2 1
u
(2) 设 G 不是 Euler 图。此时给 G 增添一个新顶点 v0,将 v0 与 G 的每个奇度顶点连一条 边 , 得 到 一 个 新 图 G* 。 显 然 G* 的 所 有 顶 点 都 是 偶 数 度 的 , 因 而 是 Euler 图 。 设
v0 e1v1e2
* eε ( G *) v0 是 G*的一个 Euler 闭迹,令 E1* = {ei i 为奇数}, E 2 = {ei i 为偶数},这 * * *
vk
… v3 v2
i4 i3 i2
u
… H2
ik i0
…
im ik
i1
vm
v1
v
但是,因 vk 在 H 1 中的度为 2(恰与一条 i0 色边和一条 ik 色边相关联) ,故它在 H 2 中的 。这与 H 2 是奇圈矛盾。 (注意 vk 必在分支 H 2 中,因它与 度为 1(仅与一条 i0 色边相关联) 。由此可知反证法假设不能成立。证毕。 vk-1 有 i0、ik 交错路( H 1 的一段)相连) 对于有重边的图 G,设 μ (G ) 表示 G 中边的最大重数,Vizing 实际上证明了一个更一般 的结论: Δ (G ) ≤
′ ) ,其中 i, j , Ek
两色都在 u 处出现,故 c ′(u ) = c(u ) + 1 ,而对 u 之外的其它顶点 v,都有 c′( v ) ≥ c( v ) 。于是
v∈V ( G )
∑ c′(v) > ∑ c(v ) 。这与 c 是最佳边 k-染色矛盾。证毕。
v∈V ( G )
定理 6.1.1(König[1], 1916)设 G 是二部图,则 χ ′(G ) = Δ(G ) 。 [1] D. König, Über Graphen und ihre Anwendung auf Determinantentheorie und mengenlehre, Math. Ann., 77(1916), 453-465. 证明(反证法) :假设 χ ′(G ) ≠ Δ (G ) 。则由定义 6.1.3 的注( 4 ) , χ ′(G ) > Δ (G ) 。设
* *
定义 6.1.4 对于 G 的一个边 k-染色 c, c(v)表示顶点 v 处出现的不同颜色的数目。 设 c 与 c′ 都是 G 的边 k-染色(未必是正常染色) 。若相应的 c(v)与 c ′( v ) 满足:
v∈V ( G )
∑ c′(v ) > ∑ c(v ) ,
v∈V ( G )
则称 c ′ 是对 c 的一个改进。不能改进的边 k 染色称为最佳边 k 染色。 引理 6.1.2 设 c = ( E1 , E 2 , 必是奇圈。 证明:设 G1 是 G[ Ei ∪ E j ] 中含 u 的连通分支。若 G1 不是奇圈,则由引理 6.1.1,G1 有一个 边-2 染色,其两种色在 G1 中度 ≥ 2 的每个顶点处都出现。按这种染色办法用色 i 和 j 给
χ ′(G ) ≤ Δ(G ) + μ (G ) 。 χ ′(G ) = Δ(G ) 的 简 单图称 为 第 一类图 , 使
Vizing 定理提 出 了 一个分 类 问 题:使
χ ′(G ) = Δ(G ) + 1 的简单图 G 称为第二类图。确定一个图属于第一类还是第二类是很困难
的,目前仅对少量的图类判明了它们所属的类。路、树、二部图、偶数阶完全图、轮图都是 第一类图(轮图 W1,n 是由一个点与长为 n 的圈上所有顶点相连形成的图) ,奇圈、奇数阶完 全图都是第二类图(见有关定理和习题)。一般情况下判别一个图属于第几类图,尚没有好的 充分必要判别条件,一些充分性判别条件见习题。 第二类图相对较稀少。在 υ ≤ 6 的 143 个连通简单图中仅有 8 个属于第二类;而 Erdös 和 Wilson(1977)已证明: lim
(其中 v0 点的关联边有可能是同一种色) 。按这 样可得 G*的一个边 2-染色 c = ( E1 , E 2 ) , 种办法给 G*的边染色后,去掉 v0 及其关联的边,便得到 G 的一个边 2-染色。对于 G 中偶 度点,它关联的边及其颜色与 G*中相同;对 G 的任何奇度点 v,在 G 中比在 G*中少关联一 条边,但只要 d G ( v ) > 1 , 便有 d G ( v ) ≥ 3 , 故由染色的方法知,与 v 点关联的边中两种颜色 的都有。这说明 G 的边 2-染色 c = ( E1 ∩ E (G ), E 2 ∩ E (G )) 即为所求的边 2-染色。证毕。
c = ( E1 , E 2 ,
, E Δ ) 是 G 的一个最佳边 Δ 染色,则 c 必定不是正常染色。故存在顶点 u 满
足 c(u ) < d (u ) , 因而必有某两条在 u 点相邻的边染了同一种色。 而且, 因 d ( u ) ≤ Δ (G ) , 故