二分图匹配问题

二分图匹配问题

二分图: 若无向图G=(V,E)的顶点集V可分为两个子集X和Y,满足X∩Y=XY=VG中的任何一条边的两个端点,一个在X中,另一个在Y中,则称图G是二分图或偶图。

定理:G是二分图,当且仅当G没有奇数长度的回路。-------(提供一方法,判断一个图是否是二分图)

证明:(1)必要性;

      G=XY)二分图,假定p:v0v1v2…vkv0是一条回路,并令v0X。则对所有的i0,有v2iXv2i+1Y。因为vkY,则存在某个i使得k=2i+1,则p的长度为2i+2.所以G中没有奇数长度的回路。

2)充分性

假定G=(V,E)是连通的,否则可以对某个连通分支进行证明。任取v0V,记dv0,v)为从顶点v0到达顶点v的通路上的边数。令X=v| dv0,v)为偶数且vV﹜,Y=V-X,则X∩Y=XY=V。对所有的边xiyj)∈E,如果xiyjX,则有X的定义知必定存在P1v0u1u2…u2s+1xi以及P2并且P1P2的边都为偶数。因为(xiyj)∈E,所以,存在回路L:v0u1u2…u2s+1xi yjw2t+1…w2 w1v0,并且回路L的边数|L|=|P1|+|P2|+1为奇数。这与“G中没有奇数长度的回路”相矛盾。所以,xiyj不能同时属于X,同样也不能同时属于Y。这样xiyj必有一个在X中,一个在Y中,所以G是二分图。



    (1)匹配 M---如果M无向图G的边子集(不含环),且M中的任意两条边没有共同顶点,则称M是G的一个匹配或对集或边独立集。

(2)如果G中顶点v是G的匹配 M中某条边的端点,称它为M饱和点,否则为M非饱和点

(3) 最大匹配 M---如果M是图G的包含边数最多的匹配,称M是G的一个最大匹配。特别是,若最大匹配饱和了G的所有顶点,称它为G的一个完美匹配

(4)M交错路---如果M是图G的匹配,G中一条由M中的边和非M中的边交错形成的路,称为G中的一条M交错路。特别地,若M交错路的起点与终点是M非饱和点,称这种M交错路为M可扩路

 

定理1 (贝尔热定理) G的匹配M是最大匹配,当且仅当G不包含M可扩路。

偶图匹配存在性判定----Hall定理

定理2 (Hall定理)设G=(X, Y)是偶图,则G存在饱和X的每个顶点的匹配的充要条件是:

                                                                                                                                                                                                                         (即:X中的任意s个点至少与Y中的s个点相邻。)

                                                                                                                                                                                                                           Hall定理是二分图匹配问题中匈牙利算法的基础

例1,在下面偶图中,是否存在饱和X={A, B, C, D, E, F, G}的每个顶点的匹配?

 

 

 

 

解: (1) 当S取X中单元点时,容易验证:|N(S)|>|S|

(2) 当S取X中二元点集时,容易验证:|N(S)|≧|S|

(3) 当S取X中三元点集时,容易验证:|N(S)|≧|S|

(4) 当S取X中四元点集时,若取S={A,C,D,F},则有3=|N(S)|<|S|=4

所以,不存在饱和X每个顶点的匹配。

证明:“必要性”

如果G存在饱和X每个顶点的匹配,由匹配的定义,X的每个顶点在Y中至少有一个邻接点,所以:

     “充分性”

如果G是满足条件(*)的偶图,但是不存在饱和X每个顶点的匹配。令M*是G的一个最大匹配,但是不饱和X的顶点u.


又令Z是通过M*与点u相连形成的所有M*交错路上的点集。因M*是最大匹配,所以u是所有交错路上唯一的一个未饱和点。

令S=X∩Z , T=Z∩Y

显然,S-{u}中点与T中点在M*下配对,即:

     |T| = |S| -1< |S|

即: |N(S)| = |T| = |S| -1< |S| ,与条件矛盾。

注: (1) G=(X,Y)存在饱和X每个顶点的匹配也常说成存在由X到Y的匹配

 

各顶点的度均相同的无向简单图称为正则图(regulargraph。各顶点度均为k的正则图称为k-正则图。

定义1图的点覆盖 ---G的一个顶点子集K称为G的一个点覆盖,如果G的每条边都至少有一个端点在K中。G的一个包含点数最少的点覆盖称为G最小点覆盖,其包含的点数称为G的覆盖数,记为α(G).

 

定理MG的匹配,KG的覆盖,若|M|=|K|,M是最大匹配,而G是最小覆盖。

定理4 (哥尼定理)在偶图中,最大匹配的边数等于最小覆盖的顶点数。

(偶图的点覆盖与偶图匹配间的关系)

矩阵的一行或一列称为矩阵的一条线。证明:布尔矩阵中,包含了所有“1”的线的最少数目,等于具有性质“任意两个1都不在同一条线上的1的最大数目”。

     例如:在如下布尔矩阵中:


证明:设布尔阵是nm列矩阵,把它模型为一个偶图如下:每行每列分别用一个点表示,X表示行点集合,Y表示列点集合,两点连线。当且仅当该行该列元为1.

于是,包含了所有“1”的线的最少数目对应偶图中的最小点覆盖数。而具有性质“任意两个1都不在同一条线上的1的最大数目”对应偶图的最大匹配包含的边数。

     由哥尼定理,命题得到证明。

 

 

 

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值