如何证明问题不是NP完成的?


17

有什么通用的技术可以证明问题不是NP完全的吗?

我在考试中遇到这个问题,要求我证明是否有一些问题(参见下文)是NP-Complete。我想不出任何真正的解决方案,只是证明它在P中。显然,这不是一个真正的答案。

NP-Complete被定义为NP中的一组问题,所有NP问题都可以简化为它。因此,任何证据都应至少与这两个条件之一相矛盾。这个特定的问题确实存在于P中(因此也存在于NP中)。因此,我坚持证明NP中存在一些无法解决的问题。在地球上如何证明这一点?

这是我在考试中遇到的具体问题:

为析取范式的弦集。令D N F S A T是来自D N F的字符串的语言,可以通过某些变量分配来满足该语言。显示是否D N F S A TDNFDNFSATDNFDNFSAT是否在NP-Complete中。


8
如果可以证明 DNF-SAT 不是NP完全的,则将立即表明,如您所示。因此,我相信他们正在寻找的答案正是您所提供的(而且您可能应该隐式地假设P N P)。尽管如此,这是一个非常令人误解的问题。PNPPNP
Shaull

没错,所以我知道这个问题等效于的问题,一个问题的解决方案,也解决了另一个问题。P=NP
无题

为什么说在D中证明DNFSAT是“显然不是真正的答案”?
安德拉斯·萨拉蒙

5
@AndrásSalamon假定,这是未经证明的陈述。PNP
无题

1
@无标题:它实际上不假定P≠NP,请参阅我的答案。
安德拉斯·萨拉蒙

Answers:


8

根据评论,您似乎想要一个无条件的答案。

但是,通过分配变量以满足第一个析取项,DNF-SAT位于L中。因此,如果它是NP完全的,则L = NP。

另一方面,如果L = NP,那么在对数空间缩减下,DNF-SAT完全是NP完全的。(实际上,如果L = NP,那么在对数空间减少的情况下,NP中的每个问题都是NP完全的。)

因此,在对数空间缩减下,L = NP iff DNF-SAT是NP完全的。

因此,您目前不能像您想做的那样无条件地声明DNF-SAT不是NP完整的。不一定要假设P≠NP,但是答案确实必须以某些条件为条件,并且L≠NP是可以保证期望结果的最弱假设。


有趣。因此,此问题等效于。您能解释为什么说L N P是一个弱假设吗?L=NP=P=NPCLNP
无题

3
如果那么ψ是弱于φϕψψϕ
安德拉斯·萨拉蒙

14

一个问题是NP完全如果它既是NP- NP。这意味着您需要反驳这两个之一。Q

  1. 在P NP 的假设下,可以给出求解Q的多项式时间算法。稀疏地,假设图同构不是NP困难的,则可以证明Q对于图同构是可乘的。QQ
  2. 您表明不在NP中。这很难,并且您通常必须使用其他假设,例如多项式层次结构的不崩溃,即NP coNP或表明对高于NP的其他某些类别来说较难,例如,通过证明其对NEXPTIME困难。Q

Usually, the answer is to give a polynomial time algorithm, which would be the simplest for DNF-SAT, but this relies on the hypothesis that P NP. However, proving that DNF-SAT is not NP-complete without any assumptions implies, as Shaull points out, proving that P NP, so that is somewhat trickier.


1
Both the techniques you provided lie on some kind of unproved assumption. Do think there could be a concrete way (no assumptions) of solving a problem of this kind?
Untitled

Oh, and I didn't mean this specific problem, because as Shaull stated, this problem is still open. I meant proving coNP-Completeness in general.
Untitled

2
@Untitled You probably didn't mean coNP-completeness. One way of showing it is by my point (2), proving that the problem is NEXPTIME-hard. We know that NP NEXPTIME, so that would prove it. Proving that a problem Q is NEXPTIME-hard, would therefore mean that Q cannot be in NP and thus cannot be NP-complete.
Pål GD

10

By the nondeterministic time hierarchy, you could show that the problem is NEXP-hard; as NPNEXP, it is impossible to reduce the problem in polynomial time to any problem in NP, so the problem will not be in NP.

However, if your problem is not nearly that difficult, you may be hard-pressed to prove that it is not in NP; and if it is in NP, you'll be hard-pressed to show that NP is not Karp-reducible to your problem without assuming that PNP.


0

As is the case with all proofs, there is no formula for proving a statement, you have to do some intelligent guesswork, trial and error and hopefully you'll be able to prove what you are trying to prove. To prove a problem is NOT NP-Complete, negate the definition (DeMorgran Law), that is to say prove the problem NOT in NP or prove the problem NOT NP-Hard.


0

I believe what the lecturer really wants is that you could distinguish problems that are in P from problems that are NP-complete in the meaning given language can you build an efficient algorithm ? if yes then it is suspected not to be NP-complete because we dont think that languages in P is NP-complete ! otherwise you still have to prove that the problem is NP-hard !

note that there exists some problems that we dont know there status such as graph isomorphism,factoring given number,... we think that these problems are not NP-complete but no one could prove that ! specifically we have evidences that graph isomorphism is not NP-complete! other problem is the unique game conjuncture that we suspect that unique game is NP-complete but no proof exists! so the approach you have describe is not helpful!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.