KM算法

来源:互联网 发布:windows ftp 软件 编辑:程序博客网 时间:2024/06/02 13:24
算法原理:
(1)通过给每个顶点一个顶标,把求最大权匹配的问题转化为求完备匹配的问题
(2)设顶点 Ai 的顶标为 Xi ,顶点 Yj 的顶标为 Bj ,顶点 Xi与 Yj 之间的边权为 Wi;j
(3)在算法执二过程中的任一时刻,对于任一条边 < i; j >,Ai + Bj >= Wi;j 始终成立
(4)若由二分图中所有满⾜ Ai + Bj = Wi;j 的边 < i; j > 存在完备匹配,这个完备匹配就是⼆分图的最优匹配

(5)显然权值和等于顶标和

算法:

(1)初始化,左边点顶标置为边权最大值,右边点置为零
(2)用 Ai + Bj = Wi;j 的边,对左边未匹配的点寻找交错路径
(3)若无法找到交错路径,调整顶标

复杂度:

O(|V|^3)

原创粉丝点击