Algorithm 如何估计该任务属于NP类?

Algorithm 如何估计该任务属于NP类?,algorithm,computer-science,complexity-theory,np,np-complete,Algorithm,Computer Science,Complexity Theory,Np,Np Complete,这是我的问题:给定数字x1。。。xn。数字满足n文件大小和内存磁盘容量D。我们必须了解,我们可以将文件分为3个磁盘。任何磁盘上记录的文件大小都不能超过磁盘容量D。让我们估计此计算任务属于NP类。在这种情况下,检查算法需要哪些额外信息(证书) 这是我的想法,但我真的不确定: 额外信息:一套3套,包含x1、…、xn文件。如果字符串由变量y1、y2、y3补充,则可以识别这些集合,变量y1、y2、y3将放置在思想集合的开头,并包含一个符号,该符号与数字不同,因此不会干扰文件大小字符串 检查器:必须能够检

这是我的问题:给定数字x1。。。xn。数字满足n文件大小和内存磁盘容量D。我们必须了解,我们可以将文件分为3个磁盘。任何磁盘上记录的文件大小都不能超过磁盘容量D。让我们估计此计算任务属于NP类。在这种情况下,检查算法需要哪些额外信息(证书)

这是我的想法,但我真的不确定:

额外信息:一套3套,包含x1、…、xn文件。如果字符串由变量y1、y2、y3补充,则可以识别这些集合,变量y1、y2、y3将放置在思想集合的开头,并包含一个符号,该符号与数字不同,因此不会干扰文件大小字符串

检查器:必须能够检查每组文件的总大小是否不超过磁盘容量。通过引入一个变量,算法可能很简单。To变量将添加下载的文件大小,直到该大小超过D磁盘的容量或达到新的set start符号。当超过D磁盘的容量时,将发出否定响应,否则为肯定响应。该算法耗时为O(n)

我不知道如何估计这个算法是NP类的。因为NP可以在O(n^k)时间内由非确定性图灵机求解。

非正式地说,NP的意思是“给定问题的答案,可以在多项式时间内检查答案是否正确”。 您帖子中的检查算法的复杂性为O(n),即多项式。因此,你的问题是NP


注:NP完全问题集是NP的子集。你的问题也属于NP完全问题。然而,你不需要证明这一点。在计算机科学学习的背景下,尝试这样做会向老师暗示你不理解你的任务。

你的问题可以解释为装箱决策问题的一个实例,该问题被认为是NP-完全问题。如果我理解正确,这就是一个例子。你可以在互联网上搜索更多关于它的信息,这是一个非常值得研究的问题。如果你可以访问它,似乎参考了证据(请参阅)。我投票将这个问题作为离题题结束,因为它属于cs.stackexchange.com。在我看来,NP意味着这个问题在多项式时间(P)内只能非确定性(N)解。@Reinhard männer虽然这可能是对话中使用的缩写,这不是实际的定义。事实上,P是NP的一个子集。谢谢你指出这一点!有人知道我必须检查算法的其他信息吗?@anatolyg我认为O(n)是线性时间。但NP复杂性是多项式时间,即O(n^c)。那么,如何估计这个算法是NP类呢