图论讲义6染色应用
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
m 染色。
例:
G
χ (G) = 3
5
规范染色法(极大独立集法)
设ϕ = {V1,V2 ,L,Vk }是 G 点 k 染色。若V1 是 G 的极大独立集,V2 是 G \ V1 的极大独
i −1
U 立 集 , V3 是 G \ (V1 U V2 ) 的 极 大 独 立 集 , 一 般 地 , Vi 是 G \ V j 的 极 大 独 立 集 j =1
M1, M 2 ,L M p ,使得 E = M1 U M 2 U L U M p ,且对每个 i (i = 1,2,L, p) 均有
⎢ε (G)⎥ ⎢⎣ p ⎥⎦
≤|
Mi
|≤
⎡ε (G)⎤ ⎢⎢ p ⎥⎥
。
证明:因图 G 是二部图,故由本章定理 6.2.1,边集 E(G) 可划分为 ∆ 个匹配 M1′, M 2′ ,L, M ∆′ , 因而对任何 p ≥ ∆(G) ,G 中存在 p 个无公共边的匹配 M1′, M 2′ ,L, M ∆′ , M ∆′ +1,L, M ′p (其
执行算法 A 得 G 的 4 个边不交的匹配(如图 2)。相应的一个 4 课时课表如下:
教师 课时
1
2
3
4
x1
y1
y1
y3
y4
x2
y2
y4
x3
y3
y4
y2
x4
y4
y5
按这张课表安排,需
4
个教室。但因 ε
(G)
=
11,
⎡ε ⎢⎢ p
⎤ ⎥⎥
=
⎡11⎤ ⎢⎢ 4 ⎥⎥
=
3
,由定理
6.3.1,可
排出一张只需 3 个教室的 4 课时课表。事实上,将教师 x4 在第 1 课时的课调到第 3 课时而 将教师 x2 在第 3 课时的课与第 1 课时对调即可。从二部图的匹配上来看,是将第 1 课时和
第 3 课时对应的匹配施行了一次引理 6.3.1 的操作。一张只需 3 个教室的 4 课时课表如下:
教师 课时
1
2
3
4
x1
y1
y1
y3
y4
x2
y4
y2
x3
y3
y4
y2
x4
y5
y4
3
二、点染色的应用及正常 χ (G) 点染色的求法
1.考试安排问题
某校有 n 门选修课 L1, L2 ,L, Ln 需进行期末考试,同一个学生不能在同一天里参加两门
理 6.3.1 对其进行调整,最终使得染不同颜色的两个边集所含边数至多相差 1。
例 6.3.1 设有 4 个教师和 5 个班级,教学要求用矩阵 T = (tij ) 表示如下:
y1 y2 y3 y4 y5
x1 ⎜⎛ 2 0 1 1 0⎟⎞
T = x2 ⎜0 1 0 1 0⎟
x3 x4
⎜ ⎜⎜⎝
0 0
第
2
步:取
x0
∈
X
,
y0
∈Y
,使得 dG* ( x0 )
=
min
xi∈X
d
G*
(
xi
)
,
d
G*
(
y
0
)
=
min
yi∈Y
d
G
*
(
yi
)
,令
G* := G* + x0 y0 ,转第 1 步。
第 3 步:任取 G* 的一个匹配 M。
1
第 4 步:若 X 已 M 饱和,转第 7 步;否则取 X 中一个 M 不饱和点 u,置 S := {u} ,T := φ 。
u
G’
u
v
v
uv
G
G”
定理 6.3.2 χ (G) = min{χ (G′), χ (G′′)}。
证明:考虑图 G 的所有可能的正常点染色。u, v 的染色有两种可能:u 与 v 同色,或 u 与 v
异色。G 的使 u 与 v 染同色的正常点染色与 G′′ 的正常点染色一一对应,而 G 的使 u 与 v 染异色的正常点染色与 G′ 的正常点染色一一对应。因此 χ (G) = min{χ (G′), χ (G′′)} 。
注:(1)这是一种贪婪算法。
(2)规范 k 染色一般不唯一。
(3)用这个算法只能得到一种正常顶点染色。规范染色所用的颜色数未必就是 χ (G) 。
若V1 不是 G 的极大独立集,则可从V \ V1 中调一些顶点进入V1 ,使V1 扩大成极大独立集
V (1) 1
,V2
,V3 , L ,Vk
变成
V (1) 2
,
V (1) 3
,L,Vk(1)
。然后考虑
V (1) 2
。若它不是
G
\
V (1) 1
的极大独立
集,则可从V
\
(V1(1)
U
V (1) 2
)
中
图论模型:构造图 G=(V, E)如下:V (G) = { T1, T2 ,L, Tn }, TiTj ∈ E(G) 当且仅当发 射台 Ti 和 T j 的距离不超过 d。
考虑 G 图的正常点染色。易见染同一种色的顶点课分配给同一频道。反之,按要求分 配一个频道,相当于给 G 中相应的顶点染同一种色。因此,频道分配相当于对 G 进行顶点
一些适用于小规模问题的非多项式时间算法和近似比无界的多项式时间近似算法。
4. 求图 G 的色数 χ (G) 及正常 χ (G) 点染色的算法
添边粘合法
4
添边粘合操作:给定图 G=(V, E),设 u, v ∈V (G) ,且 u,v 在 G 中互不相邻,则
(1) (2) 例如:
给 G 添加边 uv,得图G′ ;-添边操作 将 u,v 两点粘合为一点,并去掉所得的重边,得图 G′′ 。-粘合操作
第 5 步:在 N (S) \ T 中取一点 y.
第 6 步:若 y 是 M 饱和的,则存在 yz ∈ M ,置 S := S U {z} , T := T U {y},转第 5 步; 否则,存在一条 M 可扩路 P (u, y) ,置 M := M ⊕ E(P) ,转第 4 步。
第 7 步:若 k = ∆ ,则停止;否则,令 k := k + 1, G* := G* \ M ,转第 3 步。 因匈牙利算法的时间复杂性为 O(| X | ⋅ | E |) ,而预处理的加边循环不超过 | X | ⋅∆ 次,
p
U 中 M ∆′ +1 = L = M ′p = φ ),使得 E(G) = M i′ 。对这些匹配反复运用引理,即可得到满足 i =1
定理要求的匹配。证毕。
这个定理对前述带约束排课表问题给出了肯定回答。同时也给出了求所需教室数最少的
2
p 课时课表的方法:先按算法 A 求出相应二部图的一个正常 ∆(G) 边染色,然后反复运用引
证毕。
由此可知,对于给定的图 G,若 G 是一个ν 阶完全图,则 χ (G) = ν 。此时给 G 的每个
顶点一个不同的色即可。若 G 不是完全图,则可取两个不相邻顶点 u,v,对 G 进行添边操作 和粘合操作,反复进行这个过程,直至获得完全图为止。设最终得到的阶数最小的完全图为
Km ,则 χ (G) = m 。对该完全图进行正常点 m 染色,并进行反向操作便可得图 G 的正常点
顶点 xi 与 y j 之间连 pij 条边。一个课时的安排方案对应与二部图 G 的一个匹配。
排课表问题等价于:将 E(G)划分成一些匹配,使得匹配的数目尽可能地少。
按 χ ′(G) 的定义,这个最小的数目便是 χ ′(G) 。由定理 6.2.1,χ ′(G) = ∆(G) 。因此,
排课表问题等价于:求二部图 G 的边正常 ∆(G) 染色。
⎤ ⎥⎥
=
26
间教室。
问题:可否在一张有
p
节课时的课表里安排
l
节课,使得在一节课时内至多用
⎡ ⎢⎢
l p
⎤ ⎥⎥
间教室?
下面的引理见第 3 章习题。
引理 6.3.1 设 M 和 N 是图 G 的两个无公共边的匹配,并且 | M |>| N | ,则存在 G 的无公共
边的匹配 M ′ 和 N ′ ,使得 | M ′ |=| M | −1 , | N ′ |=| N | +1,且 M ′ U N ′ = M U N 。 定理 6.3.1 若图 G 是一个二部图,且 ∆(G) ≤ p ,则 G 中存在 p 个无公共边的匹配
§6.3 染色应用举例
一、排课表问题 —— 求二部图的正常 χ ′(G) 边染色
1. 问题: 有 m 位教师 x1, x2 ,L, xm ,n 个班级 y1, y2 ,L, yn 。教师 xi 每周需要给班级 yj 上
pij 次(节)课。要求制订一张周课时尽可能少的课程表。
2. 图论模型:构造二部图 G = ( X ,Y ) ,其中 X={ x1, x2 ,L, xm },Y={ y1, y2 ,L, yn },
点正常染色。所求最少天数即为 G 的点色数 χ (G) 。问题化为:求图 G 的正常 χ (G) 点染
色。 2.电视频道分配问题
某地区有年家电视发射台 T1, T2 ,L, Tn ,主管部门给每家电视台分配一个发射频道。为
排除同频干扰,使用相同频道的发射台之间相距必须大于一定的距离 d。试问:该地区至少 需要多少个频道?如何分配?
调
一
些
顶
点
进
入
V (1) 2
, 将 其 扩 充 成 极 大 独 立 集 V2(2)
,
V (1) 2
,
V (1) 3
,
L
,Vk(1)
变成
V2(2) ,V3(2) ,L,Vk(2)
。如此类推,最后可得图
G
的规范
k
染色
V (1) 1
,V2(
2
)
,L
,Vk(
k
)
。
证毕。
规范染色法基本思想:求 G 的极大点独立集V1 ,其顶点染上色 1;再求 G \ V1 的极大点独立 集V2 ,将其顶点染上色 2;如此类推,直至染完所有顶点。
正常染色。所求最少频道数即为点色数 χ (G) 。问题化为:求图 G 的正常 χ (G) 点染色。
3. 储藏问题
某公司生产 n 种化学品 C1, C2 ,L, Cn ,其中某些制品不能存放在同一个仓库中。问至
少需要多少个仓库?如何分配存放?
图论模型:构造图 G=(V, E)如下:V (G) = { C1, C2 ,L, Cn }, CiC j ∈ E(G) 当且仅当 制品 Ci 和 C j 不能放在同一仓库中。
若干制品可放在同一仓库当且仅当它们在 G 中对应的顶点课染同一种色。可见给这些
产品分配仓库相当于对 G 进行正常点染色。所需的最少仓库数即为 G 的点色数 χ (G) 。问 题化为:求图 G 的正常 χ (G) 点染色。
求任意图的正常 χ (G) 点染色是一个 NPC 问题,目前没有多项式时间精确算法。仅有
( i = 2,3,Lk ),则称ϕ 是图 G 的规范 k 染色(canonical k-colouring).
定理 6.3.3 图 G 是顶点可 k 正常染色的当且仅当 G 存在规范 k 染色。
证明:充分性是显然的。
必要性:设{V1,V2 ,L,Vk } 是图 G 的一个顶点正常 k 染色,则V1,V2 ,L,Vk 都是 G 的独立集。
故该算法是多项式时间算法。
4. 带有约束的排课表问题
设学校每周有 l 阶课,安排在一张有 p 节课时的课表中(前面的方法求得一个 ∆ 节课时
的课表)。这样,平均每一课时要上
l p
节课。因此需要
⎡ ⎢⎢
l⎤ p ⎥⎥
间教室。比如,l
=
510 ,p
=
20 ,
则需要
⎡ ⎢⎢
l p
⎤ ⎥⎥
=
⎡ ⎢⎢
510 20
3. 求二部图 G = ( X ,Y ) 的边正常 ∆(G) 染色的算法
预处理:(1)给 G 添加必要的顶点使得 | X |=| Y | ;
(2)给 G 添加必要的边使得 G 成为 ∆(G) 正则二部图,记为 G* 。
算法思想:反复运用匈牙利算法求 G* 的完美匹配。
由第 3 章 König 定理(推论 3.3.3), G* 存在完美匹配。每求出 G* 的一个完美匹配, 给这个完美匹配的边赋以一种颜色。因共可求得 ∆(G) 个边不重的完美匹配(推论 3.3.3),
或两门以上课程的考试。试问:该校的期末考试至少需要几天?如何安排?
图论模型:构造图 G=(V, E)如下:V (G) = { L1, L2 ,L, Ln },Li L j ∈ E(G) 当且仅当课 程 Li 和 L j 被同一学生选修。
将同一天中的考试课程在 G 中对应的顶点染同一种色,则考试安排相当于对 G 进行顶
1 0
1 0
1 1
10⎟⎟⎟⎠
问:(1)课表至少需要几课时?
(2)按算法 A 给出一个课时数最少的课表。
(3)在课时数最少的前提下,给出需教室数最少的课表方案。
解:构造二部图如下图 1:
x1
y1
x2
y2
x3
y3
x4
y4
y5 图1
x1
y1
x2
y2
x3
y3
x4
y4
y5 图2
由于 ∆(G) = 4 ,故课表至少需 4 课时。
故可得 G* (从而 G)的边正常 ∆(G) 染色。
算法 A:求二部图的边正常 ∆(G) 染色(求二部图的 ∆(G) 个边不交的匹配)。
输入:二部图 G=(X,Y)
输出:G 的边正常 ∆(G) 染色( ∆(G) 个边不交的匹配)
第 0 步:添加顶点使得|X|=|Y|,所得图记为 G* 。
第 1 步:若 ∆(G* ) = δ (G* ) ,令 k = 1 ,转第 3 步;否则,转第 2 步。
例:
G
χ (G) = 3
5
规范染色法(极大独立集法)
设ϕ = {V1,V2 ,L,Vk }是 G 点 k 染色。若V1 是 G 的极大独立集,V2 是 G \ V1 的极大独
i −1
U 立 集 , V3 是 G \ (V1 U V2 ) 的 极 大 独 立 集 , 一 般 地 , Vi 是 G \ V j 的 极 大 独 立 集 j =1
M1, M 2 ,L M p ,使得 E = M1 U M 2 U L U M p ,且对每个 i (i = 1,2,L, p) 均有
⎢ε (G)⎥ ⎢⎣ p ⎥⎦
≤|
Mi
|≤
⎡ε (G)⎤ ⎢⎢ p ⎥⎥
。
证明:因图 G 是二部图,故由本章定理 6.2.1,边集 E(G) 可划分为 ∆ 个匹配 M1′, M 2′ ,L, M ∆′ , 因而对任何 p ≥ ∆(G) ,G 中存在 p 个无公共边的匹配 M1′, M 2′ ,L, M ∆′ , M ∆′ +1,L, M ′p (其
执行算法 A 得 G 的 4 个边不交的匹配(如图 2)。相应的一个 4 课时课表如下:
教师 课时
1
2
3
4
x1
y1
y1
y3
y4
x2
y2
y4
x3
y3
y4
y2
x4
y4
y5
按这张课表安排,需
4
个教室。但因 ε
(G)
=
11,
⎡ε ⎢⎢ p
⎤ ⎥⎥
=
⎡11⎤ ⎢⎢ 4 ⎥⎥
=
3
,由定理
6.3.1,可
排出一张只需 3 个教室的 4 课时课表。事实上,将教师 x4 在第 1 课时的课调到第 3 课时而 将教师 x2 在第 3 课时的课与第 1 课时对调即可。从二部图的匹配上来看,是将第 1 课时和
第 3 课时对应的匹配施行了一次引理 6.3.1 的操作。一张只需 3 个教室的 4 课时课表如下:
教师 课时
1
2
3
4
x1
y1
y1
y3
y4
x2
y4
y2
x3
y3
y4
y2
x4
y5
y4
3
二、点染色的应用及正常 χ (G) 点染色的求法
1.考试安排问题
某校有 n 门选修课 L1, L2 ,L, Ln 需进行期末考试,同一个学生不能在同一天里参加两门
理 6.3.1 对其进行调整,最终使得染不同颜色的两个边集所含边数至多相差 1。
例 6.3.1 设有 4 个教师和 5 个班级,教学要求用矩阵 T = (tij ) 表示如下:
y1 y2 y3 y4 y5
x1 ⎜⎛ 2 0 1 1 0⎟⎞
T = x2 ⎜0 1 0 1 0⎟
x3 x4
⎜ ⎜⎜⎝
0 0
第
2
步:取
x0
∈
X
,
y0
∈Y
,使得 dG* ( x0 )
=
min
xi∈X
d
G*
(
xi
)
,
d
G*
(
y
0
)
=
min
yi∈Y
d
G
*
(
yi
)
,令
G* := G* + x0 y0 ,转第 1 步。
第 3 步:任取 G* 的一个匹配 M。
1
第 4 步:若 X 已 M 饱和,转第 7 步;否则取 X 中一个 M 不饱和点 u,置 S := {u} ,T := φ 。
u
G’
u
v
v
uv
G
G”
定理 6.3.2 χ (G) = min{χ (G′), χ (G′′)}。
证明:考虑图 G 的所有可能的正常点染色。u, v 的染色有两种可能:u 与 v 同色,或 u 与 v
异色。G 的使 u 与 v 染同色的正常点染色与 G′′ 的正常点染色一一对应,而 G 的使 u 与 v 染异色的正常点染色与 G′ 的正常点染色一一对应。因此 χ (G) = min{χ (G′), χ (G′′)} 。
注:(1)这是一种贪婪算法。
(2)规范 k 染色一般不唯一。
(3)用这个算法只能得到一种正常顶点染色。规范染色所用的颜色数未必就是 χ (G) 。
若V1 不是 G 的极大独立集,则可从V \ V1 中调一些顶点进入V1 ,使V1 扩大成极大独立集
V (1) 1
,V2
,V3 , L ,Vk
变成
V (1) 2
,
V (1) 3
,L,Vk(1)
。然后考虑
V (1) 2
。若它不是
G
\
V (1) 1
的极大独立
集,则可从V
\
(V1(1)
U
V (1) 2
)
中
图论模型:构造图 G=(V, E)如下:V (G) = { T1, T2 ,L, Tn }, TiTj ∈ E(G) 当且仅当发 射台 Ti 和 T j 的距离不超过 d。
考虑 G 图的正常点染色。易见染同一种色的顶点课分配给同一频道。反之,按要求分 配一个频道,相当于给 G 中相应的顶点染同一种色。因此,频道分配相当于对 G 进行顶点
一些适用于小规模问题的非多项式时间算法和近似比无界的多项式时间近似算法。
4. 求图 G 的色数 χ (G) 及正常 χ (G) 点染色的算法
添边粘合法
4
添边粘合操作:给定图 G=(V, E),设 u, v ∈V (G) ,且 u,v 在 G 中互不相邻,则
(1) (2) 例如:
给 G 添加边 uv,得图G′ ;-添边操作 将 u,v 两点粘合为一点,并去掉所得的重边,得图 G′′ 。-粘合操作
第 5 步:在 N (S) \ T 中取一点 y.
第 6 步:若 y 是 M 饱和的,则存在 yz ∈ M ,置 S := S U {z} , T := T U {y},转第 5 步; 否则,存在一条 M 可扩路 P (u, y) ,置 M := M ⊕ E(P) ,转第 4 步。
第 7 步:若 k = ∆ ,则停止;否则,令 k := k + 1, G* := G* \ M ,转第 3 步。 因匈牙利算法的时间复杂性为 O(| X | ⋅ | E |) ,而预处理的加边循环不超过 | X | ⋅∆ 次,
p
U 中 M ∆′ +1 = L = M ′p = φ ),使得 E(G) = M i′ 。对这些匹配反复运用引理,即可得到满足 i =1
定理要求的匹配。证毕。
这个定理对前述带约束排课表问题给出了肯定回答。同时也给出了求所需教室数最少的
2
p 课时课表的方法:先按算法 A 求出相应二部图的一个正常 ∆(G) 边染色,然后反复运用引
证毕。
由此可知,对于给定的图 G,若 G 是一个ν 阶完全图,则 χ (G) = ν 。此时给 G 的每个
顶点一个不同的色即可。若 G 不是完全图,则可取两个不相邻顶点 u,v,对 G 进行添边操作 和粘合操作,反复进行这个过程,直至获得完全图为止。设最终得到的阶数最小的完全图为
Km ,则 χ (G) = m 。对该完全图进行正常点 m 染色,并进行反向操作便可得图 G 的正常点
顶点 xi 与 y j 之间连 pij 条边。一个课时的安排方案对应与二部图 G 的一个匹配。
排课表问题等价于:将 E(G)划分成一些匹配,使得匹配的数目尽可能地少。
按 χ ′(G) 的定义,这个最小的数目便是 χ ′(G) 。由定理 6.2.1,χ ′(G) = ∆(G) 。因此,
排课表问题等价于:求二部图 G 的边正常 ∆(G) 染色。
⎤ ⎥⎥
=
26
间教室。
问题:可否在一张有
p
节课时的课表里安排
l
节课,使得在一节课时内至多用
⎡ ⎢⎢
l p
⎤ ⎥⎥
间教室?
下面的引理见第 3 章习题。
引理 6.3.1 设 M 和 N 是图 G 的两个无公共边的匹配,并且 | M |>| N | ,则存在 G 的无公共
边的匹配 M ′ 和 N ′ ,使得 | M ′ |=| M | −1 , | N ′ |=| N | +1,且 M ′ U N ′ = M U N 。 定理 6.3.1 若图 G 是一个二部图,且 ∆(G) ≤ p ,则 G 中存在 p 个无公共边的匹配
§6.3 染色应用举例
一、排课表问题 —— 求二部图的正常 χ ′(G) 边染色
1. 问题: 有 m 位教师 x1, x2 ,L, xm ,n 个班级 y1, y2 ,L, yn 。教师 xi 每周需要给班级 yj 上
pij 次(节)课。要求制订一张周课时尽可能少的课程表。
2. 图论模型:构造二部图 G = ( X ,Y ) ,其中 X={ x1, x2 ,L, xm },Y={ y1, y2 ,L, yn },
点正常染色。所求最少天数即为 G 的点色数 χ (G) 。问题化为:求图 G 的正常 χ (G) 点染
色。 2.电视频道分配问题
某地区有年家电视发射台 T1, T2 ,L, Tn ,主管部门给每家电视台分配一个发射频道。为
排除同频干扰,使用相同频道的发射台之间相距必须大于一定的距离 d。试问:该地区至少 需要多少个频道?如何分配?
调
一
些
顶
点
进
入
V (1) 2
, 将 其 扩 充 成 极 大 独 立 集 V2(2)
,
V (1) 2
,
V (1) 3
,
L
,Vk(1)
变成
V2(2) ,V3(2) ,L,Vk(2)
。如此类推,最后可得图
G
的规范
k
染色
V (1) 1
,V2(
2
)
,L
,Vk(
k
)
。
证毕。
规范染色法基本思想:求 G 的极大点独立集V1 ,其顶点染上色 1;再求 G \ V1 的极大点独立 集V2 ,将其顶点染上色 2;如此类推,直至染完所有顶点。
正常染色。所求最少频道数即为点色数 χ (G) 。问题化为:求图 G 的正常 χ (G) 点染色。
3. 储藏问题
某公司生产 n 种化学品 C1, C2 ,L, Cn ,其中某些制品不能存放在同一个仓库中。问至
少需要多少个仓库?如何分配存放?
图论模型:构造图 G=(V, E)如下:V (G) = { C1, C2 ,L, Cn }, CiC j ∈ E(G) 当且仅当 制品 Ci 和 C j 不能放在同一仓库中。
若干制品可放在同一仓库当且仅当它们在 G 中对应的顶点课染同一种色。可见给这些
产品分配仓库相当于对 G 进行正常点染色。所需的最少仓库数即为 G 的点色数 χ (G) 。问 题化为:求图 G 的正常 χ (G) 点染色。
求任意图的正常 χ (G) 点染色是一个 NPC 问题,目前没有多项式时间精确算法。仅有
( i = 2,3,Lk ),则称ϕ 是图 G 的规范 k 染色(canonical k-colouring).
定理 6.3.3 图 G 是顶点可 k 正常染色的当且仅当 G 存在规范 k 染色。
证明:充分性是显然的。
必要性:设{V1,V2 ,L,Vk } 是图 G 的一个顶点正常 k 染色,则V1,V2 ,L,Vk 都是 G 的独立集。
故该算法是多项式时间算法。
4. 带有约束的排课表问题
设学校每周有 l 阶课,安排在一张有 p 节课时的课表中(前面的方法求得一个 ∆ 节课时
的课表)。这样,平均每一课时要上
l p
节课。因此需要
⎡ ⎢⎢
l⎤ p ⎥⎥
间教室。比如,l
=
510 ,p
=
20 ,
则需要
⎡ ⎢⎢
l p
⎤ ⎥⎥
=
⎡ ⎢⎢
510 20
3. 求二部图 G = ( X ,Y ) 的边正常 ∆(G) 染色的算法
预处理:(1)给 G 添加必要的顶点使得 | X |=| Y | ;
(2)给 G 添加必要的边使得 G 成为 ∆(G) 正则二部图,记为 G* 。
算法思想:反复运用匈牙利算法求 G* 的完美匹配。
由第 3 章 König 定理(推论 3.3.3), G* 存在完美匹配。每求出 G* 的一个完美匹配, 给这个完美匹配的边赋以一种颜色。因共可求得 ∆(G) 个边不重的完美匹配(推论 3.3.3),
或两门以上课程的考试。试问:该校的期末考试至少需要几天?如何安排?
图论模型:构造图 G=(V, E)如下:V (G) = { L1, L2 ,L, Ln },Li L j ∈ E(G) 当且仅当课 程 Li 和 L j 被同一学生选修。
将同一天中的考试课程在 G 中对应的顶点染同一种色,则考试安排相当于对 G 进行顶
1 0
1 0
1 1
10⎟⎟⎟⎠
问:(1)课表至少需要几课时?
(2)按算法 A 给出一个课时数最少的课表。
(3)在课时数最少的前提下,给出需教室数最少的课表方案。
解:构造二部图如下图 1:
x1
y1
x2
y2
x3
y3
x4
y4
y5 图1
x1
y1
x2
y2
x3
y3
x4
y4
y5 图2
由于 ∆(G) = 4 ,故课表至少需 4 课时。
故可得 G* (从而 G)的边正常 ∆(G) 染色。
算法 A:求二部图的边正常 ∆(G) 染色(求二部图的 ∆(G) 个边不交的匹配)。
输入:二部图 G=(X,Y)
输出:G 的边正常 ∆(G) 染色( ∆(G) 个边不交的匹配)
第 0 步:添加顶点使得|X|=|Y|,所得图记为 G* 。
第 1 步:若 ∆(G* ) = δ (G* ) ,令 k = 1 ,转第 3 步;否则,转第 2 步。