图论(16)匈牙利算法与最优匹配算法

目录

(一)匈牙利算法

M交错树

匈牙利算法-偶图完美匹配算法

偶图中找最大匹配

(二)、最优匹配算法-库恩算法

可行顶点标号

相等子图

定理及其证明要求掌握

例题:


(一)匈牙利算法

图论(16)匈牙利算法与最优匹配算法_第1张图片

扎根于M非饱和点u,即以u为树根来构造M交错树,u是偶图中X点集中的点

M交错树

图论(16)匈牙利算法与最优匹配算法_第2张图片

以非饱和点为根节点的树

图论(16)匈牙利算法与最优匹配算法_第3张图片

S是M交错树上的属于点集X的点的集合,T是M交错树上的属于点集Y上的点的集合。

在情形1的时候,可以看到除了点u外,其他点是配对的,即一个X中的点,连上一个Y中的点。所以T包含于S的邻点集合。

不是因为多了一个u,而是因为树上属于X的点的邻点除了在T中有,可能还有一部分不在T中,但T中的点肯定在S的邻点集合中

这里再看看Hall定理

图论(16)匈牙利算法与最优匹配算法_第4张图片

当邻点集合严格小于子集中元素个数,则偶图中不存在饱和每个顶点的匹配,即不存在完美匹配

图论(16)匈牙利算法与最优匹配算法_第5张图片

两种情况都有xy不属于匹配M,第一种情况,因为u是非饱和点,所以uy不属于匹配M,第二种情况,因为匹配中的边不能有公共的顶点,所以xy也不属于匹配M

图论(16)匈牙利算法与最优匹配算法_第6张图片

图论(16)匈牙利算法与最优匹配算法_第7张图片

匈牙利算法-偶图完美匹配算法

图论(16)匈牙利算法与最优匹配算法_第8张图片

例题:

图论(16)匈牙利算法与最优匹配算法_第9张图片

图论(16)匈牙利算法与最优匹配算法_第10张图片

图论(16)匈牙利算法与最优匹配算法_第11张图片

图论(16)匈牙利算法与最优匹配算法_第12张图片

图论(16)匈牙利算法与最优匹配算法_第13张图片

偶图中找最大匹配

图论(16)匈牙利算法与最优匹配算法_第14张图片

(二)、最优匹配算法-库恩算法

图论(16)匈牙利算法与最优匹配算法_第15张图片

可行顶点标号

图论(16)匈牙利算法与最优匹配算法_第16张图片

相等子图

图论(16)匈牙利算法与最优匹配算法_第17张图片

定理及其证明要求掌握

图论(16)匈牙利算法与最优匹配算法_第18张图片

可行顶点标号法中两个端点的标号值之和是大于等于对应边的权值的。所以任一完美匹配的边的权值小于等于对应点的标号值之和。但是在相等子图中,里边的点的标号值之和已经认为设定成了等于边的权值。注意完美匹配的边要覆盖所有的点,所以在两个式子的右边是相等的。都是G中所有顶点的标号值之和。即M*中的边的权值之和是等于所有顶点的标号值之和的,而M中的边的权值之和是小于等于所有顶点的标号值之和的。所以推出相等子图中的完美匹配就是最优匹配。

图论(16)匈牙利算法与最优匹配算法_第19张图片

图论(16)匈牙利算法与最优匹配算法_第20张图片

例题:

图论(16)匈牙利算法与最优匹配算法_第21张图片

图论(16)匈牙利算法与最优匹配算法_第22张图片

图论(16)匈牙利算法与最优匹配算法_第23张图片

图论(16)匈牙利算法与最优匹配算法_第24张图片

图论(16)匈牙利算法与最优匹配算法_第25张图片

例题

图论(16)匈牙利算法与最优匹配算法_第26张图片

偶数阶完全图可一因子分解,即K2n可分解成2n-1个一因子,所以K2(3n-1),可分解成2*(3n-1)-1=6n-3个一因子

即2n-1个3因子的和

 

 

 

 

 

 

 

你可能感兴趣的:(图论)