k-clique问题NP是否完整?


23

在这本有关图论中的派系问题的维基百科文章中,它一开始就指出在图G中找到大小为K的派系的问题是NP完全的:

还对群体进行了计算机科学研究:发现图形中是否存在给定大小的群体(群体问题)是NP完全的,但是尽管有这种硬度结果,但仍研究了许多用于寻找群体的算法。

但是在另一篇有关CS中集团问题的 Wikipedia文章中, 它说它正在解决固定大小的问题k是P中的问题,它可以在多项式时间内强行使用。

蛮力算法来检验图G是否包含k顶点集团,并找到它包含的任何此类集团,就是检查每个子图至少具有k个顶点,并检查其是否形成集团。该算法花费时间O(n ^ kk ^ 2):要检查O(n ^ k)个子图,每个子图都有O(k ^ 2)个边,需要检查其在G中的存在。因此,只要k为固定常数,就可以在多项式时间内解决该问题。但是,如果k是问题输入的一部分,则时间是指数的。

我在这里缺少什么吗?问题的措词可能有所不同?最后一句话是什么意思:“但是,当k是问题输入的一部分时,时间是指数的。” 当k是问题输入的一部分时,为什么会有差异?

我的想法是要在图G中找到大小为k的集团,就是我们首先从G中选择节点的大小为k的子集,然后测试它们是否都与其他k个节点相关,这可以以常数完成时间。重复此步骤,直到我们得到大小为k的小集团。我们可以从G中选择的k个节点的集合数为n!/ k!*(nk)!。


13
问题的NP完整性取决于您认为什么作为输入。因为问题在于如果有多项式算法可以决定问题。如果K是一个常数(不是输入),则该算法是n中的多项式。如果k是输入的一部分,则该算法在k中是指数的。Pķñķķ

Answers:


17

只需详细说明@Lamine指出的内容:当是输入的一部分时,k可以等于nkk,在这种情况下,潜在集团的数量为 nn2至少n(nn2)。因此,您的幼稚算法将花费2n(nn2)n2在输入长度显然是指数的。我们在顶点图中寻找-cliques的参数化版本以最广义的形式捕获了问题的难度,因为是输入的一部分。因此,针对的多重时间算法也将暗示针对任何特定的多重时间算法。2n2G n k k n k G n k k|x|+|k|=n+lognG(n,k)knkG(n,k)k

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.