【问题标题】:Polynomial time reduction from NP Complete to other problems从 NP Complete 到其他问题的多项式时间缩减
【发布时间】:2015-03-18 13:51:30
【问题描述】:

谁能解开我的疑惑?

假设我有一个已知属于 NP-complete 的问题 A。我还有另一个问题 B,我们不知道它的复杂性等级。

如果我在多项式时间内将 A 减少到 B 。我们可以说 B 也处于 NP-Complete 中。

但是.. 如果我在多项式时间内将 B 减少到 A 。为什么我不能在 NP-Complete 中也说 B?

【问题讨论】:

    标签: algorithm np-complete


    【解决方案1】:

    如果我在多项式时间内将 A 减少到 B 。我们可以说 B 也是 NP-Complete 的。

    不,我们可以说 B 是 NP 难的。完整性也需要 NP 的成员资格,这不是从假设中得出的。

    例如,我们可以将 3SAT 简化为停机问题。停止问题不在 NP 中(甚至无法判定)。

    如果我在多项式时间内将 B 减少到 A 。为什么我不能在 NP-Complete 中也说 B?

    我们可以说 B 在 NP 中。 B 的一种算法是使用归约然后求解 A。B 可能是一个简单的问题,例如“输入的长度是奇数”。

    【讨论】:

    • 谢谢您,先生,您能告诉我为什么我们不能在 NP-complete 中说 B 不是..我们有什么例子吗?
    【解决方案2】:

    如果 A 是 NP 完全的,您可以将 NP 中的任何问题简化为 A。NP 完全问题是 NP 中最难的问题。

    如果你可以在多项式时间内将 A 简化为 B,这意味着 B“至少和”A 一样难,因为如果你能解决 B,那么解决 A 就变得容易了。所以,如果 A 是 NP 完全的这些是(根据定义)NP中最难的问题,B也是NP完全的(假设B在NP中,否则它只是NP-hard)。

    另一方面,能够将 B 还原为 A 就像能够用火箭筒杀死蚂蚁一样。你显然可以做到,但这并不意味着杀死一只蚂蚁就是“火箭筒”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 2011-04-18
      • 2011-08-04
      • 2011-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多