图的着色问题 ppt课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PPT课件
3
顶点着色-基本概念
• 独立集:对图G=(V,E),设S是V的一个子集,若 中任意两个顶点在G中均不相邻,则称S为G的一 个独立集。
• 最大独立集:如果G不包含适合|S'|>|S|的独立 集S',则称S为G的最大独立集。
• 极大覆盖:设K是G的一个独立集,并且对于V-K 的任一顶点v,K+v都不是G的独立集,则称K是 G的一个极大覆盖。
先求图G的极小覆盖,
பைடு நூலகம்
化简得
(a bd)(b aceg)(c bdef )(d aceg)(e bcdf )( f ceg)(g bdf )
aceg bc deg bdef bdef bcdf
故G的极小覆盖为 {a,c,e, g},{b,c, d,e, g},{b, d,e, f },{b,c, d, f } 取其补集,得到G的所有 极大独立集: • Step2:求出一切若干极大独立集和所有{b,顶d,点f }的,{a子, f集},{a,c, g},{a,e, g}
但上述子集的颜色数都不是X(G),正确的应 该是X(G)=3,该子集为:给{b,d,f}中的 b,d,f涂颜色1,为{a,e,g}中a,e,g涂颜色2为 {a,c,g}中的c涂颜色3。
由此可见,求色数其需要求极大独立集以
及一切若干极大独立集的和含所有顶点的子
集,对于大图,因为图计算量过大而成为实
际上难以凑效的算法,所以不是一个好算法,
(ii)若G为偶图,则X(G)=2 (iii)对任意图G,有X(G)≤Δ+1(这里Δ表示为顶点 数最大值)
PPT课件
5
顶点着色-求顶色数的算法设计
我们由“每个同色顶点集合中的两两顶点不相邻”可以看出,同色顶 点集实际上是一个独立集,当我们用第1种颜色上色时,为了尽可 能扩大颜色1的顶点个数,逼近所用颜色数最少的目的,事实上就 是找出图G的一个极大独立集并给它涂上颜色1。用第2种颜色上色 时,同样选择另一个极大独立集涂色,...,当所有顶点涂色完毕, 所用的颜色数即为所选的极大独立集的个数。
问题来源
图的着色问题是由地图的着色问题引申而来的:用 m种颜色为地图着色,使得地图上的每一个区域 着一种颜色,且相邻区域颜色不同。
问题处理:如果把每一个区域收缩为一个顶点,把 相邻两个区域用一条边相连接,就可以把一个区 域图抽象为一个平面图。
例如,图12-1(a)所示的区域图可抽象为12-1(b) 所表示的平面图。19世纪50年代,英国学者提出 了任何地图都可以4中颜色来着色的4色猜想问题。 过了100多年,这个问题才由美国学者在计算机 上予以证明,这就是著名的四色定理。例如,在 图12-1中,区域用城市名表示,颜色用数字表示, 则图中表示了不同区域的不同着色问题 。
• 布尔恒等式
aa=a
•
a+a=a
• • 如:
(ab bc)(a bd) aba abbd abc+a abbcb=da
ab abd bcd bca bcd
ab bcd
PPT课件
7
求极小覆盖法-布尔代数法
• 例1:求图12-2G的顶色数 解: • Step1:求极大独立集
一般我们采用贪心法等近似算法来求解 。
PPT课件
9
穷举法-Welch Powell着色法
• I.将图G中的结点按度数的递减顺序进行排列
PPT课件
6
求极小覆盖法-布尔代数法
求极小覆盖的方法-布尔代数法:
对于每个顶点v,选择v或者选择v的所有邻 点。首先把“选择顶点v”这个指令记为符号v, 然后对给定的指令x和y,指令“x或y”和“x与y” 分别记为x+y(逻辑和)和x.y(逻辑积)。
• 例如,指令“选择a与b,或者选择b与c”记为 ab+bc。从形式上看,逻辑和与逻辑积类似与集 合的∪和∩,而且关于∪和∩成立的代数法则对 于这两个运算也成立。
当然,上述颜色数未必就是X(G),而且其和能够含所有顶点的极大 独立集个数未必唯一。于是我们必须从一切若干极大独立集的和 含所有顶点的子集中,挑选所用极大独立集个数最小者,其个数 即为所用的颜色数X(G)。
由此可以得算法步骤: Step1:求G图的所有极大独立集; Step2:求出一切若干极大独立集的和含所有顶点的子集; Step3:从中挑选所用极大独立集个数最小值,即为X(G)。
显然我们可以选用4种颜色给每个顶点涂色,或者选
用3种颜色分别给3个极大独立集涂色,例如为{b,d,f}中
的b、d、f涂颜色1,为{a,f}中的a涂颜色2,为{a,c,g} 中
的c和g涂颜色3,为{a,e,g}中的e涂颜色4。
PPT课件
8
求极小覆盖法-布尔代数法
Step3:从中挑选所用极大独立集个数最小者, 即为X(G)
• 极小覆盖:极大独立集的补集称为极小覆盖。 V的子集K是G的极小覆盖当且仅当:对于每个顶 点v或者v属于K,或者v的所有邻点属于K(但两 者不同时成立)。
PPT课件
4
顶点着色-基本概念
• K可着色:G的一个k顶点着色是指k种颜色1,2,…,k对于G各顶点的 一个分配,如果任意两个相邻顶点都分配到不同的颜色,则称着 色是正常的。换句话说,无环图G的一个正常k顶点着色是把V分成
PPT课件
1
问题来源
PPT课件
2
图的着色
• 通常所说的着色问题是指下述两类问题:
• 1.给定无环图G=(V,E),用m种颜色为图中
的每条边着色,要求每条边着一种颜色,并 使相邻两条边有着不同的颜色,这个问题称 为图的边着色问题。
• 2.给定无向图G=(V,E),用m种颜色为图中
的每个顶点着色,要求每个顶点着一种颜色, 并使相邻两顶点之间有着不同的颜色,这个 问题称为图的顶着色问题。
k个(可能有空的)独立集的一个分类(V1,V2,…,Vk)。当G有一个
正常k顶点着色时,就成G是k顶点可着色的。 • G的色数X(G)是指G为k可着色的k的最小值,若X(G)=k,则称G
是k色的。 • 事实上,如果我们将同色的顶点列入一个顶点子集,那么求X(G)
就转为求满足下列条件的最少子集数k: (1)两两子集中的顶点不同; (2)子集中的两两顶点不相邻。 显然有: (i)若G为平凡图,则X(G)=1;