当前位置:文档之家› 第九章 二分图平面图和树王元元

第九章 二分图平面图和树王元元


13
匹配的应用
安排工作:现有6个工人{x1,x2,…,x6}, 有6项工作{y1,y2,…,y6}。假设在同 一时间内,每人只能干一项工作,每项工 作只需一个人干,每个工人能干的工作用 边来表示。 安排工作就是求二分图的一个匹配问题。求 最大匹配就是一个工作最佳的安排问题, 使尽可能多的人有工作干,尽可能多的工 作被人干。
45
应当指出,欧拉公式及其上述推论, 都只是平面连通图或平面连通简单图的必 要条件,而不是它们的充分条件,因此只 能用它们判别非平面图,不能用它们来识 别平面图。
46
(1)切割操作
(1)对边e的切割操作。设G中有边e = {u,v},对边e作切割操作是指: 1) 取消边e。
2) 增加顶点w,以及 边e1 = {u,w}, 边e2 = {w,v}。
10
例9-2 图9-2中各图的红线表示匹配中 的边(简称匹配边)。
(a)
(b)
G (c)
11
9.1.2
匹配
注意:
最大匹配总是存在但未必唯一;
X(Y)-完全匹配及G的完全匹配必定是最 大的,但反之则不然;
X(Y)-完全匹配未必存在,存在不唯一。
12
有四名教师张征、王兴、李忠和赵华,分别 派他们教四门课程:数学、物理、电工和计 算机导论。张征懂物理和电工;王兴懂数学 和计算机导论;李忠懂数学、物理和电工; 赵华只懂电工。问应该如何分派,才不会使 任何人去讲他不懂的课程而又不存在有的课 程无人教?
y1
y2
y3
y4
y5
y6
y7
22
例9-3 用匈牙利算法求图9.3的一个最大匹配。
x1 x2 x3 x4 x5 x6
y1
y2
y3
y4
y5
y6
y7
23
例9-3 用匈牙利算法求图9.3的一个最大匹 配。
x1 x2 x3 x4 x5 x6
y1
y2
y3
y4
y5
y6
y7
24
完全匹配的存在条件
定义图G = <V,E>的顶点子集SV的相 邻顶点集N(S)(所有与S中顶点相邻的顶点 组成的集合):
N(S) = {v vV∧ue(uS∧eE∧ e= {u, v})} 或 N(S) = {v ue(uS∧e = {u, v})}
25
完全匹配的存在条件
定理9-2 设图G = <X,E,Y>。G有X-完 全匹配的充分必要条件是: 对每一SX有N(S)≥ S
霍尔婚姻定理
26

x1
x2
x3
y1
y2
y3
y4
27
应用
有六位未婚女子,L1 , L2 , L3 , L4 , L5 , L6 和六位未婚 男子,G1 , G2 , G3 , G4 , G5 , G6 中 六位女子分别对下列集合的男子中意: L1 :{G1 , G2 , G4 }, L2 :{G3, G5}, L3 :{G1 , G2 , G4 }, L4 :{G2 , G5 , G6 }, L5:{G3 , G6}, L6 :{G2 , G5 , G6 } 六位男子分别对下列集合的女子中意: G1 :{L1 , L3 , L6 }, G2 :{L2 , L4 , L6 }, G3 :{L2 , L5}, G4 :{L1 , L3}, G5:{L2 , L6}, G6 :{L3 , L4 , L5 }
匈牙利算法
求最大匹配的一种显而易见的算法是: 先找出全部匹配,然后保留匹配数最多的。 但是这个算法的复杂度为边数的指数级函 数。因此,需要寻求一种更加高效的算法。
18
匈牙利算法
用交替链求最大匹配(称作匈牙利算法,匈牙利 数学家Edmonds于1965年提出) 算法轮廓: (1)置M为空 (2)找出一条交错链P,通过取反操作获得更 大的匹配M′代替M (3)重复(2)操作直到找不出交错链为止
43
推论
定理9-9 顶点数n不少于4的平面连通简 单图G,至少有一个顶点的度数不大于5。
44
证明:定理9-9的结论可加强为“至少有 3个顶点的度数不大于5”。
证 用反证法。假设度数不大于5的顶点数 可以少于3个,但由于n不小于4且为连通 图,所以每个顶点的度数最小为1。因此 6(n – 2) + 2≤2m。 由于m≤3n – 6,故 6(n – 2) + 2≤2m≤6n – 12, 即 6n – 10≤6n – 12 矛盾。 因而度数不大于5的顶点数至少有3个。
3
例9-1
简单无向图G是二分图,当且仅当G可二着色。
4
判断二分图的定理
定理9-1 无向图G为二分图的充分必要条件 是,G至少有两个顶点,且其所有回路的长度 均为偶数。
推论 任何无回路的图均是二分图。
5
例:
6
练习
六名间谍a,b,c,d,e,f被我捕获,他们分别懂得的语言是 a:汉语,法语,日语; b:德语,日语,俄语; c:英语,法语; d:汉语,西班牙语; e:英语,德语; f:俄语,西班牙语。 问至少用几个房间监禁他们,才能使同一房间的人不能 互相直接对话。
47
例9-9
v e
(a)
(b) 边e切割
48
(2) 贯通操作
(2)对顶点v的贯通操作。设G中有二度 顶点v,它是e1= {u,v},e2= {v,w}的共同端点。对顶点v作贯通操 作是指: 1)取顶点v以及边e1,e2。 2)增加边e = {u,w} 。 切割与贯通是互逆的,两者常被称为 同胚运算。
53
例9-13
( a)
(b)
( c)
54
性质
定理9-12 树和森林都是可2-着色的,从 而都是二分图。 定理9-13 树和森林都是平面图,其面数 为 1。
55
性质
定理9-14 设图T为一树,其顶点数、边 数分别是n, m, 那么 n–m=1 或 m=n–1
56
性质
定理9-15 任何非平凡数树都至少有两片叶。
57
树等价定义形式
(1) T无回路且m = n – 1 。 (2) T连通且m = n – 1 。 (3) T无回路,但任意添加边时,T中 产生唯一的一条回路。 (4) T连通,但删去任一边时便不再连 通(T的每一边均为割边)。 (5) 任意两个不同顶点之间有且仅有一 条通路。
58
树等价定义形式
2
9.1 二分图
9.1.1 二分图的基本概念 定义9-1 无向图G = <V,E>称为二分图(bipartite graph),如果有非空集合X,Y使X∪Y = V, X∩Y = ,且对每一eE,都有 e = {x, y},xX,yY。此时常用<X,E,Y>表 示二分图G。 若对X中任一x及Y中任一y恰有一边eE, 使e = {x, y}, 则称G为完全二分图(complete bipartite graph)。 当X = m,Y = n时,完全二分图G记为Km,n。
33
例9-6
v5 r5
v6 r4
v7
v4
r3
v3
r2
v2
v1
r1
v8
34
平面简单图的所有有界面的 度均不小于3。
35
9.2
平面图
定义9-6 称平面简单图G是极大平面图 (maximal planar graph),如果在 G中添加任一边(它不是环,也不是其他边 的平行边)后所得的图均非平面图。
14
术语介绍
定义9-3 设G = <X,E,Y>, M为G的一个匹配。 (1) M中边的端点称为M-顶点, 其它顶点称为非M-顶点。
15
术语介绍
定义9-3 (2)G中vk到vl的通路P称为交替链,如果P 的起点vk和终点vl为非M-顶点,而其边的序 列中非匹配边与匹配边交替出现 (从而首尾两边必为非匹配边,除顶点vk, vl以外各顶点均为M-顶点)。
特别地,当一边{v, v'}两端点均为非M顶点,通路{v, v'}亦称为交替链。
16
由交替链的定义可以推出下述三个结论: 1) P的路径长度必定为奇数,第一条边和 最后一条边都不属于M。 2) P经过取反操作可以得到一个更大的匹 配M′。
3) M为G的最大匹配当且仅当不存在相对 于M的交替链。
17
30

B
A
31
K3,3与K5称为库拉托夫斯基(Kuratowski)图 共同点: (1)它们都是正则图。 (2)去掉一条边时它们都是平面图。 (3)K3,3是边数最少的非平面简单图, K5是顶点数最少的非平面简单图,因而它们 都是最基本的非平面图。
32
9.2
面的概念
定义9-5 平面连通图中各边所界定的区域 (不包含任何边和结点)称为平面图的面 (regions)。 有界的区域称为有界面, 无界的区域称为无界面。 界定各面的闭的拟路径称为面的边界 (boundary), 它的长度称为面的度(degree)。
49
例9-9
v e
(a)
(c) 顶点v贯通
50
3 库拉托夫斯基定理
定理9-10 图G是平面图,当且仅当对G 或G的子图作任何同胚操作后所得图均不 以K5及K3,3为子图。
51

( a)
(b)
( c)
52
9.3

9.3.1 树的基本概念 定义9-9 连通无回路的无向图称为无向树, 简称为树(tree)。 树中的悬挂点又称为树叶(leave), 其它结点称为分支点(branched node)。 单一孤立结点称为空树(null tree)。 诸连通分支均为树的图称为森林(forest), 树也是森林。
7
判断二分图的定理
相关主题