問題がNP完全である可能性があるかどうかを知るための経験則


26

この質問はStackOverflowに関するコメントに触発されまし

Garey Johnsonの本や他の多くのNP完全問題を知っていることは別として、問題がNP完全な問題のように見えるかどうかを知るための経験則はありますか?

厳密なものを探しているのではなく、ほとんどの場合に機能するものを探しています。

もちろん、問題がNP完全であること、またはNP完全問題のわずかな変形であることを証明する必要があるたびに。しかし、証明に急いで行く前に、証明の肯定的な結果に一定の自信を持つことは素晴らしいことです。


8
私の経験則は簡単です。もしそれが私がすでによく知っている問題のような臭いがなければ、おそらくNP困難(またはそれ以上)です。
-JeffE

12
@JeffEはもちろん、これまでにかなりの数の問題に精通しています... CSの初心者は同じルールを使用できないかもしれません。
ジョー

1
@ジョー:はい。たぶん言う方が良いでしょう:もしあなたが教科書から問題を得なかったら、それは恐らくNP困難です。
-JeffE

2
別の言い方をすると、問題 NP困難である場合ではなく、 NP困難ではない場合は驚くべきことです。
ジョー

回答:


15

これは、問題(つまり言語)がNP完全かどうかを判断するための個人的なアプローチです。これらの条件が両方とも確認された場合:L

  • インスタンスがL あるかどうかをテストすると、何らかの組み合わせのすべての組み合わせをチェックする必要があることを意味すると感じますIL
  • そして、そのような組み合わせを2つの小さな組み合わせに分割する方法はありません

L

SSS1S2S1S2

ACBABBC

率直に言って、このアプローチは非常に基本的なものです。特定の問題に対する(多項式)アルゴリズムを見つけようとします。見つからない場合、私の観点では問題は「困難」になります。次に、すべてのNP完全性の推論があります。既存のNP完全性の問題をこの問題にエンコードすることはできますか?(そして、これは通常ずっと難しいので、多項式アルゴリズムを見つけるためにもう一度試みます。)

これが普通の考え方だと思う。しかし、未知の問題に適用するのは非常に難しいままです。個人的に、私が言われたNP完全性の最初の例の一つであるクリーク問題に驚いたことを覚えています。チェックするのはとても簡単に思えました!それで、私はその経験がそれと多くの関係があると思います。また、直感が役に立たない場合もあります。私は2つのほぼ同一の問題を何度か言われたことを覚えていますが、1つはPにあり、もう1つはわずかな変化でNP完全でした。

私はまだ良い例を見つけていません(ここで助けが必要です)が、これは通信後問題のようなものです。これは決定不可能な問題ですが、いくつかのバリアントは決定可能です。


7
+1

2
経験則の興味深い例外は、線形計画法で解決できる最適化の問題です。仕掛けを聞いたことがない場合、割算や征服や動的プログラミングなどの仕掛けは適用されないように見えるため、割り当て問題やグラフマッチングなどの問題をポリタイムで解決する方法を理解するのは困難です。
hugomg

例は、2つのシーケンスのPであるが、それ以上でNP-Hardに入るLongest Common Subsequence問題です。
クリスチャンヴィエル

14

問題の難易度に関するもう1つの見方は、ゲームとパズルのコミュニティから得られます。大まかに言って、「問題は可能な限り難しい」というものです(そして例外は問題の隠れた構造に由来します-Massimoの決定要因の例コメントはこの良い例です); 問題がどれほど困難であるかを理解する上での秘trickは次のとおりです。

  • n
  • 有界状態空間内の一連の動きを含むパズルはPSPACEにあり(「移動ツリー」は通常、多項式の数の構成のストレージのみを必要とする標準の深さ優先方式で探索できるため)、PSPACEに完全な傾向があります。この典型的な例はラッシュアワーです。
  • 多項式で区切られた深さを持つゲームもPSPACEにあります。これは、PSPACEの特性をAPTIMEとして使用します。戦略の通常の最小-最大特性は、交互のチューリングマシンを完全に模倣するためです。プレイヤーAの......などに移動します。また、PSPACEが完全になる傾向があります。16進数および一般化された三目並べゲームは、両方の例です。
  • ツリーの深さに制限はないが(多項式)制限された空間でプレイされるゲームはEXPTIMEにあります。これは、合計位置が指数関数的に多く、グラフ全体が構築され、位置の数(したがって指数関数的に全体)の時間多項式で探索できるためです; これらのゲームは通常EXPTIME完了です。チェス、チェッカー、およびゴーはすべてこのカテゴリに分類されます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.