目录
(一)匈牙利算法
扎根于M非饱和点u,即以u为树根来构造M交错树,u是偶图中X点集中的点
M交错树
以非饱和点为根节点的树
S是M交错树上的属于点集X的点的集合,T是M交错树上的属于点集Y上的点的集合。
在情形1的时候,可以看到除了点u外,其他点是配对的,即一个X中的点,连上一个Y中的点。所以T包含于S的邻点集合。
不是因为多了一个u,而是因为树上属于X的点的邻点除了在T中有,可能还有一部分不在T中,但T中的点肯定在S的邻点集合中
这里再看看Hall定理
当邻点集合严格小于子集中元素个数,则偶图中不存在饱和每个顶点的匹配,即不存在完美匹配
两种情况都有xy不属于匹配M,第一种情况,因为u是非饱和点,所以uy不属于匹配M,第二种情况,因为匹配中的边不能有公共的顶点,所以xy也不属于匹配M
匈牙利算法-偶图完美匹配算法
例题:
偶图中找最大匹配
(二)、最优匹配算法-库恩算法
可行顶点标号
相等子图
定理及其证明要求掌握
可行顶点标号法中两个端点的标号值之和是大于等于对应边的权值的。所以任一完美匹配的边的权值小于等于对应点的标号值之和。但是在相等子图中,里边的点的标号值之和已经认为设定成了等于边的权值。注意完美匹配的边要覆盖所有的点,所以在两个式子的右边是相等的。都是G中所有顶点的标号值之和。即M*中的边的权值之和是等于所有顶点的标号值之和的,而M中的边的权值之和是小于等于所有顶点的标号值之和的。所以推出相等子图中的完美匹配就是最优匹配。
例题:
例题
偶数阶完全图可一因子分解,即K2n可分解成2n-1个一因子,所以K2(3n-1),可分解成2*(3n-1)-1=6n-3个一因子
即2n-1个3因子的和