图论之二部图图形解析

合集下载

二部图与完全二部图精讲

二部图与完全二部图精讲

哈密尔顿图
与欧拉回路类似的是哈密尔顿回路问题。 它是1859年哈密尔顿首先提出的一个关于 12面体的数学游戏: 能否在下页图中找到 一个回路,使它含有图中所有结点一次且 仅一次? 若把每个结点看成一座城市,连 接两个结点的边看成是交通线,那么这个 问题就变成能否找到一条旅行路线,使得 沿着该旅行路线经过每座城市恰好一次, 再回到原来的出发地呢?为此,这个问题 也被称作周游世界问题。
(1) G中无圈, 则G必有一个度数为1的顶点v, 删除v及它关 联的边, 记作G . G 连通, 有n-1个顶点, k条边和r个面. 由归 纳假设, (n-1)-k+r=2, 即n-(k+1)+r=2, 得证m=k+1时结论成立.
(2) 否则,删除一个圈上的一条边,记作G . G 连通, 有n个顶 点,k条边和r-1个面. 由归纳假设, n-k+(r-1)=2, 即n-(k+1)+r=2, 得证m=k+1时结论也成立. 证毕.
但我们继续考察(b)图可以发现, 该图中有一条路 v2v3v4v5v2v1v5, 它经过(b)图中的每条边一次且仅
一次, 我们把这样的路称为欧拉路。
7
定义2 通过图G的每条边一次且仅一次的 路称为图G的欧拉路。 对于欧拉路有下面
的判定方法。
定理2 连通图G具有一条连接结点vi和vj的 欧拉路当且仅当vi和vj是G中仅有的两个奇
s=|V2|.
注意: n 阶零图为二部图.
2
二部图的判别法
定理 无向图G=<V,E>是二部图当且仅当G中无奇圈 例 下述各图都是二部图
3
欧拉图
历史上的哥尼斯堡七桥问题是著名的图论问题。 问题是这样的: 18世纪的东普鲁士有个哥尼斯堡

二部图与完全二部图课堂PPT

二部图与完全二部图课堂PPT
解 将景点作为结点,道路作为边,则得到一 个有5个结点的无向图。
由题意,对每个结点vi,有 deg(vi)=2(i∈N5)。
则对任两点vi, vj(i, j∈N5)均有 deg(vi)+deg(vj)=2+2=4=5-1
可知此图一定有一条哈密尔顿路,本题有解。
22
23
数度结点。
7
我国民间很早就流传一种“一笔画” 游戏。 由定理1和定理2知, 有两种情 况可以一笔画。
1) 如果图中所有结点是偶数度结点, 则可以任选一点作为始点一笔画完;
2) 如果图中只有两个奇度结点, 则 可以选择其中一个奇度结点作为始点也 可一笔画完。
8
【例】下图是一幢房子的平面图形, 前门进 入一个客厅, 由客厅通向4个房间。 如果要 求每扇门只能进出一次, 现在你由前门进去, 能否通过所有的门走遍所有的房间和客厅, 然后从后门走出。
中每边一次且仅一次的回路, 则该回路为欧拉回路。 具有欧拉回路的图称为欧拉图。
例如, 给出如图3所示的两个图, 容易看出,
(a)是欧拉图, 而(b)不是欧拉图。
5
定理 1 连通图G是欧拉图的充要条件是G的所
有结点的度数都是偶数。
下图中, (a)图的每个结点的度数都为4, 所以它是 欧拉图;(b)图不是欧拉图。
9
解: 将4个房间和一个客厅及前门外和后门外 作为结点, 若两结点有边相连就表示该两结
点所表示的位置有一扇门相通。 由此得图 (b)。
由于图中有4个结点是奇度结点, 故由定理 7.4.2知本题无解。
10
类似于无向图的结论, 对有向图有以下 结果。 定理3 一个连通有向图具有(有向)欧 拉回路的充要条件是图中每个结点的入 度等于出度。 一个连通有向图具有有向 欧拉路的充要条件是最多除两个结点外 的每个结点的入度等于出度, 但在这两 个结点中, 一个结点的入度比出度大1, 另一个结点的入度比出度少1。

二分体 图论

二分体 图论

二分体图论
1.定义
二分图,又称二部图,是图论中的一种特殊模型。

设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G是一个二分图。

2.判定
无向图G={V, E},如果可以把结点分成不相交的两部分,即X和Y,使得每条边的其中一个端点在X中,另一个端点在Y中,则称图G 是二分图。

二分图-无奇数图
无向图G为二分图的充分必要条件是,G至少有两个顶点,且其所有回路的长度均为偶数。

3.性质
1.最小点覆盖=最大匹配数
2.最小边覆盖=点数-最小点覆盖(最大匹配数)
3.最小路径覆盖=原图的结点数-新图的最大匹配数。

4.最大独立集=点数-最小点覆盖(最大匹配数)
4.匹配
二分图匹配:给定一个二分图G={V, E},将E的子集M称作一个匹配,如果M中的任意两条边都没有公共端点。

多重匹配:二分图中某些点可以被匹配多次。

最大匹配:包含的边数最多的匹配。

X(Y) -完全匹配:X(Y)中的所有顶点都出现在匹配M中。

完全匹配:所有的点都在匹配边上的匹配(M既是X-完全匹配,又是Y-完全匹配)。

最佳匹配:如果G为加权二分图,则权值和最大的完美匹配称为最佳匹配。

5.相关算法:
二分图最大匹配:匈牙利算法、HK算法、网络流最大流
二分图多重匹配:网络流最大流
二分图最佳匹配:KM算法、网络流最大流。

二分图理论

二分图理论

*7.5 二部图及匹配7.5.1二部图在许多实际问题中常用到二部图,本节先介绍二部图的基本概念和主要结论,然后介绍它的一个重要应用—匹配。

定义7.5.1 若无向图,G V E =的顶点集V 能分成两个子集1V 和2V ,满足(1)12V V V =,12V V φ=;(2)(,)e u v E ∀=∈,均有1u V ∈,2v V ∈。

则称G 为二部图或偶图(Bipartite Graph 或Bigraph),1V 和2V 称为互补顶点子集,常记为12,,G V V E =。

如果1V 中每个顶点都与2V 中所有顶点邻接,则称G 为完全二部图或完全偶图(Complete Bipartite Graph),并记为,r s K ,其中12,r V s V ==。

由定义可知,二部图是无自回路的图。

图7-55中,(),(),(),(),()a b c d e 都是二部图,其中(),(),(),()b c d e 是完全二部图1,32,32,43,3,,,K K K K 。

图7-55二部图示例显然,在完全二部图中,r s K 中,顶点数n r s =+,边数m rs =。

一个无向图如果能画成上面的样式,很容易判定它是二部图。

有些图虽然表面上不是上面的样式,但经过改画就能成为上面的样式,仍可判定它是一个二部图,如图7-56中()a 可改画成图()b ,图()c 可改画成图()d 。

可以看出,它们仍是二部图。

图7-56二部图示例定理7.5.1 无向图,G E =为二部图的充分必要条件为G 中所有回路的长度均为偶数。

证明 先证必要性。

设G 是具有互补节点子集1V 和2V 的二部图。

121(,,,,)k v v v v 是G 中任一长度为k 的回路,不妨设11v V ∈,则211m v V +∈,22m v V ∈,所以k 必为偶数,不然,不存在边1(,)k v v 。

再证充分性。

设G 是连通图,否则对G 的每个连通分支进行证明。

算法学习:图论之二分图的最优匹配(KM算法)

算法学习:图论之二分图的最优匹配(KM算法)

二分图的最优匹配(KM算法)KM算法用来解决最大权匹配问题:在一个二分图内,左顶点为X,右顶点为Y,现对于每组左右连接XiYj有权wij,求一种匹配使得所有wij的和最大。

基本原理该算法是通过给每个顶点一个标号(叫做顶标)来把求最大权匹配的问题转化为求完备匹配的问题的。

设顶点Xi的顶标为A[ i ],顶点Yj的顶标为B[ j ],顶点Xi与Yj之间的边权为w[i,j]。

在算法执行过程中的任一时刻,对于任一条边(i,j),A[ i ]+B[j]>=w[i,j]始终成立。

KM算法的正确性基于以下定理:若由二分图中所有满足A[ i ]+B[j]=w[i,j]的边(i,j)构成的子图(称做相等子图)有完备匹配,那么这个完备匹配就是二分图的最大权匹配。

首先解释下什么是完备匹配,所谓的完备匹配就是在二部图中,X点集中的所有点都有对应的匹配或者是Y点集中所有的点都有对应的匹配,则称该匹配为完备匹配。

这个定理是显然的。

因为对于二分图的任意一个匹配,如果它包含于相等子图,那么它的边权和等于所有顶点的顶标和;如果它有的边不包含于相等子图,那么它的边权和小于所有顶点的顶标和。

所以相等子图的完备匹配一定是二分图的最大权匹配。

初始时为了使A[ i ]+B[j]>=w[i,j]恒成立,令A[ i ]为所有与顶点Xi关联的边的最大权,B[j]=0。

如果当前的相等子图没有完备匹配,就按下面的方法修改顶标以使扩大相等子图,直到相等子图具有完备匹配为止。

我们求当前相等子图的完备匹配失败了,是因为对于某个X顶点,我们找不到一条从它出发的交错路。

这时我们获得了一棵交错树,它的叶子结点全部是X顶点。

现在我们把交错树中X顶点的顶标全都减小某个值d,Y顶点的顶标全都增加同一个值d,那么我们会发现:1)两端都在交错树中的边(i,j),A[ i ]+B[j]的值没有变化。

也就是说,它原来属于相等子图,现在仍属于相等子图。

2)两端都不在交错树中的边(i,j),A[ i ]和B[j]都没有变化。

图论及其应用PPT课件

图论及其应用PPT课件
-28-
图论及其应用第一章
1.2 图的同构
由前已知,同一个图有不同形状的图示。反过来, 两个不同的图也可以有形状相同的图示。比如:
u2
u3
可见 G1 和 G2 的顶点及边之间都一一对应,且连
接关系完全相同,只是顶点和边的名称不同而已。这
样的两个图称为是同构的(isomorphic)。
-29-
图论及其应用第一章
v1
(i=1,2,3,4,5,6)下是同构的。
x1
y1
v6
y3
x2
v2
x3
y2
v4
v3
-31-v5
图论及其应用第一章 画出所有的阶数不大于4,大小为3的所有非同构 简单图:
-32-
图论及其应用第一章 画出阶数为5大小为3的所有非同构简单图
G1
G2
G3
G4
-33-
图论及其应用第一章
无标号的图 注:判断两个图是否同构目前没有好算法。
图论起源于18世纪的一个游戏----俄罗斯的哥尼斯堡七桥问 题。
(1736年 瑞士数学家欧拉——图论之父)
-2-
图论及其应用第一章
七桥问题
C
A
D
B
包含两个要素:对象(陆 地)及对象间的二元关系 (是否有桥连接)
转化
Euler 1736年
C
A
D
B 图论中讨论的图
问题:是否能从A,B,C,D 转化 中的任一个开始走,通过每 座桥恰好一次再回到起点?
从数学上看,同构的两个图,其顶点间可建立一 一对应,边之间也能建立一一对应,且若一图的两点 间有边,则在另一图中对应的两点间有对应的边。严 格的数学定义如下。
定义: 两个图G = (V (G), E(G)) 与H = (V (H), E(H)) , 如果存在两个一一映射:

图论及其应用

图和子图 图和简单图图 G = (V, E)V ---顶点集,ν---顶点数12ε E ---边集, ε---边数例。

左图中, V={a, b,......,f}, E={p,q, ae, af,......,ce, cf} 注意, 左图仅仅是图G 的几何实现(代表), 它们有无穷多个。

真正的 图G 是上面所给出式子,它与顶点的位置、边的形状等无关。

不过今后对两者将经常不加以区别。

称 边 ad 与顶点 a (及d) 相关联。

也称 顶点 b(及 f) 与边 bf 相关联。

称顶点a 与e 相邻。

称有公共端点的一些边彼此相邻,例如p 与af 。

环(loop ,selfloop ):如边 l 。

棱(link ):如边ae 。

重边:如边p 及边q 。

简单图:(simple graph )无环,无重边 平凡图:仅有一个顶点的图(可有多条环)。

一条边的端点:它的两个顶点。

记号:νε()(),()().G V G G E G ==。

习题1.1.1 若G 为简单图,则εν≤⎛⎝ ⎫⎭⎪2 。

1.1.2 n ( ≥ 4 )个人中,若每4人中一定有一人认识其他3人,则一定有一 人认识其他n-1人。

同构在下图中, 图G 恒等于图H , 记为 G = H ⇔ VG)=V(H), E(G)=E(H)。

图G 同构于图F ⇔ V(G)与V(F), E(G)与E(F)之间 各 存在一一对应关系,且这二对应关系保持关联关系。

记为 G ≅F。

注 往往将同构慨念引伸到非标号图中,以表达两个图在结构上是否相同。

de f G = (V , E )yz w cG =(V , E )w cyz H =(V ’, E ’)’a ’c ’y ’e ’z ’F =(V ’’, E ’’)注 判定两个图是否同构是NP-hard 问题。

完全图(complete graph) Kn空图(empty g.) ⇔ E = ∅ 。

V’ ( ⊆ V) 为独立集 ⇔ V’中任二顶点都互不相邻。

第6-8章 图论2


5.设D是有向图,当且仅当D中有一条通过每个 D 结点的通路时,D为( )连通的。 答案:单向 6.设有向图D=<V,E>,V={a,b,c,d}, E={<a,b><a,d><d,c><b,d><c,d>},则D是 ( )连通的,c的可达集为(),d(c,a)=()
6.设有向图D=<V,E>,V={a,b,c,d,}, E={<a,b>,<a,d>,<d,c>,<b,d>,<c,d>}, 则D是( )连通的,c的可达集为( ),d(a,b)=() 答案:单向 {c,d} 7.图6-1的点连通度为(),边连通度为() 答案: 1 1 8.k5的点连通度为(),边连通度为()。 答案: 4 4
7.若无向图中恰有2个度数为奇数的结点,则这两个结 点必连通。( ) 答案:T 8.在有向图中,结点间的可达关系是等价关系。( ) 答案:F 9. 若有向图中有两个奇度结点,则它们中一个可达另 一个或互相可达。( ) 答案:F
10.若图G不连通,则 G 必连通。( ) 答案:T 11.有向图的每个结点恰位于一个单向分图中。( ) 答案:F 12.图6-3为无强分图( ) 答案:F 13.若图G的边e不包含在G的某简 图6-3 单回路中,则e是G的割边。( ) 答案:T
22.设G= <V,E>为连通的简单平面图,若|V|>=3,则 所有结点v,有deg(v)<=5.( ) 答案:F
第7章 树 章
树是图论中最重要的概念之一,它是基尔霍夫在解决 电路理论中求解联立方程时首先提出的。它又是图论 中结构最简单,用途最广泛的一种平面图,在计算机 科学的算法分析、数据结构等方面有着广泛的应用, 本章主要介绍树的基本概念、性质和若干应用。

图论

图论内容提要第一章图的基本概念图的基本概念;二部图及其性质;图的同构;关联矩阵与邻接矩阵。

路、圈与连通图;最短路问题。

树及其基本性质;生成树;最小生成树。

第二章图的连通性割点、割边和块;边连通与点连通;连通度;Whitney定理;可靠通信网络的设计。

第三章匹配问题匹配与最大匹配;完美匹配;二部图的最大匹配;指派问题与最大权匹配。

第四章欧拉图与哈密尔顿图欧拉图;中国邮递员问题;哈密尔顿图;旅行商问题。

第五章支配集、独立集、覆盖集与团支配集、点独立集、点覆盖集、边覆盖集与团的概念及其求法。

第六章图的着色问题点着色;边着色;平面图;四色猜想;色多项式;色数的应用。

第七章网络流理论有向图;网络与网络流的基本概念;最大流最小割定理;求最大流的标号算法;最小费用流问题;最小费用最大流;网络流理论的应用。

主要参考书[1] J.A. Bondy and U.S. Murty, Graph theory with applications, 1976, 有中译本(吴望名等译)。

[2] B.Bollobas, Modern graph theory (现代图论),科学出版社,2001。

[3] 蒋长浩,图论与网络流,中国林业出版社,2001。

[4] 田丰,马仲蕃,图与网络流理论,科学出版社,1987。

[5] 徐俊明,图论及其应用,中国科技大学出版社,1998。

[6] 王树禾,图论及其算法,中国科技大学出版社,1994。

[7] 殷剑宏,吴开亚,图论及其算法,中国科技大学出版社,2003。

第一章 图的基本概念§1.1 图的基本概念1. 图(graph):一集元素及它们之间的某种关系。

具体地说,图是一个二元组),(E V ,其中集合V 称为顶点集,集合E 是V V ⨯的一个子集(无序对,元素可重复),称为边集。

例1.1.1 ),(E V G =,其中},,,,{54321v v v v v V =,)},(),,(),,(),,(),,(),,(),,{(55515153433221v v v v v v v v v v v v v v E =。

二部图欧拉图哈密尔顿图平面图教学课件


网络设计:用于设计网络拓扑结构,如路由器、交换机等设备的连接
电路设计:用于设计电路板布局,如PCB板、集成电路等
地图绘制:用于绘制地图,如城市地图、交通地图等
建筑设计:用于设计建筑布局,如房屋、办公楼等
物流规划:用于规划物流网络,如仓库、配送中心等
城市规划:用于规划城市布局,如道路、公园等
汇报人:
哈密尔顿图是平面图的一种特殊情况,即每个顶点的度数都是2
哈密尔顿图定义:每个顶点的度数等于图中的边数
哈密尔顿图的性质:哈密尔顿图是欧拉图
哈密尔顿图的判定方法:通过计算每个顶点的度数来判断
哈密尔顿图的应用:在图论、计算机科学等领域有广泛应用
PART FIVE
平面图是一种特殊的图,其顶点和边都在同一个平面上
哈密尔顿图是一种特殊的图,其每个顶点的度数都是2或0。
哈密尔顿图是一种特殊的欧拉图,其每个顶点的度数都是2。
哈密尔顿图是一种特殊的平面图,其顶点和边都可以在平面上表示出来。
哈密尔顿图是一种特殊的图,其每个顶点的度,即每个顶点的度数都是2
哈密尔顿图是二部图的一种特殊情况,即每个顶点的度数都是2
在数学中,哈密尔顿图可以用于研究图的性质,如图的连通性、图的色数等。
哈密尔顿图在图论中具有重要的应用价值,特别是在网络流、电路设计等领域。
在计算机科学中,哈密尔顿图可以用于解决一些NP-hard问题,如旅行商问题、背包问题等。
在物理学中,哈密尔顿图可以用于描述量子系统的状态空间,从而进行量子计算和量子信息处理。
汇报人:
,
CONTENTS
PART ONE
PART TWO
二部图是一种特殊的图,由两个部分组成,每个部分包含一组节点每个节点只能与另一部分的节点相连,不能与同一部分的节点相连二部图的节点可以分为两个集合,每个集合中的节点只能与另一个集合中的节点相连二部图的边可以分为两种类型,一种是连接两个不同集合的边,另一种是连接同一集合中的边二部图的性质包括:每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边数,每个节点度数之和等于边
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

*7.5 二部图及匹配7.5.1二部图在许多实际问题中常用到二部图,本节先介绍二部图的基本概念和主要结论,然后介绍它的一个重要应用—匹配。

定义7.5.1 若无向图,G V E =的顶点集V 能分成两个子集1V 和2V ,满足(1)12V V V = ,12V V φ= ;(2)(,)e u v E ∀=∈,均有1u V ∈,2v V ∈。

则称G 为二部图或偶图(Bipartite Graph 或Bigraph),1V 和2V 称为互补顶点子集,常记为12,,G V V E =。

如果1V 中每个顶点都与2V 中所有顶点邻接,则称G 为完全二部图或完全偶图(Complete Bipartite Graph),并记为,r s K ,其中12,r V s V ==。

由定义可知,二部图是无自回路的图。

图7-55中,(),(),(),(),(a b c d e 都是二部图,其中(),(),(),(b c d e 是完全二部图1,32,32,43,3,,,K K K K 。

图7-55二部图示例显然,在完全二部图中,r s K 中,顶点数n r s =+,边数m rs =。

一个无向图如果能画成上面的样式,很容易判定它是二部图。

有些图虽然表面上不是上面的样式,但经过改画就能成为上面的样式,仍可判定它是一个二部图,如图7-56中()a 可改画成图()b ,图()c 可改画成图()d 。

可以看出,它们仍是二部图。

图7-56二部图示例定理7.5.1 无向图,G V E =为二部图的充分必要条件为G 中所有回路的长度均为偶数。

证明 先证必要性。

设G 是具有互补节点子集1V 和2V 的二部图。

121(,,,,)k v v v v 是G 中任一长度为k 的回路,不妨设11v V ∈,则211m v V +∈,22m v V ∈,所以k 必为偶数,不然,不存在边1(,)k v v 。

再证充分性。

设G 是连通图,否则对G 的每个连通分支进行证明。

设,G V E =只含有长度为偶数的回路,定义互补节点子集1V 和2V 如下:任取一个顶点0v V ∈,令10{()(,)}V v v V d v v =∈∧为偶数21V V V =-现在证明1V 中任意两节点间无边存在。

假若存在一条边(,)i j v v E ∈,且1,i j v v V ∈,则由0v 到i v 间的最短路(长度为偶数), 边(,)i j v v 和j v 到0v 间的最短路(长度为偶数)所组成的回路的长度为奇数,与假设矛盾。

同理可证2V 中任意两节点间无边存在。

故G 中的每条边必具有形式(,)i j v v ,其中1i v V ∈,2j v V ∈, 即G 是具有互补节点子集1V 和2V 的一个二部图。

利用定理7.5.1可以很快地判断出图7-57中的()a 、()c 是二部图,而()b 则不是二部图。

图7-57例7.5.1 六名间谍,,,,,a b c d e f 被擒,已知a 懂汉语、法语和日语,b 懂德语、俄语和日语,c 懂英语和法语,d 懂西班牙语,e 懂英语和德语,f 懂俄语和西班牙语,问至少用几个房间监禁他们,能使在一个房间里的人不能直接对话。

解 以六人,,,,,a b c d e f 为顶点,在懂共同语言的人的顶点间连边得图G (如图7-58()a 所示),因为G 中没有奇圈,所以G 是二部图(如图7-58()b 所示),故至少应有两间房间即可。

图7-58 7.5.2 匹配二部图的主要应用是匹配,“匹配”是图论中的一个重要内容,它在所谓“人员分配问题”和“最优分配问题”等运筹学中的问题上有重要的应用。

首先看实际中常碰见的问题:给n 个工作人员安排m 项任务,n 个人用12{,,,}n V x x x = 表示。

并不是每个工作人员均能胜任所有的任务,一个人只能胜任其中(1)k k ≥个任务,那么如何安排才能做到最大限度地使每项任务都有人做,并使尽可能多的人有工作做?例如,现有12345,,,,x x x x x 五个人,12345,,,,y y y y y 五项工作。

已知1x 能胜任1y 和2y ,2x 能胜任2y 和3y ,3x 能胜任2y 和5y ,4x 能胜任1y 和3y ,5x 能胜任3y 、4y 和5y 。

如何安排才能使每个人都有工作做,且每项工作都有人做?显然,我们只需构造这样的数学模型:以i x 和j y (i ,j =1,2,3,4,5)为顶点,在i x 与其胜任的工作j y 之间连边,得二部图G ,如图7-59所示,然后在G 中找一个边的子集,使得每个顶点只与一条边关联(图中粗线),问题便得以解决了。

这就是所谓匹配问题,下面给出匹配的基本概念和术语。

图7-59匹配问题示意图定义7.5.2 设无向图,G V E =,G 中有边集M ⊆E ,且在M 中任意两条边都没有公共的端点,称边集M 为图G 的一个匹配(Matching)。

M 中一条边的两个端点,叫做在M 下是配对的。

如果G 中不存在匹配1M ,使得1M M >,则称M 为最大匹配(Maximum Matching)。

对于G 的一个匹配M ,若节点v 与M 中的边关联,则称v 是M 饱和的(Saturated),否则称v 是M 不饱和的。

定义7.5.3 设二部图12,,G V E =,M 是G 的一个匹配。

若1v V ∀∈,v 均是M 饱和的,则称M 是1V 对2V 的完全匹配(简称1V ―完全匹配);若2v V ∀∈,v 均是M 饱和的,则称M 是2V 对1V 的完全匹配(简称2V —完全匹配)。

若M 既是1V ―完全匹配,又是2V ―完全匹配(即图G 的每个顶点都是饱和的),则称M 是完全匹配(Complete Matching)。

显然,完全匹配是最大匹配,但反之不然。

例7.5.2(1)在图7-59中,边集1122354354{(,),(,),(,),(,),(,)}M x y x y x y x y x y =是一个匹配,而且是是一个最大和完全匹配。

(2)在图7-60()a 中,边集1{(1,5),(2,7),(3,9),(4,8)}M =和2{(1,6),(2,7),(3,9)M =,(4,8)}都是图G 的最大匹配,也是1V ―完全匹配,但不是完全匹配。

在图7-60()b 中,边集{(1,4),(2,5),(3,6)}M =是完全匹配。

图7-60为了寻求二部图的最大匹配,下面交替路和可扩路两个概念。

定义7.5.4 设12,,G V V E =是一个二部图,M 是图G 的一个匹配,L 是G 中的一条路,如果L 是由属于M 和不属于M 的边交替出现组成,则称L 为G 的M 交替路(Alternating Path)。

如果交替路L 的始点和终点都是M 不饱和点,则称L 为G 的M 可扩路(M —Extensible Path)。

例如,在图7-60()a 中,对于匹配{(1,6),(2,7),(3,9)}M =,路1:16273L ,2:27394L ,3:5394L ,4:51627394L 都是M 交替路,其中34,L L 的始点和终点都是M 不饱和点,所以这两条路是M 可扩路。

可扩路具有如下性质:可扩路的长度必为奇数,且属于M 的边比不属于M 的边少1条。

如果在一条可扩路中把属于M 中的边从匹配中去掉,把不属于M 中的边添入到匹配中, 则得到新的匹配1M ,1M 的边数比M 多1。

例如,在图7-60()a 中,对于匹配{(1,6),(2,7),(3,9)}M =,4:51627394L 是M 可扩路,将4L 中属于M 中的边(1,6),(2,7),(3,9)从匹配M 中去掉, 把不属于M 中的边(5,1),(6,2),(7,3),(9,4)添入到匹配M 中,则得到新的匹配1{(5,1),(6,2),(7,3),(9,4)}M =,1M 中的边数由M 中的3条增至4条。

如果图中还存在可扩路, 再按上面的步骤做, 所得到的匹配的边数又多1,一直到图G 中不存在可扩路为止。

用此方法可逐步得到较大的匹配,直至得到最大匹配。

这就是下面的定理。

定理7.5.2 在图G 中,M 为最大匹配的充分必要条件是不存在可扩路。

证明 先证必要性。

用反证法。

假设G 中存在一条M 可扩路,则可以得到比M 的边数多1的匹配,与M 为最大匹配矛盾。

所以G 中不存在M 可扩路。

再证充分性。

用反证法。

假设M 不是最大匹配,则存在匹配1M ,使得1M M >。

令21M M M =⊕(⊕为对称差运算),设由2M 导出的G 的子图2[]G M H =,因为M 和1M 都是G 的匹配,所以H 的任意顶点或是只与M (或1M )中的一条边相关联,或是同时与M 的一条边及1M 的一条边相关联,其度数至多为2,于是H 的每个连通分支或者是一个边交错地属于M 与1M 的长度为偶数的回路,或者是边交错地属于M 与1M 的长度为奇数的交错路。

由于1M M >,因而H 中必有一个连通分支P ,它所含的属于1M 的边比属于M 的边多,P 不是回路(因为回路的长度均为偶数),它的起点和终点都是M 不饱和的,也一定是G 中的M 不饱和点,因此在G 中存在关于M 的可扩路,这与假设矛盾。

求一般图的最大匹配过程比较复杂,下面仅讨论如何在二部图中求最大匹配的问题。

设二部图12,,G V V E =,在G 中求最大匹配的关键是寻找可扩路。

通常是先构造G 的一个匹配M ,再看1V 中有没有M 不饱和点。

如果没有,那么M 肯定是最大匹配了;如果有, 我们就从这些点出发找M 可扩路,由M 可扩路做出一个更大的匹配。

寻找M 可扩路的一个有效方法是标记法, 其过程如下:首先在G 中作一个匹配M ,用(*)标记1V 中所有M 不饱和点, 然后交替地进行以下步骤(1)和(2)。

(1)选一个1V 的新标记过的节点,比如i x , 用(i x )标记不通过M 中的边与i x 邻接且未标记过的2V 的所有节点。

对1V 所有新标记过的节点重复这一过程。

(2)选一个2V 的新标记过的节点,比如j y , 用(j y )标记通过M 中的边与j y 邻接且未标记过的1V 的所有节点。

对2V 所有新标记过的节点重复这一过程。

执行以上步骤, 直至标记到一个2V 中的M 不饱和点。

从该节点倒向追踪到标记有(*)的节点,就得到一条M 可扩路。

于是也就得到一个边数为|M |+1的匹配, 再返回(1)。

如果已不可能标记更多的节点,而2V 的所有标记的节点均为M 饱和点,则说明G 中已不存在M 可扩路,这时M 就是最大匹配。

例7.5.3 图7-61()a 是一个二部图, 求其最大匹配。

图7-61解 取图7-61图()a 的一个匹配3152{(,),(,)}M x y x y =。

相关文档
最新文档