从NP完成到其他问题的多项式时间减少

时间:2015-03-18 13:51:31

标签: algorithm np-complete

请问任何人明白我的怀疑吗?

假设我有一个问题A已知是NP-complete。我还有另一个问题B,我们不知道它的复杂程度。

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

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

2 个答案:

答案 0 :(得分:3)

  

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

不,我们可以说B是NP难的。完整性也要求NP的成员资格,这不符合假设。

例如,我们可以将3SAT减少到停机问题。停止问题不在NP中(它甚至不是可判定的)。

  

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

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

答案 1 :(得分:0)

如果A是NP完全的,你可以将NP中的任何问题减少到A. NP完全问题是NP中最难的问题。

如果你可以在多项式时间内将A减少到B,则意味着B“至少和A一样难”,因为如果你能解决B,那么就很容易解决A.所以,如果A是NP完全的那些(按照定义)是NP中最难的问题,B也是NP完全的(假设B在NP中,否则它只是NP难)。

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

相关问题