某些排序可以是 P、NP 和 NP-Complete 吗?

Posted

技术标签:

【中文标题】某些排序可以是 P、NP 和 NP-Complete 吗?【英文标题】:can some sorting be P, NP, and NP-Complete? 【发布时间】:2012-11-30 00:35:50 【问题描述】:

我很困惑,这是我阅读后的想法:

P 在 NP 中,而 NP 在 NP-Complete 中。因此,所有 P 都可能是 NP 和 NP-Complete?

这是否意味着存在可能是 NP 和 NP-Complete 的排序算法?

希望这听起来不会太愚蠢。

【问题讨论】:

包含“NP is in NP-Complete”是错误的,好的包含是“NP-Complete is in NP”,因为 NP-complete 意味着“在 NP 中但不在 P 中(假设 P!= NP)”。 @Thomash 的评论一针见血。正如 COME FROM 所指出的那样,P、NP 等适用于问题,而不是问题算法这一事实。 【参考方案1】:

P、NP、NP-hard 和 NP-complete 是complexity classes 的问题;它们描述的是一个问题,而不是算法。

【讨论】:

好答案,fantastic 用户名 :) 准确的决策问题 @human.js NP-hard 不仅限于决策问题。【参考方案2】:

第一件事:

P 在 NP 中; NP是NP-Complete。因此,所有 P 都可能在 NP 中,并且 NP完全?

这是一个很好的陈述,因为你所说的暗示 P=NP 。没有人能够证明这一点或其他。所以这是事态:

大多数人认为 P!=NP。引用Wikipedia:

在 2002 年对 100 名研究人员进行的民意调查中,61 人认为答案是否定的,9 相信答案是肯定的,22 人不确定; 8 相信 问题可能独立于当前公认的公理和 因此无法证明或证伪。

一个简单的理解方法是:假设你得到了某个问题的解决方案。如果你能在多项式时间内验证解是否正确,那么问题就是NP。显然,可以在多项式时间 (P) 中解决的每个问题都在 NP 中。现在我们有几个问题可以在多项式时间内验证,但不能同时解决。我们不确定是否永远不会有多项式时间解决方案,或者我们现在还不能弄清楚。


数字排序

给定一个数字列表,您可以验证该列表是否为 是否按多项式时间排序,所以问题显然是NP

有一些已知算法可以对多项式中的数字列表进行排序 时间。 (冒泡排序 O(n^2) 等)。因此问题是P

希望这会有所帮助。

考虑阅读this blog。

【讨论】:

。排序是数字列表上的排列,这表明非多项式时间蛮力算法。所以它可以在NP类中。 @user1198898 是 NP,但不是因为你列出的原因。 好吧,如果我告诉你,排序不能成为这些类的一部分? @user1198898 在这种情况下,我会推荐一些阅读,比如this one。 是的,您展示的文档告诉排序作为决策问题是 NP-Complete。这意味着程序可以做出是/否的决定。上面发布的问题询问排序是 P 还是 NP,这实际上是未定义的,因为只有决策问题由 P 和 NP 组成,而排序不是任何问题的一部分!上面的问题可能需要改写。这就是我的意思

以上是关于某些排序可以是 P、NP 和 NP-Complete 吗?的主要内容,如果未能解决你的问题,请参考以下文章

机器学习周志华p=np是啥意思

P,NP,NPC,NPH问题的区别和联系

简析 NP 问题 和P问题

P/NP/NPcomplete/NPhard

P问题NP问题和NPC问题

在R中的数据帧中动态地重新排序列