匹配理论及其应用Word文件下载.docx
《匹配理论及其应用Word文件下载.docx》由会员分享,可在线阅读,更多相关《匹配理论及其应用Word文件下载.docx(52页珍藏版)》请在冰豆网上搜索。
![匹配理论及其应用Word文件下载.docx](https://file1.bdocx.com/fileroot1/2023-1/24/92265225-e2aa-417e-abab-c54ce5f23267/92265225-e2aa-417e-abab-c54ce5f232671.gif)
2匹配理论2.1图的概念我们所讨论的图(graph)与人们通常所熟悉的图,例如圆、椭圆,函数图形等是很不相同的。
所谓图是指有序三元组V,E,,其中V非空称为顶点集,E称为边集,而是E到V中元素有序对或无序对簇的函数,称VV为关联函数。
V中元素称为顶点,E中的元素称为边,刻画了边与顶点之间的关联联系。
若VV中元素全是V,E,有序对,则V,E,称为有向图,记为DVD,ED,D.若VV中的元素全是无序对,则V,E,称为无向图,记为GVG,EG,G.图论中大多数定义和概念是根据图的图形表示提出来的。
例如边与它的两端点称为关联的;
与同一条边相关联的两端点或者与同一个顶点相关联的两条边称为相邻的。
两端点相同的边称为环。
若无环图的顶点集可以划分为两个非空子集X和Y使得X中任何两顶点之间无边相连并且Y中任何两顶点之间也无边相连,则称该图为二分图,X,Y称为二部划分。
从上面的讨论中可以看到,图的本质内容是顶点和边之间的关联联系,至于顶点和边是否用平面上的几何点和线段来表示,则完全是不必要的,换句话说,图的概念可以抽象化。
定义设V1和V2是图G的顶点子集,使V1UV2V(G),V1IV2,且G的每一条边的每一个端点在V1中,另一个端点在V2中,则称G为二分图((bipartitegrph)。
记作:
G(V1,V2;
E).如果V1中的顶点与V2中的每个顶点都相联,则成为完全二分图。
若V1m,V2n,(符号V表示集合V中元素的个数),则完全二分图记作Km,n.图G的顶点集V(G)分成两个子集V1和V2V1UV2VG,V1IV2的分划V1,V2,称为G的二分划bipartition。
2.2匹配的相关定义定义1设D是无环非空图,M是E(D)的非空子集,若M中任何两条边在D中均不相邻,则称M为D的匹配。
例如,在图2.2.1所示图中,粗边所示的边集是该图的一个匹配。
D中与M中边关联的顶点称为M饱和点。
反之,称为M非饱和点。
设XV(D).若X中每点都是M饱和点,则称M饱和X.若M饱和V(D),则称M为D的完备匹配。
若对D的任何匹配M均有MM,则称M为D的最大匹配。
显然,每个完备匹配都是最大匹配。
如图2.2.1中粗边表示的匹配分别是该图的最大匹配和完备匹配。
x1x2x3x4x5x1x2x3x4x5y1y2y3y4y5y1y2y3y4y5(图2.2.1)定义2M可增广道路设M是图G的一个匹配,P是G的一条路,且在P中,M的边和EGM的边交替出现,则称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可增广路。
V4V7V10V2V9V1V5V8V3V6(图2.2.2)定理2.2.1G的一个匹配M是最大匹配的充要条件是G不包含M增广道路。
证明设M是G的一个匹配,并设G包含一条M增广道路V0V1LV2m1,设MMVV,VV,LVVUVV,LVV,1,23,42m1,2m2,32m,2m1显然,MEG,且M是G的一个匹配,因为MM1,所以M不是最大匹配。
反之,假设M不是最大匹配,且令M是G的一个最大匹配,那么MM.(2.2.1)设H是由MM导出的G的子图,那么H的每个顶点在H中具有的度数不是1就是2.因为它最多只能和一条M的边以及M的边关联。
因此,H的每个分支或是一条边在M和M中交错的偶回路,或是一条边在M和M中交错的道路。
由式(2.2.1),H包含的M的边多于M的边,因而必定有H的一条道路P开始于M的边且终止于M的边。
故在H中被M所饱和的P的起点和终点在图G中就是M不饱和的,于是P是G的一条M增广道路。
2.3匹配定理本节介绍Berge,Hall,Konig,Tutte关于匹配理论的四个基本定理。
需要用到符号AB,定义AB=AUBAIB,其中A与B是集合,称AB-为A与B的对称差,因为AB=BA,有时把AB写成AB.-定理1(Berge,1957)M是图G中的一个最大匹配当且仅当G中无M的可增广轨。
证明若M中无M的可增广轨,但M不是G的最大匹配,即G中另有一匹配M,M的边数比M的边数多,考虑G的子图GGM-M.由于M与M是匹配,M中的边两两无公共端点,M亦然,所以G中顶的次数不是1就是2.于是G的连通片必为其边在M与M中交替出现的圈,不然就是边在M与M中交替出现的轨;
又M与M的边数不同,MM,由-的定义,G中来自M的边比来自M的边多。
于是G的某个连通片必为以M中的边为起止边的轨pu,v,pu,v是M的可增广轨,与假设G中无M可增广轨矛盾,至此证得M是G的最大匹配。
反之,若M是G的最大匹配,显然G中无M可增广轨,不然M还可以改造成边数更多的匹配,与M是最大匹配相违。
证毕。
定理VG2(Hall,1935)XUY,XIY设G是二分图,顶集的二分图划分为X与Y,即,X中无邻顶对,Y中亦然;
存在把X中顶皆许配的充要条件是任意sX,皆有Nss,其中Ns是S中每个顶的邻顶组成的所谓S的邻集。
如图证明若任意的S2.3.1所示。
设MX,皆有Nss,但G中无把X中顶皆许配的匹配,是G的一个最大匹配,当然M也不能把X中的顶皆许配。
设V是一个未被M许配的X中顶,令A是被M的交错轨与V连通的集合。
由定理1,V是A中的唯一的未被M许配的顶,不然M中有可增广轨,与M是最大匹配相违。
令SAIX,于是NsAIY,且Nss1,与假设任意SX,皆与Nss相违,至此证出充分性。
s个顶VT=N(S)(图2.3.1)必要性的证明设有把X中顶皆许配的匹配,任意的SX,则S的顶亦皆被许配,与S中顶相配的顶的个数是s,又与S中顶相配的顶皆在S的邻集中,故Nss,证毕。
定理2就是图论中著名的Hall婚配定理。
1935年,有人向Hall提出如下问题:
城中每位小伙子都结识k位姑娘,每位姑娘都结识k位小伙子,k1。
问这些未婚青年是否皆可与自己的意中人结婚?
Hall把上述问题化成下面的图论模型:
令小伙子集合为X,姑娘集合为Y,仅当甲小伙子与乙姑娘结识时,在甲与乙两顶之间连一边,构成一个k次正则二分图,k次k1正则二分图中存在完备匹配吗?
Hall由定理2推导出下面推论,从而肯定地回答了上述“与意中人结婚”的问题。
推论k次正则二分图有完备匹配,k0。
证明设X与Y是k次正则二分图G的顶划分,X中无邻顶对,Y中亦然,则GkXkY,k0.从而XY.SX,S,显然kSkNS.因为与S中的顶无关联的每条边有一个端点在NS中,于是得SNS;
由定理2知G中有把X中顶皆许配的的匹配,又XY,所以G中有完备匹配。
定理3(Konig,1931)若G是二分图,则其最大的匹配的边数为G.证明设M是二分图G的最大匹配,X与Y是二分图的顶划分。
若M把X中的一切顶皆许配,则MX,这时X显然是G的一个最小覆盖,因为覆盖住M中的边至少用M个顶。
故这种情况下,成立MXG.若M未把X中顶皆许配,设X是X中未被M许配的顶组成的集合,见图2.3.2.令Z是有M的交错轨与X中顶连通的顶之集合,即SZIX,TZIY,则NsT.取BXSUT.B由图2.3.2中“黑顶”们组成,则B是G的一个覆盖集。
事实上,如果B不是G的覆盖集,则至少存在一条边eEG,e的一端在S中,另一端在YT中,即e的每两个端点皆“白顶”,此与Ns而G中任一匹配M,皆有MG,MG,即BT矛盾。
又G,故MB,B是G的最小覆盖,至此证明出最大匹配中边的条数等于G.证毕。
sx-sx(图2.3.2)定理4(Tutte,1947)图G有完备匹配当且仅当任意的:
SVG,OGSS,其中OGS是GS中奇数个顶的连通片的个数。
证明设任意SV(G),OGSS,而G中无完备匹配,令G是有如下性质的图:
()G是G的生成子图;
()G是无完备匹配而边数最多的单图,于是GS是GS的生成子图,因而:
OGSOGSS.令S,则OG令U0,即OG是G中VG0,从而G的顶数是偶数。
1次顶的集合。
由G之定义,U,若UVG,则G中有完备匹配,这不可能。
所以U是VG的真子集。
下面证明GU是不相交的完全图之并。
反证之,若GU的某个连通片不是完全图,则在该连通片中,存在顶x,y,z,使得xy,yzE(G),而xzE(G).又yU,所以存在wVGU,使得ywEG,由于G是没有完备匹配的VG个顶的边数最多的图,故任意eEG,Ge中有完备匹配。
令M1与M2分别是Gxz与Gyw中的完备匹配。
又令H为M1M2,在Gxzyw中的导出图,则H的每顶皆两次,H是一些无公共边的偶图之并。
这是由于其上M1与M2的边交替出现。
如下图所示,其中粗实线是M1的边,虚线是M2的边。
(1)xz与yw在H的不同连通片内,若yw在H的圈C1上,如图(a)所示,那么M1在C1上的边与M2不在C1上的边构成G的完备匹配,与G之定义矛盾。
xyzw图(a)
(2)xz与yw在H的同一个圈C2上,如图(b)所示这时在C2上ywLz部分上M1的与yz以及M2不在ywLz部分的边构成G的一个完备匹配,矛盾。
ywC2z图(b)由
(1)与
(2)知GU是不相交的完全图之并。
由于OGUU,GU中奇数个顶的连通片至多U个,但G中有了完备匹配M。
这个匹配M把GU的每个奇数项的连通片的一个顶许配给U的一个顶,U与GU的连通片的其余的顶与U中或本连通片中其余的顶相配,注意GU的每个连通片皆完全图,如图c所示。
而这与G中无完备匹配矛盾,证毕。
G-U的奇片UG-U的偶片(图c)3匹配理论的应用3.1相关算法介绍3.1.1匈牙利算法在匹配的应用问题中,常常需要给出定图的最大匹配。
本节给出一个有效算法,它是由匈牙利数学家埃德蒙兹(1931年)首先提出来的,故通常称为“匈牙利算法”。
匈牙利算法的基本思想较简单。
设G是具有二部划分V1,V2的二分图,从图G的任意匹配M开始。
若M饱和,则M是G的最大匹配。
若M不能饱和V1,则在V1中选择一个非M饱和点。
若G中存在以x为起点的M可增广路P,则MMP就是比M更大的匹配,利用M代替M,并重复这个过程,若G中不存在以x为起点的M可增广路,则令H是根在x的M交错子图的顶点集,并令SHIV1,THIV2.再由定理1可知NGST,且G中不存在以x为起点的M可增广路,此时称x为检验过的非M饱和点,对V1中其它未检验过的非M饱和点重复这个过程,直到V1中的所有的非M饱和点全部检验过为止。
当整个过程结束时,由于G中不存在M可增广路,从而M为G的最大匹配。
匈牙利算法:
设G是具有二部划分V1,V2的二分图。
连通的二分图,在G中任取初始匹配M;
(1)若M把X中顶皆许配,止,M即G的最大匹配;
否则取X中未被M许配的顶u,令Su,T;
(2)若NST,止,G中无完备匹配;
否则取yNST;
(3)若y被M许配,设yzM,SSUz,TTUy,转(3);
否则可取增广轨Pu,y,令MMEP,转
(2)。
显然Hungarian算法是根据定理2.3.1设计出来的,通过可增广轨把一个小匹配逐次增广而得最大匹配乃至完备匹配(如果存在的话)。
如图3.1.1中初始匹配为Mx2y2,x3y3,x5y5,取未被M许配的顶x1X,取y1Y,y1未被M许配的顶x1X,y1Y,y1未被M许配。
得可增广轨x1y2x2y1.令M1MEx1y2x2y1x1y2,x2y1,x3y3,x5y5.搜索可增广轨的具体过程如图3.1.2所示,它显示了图3.1.1中x1为根的外向交错树(树上从x1出发的轨皆M的交错轨),即一个非匹配边一个匹配边交替出现的生长过程,最后得到了可增广轨x1y2x2y1,即图3.1.2右侧最高那一条轨。
x1x2x3x4x5y1y2y3y4y5(图3.1.1)x2x2x2x3x2x3y2y2y2y3y2y3y2y3x1x1x1x1x1(图3.1.2)3.1.2KuhnMunkres算法求加权完全二分图Kn,n,w中最大权完备匹配方法。
定理设l是G的可行标点符号。
若l等子图Gl有完备匹配M是G的最大权完备匹配。
(1)从任意可行顶点标号(例如平凡标号)l开始,确定l等子图Gl,并且在Gl中选取匹配,并由定理3.1.1知M是最优匹配,算法停止,否则转入第2步。
(2)匈牙利算法终止于S属于X,TY,使NGlST.计算Gl)替代l,以G替代Gl转入第1步。
,确定的可行标点符号l,并以l注
(1)KuhnMunkres算法是有效算法。
注
(2)最大权完备匹配不是唯一的。
注(3)KuhnMunkres可以用来求Kn,n,w中最小权完备匹配。
3.2应用的两种常见类型匹配问题是运筹学的重要问题之一,也是图论的重要内容,它在所谓的“人员分配问题”和“最优分配问题”中有重要应用。
3.2.1人员安排问题某公司准备安排n个职员x1x2Lxn从事y1y2Lyn.假设每个职员能胜任其中一项或几项工作。
试问:
能否把所有职员都安排一项他所能胜任的工作?
这个问题称为人员安排问题。
对于此类问题,接下来构造二部划分为x,y的简单二分图G,其中Xx1x2Lxn,Yy1y2Lyn,并且xiyjEG职员xi胜任工作yj,于是问题转化为判定给定的二分图G中是否具有完备匹配问题。
设M和M是EG的两个不相交的非空真子集。
G中M,M交错路是指其边在M和M中交错出现的路。
)M,M交错路简称为M交错路,其中)MEGM.设M是G的匹配,两端点不同且都是非M饱和的M交错路称为M增广路。
引理3.2.1设M和M是G的两个不同的非空匹配,HGMM,则H的每个连通分支必是下列三种类型之一:
()孤立点;
()M,M交错偶圈;
()M,M交错路。
证明由于H中每个顶点至多与M和M中一条边关联,所以0H2而且对H中顶点x,若dHx2x既与M中一条关联,又与M一条边关联。
设P是H中任意一个连通分支。
设P是一个孤立点,则()成立。
下设1P2.若P中顶点全是2度点,则由上述说明知中P每个顶点既与M中一条边关联,又要与M中一条边关联,所以P是一条M,M交错偶圈,故()成立。
若P中含1度点,设为x,则由推论知P中必含另一个1度点,设为y.由于P2,所以P是一条以x和y为端点的路,P中内部点(若存在的话)都是2度点,因而P是M,M交错路,()成立。
定理3.2.1设M是二部划分为X,Y的二分图G的匹配,xX,是M非饱和点,Z是G中由起点为x的M交错路所能连接的顶点集:
SZIX,TZIY,则(a)TNGS;
(b)下述三条等价:
()G中不存在以x为短点的M增广路;
()x是Z中唯一的M非饱和点;
()TNGS且TS1.证明(a)任取yT,则G中存在以x和y为端点的M交错路P.令zNPy,由于G是二分图且yTY,所以zZIXS,即yNGS,因而有TNGS.(b)()()(反证法)设y是Z中异于x的M非饱和点,则G中存在以x和y为端点的M交错路P,P是G中以x为端点的M增广路P,并设P的另一端点为yx,则y是M非饱和点,由Z的定义知,yZ,矛盾于()的假定,所以()成立。
()()任取yNGSY。
于是存在usZIX,和eEG使Geuy,若ux,则显然有yT,下设ux,于是G中存在以x和u为端点的M交错路P。
由于x是M非饱和点,所以u为M饱和点。
若P不含y,则eM.由Z的定义知,yZIYT。
因而有NGST,再由(a),TNGS.由于x是Z中唯一的M非饱和点,所以T中点全是M饱和点。
又由于X中通过M与T中点配对的点全在S中,且TNGS,所以Sx中点与T中点由M配对。
故有TS1.()()任意zSx,设P是G中以x和z为端点的M交错路。
由于G是二分图,并且x,zX,所以P的长为偶数。
又由于x是M非饱和点,所以z是M饱和点。
由zSx的任意性知,Sx中的点全是M饱和点,它们与NGS中点由M配成对。
由于NGST且TS1,所以T中点全是M饱和点,即知x是Z中唯一的非饱和点,()成立。
推论3.2.1非空二分图有饱和所有最大度点的最大匹配。
证明设G是二部划分为X,Y的二分图,并设M是G中做大匹配并尽可能多地饱和最大度点。
(反证法)设存在最大度点x是M非饱和的。
令Z是G中以为x起点的M交错路所能连通的顶点集。
不妨设xX,并令SZIX,TZIY.由于M是G的最大匹配,所以由Berge定理知G中不存在以x为起点的M增广路。
再由定理3.2.1知TS1,且NGST.若S中的点全是最大度点,则SdGuS,TdGuT,usuT即有STS1,矛盾。
于是,S中存在非最大度点,设为z,则zx,令Pxe1x1e2Lem1xm1emz是G中M交错路,由于x,zZ,所以m为偶数。
又因为x是M非饱和点,所以e1,e3,Lem1M,而e2,e4,LemM,因而可以看出z是M的饱和点。
于是令:
MMEPMeeLe24mUeeL13em1,则MM,即M是