基础知识:匈牙利算法原始表达式解法(此处匈牙利解法包含等权的图像解法知识和带权的矩阵解法,可以参考其他说明)Hungarian Algorithm匈牙利算法_正仪的博客-CSDN博客
匈牙利算法解决的原始指派问题:
以下是对偶解法:
Example
1.找到C矩阵中每行最小值,eg.,所以
2.每列的值和已知中对应行的值做差最小,eg.,,所以
此时dual cost为u、v总和14。
3.保证始终非负,所以
在R中找到完美匹配,或者得到等于n的顶点覆盖
很明显,二部图里面最佳匹配对数为3<4;但是0的最小覆盖只需要3<4
4.删去划线覆盖的行列,剩下的构成新矩阵,寻找其中的最小值δ,利用δ对u中覆盖的行做减,v中未覆盖的列做加,新矩阵做减或者使用R矩阵的定义重新计算新R。满足二部图完美匹配和覆盖定点数为4。此时cost=15。若不成立循环3、4步骤。
这个解法为什么看起来和原始问题的匈牙利解法这么相似?为什么要构造对偶问题呢?