NP中一些问题的复杂性?

时间:2015-04-07 17:53:00

标签: algorithm graph complexity-theory np-complete np

我想总结一些关于复杂性的问题。哪些可以在多时间解决?

  

I)找到给定图的最大子完整图= Clique问题

     

II)在n个对象中选择一些元素,其中包含值和权重   给出,使得所选元素的权重之和不大   比特定界限和最大值总和

     

III)查找图的所有周期

     

IV)找到一次完全访问每个顶点的路径=确定图是哈密顿量

我认为IV是哈密顿路径是NP-Complete,III是NP-Hard和NP-Complete,II是NP-Complete,我是NP-Complete。所以 0 这些在多时间内解决了。

谁能以更好的方式更清楚地了解NP-Hard和NP-完成这些问题?我是对的吗?

2 个答案:

答案 0 :(得分:1)

正如您所指出的,部分(1),(2)和(4)都是着名的NP难题(最大集团,背包和汉密尔顿路径)。然而,这些问题不在NP中,因为NP由决策问题(答案是“是”或“否”)的问题组成,而这些问题不是决策问题。

第(3)部分更加细致入微。这个问题是一个计数问题 - 目标是确定某种类型的对象存在多少 - 而不是决策问题,因此它不能在NP中。据我所知,我们并不知道这个问题有多难。众所周知,如果它可以在多项式时间内求解,则P = NP(详见this link),具体证据表明它也是NP难的。

如果P≠NP,那么这些都不能在多项式时间内求解。如果这些中的任何一个可以在多项式时间内求解,那么P = NP。他们都是NP难的。

希望这有帮助!

答案 1 :(得分:0)

因为我被问及参考资料,所以我将评论作为答案发布:

  

II)在n个对象中选择一些元素,其中包含值和权重   给出,使得所选元素的权重之和不大   比特定界限和最大值总和

这是knapsack problem,如果权重不是输入大小的一部分,则它是多时间的,即解决方案只是n的多项式。

它在O(n * W)中运行,其中W是允许的最大权重。当然,如果Wn相关,则可能不是多项式,例如W = 2^n

你可以在这里阅读:

http://en.wikipedia.org/wiki/Knapsack_problem#Dynamic_programming_in_advance_algorithm

http://www.personal.kent.edu/~rmuhamma/Algorithms/MyAlgorithms/Dynamic/knapsackdyn.htm