“算法分支由输入结构决定。Hopcroft–Karp 算法在静态无权二分图上成批处理最短增广路,给出确定性最坏 $O( E \sqrt{ V })$;Edmonds 开花算法处理一般无向图中的…”
形式陈述 ​
匈牙利算法求二分图完美匹配的最小总代价,等价于方阵指派问题。线性规划对偶为给左右顶点势
直觉
匈牙利算法用顶点势给每个任务和工人分摊“基础价格”,把指派成本变成非负约化成本,并只在成本恰好等于两端价格和的“紧边”所组成的相等子图中寻找增广匹配。若当前相等子图无法继续增广,就调整势,在保持对偶可行的同时让至少一条新边变紧,逐步暴露候选边;匹配大小与对偶目标同步推进。它是原始—对偶思想的具体实现,而不只是某种矩阵行列减法技巧。
例子与边界
三名工人与三项任务构成
对成本矩阵,给每行、列维护势
最小化与最大化版本的符号和初始化不同,直接复制公式容易反向。非方阵可补虚拟行列,但虚拟边成本需表达“未指派”语义;算法处理的是二分图指派,不是一般图最大匹配的同名历史算法混用。
推论与应用
指派问题出现在任务调度、数据关联、最优配对和多目标跟踪;匈牙利算法也是原始—对偶方法的经典实例。
二分匹配 是原始解,线性规划 与对偶势解释最优性,成本矩阵 给出稠密输入。任务分配、最小权完美匹配和多目标关联都可归约到指派问题。
Hungarian algorithm解决二分图完美匹配/指派的加权特例,依顶点势与增广结构。拟阵交算法把“同时独立于两个拟阵”作为更一般接口,二分匹配可编码为两个分割拟阵的交;这并不让 Hungarian 的势更新直接推广到一般拟阵 oracle,后者使用交换图并有独立查询成本。
参考资料
- Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, Introduction to Algorithms, 4th ed., MIT Press, 2022,Parts I–VI。
- Jon Kleinberg and Éva Tardos, Algorithm Design, Pearson, 2005,Chs. 1–13。