You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Kuhn-Munkres算法矩阵调整步骤的疑问

Kuhn-Munkres算法矩阵调整步骤的原理与必要性疑问

在众多Kuhn-Munkres算法的实现中,常能看到如下矩阵调整的代码片段:

//minval is the minimum of the uncovered items
if (row_covered_[i]) {
        cost_matrix_(i, j) += minval;
}
if (!col_covered_[j]) {
        cost_matrix_(i, j) -= minval;
}

我理解给未被覆盖的行列交叉元素减去最小值是为了生成新的零元素,但完全搞不懂为什么要给row_covered=1且col_covered=1的元素加上这个最小值。结合算法运行示意图(图12找到最小值1,图13将其加到矩阵左上角),我觉得这段代码应该改成这样:

//minval is the minimum of the uncovered items
if (!row_covered[i] && !col_covered_[j]) {
        cost_matrix_(i, j) -= minval;
}

特此询问该矩阵调整步骤的原理及必要性。

内容的提问来源于stack exchange,提问作者cooronx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 21:55:53