【问题标题】:Does anyone know if this is polynomially solvable?有谁知道这是否是多项式可解的?
【发布时间】:2013-10-21 07:24:54
【问题描述】:

您好,我正在处理以下问题。

给定一个大小为 M x N 且系数为正的矩阵。目标是选择 P 列,以使生成的 M x P 矩阵的每一行中所有元素的最大总和最小化。例如,如果 M = 3,N = 5,P = 2,矩阵由下式给出

a11 a12 a13 a14 a15
a21 a22 a23 a24 a25
a31 a32 a33`a34 a35

而最优解是选择`第2列和第4列,得到的矩阵由下式给出

a12a14
一个22一个24
一个32一个34

和最大值{a12 + a14, a22 + a24, a32 + a34} 在 P 列的所有选择中是最小的。

由于有 (N over P) 个解决方案,因此可以实现一种简单的指数算法来解决这个问题,但是有没有更快的多项式时间解决方案来解决这个问题?

或者,如果没有,任何人都可以肯定地证明这是一个 NP-hard 问题吗?你知道任何类似的 NP-hard 问题可以简化为这个问题吗?

【问题讨论】:

    标签: algorithm matrix time-complexity np-hard


    【解决方案1】:

    我相信这是 NP-hard 因为如果你能解决你的问题,那么你就可以解决minimum vertex cover

    证明草图

    方法是定义一个矩阵,每个顶点有一列,每条边有一行。

    在第 j 行,对应顶点 x 和 y 之间的一条边,将每个元素置为 0,除了在 x 和 y 列放置一个 1。

    如果我们可以选择 P 列,使得行和的最大值

    (行总和

    通过使用二分法,我们可以计算出最大的 P ,从而推导出最小顶点覆盖的大小。

    【讨论】:

    • 我认为与互补的、同样困难的最大独立集问题进行比较可能会更清楚一些。问题是等价的,只是和P更直接相关
    猜你喜欢
    • 2015-05-06
    • 1970-01-01
    • 1970-01-01
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多