HALF CLIQUE-NP完全問題


20

これが宿題の問題であることに注意して始めましょう。アドバイスと関連する所見のみを提供してください直接の回答はありません。とはいえ、ここに私が見ている問題があります:

HALF-CLIQUE = { | は、少なくとも個のノードを持つ完全なサブグラフを持つ無向グラフです。ここで、nは } のノードの数です。HALF-CLIQUEがNP完全であることを示します。G N / 2 GGGn/2G

また、私は次のことを知っています:

  • この問題に関して、クリークは、入力グラフの無向サブグラフとして定義され、2つのノードごとにエッジで接続されます。 -cliqueが含まクリークであるノード。kk
  • 私たちの教科書によると、Michael Sipserの「計算理論入門」、268ページ、問題CLIQUE = { | は -cliqueを持つ無向グラフですNPはNPですG KG,kGk
  • さらに、同じソース(ページ283)によると、CLIQUEはNP-Complpeteにある(したがって、明らかにNPにもある)と述べています。

私はここに答えの核心があると思うが、私はそれの何が間違っているのか、答えに関連するかもしれない関連ポイントのいくつかの兆候を使用することができます。これは私がこれまでに持っている一般的な考え方です、

さて、証明書は単に HALF-QLIQUEであることに最初に注意し。これで、CLIQUE(NP-Completeであることがわかっている)からHALF-CLIQUEへの多項式時間短縮である検証ツールを作成する必要があります。私のアイデアは、HALF-CLIQUEの追加の制約を使用して、CLIQUEの本のチューリングマシン検証ツールを実行するチューリングマシンを作成することによってこれが行われるということです。sizen/2

これは私には正しいように聞こえますが、私はこの主題についてはまだ自分を本当に信用していません。繰り返しになりますが、これは宿題ですので、質問には答えないようにしてください。これに満たないガイダンスは大歓迎です!

回答:


15

説明とコメントから判断すると、NP完全性を証明するために削減をどのように使用できるかについての正確な説明が最善の助けになる可能性があります。

問題は、NPにあり、NP困難である場合、NP完全です。これは、NP完全性の証明には2つの部分があることを意味します。問題がNPにあることの証明と、NPが難しいことの証明です。

最初の部分では、いくつかの適切な証明書を使用して、YESインスタンスを多項式時間で検証できることを示す必要があります。または、非決定的なチューリングマシンによって多項式時間で問題を解決できることを示すことができますが、これは通常、間違いが起こりやすいため行われません。

あなたの場合、これは、クリークを持つすべてのグラフについて、実際にそのようなクリークがあるといういくつかの証拠を見つけることができることを証明します。そのような証拠で武装して、確かにそのようなクリークがあります。n/2

2番目の部分では、問題がNPハードであることを示す必要があります。これは、ほとんどすべての場合、問題が少なくとも他のNPハード問題と同じくらい難しいことを証明することによって示されます。HALF-CLIQUEがCLIQUEと同じくらいハードである場合、NP-ハードでなければなりません。

あなたは削減証明することによってこれを行うFROM CLIQUE、TO HALF-クリークを。問題を「軽減」し、「簡単」にします。「CLIQUEを解くのは難しいが、CLIQUEを解くにはHALF-CLIQUEを解くだけでよいことが証明された」とあなたは言います。(多くの人々、専門家でさえ、時々これを間違った方法で言う:))

さまざまな種類の縮約があります。最も一般的に使用される縮約は、この場合CLIQUEのインスタンスを、多項式時間で最大で多項式サイズよりも大きいHALF-CLIQUEのインスタンスにマッピングするものです。これは、HALF-CLIQUEを解決できる場合、アルゴリズムとリダクションを連鎖させることでCLIQUEも解決できることを意味します。

つまり、HALF-CLIQUEを解決できる場合、CLIQUEを解決できることを示す必要があります。これを行うには、CLIQUEのすべてのインスタンスについて、HALF-CLIQUEのインスタンスが「yes」インスタンスである場合に、CLIQUEのインスタンスが「yes」インスタンスになるようにHALF-CLIQUEのインスタンスを設計できることを示します。

したがって、証明は次のように始まります:グラフ与えられた場合、がクリークを含む場合、がクリークを含むようなグラフを作成できます。この部分はお任せします(これは創造性を必要とする部分であり、特定の問題に関する部分です)。H = V E G k H n / 2G=(V,E)H=(V,E)GkHn/2


優れたセットアップ、答えを提供することなく雄弁な方法で行うのに十分な情報を提供するのに非常に良い仕事をしたと思う ありがとうございました。
ブラザージャック

1
このようなものは、将来の参照のためにnp-completeのタグwikiに入れる必要があります。あなたは気にしますか?
ラファエル

8

GkHHGk

以下のスポイラーには、この削減の実行方法に関するヒントが含まれています。

HG


私はあなたが言っていることを理解していません。私がやろうとしたことは、本で使用されているバリファイアを変更してHALF-CLIQUEをCLIQUEに減らし、CLIQUEがNPであることを証明し、入力グラフGで実行し、CLIQUEが含まれているかどうかを確認するCLIQUEチェックを見つけた場合少なくともn / 2ノード。ここで、nはGのノードの数です。HALF-CLIQUEの検証者は、CLIQUEの検証者がその縮小版であることを示しませんか(HALF-CLIQUEを解決するサブ問題のように) )?
ブラザージャック

または、私はそれを後方に持っており、CLIQUEをHALF-CLIQUEに減らす必要があることを証明する必要があると言っていますか?また、あなたのネタバレを完全には得ていません。答えを漏らさずに説明する方法はありますか?
ブラザージャック

3
はい、問題がNP完全であることを示すには、(a)NPにあることを示し、(b)既知のNP困難な問題減らす必要があります。削減の正しい方向を覚えておくために、ポイントは、既知のNP-C問題を効率的に解決するための「ブラックボックス」として新しい問題を使用することです。
ルイス

OK、私は今理解したと思います。ご協力いただきありがとうございます!
ブラザージャック

+1わかったと思う。間違ったことを理解したら、あなたのヒントは非常に有益でした。再度、感謝します!
ブラザージャック

0

頂点カバーの問題を減らすことができます。与えられたグラフの補グラフの頂点カバーがn / 2ノード未満の場合、このグラフはn / 2ノードを超えるクリークを持ちます。つまり、ハーフクリークになります。頂点カバーの問題を解決するのは難しいとだけ言ってください。


1
あなたから減らすことができますので、任意の NP完全問題、これはひどく有用ではありません。削減の詳細が予想されます。
ラファエル

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