图论之二部图图形解析

合集下载

第8章-图论

第8章-图论

第8章 图论
定义8.2―2 :路径P中所含边的条数称为路径P的
长度。长度为0的路径定义为单独一个顶点。(但注意习惯上 不定义长度为0的回路。) 定义8.2―3:在图G=〈V,E〉中,从结点vi到vj最短路径的 长度叫从vi到vj的距离,记为d(vi,vj)。若从vi到vj不存在路径,则 d(vi,vj)=∞。 注意,在有向图中,d(vi,vj)不一定等于d(vj,vi),但一般地满足 以下性质: (1) d(vi,vj)≥0; (2) d(vi,vi)=0; (3) d(vi,vj)+d(vj,vk)≥d(vi,vk)。
个图是混合图。
我们仅讨论有向图和无向图,且V(G)和E(G)限于有限集合。
第8章 图论
图 8.1―2
第8章 图论
【约定】:用〈a,b〉表示有向边,(a,b)表示无向边, 既表示有向边又表示无向边时用[a,b]。 于是,图8.1―1中的G和图8.1―2中的G′可分别简记为 G=〈V,E〉=〈{a,b,c,d},{(a,b),(a,c),(b,d),(b,c),(d,c),(a,d),(b,b)}〉
边的方向)和边的重数;
则这两个图是同构的,两个同构的图除了顶点和边的名称不 同外实际上代表同样的组合结构。
第8章 图论
例8.1-2
(1) 图8.1―6所示的(a)、(b)两图是同构的。因为可 作映射:g(1)=v3,g(2)=v1,g(3)=v4,g(4)=v2。在这映射下,边 〈1,3〉,〈1,2〉,〈2,4〉和〈3,4〉分别映射到〈v3,v4〉, 〈v3,v1〉,〈v1,v2〉和〈v4,v2〉,而后面这些边又是(b)中 仅有的边。
在V上的函数,g是定义在E上的函数。
第8章 图论
图 8.1―4

二部图与完全二部图精讲

二部图与完全二部图精讲

哈密尔顿图
与欧拉回路类似的是哈密尔顿回路问题。 它是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’中任二顶点都互不相邻。

  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 =U ,12V V φ=I ;(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 L 是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 =L 表示。

并不是每个工作人员均能胜任所有的任务,一个人只能胜任其中(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 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 是一个二部图, 求其最大匹配。

相关文档
最新文档