ある -completeの問題はより本質的に少なく扱いやすい -completeの問題?


66

現在、大規模な入力の一般的なケースでは、問題または問題のいずれかを解決することは実行不可能です。ただし、どちらも指数時間と多項式空間で解くことができます。P S P A C ENPPSPACE

非決定的または「ラッキー」なコンピューターを構築することはできないので、問題がまたは場合、それは私たちに何か違いをもたらしますか?P S P A C ENPPSPACE

回答:


82

これは非常にいい質問です。問題がまたはという事実は、実際には問題の最悪の時間の複雑さに影響しますか?P S P A C ENPPSPACEさらにあいまいなことに、そのような区別は実際に問題の「典型的なケース」の複雑さに実際に影響しますか?

直観によると、使用する複雑さの尺度に関係なく、問題はの問題よりも困難です。しかし、状況は微妙です。たとえば、(充足可能性、正準問題)が準指数時間にある場合に限り、(定量化ブール式、正準問題)は準指数時間になります。(一つの方向は明白であり、他の方向には、主要な結果だろう!)これが本当であれば、多分ビューの「私はこの問題を解決したい」ポイントから、それは問題があるかどうか大したことではありません -completeまたはN P Q B F P S P A C E S A T N P P S P A C E N PPSPACENPQBFPSPACESATNPPSPACENP-complete:いずれにせよ、一方の部分指数アルゴリズムは他方の部分指数アルゴリズムを意味します。

悪魔の擁護者になりましょう。ある問題がたまたま他の問題よりも「難しい」が、他の問題よりも「扱いやすい」という例があります。

ましょう上のブール式である変数、偶数です。決定する2つの式から選択できると仮定します。n nF(x1,,xn)nn

Φ1=(x1)(x2)(xn1)(xn)F(x1,,xn)

Φ2=(x1)(x2)(xn1(xn)F(x1,,xn)

(つまり、では、数量詞が交互になります。)Φ2

どちらを解決する方が簡単だと思いますか?タイプの式、またはタイプの式?Φ 2Φ1Φ2

は -completeの問題ですが、決定するのはのみであるため、明白な選択はであると考えるでしょう。しかし、実際には、最もよく知られているアルゴリズムによると、は簡単な問題です。一般的なを未満のステップで解く方法はわかりません。(これを行うことができれば、新しい数式サイズの下限があります!)しかし、ランダム化されたゲームツリー検索を使用して、ランダム化された時間のに対してを簡単に解くことができます!参照については、MotwaniとRaghavanの第2章、セクション2.1を参照してください。 N P Φ 2 P S P A C E Φ 2 Φ 1 F 2 N Φ 2 F O 2 0.793 NΦ1NPΦ2PSPACEΦ2Φ1F2nΦ2FO(2.793n)

直観としては、普遍的な数量詞追加すると実際に問題が制約され、難しくなるのではなく、解決しやすくなります。ゲームツリー検索アルゴリズムは、数量詞を交互に使用することに大きく依存しており、任意の数量化を処理できません。それでも、問題は、別の尺度では「より難しく」見える場合でも、ある複雑性尺度では「より単純」になることがあるという点が残っています。


16
いい答えであり、興味深いものです。
スレシュヴェンカト

上記のことは、「Fine-grained complex」(2015年秋のSimons Instituteでのプログラム)が意味するもののかなり良い例だと思います。重要なアイデアの1つは、複雑な理論は、問題ごとにその問題が「完全」である(潜在的に奇妙な)計算モデルを見つけようとするのではなく、可能な限り最良のランタイムを理解することに焦点を当てる場合、まったく異なるように見えることです問題の指数。
ライアンウィリアムズ

37

私たちが解決策を見つけることができるかどうかよりも、危機にisしているからです。また興味深いのは、ソリューションを検証できるかどうかです。問題の難しさの間には他の質的な区別をすることもできますが、NP対より複雑なクラスの場合、これが私が最も重要だと認識するものです。

決定問題(すべてのインスタンスに「はい」または「いいえ」の答えがある問題)の場合、NPは、特定のインスタンスが「はい」インスタンスであるという主張された証拠を決定論的に効率的に検証できる問題のクラスです。 1つが提示されます。たとえば、3-SATのインスタンスに満足のいく変数の割り当てがある場合、その割り当てにより、インスタンスが満足できることを効率的に証明できます。このような満足のいく割り当てを見つけるのは難しいかもしれませんが、1つあれば、見つけたソリューションを検証するだけで、インスタンスが満足できることを他の人に簡単に証明できます。

同様に、coNPの場合、「NO」インスタンスに対して効率的にチェック可能な証明が存在します。そして上の問題のためにNP  ∩  CONP、あなたは両方を行うことができます。しかし、PSPACEの完全な問題の場合、複雑なクラスのかなり壮観な同等性を証明できない限り、そのような手順は存在しません。


問題は、NP完全問題およびPSPACE完全問題の「最適化」バージョンに関するものだと思います。たとえば、SATとQBFの解決策を見つけることの間に(複雑さの点で)違いはありますか?より一般的には、どの決定バージョンがNP完全またはPSPACE完全であるかの最適化問題の特性評価はありますか?
ラミン

@ラミン:質問であなたがしている区別を検出しません(少なくとも、単なる決定と完全な最適化の間)。おそらく、あなたは、質問者がその答えを見つけるために必要なリソースの質問にのみ興味があり、問題の難易度の他の尺度に関心がないことを意味します。いずれにせよ、上記の質問に対する私の答えはそのままです。
ニールドボードラップ

5
とてもいい答えです。
デイブクラーク

効率的に検証する機能は、ソリューションの計算に役立ちません(P = NPでない場合)。NPおよびco-NPでは、推測および検証を介して問題を攻撃できます。このアプローチは実装が簡単で、さらに効率的かもしれませんが、最悪の場合には役に立ちません。
アンドラスサラモン

@András:true —したがって、解決策を見つけることが私の答えの序文の唯一の重要なことではないという私の強調。
ニールドボードラップ


20

実用的な面から、NP完全性は実際の多くの問題の障壁ではないことを覚えておくことが重要です。SATソルバーとCPLEX(整数線形プログラミング用)のツインツールは十分に強力であり、適切に設計されているため、適切なILPとして問題をフレーミングするか、SATに還元することにより、NP完全問題の大規模なインスタンスを解決することができます。

PSPACEの問題に対する同様に適切に設計されたソルバーについては知りません。


11
QBFソルバーを改善するために設計され毎年の競争があります。あまり使いませんでした。
ラドゥグリゴール

7

あなたはそれをこのように考えるかもしれません:数学の問題は人間が読める証明を持っていますか、それとも本質的に「コンピュータ証明」を必要としますか。例:チェッカーの開始位置は引き分けですか?(答え:はい。)チェスの開始位置は白の勝利ですか?(回答:不明ですが、ほとんどの卒業生は引き分けだと考えています。)

チェッカーの開始位置が引き分けであることの証明には、コンピューターが多くの特殊なケースを正確に検証したことを最終的に受け入れる必要があります。チェスについての証拠が存在する場合、人間の読者はコンピューターがさらに特別なケースを正しく検証したことを受け入れる必要があるでしょう。そして、これらのステートメントを証明するためのより短い方法ないかもしれません。これらはPSPACEの問題です。NPで問題が「公正」である場合、人間は(直感的に)証拠全体を頭で保持できます。もちろん、その人間は非常に専門的な数学者である必要があるかもしれません。

この比は、あまりにも強く押し込まれた場合に壊れます。サイズ NP証明は、おそらく誰の頭にも収まらないでしょう。しかし、「目撃者は小さい」という基本的な考え方は、NP完全問題が産業的に非常に重要である理由の一部です。n1000000


coNP-completeの問題に、「コンピューターの証明」が必要な(場合によっては)この問題があると主張することもできますか?
フィリップホワイト

@Philip White:同じだとは思いません。「チェス・ア・ドロー」はcoNPにあると言います。いいえ、私がしなければならないことは、簡単に検証できる単一の強制ラインを示すことです。ただし、そのような行が存在する場合でも、それが実際に「強制」であることを証明することはおそらく非常に難しいと予想されます。したがって、特定の方向で解決できる場合、問題は単純さを保証しません。「チェスは引き分け」は、それが真実か偽かにかかわらず、おそらく証明するためにコンピューターを本質的に必要とします。
アーロンスターリング

5

Sureshのコメントに加えて、実際には大きな違いがあるようです。実用的なSATインスタンスの構造を悪用して優れたパフォーマンスを得ることができるヒューリスティックがあります(ここでは、競合駆動節学習ソルバーを参照します)。同じヒューリスティックでは、QBFソルバーで同様のパフォーマンスの改善は得られません。

証明と検証の違いも現れます。一部のSATソルバー(MiniSAT 1.14など)は、証明を生成します。現在のQBFソルバーで証明を作成するのは簡単ではありません。(次の声明は伝聞からです)QBFコンペティションには、ソルバーが明らかに異なる結果を生成する大きな例があります。証明を生成するソルバーがない場合、どの結果が正しいかわかりません。


0

SATとチェスの実際のパフォーマンスを見ると、違いがあります。NP完全問題はPSPACE完全問題よりも扱いやすいです。今日のSATソルバーは数千を超える変数を処理できますが、最高のチェスエンジンは同じ時間内で20移動未満しか計算できません。

これは問題の構造が原因だと思います。はい、ソリューションを列挙するだけなら、SATの解法は非常に遅いです。しかし、それは量指定子の交替を持たないので、人々は式の中の構造を発見し、したがって列挙の多くを避ける。ライアン・ウィリアムズはこの点を見落としていたと思います。

量指定子の交代では、はい枝刈りの賢明な方法がありますが、それでも構造はCNF式の構造ほど豊富ではありません。

未来を予測させてください。SAT解法は、式を調べて本質的に検索を回避することでPになりますが、チェスはゲームツリーでの検索を利用してPになります。

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