【问题标题】:NP-Complete problems to Partition Problem reductionsNP完全问题到分区问题减少
【发布时间】:2020-11-08 12:57:54
【问题描述】:

根据 Wikipedia,Partition Problem (PP) 是现有 伪多项式时间动态规划 (DP) 解决方案 的 NP-Complete (NPC) 问题。如果问题是 NPC,则任何 NP 问题都可以在多项式时间内简化为此类问题的实例,即旅行商问题 (TSP) 实例到 PP 实例。现在没有任何算法,DP 或其他,让 TSP 有比O(2^n) 更好的界限。

现在,如果我可以获取 TSP 实例,从中创建 PP 实例,在伪多项式时间内求解 PP 实例并减少它,那为什么? 减少只会让我付出代价多项式。

【问题讨论】:

    标签: time-complexity dynamic-programming complexity-theory reduction np-complete


    【解决方案1】:

    这里的问题是“伪多项式数量是多少?”对于背包问题,伪多项式时间算法运行时间为 O(nW),其中 W 是任何项目的最大重量.如果您实际上尝试使用当今已知的“标准”减少来详细了解将 TSP(或大多数其他 NP 完全问题)减少到背包的细节,您会发现项目上的权重是巨大的,并且通常呈指数级增长这些问题的输入。例如,从集合包装到背包的典型减少是通过构建重量约为 2n 的项目来实现的,其中 n 是所有集合中不同项目的数量。这使得首先使用此缩减然后应用背包 O(n · 2n) 的运行时间,这不是伪多项式时间。

    【讨论】:

    • 我明白了,谢谢!如果 PP/Knapsack 存在多项式算法而不是伪多项式算法,那么这不会是问题,因为那时“数量”是无关紧要的,对吧?
    • 是的,因为从一个问题到另一个问题的多项式时间缩减会产生一个大小为多项式的输入,然后背包求解器将以该输入大小按时间多项式运行。
    猜你喜欢
    • 1970-01-01
    • 2022-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    相关资源
    最近更新 更多