请说明将新问题定义为NP-Complete背后的逻辑是正确的

时间:2019-05-15 09:44:25

标签: computer-science theory np np-complete p

使用的逻辑是这样的-我们现有一类问题是NP-Complete。现在出现了一个新问题“ Q”。

第1步-我们证明Q在NP中很好。

第2步-我们证明NP-C(例如O)的问题可以归结为Q。(O-> Q)

现在我们要说因为O是NP-Hard,并且可以将其还原为Q,所以Q也必须是NP-hard,因为对于O而言没有更简单的解决方案,而Q是更简单的解决方案,那么我们可以简化O-> Q并求解Q。

但是,我们还不确定P!= NP。也许这个新问题Q是可以在多项式时间内实际解决的问题,并且要解决NPC中的每个问题,我们只需要将它们转换为Q,然后就可以解决Q。如果是这样,步骤2如何有效证明Q是NP-Hard?

2 个答案:

答案 0 :(得分:0)

NP-hard是一个涉及某些复杂度类的定义,即NPNP-complete。这些定义未引用复杂度类P。减少时间本身并不涉及P。考虑使用一个词汇,其中的概念P被剥夺了。

因此,将概念P引入词汇表时,定义和定理仍然有效。在概念上P实际上在数学上等效于NP。但这仍然不会使用N概念表述的定义和定理无效,而只是开辟了更丰富的理论来讨论它们。

答案 1 :(得分:0)

我相信您的问题在于对NP,NP-Complete和NP-Hard定义的误解。

这是一个很好的先前答案,解释了这些定义:What are the differences between NP, NP-Complete and NP-Hard?

请注意,与上述答案不同,NP-Hard由NP中的问题以及与NP问题同样困难的NP中的问题组成。

要专门回答您的问题,步骤2是显示问题的有效方法-NP-很难,因为如果可以将一个现有问题转化为Q,则Q的难度与O一样大。如果,如您所说,您找到了Q的P时间解决方案,这并不意味着Q在NP-Hard中不再存在。这仅表示您已找到一种解决NP中存在的所有NP难题的方法,或更简单地说是P = NP。但是,这不会删除NP-Hard的定义。类比可能有助于您的理解。假设您发现了一个新物种,随着时间的流逝,您意识到它属于已经发现的动物家族。这将使该物种成为更广泛的家族的一部分,但仍将保留其独特的特征。