kクリーク問題はNP完全ですか?


23

グラフ理論のクリーク問題に関するこのウィキペディアの記事では、グラフGでサイズKのクリークを見つける問題はNP完全であると最初に述べています。

クリークはコンピューターサイエンスでも研究されています。グラフに特定のサイズのクリークがあるかどうかを調べること(クリーク問題)はNP完全ですが、この困難な結果にもかかわらず、クリークを見つけるための多くのアルゴリズムが研究されています。

しかし、CSClique問題に関するこの他のWikipediaの記事 では、固定サイズkの問題はPの問題であり、多項式時間でブルートフォースされる可能性があると述べています。

グラフGにk頂点クリークが含まれているかどうかをテストし、それが含むクリークを見つけるには、少なくともk個の頂点を持つ各サブグラフを調べて、クリークを形成するかどうかを確認します。このアルゴリズムには時間がかかりますO(n ^ kk ^ 2):チェックするO(n ^ k)サブグラフがあり、それぞれにGの存在をチェックする必要があるO(k ^ 2)エッジがあります。したがって、kが固定定数である場合は常に、多項式時間で問題を解決できます。ただし、kが問題への入力の一部である場合、時間は指数関数的です。

ここに足りないものはありますか?たぶん問題の文言に違いはありますか?そして、最後の文は何を意味しますか、「kが問題への入力の一部であるとき、しかし、時間は指数関数的です。」?kが問題への入力の一部であるのに、なぜ違いがあるのですか?

私の考えは、グラフGでサイズkのクリークを見つけるには、最初にGからノードのサイズkのサブセットを選択し、それらがすべて他のkノードに関連しているかどうかをテストすることです。時間。そして、サイズkのクリークができるまでこれを繰り返します。Gから選択できるkノードのセットの数はnです!/ k!*(nk)!.


13
問題のNP完全性は、入力として考えるものに依存します。決定する多項式アルゴリズムがある場合、問題はあるためです。場合Kは定数(入力しない)であり、アルゴリズムは多項式であるN。場合kは入力の一部であり、アルゴリズムは指数関数的であるKPKnkk

回答:


17

とき:ちょうど@Lamineが指摘どんな工夫入力の一部であり、kは限り大きくすることができ、Nkk、その場合、潜在的なクリークセットの数は nn2少なくともnnn2。したがって、単純なアルゴリズムには2n時間かかりますnn2n2入力長が明らかに指数関数的である 2 | x| +| k| =n+logn。パラメータ化されたバージョン2n2|バツ|+|k|=n+ログn我々が探している場合のkに-cliques N -vertexグラフキャプチャので、その最も一般形で問題の硬度 kは入力の一部です。したがって、 G n k のポリタイムアルゴリズムは、特定の kのポリタイムアルゴリズムも意味します。GnkknkGnkk

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.