匈牙利算法:
Hall 定理(定理 3.3.1):设 G 是具有二划分 ( X ,Y ) 的二部图,则 G 有饱和 X 的匹配当且仅当对 ∀S ⊆ X , N (S) ≥ S ,其中 N (S) 表示 S 的所有邻点之集。
Berge 定理(定理 3.1.1):图 G 的匹配 M 是最大匹配的充要条件是 G 中不存在 M 可扩展路。
我的描述:
先判断是否存在增广路,如果存在,则进行环和运算,然后重复上述过程,使匹配的边数逐步增加,直至得到|X|条匹配边为止。
例子:
注意上面饱和点z就更新到S中去了,y就更新到T中去了
KM算法
匈牙利算法与KM算法的区别:匈牙利算法只是KM算法里面的第2步(一共从0到3有4步)
前第0步,与第1步
前第3步
至于前面计算min 用的Y-T,后面修改标号用的T,这里不是太能理解?
例子:
理解
算法思想:那个图该怎样理解,就比如说关于迭代啥的?