理论: 图论(9): 二分图匹配解释

来源:互联网 发布:面向对象的编程思想 编辑:程序博客网 时间:2024/06/05 16:23

二分图

二分图是这样的一个图, 他的顶点可以分成两个集合 X 和 Y。 所有的边关联的两个顶点中一个属于X, 一个属于Y。

这里写图片描述
·
·
·

二分图匹配

给定一个二分图G, M为二分图G边集的一个子集, 如果M满足当中的任意一条边都不依附于同一个顶点, 那么层M是G的一个匹配。
·
·
·

二分图的最大匹配

二分图G的众多匹配子图M1, M2, …………Mn中, 包含边数最多为M’, 那么M’是二分图G的最大匹配。
·
·
·

二分图的完美匹配 == 完备匹配

如果二分图G中的所有点都在子集M’的边上, 则称最大匹配M’是二分图G的完美匹配。
·
·
·

二分图的最佳匹配 == 最优完备匹配

对于具有二部划分( V1, V2 )的加权完全二分图。

其中 V1= { x1, x2, x3, … , xn }, V2= { y1, y2, y3, … , yn },边< xi, yj >具有权值 Wi,j 。

该带权二分图中一个总权值最大的完美匹配,称之为最佳匹配。
·
·
·

增广路

若P是图G中一条连通两个未匹配顶点的路径,并且属于M的边和不属于M的边(即已匹配和待匹配的边)在P上交替出现,则称P为相对于M的一条增广路径

(举例来说,有A、B集合,增广路由A中一个点通向B中一个点,再由B中这个点通向A中一个点……交替进行)。
·
·
·

增广路的结论

1-P的路径长度必定为奇数,第一条边和最后一条边都不属于M。

2-不断寻找增广路可以得到一个更大的匹配M’,直到找不到更多的增广路。

3-M为G的最大匹配当且仅当不存在M的增广路径。

4-最大匹配数M+最大独立数N=总的结点数

5 – 二分图的最小路径覆盖数 = 原图点数 - 最大匹配数
·
·
·

二分图最小点覆盖

最小覆盖要求用最少的点(X, Y 集合的都行), 让每条边至少和其中的一个点相关联。

这里有一个结论可以证明:最少的点 == 最大匹配数M;

证明略;
·
·
·

DAG(无环有向图)的最小路径覆盖

这里有点跑题但是提一下:

用尽量小的不想交简单路, 覆盖有向无环图G的所有顶点, 这就是DAG图的最小路径的覆盖问题。

对于解决这类问题要点就是转化成二分图问题:把所有的顶点I拆成两个 在X中的I;在Y中的I’。

如果有一条I -> J的边那么在二分图中引入 I -> J’ , 设二分图的最大匹配为m 那么最小路径覆盖就是 n - m;

简单的:DAG图的最小路径覆盖数 = 节点数 - 最大匹配数;
·
·
·

二分图的最大独立集

在二分图G中选取出n个点, 使得n个点两两之间没有边相连, 其中最大的n就是图G的最大独立集

二分图的最大独立集数 = 节点数 - 最大匹配数
·
·
·

KM算法名词解释

设有一条边(x, y) 权值为Wxy
可行顶标

L是一个关于节点的函数, L(x)是顶点x对应的顶标值。 可行定标对于图中的每一条边(x, y)都有
L(x)+ L(y) <= Wxy;

相等子图

只包含L(x)+ L(y) = Wxy的子图
·
·
·

KM算法定理

如果一个相等子图中包含完备匹配, 那么这个匹配就是最优匹配;

0 0