《图论》第6章-图的着色
- 格式:ppt
- 大小:476.00 KB
- 文档页数:50
第8节图论应用实例_图着色问题预备知识_回溯法回溯法:在实际生活中,有些问题是不能用数学公式去解决的,它需要通过一个过程,此过程要经过若干个步骤才能完成,每一个步骤又分为若干种可能;同时,为了完成任务,还必须遵守一些规则,但这些规则无法用数学公式表示,对于这样一类问题,一般采用搜索的方法来解决,回溯法就是搜索算法(广度优先、深度优先等)中的一种控制策略,它能够解决许多搜索中问题。
回溯法基本思想:试探法,撞了南墙就回头。
(一般采用深度优先搜索策略) 搜索策略:深度优先(不撞南墙不回头)。
在搜索过程中,如果求解失败,则返回搜索步骤中的上一点,去寻找新的路径,以求得答案。
要返回搜索,前进中的某些状态必须保存,才能使得退回到某种状态后能继续向前。
白话搜索:如果用数组存放搜索信息,i表示数组下标(当前状态), ++i表示往前走(下一个状态),--i表示回溯(往回退,返回上一次状态)。
第8节图论应用实例_图着色(graph coloring)问题数学定义:给定一个无向图G=(V, E),其中V为顶点集合,E为边集合,图着色问题即为将V分为k个颜色组(k为颜色数),每个组形成一个独立集,即其中没有相邻的顶点。
其优化版本是希望获得最小的k值。
典型应用:地图的着色、调度问题等。
k-着色判定问题:给定无向连通图G和k种不同的颜色。
用这些颜色为图G的各顶点着色,每个顶点着一种颜色,是否有一种着色法使G中任意相邻的2个顶点着不同颜色,例四色问题。
设有如图1的地图,每个区域代表一个省,区域中的数字表示省的编号,现在要求给每个省涂上红、蓝、黄、白四种颜色之一,同时使相邻的省份以不同的颜色区分。
课外拓展:搜索“四色问题”,了解四色问题相关知识。
5674231图1问题分析:(1)属于图的搜索问题。
将问题简化:将每个省抽象为一个点,省之间的联系看为一条边,可以得到图2。
16751432图2(2)用邻接矩阵表示各省之间的相邻关系,二维数组实现:1 表示省i与省j相邻, ,,ri,j,,0 表示省i与省j不相邻,由图2可以得到如下矩阵:(对称矩阵)1 2 3 4 5 6 71 0 1 0 0 0 0 12 1 0 1 1 1 1 13 0 1 0 1 0 0 04 0 1 1 0 1 0 05 0 1 0 1 0 1 06 0 1 0 0 1 0 17 1 1 0 0 0 1 0 为一对称矩阵。
第六章 染色理论许多实际问题可以归结为求图的匹配或者独立集。
此外,在许多应用中,人们希望知道:一个给定的图,它的边集至少能划分成多少个边不交的匹配?或它的顶点集至少能划分成多少个点不交的独立集?这便是图的边染色和顶点染色问题。
§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 都是非空的独立集。
第一章 图形理论图形理论有明确的起始点,由瑞士数学家尤拉(Leonhard Euler, 1707-1783)于1736年发表的论文开始。
其研究的主要论点,乃在于解决当时的热门问题,即有名K önigsgerg 的七桥问题。
1.1 定义与例题定义1.1:令 V 为非空集合,且E V V ⊆⨯. 序对(),V E 称为(V 上)有向图(directedgraph or digraph),其中 V 为顶点(vertex)或节点(node)的集合,E 为边(edge)的集合。
我们记(),G V E =表示此图形。
图1.1为{}, , , , V a b c d e =上有向图的例子,其中()()()(){}, , , , , , , E a a a b a d b c =。
边的方向由边上的有向箭头表示,如图所示对任意边,如(), b c ,我们说此边接合(incident)顶点, b c ;称b 邻接至(adjacent to) c ;或c 邻接自(adjacent from) b 。
此外, b 称为边的原点(origin)或源点(source), c 称为终点(terminus or terminating vertex)。
边(), a a 为一个循环(loop), 且顶点e 不与任何边接合,称为孤立点(isolated)。
若不考虑边的方向,此图称为无向图(undirected)。
定义1.2:令, x y 为无向图(), G V E =的顶点(不一定相异)。
G 中的X Y -路(x y -walk)是指选自G 的顶点及边的有限交错序列。
01122311,,,,,,...,,,,n n n n x x e x e x e e x e x y --==其中由顶点 1x 开始,终止于顶点y ,n 个边{}1,,1i i i e x x i n -=≤≤路的长度(length)是指该条路的边数n 。