1、2匹配理论 2.1 图的概念 我们所讨论的图(graph)与人们通常所熟悉的图,例如圆、椭圆,函数图形 等是很不相同的。所谓图是指有序三元组 V,E,,其中 V 非空称为顶点集,E 称为边集,而 是 E 到 V 中元素有序对或无序对簇的函数,称 V V 为关联函数。V 中元素称为顶点,E 中的元素称为边,刻画了边与顶点之间的关联联系。若 V V 中元素全是 V,E,有序对,则 V,E,称为有向图,记为 D V D,ED,D .若 V V 中的元素全是无序对,则 V,E,称为无向图,记为 G VG,EG,G .图论中大多数定义和概念是根据图的图形表示提出来的。例如边与它的两端 点称为关联的;与同
2、一条边相关联的两端点或者与同一个顶点相关联的两条边称为相邻的。两端点相同的边称为环。若无环图的顶点集可以划分为两个非空子集 X 和 Y 使得 X 中任何两顶点之间无边相连并且 Y 中任何两顶点之间也无边相 连,则称该图为二分图,X,Y 称为二部划分。从上面的讨论中可以看到,图的本质内容是顶点和边之间的关联联系,至于 顶点和边是否用平面上的几何点和线段来表示,则完全是不必要的,换句话说,图的概念可以抽象化。定义设 V1 和 V2 是图 G 的顶点子集,使 V1 UV2 V(G),V1 I V2,且 G 的每一 条边的每一个端点在 V1 中,另一个端点在 V2 中,则称 G 为二分图(bipart
3、itegrph)。记作:G(V1,V2;E).如果 V1 中的顶点与 V2 中的每个顶点都相联,则成为完全二分图。若 V1 m,V2 n,(符号 V 表示集合 V 中元素的个数),则完全二分图记作 K m,n.图 G 的顶点集 V(G)分成两个子集 V1 和 V2 V1 UV2 V G,V1 I V2 的分划 V1,V2,称为 G 的二分划 bipartition。2.2 匹配的相关定义 定义 1 设 D 是无环非空图,M 是 E(D)的非空子集,若 M 中任何两条边在 D 中均不相邻,则称 M 为 D 的匹配。例如,在图 2.2.1 所示图中,粗边所示的边集是该图的一个匹配。D 中与 M 中
4、边关联的顶点称为 M 饱和点。反之,称为 M 非饱和点。设 X V(D).若 X中每点都是 M 饱和点,则称 M 饱和 X.若 M 饱和 V(D),则称 M 为 D 的完备匹配。若对 D 的任何匹配 M 均有 M M,则称 M 为 D 的最大匹配。显然,每个完备匹配都是最大匹配。如图 2.2.1 中粗边表示的匹配分别是该图的最大匹配和完备匹配。x1 x2 x3 x4 x5 x1 x2 x3 x4 x5 y1 y2 y3 y4 y5 y1 y2 y3 y4 y5 (图 2.2.1)定义 2 M 可增广道路 设 M 是图 G 的一个匹配,P 是 G 的一条路,且在 P 中,M 的边和 E G M
5、的边交替出现,则称 P 是 G 的一条 M 交错路。若 M 交错路 P 的两个端点为 M 非 饱和点,则称 P 为 M 可增广路。例如,图 2.2.2 所示图中,虚线所示为匹配 M,则 V2,V4,V5,V7,V9,V10 是一条 M 交错路,而 V1,V2,V4,V5,V7,V8 是一条 M 可增广路。V4 V7 V10 V2 V9 V1 V5 V8 V3 V6 (图 2.2.2)定理 2.2.1G 的一个匹配 M 是最大匹配的充要条件是 G 不包含 M 增广道路。证明 设 M 是 G 的一个匹配,并设 G 包含一条 M 增广道路 V0V1 L V2 m 1,设 MM V V,VV,LV V
6、 UVV,LVV ,1,2 3,42m 1,2 m 2,3 2 m,2m 1 显然,M E G,且 M 是 G 的一个匹配,因为 M M 1,所以 M 不是最大 匹配。反之,假设 M 不是最大匹配,且令 M 是 G 的一个最大匹配,那么 MM.(2.2.1)设 H 是由 M M 导出的 G 的子图,那么 H 的每个顶点在 H 中具有的度数不是 1 就是 2.因为它最多只能和一条 M 的边以及 M 的边关联。因此,H 的每个分支或是一条边在 M 和 M 中交错的偶回路,或是一条边在 M 和 M 中交错的道路。由式(2.2.1),H 包含的 M 的边多于 M 的边,因而必定有 H 的一条道路 P
7、开始于 M 的边且终止于 M 的边。故在 H 中被 M 所饱和的 P 的起点和终点在图 G 中就是 M 不饱和的,于是 P 是 G 的一条 M 增广道路。2.3 匹配定理 本节介绍 Berge,Hall,Konig,Tutte 关于匹配理论的四个基本定理。需要 用到符号 A B,定义 A B=AUB AI B,其中 A与 B是集合,称 A B-为 A与 B的对称差,因为 A B=B A,有时把 A B写成 A B.-定理 1(Berge,1957)M 是图 G 中的一个最大匹配当且仅当 G 中无 M 的可增广轨。证明 若 M 中无 M 的可增广轨,但 M 不是 G 的最大匹配,即 G 中另有一
8、匹配M,M 的边数比 M 的边数多,考虑 G的子图 G G M-M.由于 M 与 M 是匹配,M 中的边两两无公共端点,M 亦然,所以 G 中顶的次数不是 1 就是 2.于是 G 的连通片必为其边在 M 与 M 中交替出现的圈,不然就是边在 M 与 M 中交替出现的轨;又 M 与 M 的边数不同,M M,由-的定义,G 中来 自 M 的边比来自 M 的边多。于是 G 的某个连通片必为以 M 中的边为起止边的轨 p u,v,p u,v 是 M 的可增广轨,与假设 G 中无 M 可增广轨矛盾,至此证得 M 是 G 的最大匹配。反之,若 M 是 G 的最大匹配,显然 G 中无 M 可增广轨,不然 M
9、 还可以改 造成边数更多的匹配,与 M 是最大匹配相违。证毕。定 理 V G 2(Hall,1935)XUY,XI Y 设 G 是二分图,顶集的二分图划分为 X 与 Y,即 ,X 中无邻顶对,Y 中亦然;存在把 X 中顶皆许配的充 要条件是任意 s X,皆有 N s s,其中 N s 是 S 中每个顶的邻顶组成的所 谓 S 的邻集。如图 证明 若任意的 S 2.3.1 所示。设 M X,皆有 N s s,但 G 中无把 X 中顶皆许配的匹配,是 G 的一个最大匹配,当然 M 也不能把 X 中的顶皆许配。设 V 是一个未被 M 许配的 X 中顶,令 A 是被 M 的交错轨与 V 连通的集合。由定
10、理 1,V 是 A 中的唯一的未被 M 许配的顶,不然 M 中有可增广轨,与 M 是 最大匹配相违。令 S A I X,于是 N s AI Y,且 N s s 1,与假设任意 S X,皆与 N s s 相违,至此证出充分性。s 个顶 V T=N(S)(图 2.3.1)必要性的证明 设有把 X 中顶皆许配的匹配,任意的 S X,则 S 的顶亦皆 被许配,与 S 中顶相配的顶的个数是 s,又与 S 中顶相配的顶皆在 S 的邻集中,故 N s s,证毕。定理 2 就是图论中著名的 Hall 婚配定理。1935 年,有人向 Hall 提出如下问题:城中每位小伙子都结识 k 位姑娘,每 位姑娘都结识 k
11、 位小伙子,k 1。问这些未婚青年是否皆可与自己的意中人结 婚?Hall 把上述问题化成下面的图论模型:令小伙子集合为 X,姑娘集合为 Y,仅当甲小伙子与乙姑娘结识时,在甲与乙两顶之间连一边,构成一个 k 次正则二 分图,k 次 k 1 正则二分图中存在完备匹配吗?Hall 由定理 2 推导出下面推论,从而肯定地回答了上述“与意中人结婚”的 问题。推论 k 次正则二分图有完备匹配,k 0。证明 设 X 与 Y 是 k 次正则二分图 G 的顶划分,X 中无邻顶对,Y 中亦然,则 G k X k Y ,k 0.从而 X Y.S X,S ,显然 k S k N S .因为与 S 中的顶无关联的每条边
12、有一个端点在 N S 中,于是得 S N S ;由定理 2 知 G 中有把 X 中顶皆许配的的匹配,又 X Y,所以 G 中有完备匹配。定理 3(Konig,1931)若 G 是二分图,则其最大的匹配的边数为 G.证明 设 M 是二分图 G 的最大匹配,X 与 Y 是二分图的顶划分。若 M 把 X 中 的一切顶皆许配,则 M X,这时 X显然是 G 的一个最小覆盖,因为覆盖住 M 中的边至少用 M 个顶。故这种情况下,成立 M X G.若 M 未把 X中顶 皆许配,设 X 是 X 中未被 M 许配的顶组成的集合,见图 2.3.2.令 Z 是有 M 的交 错轨与 X 中顶连通的顶之集合,即 S
13、ZI X,T Z I Y,则 N s T.取 BX S U T.B 由图 2.3.2 中“黑顶”们组成,则 B 是 G 的一个覆盖集。事实上,如果 B 不是 G 的覆盖集,则至少存在一条边 e E G,e 的一端在 S 中,另一端在 Y T 中,即 e 的每两个端点皆“白顶”,此与 N s 而 G中任一匹配 M,皆有 M G,M G,即 B T 矛盾。又 G,故 M B,B是 G 的 最小覆盖,至此证明出最大匹配中边的条数等于 G.证毕。s x-s x (图 2.3.2)定理 4(Tutte,1947)图 G 有完备匹配当且仅当任意的:S VG,OG S S,其中 O G S 是 G S 中奇
14、数个顶的连通片的个数。证明 设任意 S V(G),O G S S,而 G 中无完备匹配,令 G 是有如下 性质的图:()G 是 G 的生成子图;()G 是无完备匹配而边数最多的单图,于是 G S 是 G S 的生成子图,因而:O G S O G S S.令 S ,则 O G 令 U 0,即 O G 是 G中 V G 0,从而 G 的顶数是偶数。1次顶的集合。由 G 之定义,U ,若 U V G ,则 G 中有完备匹配,这不可能。所以 U 是 V G 的真子集。下面证明 G U 是不相 交的完全图之并。反证之,若 G U 的某个连通片不是完全图,则在该连通片中,存 在 顶 x,y,z,使 得 x
15、y,yz E(G),而 xz E(G).又 y U,所 以 存 在 w V G U,使得 yw E G,由于 G 是没有完备匹配的 V G 个顶的边数 最多的图,故任意 e E G,G e 中有完备匹配。令 M 1 与 M 2 分别是 G xz 与 G yw 中的完备匹配。又令 H 为 M 1 M 2,在 G xz yw 中的导出图,则 H 的 每顶皆两次,H 是一些无公共边的偶图之并。这是由于其上 M 1 与 M 2 的边交替 出现。如下图所示,其中粗实线是 M 1 的边,虚线是 M 2 的边。(1)xz 与 yw 在 H 的不同连通片内,若 yw 在 H 的圈 C1 上,如图(a)所示,那
16、么 M 1 在 C1 上的边与 M 2 不在 C1 上的边构成 G 的完备匹配,与 G 之定义矛盾。x y z w 图(a)(2)xz 与 yw 在 H 的同一个圈 C2 上,如图(b)所示这时在 C2 上 ywL z 部分上 M 1 的与 yz 以及 M 2 不在 ywL z 部分的边构成 G 的一个完备匹配,矛盾。y w C2 z 图(b)由(1)与(2)知 G U 是不相交的完全图之并。由于 O G U U,G U 中 奇数个顶的连通片至多 U 个,但 G 中有了完备匹配 M。这个匹配 M 把 G U 的每个奇数项的连通片的一个顶许配给 U 的一个顶,U 与 G U 的连通片的其余的顶与
17、 U 中或本连通片中其余的顶相配,注意 G U 的每个连通片皆完全图,如图 c 所示。而这与 G 中无完备匹配矛盾,证毕。G-U的奇片 U G-U的偶片 (图 c)3匹配理论的应用 3.1 相关算法介绍 3.1.1 匈牙利算法 在匹配的应用问题中,常常需要给出定图的最大匹配。本节给出一个有效算法,它是由匈牙利数学家埃德蒙兹(1931 年)首先提出来的,故通常称为“匈牙利算法”。匈牙利算法的基本思想较简单。设 G 是具有二部划分 V1,V2 的二分图,从 图 G 的任意匹配 M 开始。若 M 饱和,则 M 是 G 的最大匹配。若 M 不能饱和 V1,则在 V1 中选择一个非 M 饱和点。若 G
18、中存在以 x 为起点的 M 可增广路 P,则 M M P 就是比 M 更大的匹配,利用 M 代替 M,并重复这个过程,若 G 中 不存在以 x 为起点的 M 可增广路,则令 H 是根在 x 的 M 交错子图的顶点集,并令 S H I V1,T H I V2.再由定理 1 可知 NG S T,且 G 中不存在以 x 为起点的 M 可增广路,此时称 x 为检验过的非 M 饱和点,对 V1 中其它未检验过的非 M 饱和点重复这个过程,直到 V1 中的所有的非 M 饱和点全部检验过为止。当整个 过程结束时,由于 G 中不存在 M 可增广路,从而 M 为 G 的最大匹配。匈牙利算法:设 G 是具有二部划
19、分 V1,V2 的二分图。连通的二分图,在 G 中任取初始匹配 M;(1)若 M 把 X 中顶皆许配,止,M 即 G 的最大匹配;否则取 X 中未被 M 许 配的顶 u,令 S u,T;(2)若 N S T,止,G 中无完备匹配;否则取 y N S T;(3)若 y 被 M 许配,设 yz M,S S U z,T T U y,转(3);否则可 取增广轨 P u,y,令 M M E P,转(2)。显然 Hungarian 算法是根据定理 2.3.1 设计出来的,通过可增广轨把一个小 匹配逐次增广而得最大匹配乃至完备匹配(如果存在的话)。如图 3.1.1 中初始 匹配为 M x2 y2 ,x3 y
20、3,x5 y5 ,取未被 M 许配的顶 x1 X,取 y1 Y,y1 未被 M 许配的顶 x1 X,y1 Y,y1 未被 M 许配。得可增广轨 x1 y2 x2 y1.令 M 1 M E x1 y2 x2 y1 x1 y2,x2 y1,x3 y3,x5 y5 .搜索可增广轨的具体过程如图 3.1.2 所示,它显示了图 3.1.1 中 x1 为根的外向交 错树(树上从 x1 出发的轨皆 M 的交错轨),即一个非匹配边一个匹配边交替出 现的生长过程,最后得到了可增广轨 x1 y2 x2 y1,即图 3.1.2 右侧最高那一条轨。x1 x2 x3 x4 x5 y1 y2 y3 y4 y5 (图 3.
21、1.1)x2 x2 x2 x3 x2 x3 y2 y2 y2 y3 y2 y3 y2 y3 x1 x1 x1 x1 x1 (图 3.1.2)3.1.2 Kuhn Munkres 算法 求加权完全二分图 K n,n,w 中最大权完备匹配方法。定理 设 l 是 G 的可行标点符号。若 l 等子图 Gl 有完备匹配 M 是 G 的最大权 完备匹配。(1)从任意可行顶点标号(例如平凡标号)l 开始,确定 l 等子图 Gl,并且在 Gl 中选取匹配,并由定理 3.1.1 知 M 是最优匹配,算法停止,否则转入第 2 步。(2)匈牙利算法终止于 S 属于 X,T Y,使 NGl S T.计算 Gl)替代
22、l,以 G 替代 Gl 转入第 1 步。,确定的可行标点符号 l,并以 l 注(1)Kuhn Munkres 算法是有效算法。注(2)最大权完备匹配不是唯一的。注(3)Kuhn Munkres 可以用来求 K n,n,w 中最小权完备匹配。3.2 应用的两种常见类型 匹配问题是运筹学的重要问题之一,也是图论的重要内容,它在所谓的“人 员分配问题”和“最优分配问题”中有重要应用。3.2.1 人员安排问题 某公司准备安排 n 个职员 x1 x2 L xn 从事 y1 y2 L yn.假设每个职员能胜任其中 一项或几项工作。试问:能否把所有职员都安排一项他所能胜任的工作?这个问 题称为人员安排问题。
23、对于此类问题,接下来构造二部划分为 x,y 的简单二分图 G,其中 X x1x2 L xn,Y y1y2 L yn,并且 xi yj E G 职员 xi 胜任工作 y j,于是问 题转化为判定给定的二分图 G 中是否具有完备匹配问题。设 M 和 M 是 E G 的两个不相交的非空真子集。G中 M,M 交错路是指 其边在 M 和 M 中交错出现的路。)M,M 交错路简称为 M 交错路,其中 )ME G M.设 M 是 G 的匹配,两端点不同且都是非 M 饱和的 M 交错路称为 M 增广路。引理 3.2.1 设 M 和 M 是 G 的两个不同的非空匹配,H G M M,则 H 的 每个连通分支必是
24、下列三种类型之一:()孤立点;()M,M 交错偶圈;()M,M 交错路。证明 由于 H 中每个顶点至多与 M 和 M 中一条边关联,所以 0 H 2 而且对 H 中顶点 x,若 dH x 2 x 既与 M 中一条关联,又与 M 一条边关联。设 P 是 H 中任意一个连通分支。设 P 是一个孤立点,则()成立。下设 1 P 2.若 P 中顶点全是 2 度点,则由上述说明知中 P 每个顶点既与 M 中 一条边关联,又要与 M 中一条边关联,所以 P 是一条 M,M 交错偶圈,故()成立。若 P 中含 1 度点,设为 x,则由推论知 P 中必含另一个 1 度点,设为 y.由 于 P 2,所以 P 是
25、一条以 x 和 y 为端点的路,P 中内部点(若存在的话)都 是 2度点,因而 P 是 M,M 交错路,()成立。定理 3.2.1 设 M 是二部划分为 X,Y 的二分图 G 的匹配,x X,是 M 非饱 和点,Z 是 G 中由起点为 x 的 M 交错路所能连接的顶点集:S ZI X,T ZI Y,则(a)T NG S;(b)下述三条等价:()G 中不存在以 x 为短点的 M 增广路;()x 是 Z 中唯一的 M 非饱和点;()T NG S 且 T S 1.证明(a)任取 y T,则 G 中存在以 x 和 y 为端点的 M 交错 路 P.令 z NP y,由于 G 是二分图且 y T Y,所以
26、 z Z I X S,即 y NG S,因而有 T NG S.(b)()()(反证法)设 y 是 Z 中异于 x 的 M 非饱和点,则 G 中存在以 x 和 y 为端点的 M 交错路 P,P 是 G 中以 x 为端点的 M 增广路 P,并设 P 的另 一端点为 y x,则 y 是 M 非饱和点,由 Z 的定义知,y Z,矛盾于()的假 定,所以()成立。()()任取 y NG S Y。于是存在 u s Z I X,和 e E G 使 G e uy,若 u x,则显然有 y T,下设 u x,于是 G 中存在以 x 和 u 为端 点的 M 交错路 P。由于 x 是 M 非饱和点,所以 u 为 M
27、 饱和点。若 P 不含 y,则 e M.由 Z 的定义知,y Z I Y T。因而有 NG S T,再由(a),T NG S.由于 x 是 Z 中唯一的 M 非饱和点,所以 T 中点全是 M 饱和点。又由于 X 中通过 M 与 T 中点配对的点全在 S 中,且 T NG S,所以 S x 中点与 T 中点由 M 配 对。故有 T S 1.()()任意 z S x,设 P 是 G 中以 x 和 z 为端点的 M 交错路。由于 G 是二分图,并且 x,z X,所以 P 的长为偶数。又由于 x 是 M 非饱和点,所以 z 是 M 饱和点。由 z S x 的任意性知,S x 中的点全是 M 饱和点,它
28、们与 NG S 中点由 M 配成对。由于 NG S T 且 T S 1,所以 T 中点全是 M 饱和点,即 知 x 是 Z 中唯一的非饱和点,()成立。推论 3.2.1 非空二分图有饱和所有最大度点的最大匹配。证明 设 G 是二部划分为 X,Y 的二分图,并设 M 是 G 中做大匹配并尽可能 多地饱和最大度点。(反证法)设存在最大度点 x 是 M 非饱和的。令 Z 是 G 中以为 x 起点的 M 交 错路所能连通的顶点集。不妨设 x X,并令 S Z I X,T Z I Y.由于 M 是 G 的 最大匹配,所以由 Berge 定理知 G 中不存在以 x 为起点的 M 增广路。再由定理 3.2.1 知 T S 1,且 NG S T.若 S 中的点全是最大度点,则 S dG u S,T dG u T,u s u T 即有 S T S 1,矛盾。于是,S 中存在非最大度点,设为 z,则 z x,令 P xe1 x1e2 L em 1 xm 1em z 是 G 中 M 交错路,由于 x,z Z,所以 m 为偶数。又因为 x 是 M 非饱和点,所以 e1,e3,L em 1 M,而 e2,e4,L em M,因而可以看出 z 是 M 的饱和点。于是令:M M E P M e e L e24m U ee L 1 3 em 1 ,则 M M,即 M 是
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1