示例问题不在 P 中,也不在 NP 完全中,但在 NP 中
我在大学有一门叫做算法分析的课程,我们目前正在研究不同的复杂性类别——P、NP、NP-hard 等。
我们已经讨论了 NP 完全问题作为 NP 和 NP-hard 之间的交集,和P问题,包含在NP中。我们还讨论了一些示例,主要是 NP 完全问题(k-coloring、k-clique、SAT)。
大多数时候,我们通过以下方式证明问题是 NP 完全的
:找到一个非确定性算法来解决它(使用选择、成功、失败);
b.将已知的 NP 完全问题简化为它。
问题是,这些问题在确定性机器上运行时(顺序地,而不是遇到选择时同时分支)具有指数时间解决方案。
我的问题是这样的——我从来没有遇到过既不能在多项式时间内解决也不能在指数时间内解决的问题;多项式时间问题是 P 型问题,而指数时间问题通常是 NP 完全型问题。
这里有一个有用的维恩图: http://en.wikipedia.org/wiki/Np_complete
我愿意知道一个问题的例子,该问题既不在P中,也不在NP完全中,而是在NP中。
此外,本质上是指数问题,例如生成 NP 完全集的幂集吗?或者该名称仅适用于仅使用指数时间算法的问题,因为没有其他算法显然的解决方法?
好吧,所以我给了 Rosh Oxymoron 答案,因为他实际上列出了一些疑似 P 和 NPC 之间问题的例子。感谢你们的帮助,我实际上注意到我把这个问题放在了错误的地方。 还有: https://cstheory.stackexchange.com/
我在其中找到了以下对我的问题非常有用的答案: https://cstheory.stackexchange.com/questions/79/problems- Between-p-和-npc 这具体是关于我问的问题,并且: https://cstheory.stackexchange.com/questions/ 52/hierarchies-in-np-under-the-p-np假设下 这通常很有趣,即使与最初的问题不完全相关。
非常感谢,
丹
I have a course called Algorithm Analysis at college, where we're currently studying the different complexity classes -- P, NP, NP-hard etc.
We've already discussed NP-complete problems as the intersection between NP and NP-hard, and P problems, contained in NP. We've also talked about some examples, mainly of NP-complete problems (k-coloring, k-clique, SAT).
Most of the time, we prove a problem is NP-complete by:
a. Finding a nondeterministic algorithm to solve it (that uses choice, success, fail);
b. Reducing a known NP-complete problem to it.
The thing is that these problems, when run on a deterministic machine (sequentially, instead of simultaneously branching when encountering a choice) have exponential-time solutions.
My question is this -- I've never encountered problems that were solvable neither in polynomial time neither in exponential time; polynomial time problems are in P and exponential-time problems are usually in NP-complete.
There's a helpful Venn diagram here:
http://en.wikipedia.org/wiki/Np_complete
I'd like to know an example of a problem that is neither in P, neither in NP-complete, but in NP.
Also, are intrinsically exponential problems, like generating the power set of a set NP-complete? Or does that name only apply for problems for which an exponential time algorithm is used only because there's no other obvious method for solving it?
Ok, so I gave the answer to Rosh Oxymoron because he actually listed some examples of problems suspected to be between P and NPC. Thanks for your help guys, and I actually noticed that I put this question in the wrong place.
There's also:
https://cstheory.stackexchange.com/
where I found the following very useful answers to my question:
https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc
which is specifically about what I asked, and:
https://cstheory.stackexchange.com/questions/52/hierarchies-in-np-under-the-assumption-that-p-np
which is generally interesting, if not exactly related to the initial question.
Thanks a lot,
Dan
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我也是;如果您找到了,请访问此网页领取 100 万美元奖金:https://www.claymath.org/millennium-problems/p-vs-np-problem
Me too; if you find one go ahead and visit this web page to claim your $1M prize: https://www.claymath.org/millennium-problems/p-vs-np-problem
http://en.wikipedia.org/wiki/BQP
http://en.wikipedia.org/wiki/Integer_factorization
http://en.wikipedia.org/wiki/EXPTIME
http://en.wikipedia.org/wiki/BQP
http://en.wikipedia.org/wiki/Integer_factorization
http://en.wikipedia.org/wiki/EXPTIME
NP \ NPC
中没有已知的问题。当且仅当非确定性图灵机可以在多项式时间内解决该问题(或者等效地,确定性图灵机可以在多项式时间内决定该问题)时,该问题才是 NP 问题。您的示例并非如此。
进一步需要指出的是,我们不知道
P = NP
是否存在,因此完全有可能(如果可能性很小)NP
中的所有问题都可以解决在多项式时间内。因此,如果我们知道一个问题无法在多项式时间内解决,那么该问题要么不是 NP 问题,要么,如果我们可以证明它确实是 NP 问题,我们只需证明NP != P
.There is no problem known to be in
NP \ NPC
.A problem is in NP if and only if a non-deterministic turing machine can solve it in polynomial time (or, equivalently, a deterministic turing machine can decide it in polynomial time). This is not the case for your example.
Further it should be pointed out that we do not know whether
P = NP
, so it's perfectly possible (if highly unlikely) that all problems inNP
can be solved in polynomial time. So if we know that a problem can not be solved in polynomial time, that problem is either not in NP or, if we can prove that it is indeed in NP, we just showed thatNP != P
.袁翘楚,有哪些技术可以证明问题不是 NP 完全的?,
可能会有所帮助。
Qiaochu Yuan, What techniques exist to show that a problem is not NP-complete?,
might help.