P = NPを解決しない方法


96

またはいずれかを証明しようとする試みは数多くあり、当然、多くの人がどちらの方向を証明するためのアイデアを持っているかを考えています。PN PP=NPPNP

私は、機能しないことが証明されているアプローチがあることを知っています。そして、おそらく失敗した歴史のあるものがもっとあります。また、多くの証明の試みが克服できない、いわゆる障壁があるようです。

行き止まりの調査を避けたいのですが、それは何ですか?


16
これはコミュニティwikiにした方が良いと思います(この質問に対する独自の回答がないため、広すぎます)。

6
@SaeedAmiriいいえ。コミュニティwikiは以前、Stack Exchangeプラットフォームに適さない質問を許可するアリバイでしたが、これはもう行われていません
ジル

4
モデレーターのメモ:この質問は通常のStack Exchangeの質問よりも広範ですが、標準的な質問と回答のペアを作成しようとしています。この質問が現在の形では存在しないはずだと思われる場合は、メタサイトで議論してください
ジル


4
ワグの答え:arXivは、それを行わない方法の宝庫です。
仮名14年

回答:


76

を解くための最もよく知られている障壁はP=NP

  1. 相対化(Ran Gによる言及)
  2. 自然証明-特定の暗号化の仮定の下で、RudichとRazborovは、自然証明と呼ばれる証明のクラスを使用してを証明できないことを証明しました。PNP
  3. 代数化-スコットアーロンソンとアヴィウィグダーソンによる。彼らは代数化の証明がと分離できないことを証明するN PPNP

私がよく知っているもう1つは、LP定式化がTSPを解決できないという結果です(対称LPについてはYannakakisによって証明され、ごく最近では一般的なLPに拡張されました)。ここで結果を議論するブログ記事です。


4
PNPP

1
回答を改善したい場合(現状ではまったく受け入れられません)、簡単な説明と詳細へのリンクを追加してください。そうすれば、好奇心reader盛な読者はあなたが何について話しているかを知ることができます。
ラファエル

57

注:回答をまだ慎重に確認していないため、記述すべき部分が欠落しています。最初の草案と考えてください。

この答えは、主に複雑性理論または関連分野の研究者ではない人を対象としています。あなたが複雑性理論家であり、答えを読んだことがあるなら、何か問題に気づいたか、答えを改善しようと考えているかどうか私に知らせてください。

PとNPのクレームされたソリューションを見つけることができる場所

  • そのような主張のリストがあるP-versus-NPページがあります。
  • 質問の解決を主張する記事は、arXivに定期的に投稿されます。

PとNPを解決しない方法のその他のリスト

ランスフォートノウ、だからあなたはP verus NP定住したと思う、2009年

スコットアーロンソン、8つのサインA主張されたP≠NP証明が間違っている、2010

以下のための博学ページDeolalikarの論文さらに測定値のセクションでは、問題についての言及の素敵なリストを持っています。


P対NPに近づかない方法

「P対NP に近づかない方法」については、機能しないアイデアという意味ではなく、より一般的な意味で説明します。P対NPは簡単に説明できる問題です(こちらの私の回答もご覧ください)。

NP = P:多項式時間検証アルゴリズムを使用するすべての決定問題には、多項式時間アルゴリズムがあります。

または同等に

SATには多項式時間アルゴリズムがあります。
SATは、他のNP完全問題に置き換えることができます。

多くの場合、人々は問題を過度に単純化し、過度に哲学化し、問題の実際的な重要性を誇張します(上記のとおり)。そのような記述はしばしば直観を与えることを目的としていますが、問題の実際の数学的記述の代わりになるものではありません。

理論的な効率は、実際の実行可能性と同じではありません

最初に、誇張された実際的な結果について説明します。

I. P = NPである可能性がありますが、実際には問題に役立ちません!

2264n65536+22128

nlglgn

lgn>62

ここでの主なポイントは、Pは効率的な計算の抽象的な単純なモデルであり、最悪の場合の複雑さは計算のコストを見積もる抽象的な単純なモデルなどであるということです。これらはすべて抽象ですが効率的なアルゴリズムとしての上記の(I)のようなものです。Pは優れた抽象モデルであり、優れた特性を持ち、技術的な問題を簡単にし、便利なものです。しかし、すべての数学的な抽象化と同様に、実際には気になるかもしれない詳細を隠します。さまざまな洗練されたモデルがありますが、モデルが複雑になればなるほど、議論の余地は少なくなります。

人々が実際に気にするのは合理的な量のリソースを使用して気になるインスタンスの問題に対する答えを計算することです。タスクに依存するため、考慮する必要があります。

NP困難問題の実際のインスタンスに対してより良いアルゴリズムを見つけることは、興味深く価値のある試みです。業界で使用されているSATソルバーヒューリスティックアルゴリズムがあり、数百万の変数を使用してSATの実際のインスタンスを解決できます。国際SATコンペティションもあります。

(しかし、これらすべてのアルゴリズムが失敗し、非常にひどく失敗する小さな具体的な例もあります。実際、すべての最先端の最新のSATソルバーが命題ピジョンホールの原理のような単純な例を解くのに指数関数的な時間がかかることを証明できます。)

ことを覚えておいてくださいプログラムの正しさと走行時間はちょうどインスタンス上でプログラムを実行しているから取得することはできません。試行するインスタンスの数は問題ではなく、十分な量ではありません。無限に多くの可能な入力があり、それらすべてに対してプログラムの正確さと効率(つまり、実行時間は多項式)を示す必要があります。つまり、正確性と効率性の数学的な証明が必要です。数学的な証明がわからない場合は、最初にいくつかの基本的な数学を学ぶ必要があります(教科書の離散数学/組み合わせ論/グラフ理論を読んでください。これらは数学的な証明と見なされるものについて学ぶのに良いトピックです)。

また、P対NPに関する他の主張とその回答の結果にも注意してください。このような主張は、多くの場合、同様の単純化に基づいています。

複雑さの理論家は、P対NPの答えを本当に気にしません!

私は少し誇張しました。もちろん、私たちはP対NPに対する答えを気にします。しかし、私たちはコンテキストでそれを気にします。P対NPは私たちの主力の問題ですが、最終的な目標ではありません。それは簡単に述べられる問題であり、多くの基本的なアイデアを含んでおり、トピックに精通していない人々に興味のある質問の種類を説明するのに役立ちます。しかし、私たちは質問に対する1つのYes / No回答を求めません。

我々は、シーク効率的な計算の性質をよりよく理解します。質問の解決にはそのような理解が必要であり、それが私たちがそれを気にする本当の理由だと信じています。それは膨大な研究の一部です。アロラとバラクの「複雑性理論:現代のアプローチ」(ドラフト版)など、優れた複雑性理論の教科書をご覧ください。

要するに、複雑性理論家の観点から

P対NPは、「はい/いいえ」と答えるパズルではありません。効率的な計算の性質をよりよく理解できると思うので、P対NPの答えを探します。私たちの理解に大きな進歩がなければ、答えはあまり面白くありません。

非専門家がP対NPの解決策を主張する機会があまりにも多くあり、それらの主張は通常、複雑性理論に関する標準的な教科書を読んだだけでは得られない問題に苦しんでいます。

一般的な問題P = NP

P = NPの主張はより一般的であるようです。以下が最も一般的なタイプだと思います。誰かがアイデアを持ち、プログラムを書き、それをいくつかのインスタンスでテストし、それが多項式時間であると考え、NP完全問題を正しく解決します。上で説明したように、P = NPを示すテストの量はありません。P = NPには、多項式時間でNP完全問題を解くように見えるプログラムだけでなく、数学的な証明が必要です。

これらの試みは通常、次の2つの問題のいずれかに苦しみます。

I.アルゴリズムは実際には多項式時間ではありません。

II。アルゴリズムはすべてのインスタンスを正しく解決しません。

Pことを示す記号

[執筆予定]

アルゴリズムが実際に機能しないことを確認する方法

テストによってアルゴリズムが正しく機能することを示すことはできません。しかし、テストすることで正しく動作しないことを示すことができます!そのため、いくつかの作業を行う意思がある場合に、アルゴリズムが正しくないことを確認する方法を次に示します。

最初に、SATのインスタンスを(標準CNF形式で)NP困難問題に変換するプログラムを作成します。SATは最も研究されているNP困難な問題の1つであり、他の問題からSATへの削減は通常簡単です。次に、最先端のSATソルバーが苦労している例を取り上げ(例:SATコンペティションから)、アルゴリズムにフィードして、アルゴリズムのパフォーマンスを確認します。命題のPigeonhole Principleのような既知のハードなインスタンスを試してください(特別なケースとしてハードコーディングすることでチートしないでください)、暗号化されたインスタンス(RSA Factoring Challengesのような)、しきい値に近いランダムなk-SATインスタンスなど

10n2

アルゴリズムのP = NP アイデアが機能しないことを確認する方法

これらを行うと、アルゴリズムが機能しないことがかなり確実になります(最先端のSATソルバーよりも良好に機能する場合は、次の競争に参加し、多くの人がアルゴリズムとアイデアの研究に興味を持つでしょう)。

これで実際には機能しないことがわかりましたが、それだけでは十分ではありません。理由を知りたい、

私のアルゴリズムが修正可能な小さな問題を機能しないのはなぜですか、それが機能しない根本的な理由はありますか?

アルゴリズムの問​​題は単純な場合があり、概念的に何が間違っていたかを特定できます。最良の結果は、アイデアが機能しない理由を理解することです。多くの場合そうではありません、あなたのアイデアは機能しませんが、理由を理解することはできません。その場合、次のことに注意してください。

なぜいくつかのアイデアが機能しないのかを理解することは、P対NPを解決するよりも難しい場合があります!

アイデアを十分に形式化できる場合、特定のアイデアの制限を証明できる可能性があります(たとえば、貪欲なアルゴリズムの特定の形式化ではNP完全問題を解決できないという結果があります)。しかし、それはさらに難しく、標準的な複雑性理論の教科書を読んでいない場合は、あまりチャンスがありません。

アルゴリズムがなぜ機能するのかという明確な概念的アイデアすら存在しない場合があります。つまり、いくつかのよく理解されていないヒューリスティックに基づいています。アルゴリズムが機能する理由について明確な概念がわからない場合、なぜ機能しないのかを理解する機会があまりないかもしれません。

Pに関する一般的な問題

問題1:著者は、PとNPの定義を知らないか、さらに悪いことに、数学的証明とは何かを理解していません。著者は基本的な数学的訓練を欠いているため、彼が提示していることは証明ではないと言われたとき、彼は理解しません(例えば、ステップは以前のものからは続きません)。

問題2:著者は、「方法がわからない」と「数学的な不可能」を混同しています。たとえば、彼らはさまざまな不当な仮定を立て、「なぜこの声明が真実なのか?」彼らは「どうしてそれが間違っているのでしょうか?」と答えます。一般的な方法の1つは、問題を解決するプログラムは特定の手順を実行する必要があると仮定することです。たとえば、特定の中間値を計算する必要があるためです。

[完了予定]

Pことを示す記号

[執筆予定]

クレームがこれらの基本的な問題に苦しんでいない場合、それを拒否することはより困難になります。最初のレベルでは、引数の誤ったステップを見つけることができます。著者からの典型的な反応は、私はそれを修正することができ、これを前後に続けることができるということです。P = NPソリューションと同様に、特にアイデア自体が非公式である場合、それが機能しないことを示すことができるアイデアで基本的な問題を見つけることは非常に困難です。


私はP-versus-NPページが好きであるのと同じくらい、著者がどの証拠を撤回したかを追跡していないのは面倒です。一部のarXivリンクについては、arXivに明示的に「このペーパーは取り下げられました」という通知があります。私は、明確な通知のあるarXivの論文よりも多くの撤回された証拠があると確信しています。「以前の証明の試み」を撤回しても、同じ著者が後で再試行しないことを意味しないため、撤回した証拠を誇張してはならないことは承知しています。しかし、撤回された証明の試みについて沈黙を保つことは、依然として偏った印象を与えます。
トーマスクリンペル

@thomas少数の「クランク」著者が論文を「撤回」することはありません。woegorgiリストの暗黙のポイントは、arxiv論文よりも明らかに質が低いということです。しかし、同意して、woegorgiがいくつかの追加情報を追加し、編集にもう少し柔軟性があるかもしれないことを願っています。たとえば、彼は電子メールを送った後でもリストに私のP対NPのアウトラインを載せませんでしたが、最近、長いcstheory.seチャットに関連する別の項目を福山の証拠に投稿しました。
vzn

1
あなたがこれを再訪していることに感謝します!結局、私は間違った人への報奨金を時期尚早に認識したようです。;)長期にわたって投稿を準備するためにstackedit.ioを使用できることに注意してください。投稿の残りを楽しみにしています!
ラファエル

34

使用できない最も一般的な手法は、相対化、つまり、OracleアクセスでTMを使用することです。

ABPA=NPAPBNPB

PNPOPONPOA

P=?NP


1
完全に修正するために、ここで対角化とは直接的な単純な対角化を意味します。この質問を
-Kaveh

1
相対化は証明手法ではなく、証明を破る効果ですか?相対化できる証明の例を挙げたりリンクしたりできますか?
ラファエル

2
はい、相対化は証明手法ではなく、証明の性質です(ここでは正式ではありません)。すべてのチューリングマシンがオラクルマシンに置き換えられたときにプルーフが変更されずに機能する場合、プルーフは相対化されます。たとえば、時間階層の定理の証明がこの意味で相対化することを確信できます。
サショニコロフ

10

Lance Fortnowによるこのブログ投稿を読むことをお勧めします。

  1. だからあなたはP verus NPを解決したと思うあなたは間違っている。それを把握します。時々、あなたの欠陥のある証拠から何か面白いものを救うことができます。
  2. あなたはその証拠が正しいと信じています。あなたの信念は間違っています。手順1に戻ります。
  3. 一見小さなものや明らかなものでさえ、何か仮定やショートカットを作っていますか?「はっきり」、「明らかに」、「見やすい」、「すべき」、「必須」、「おそらく」などの言葉を使用していますか?あなたは、おそらくすべての数学の中で最も重要な問題を解決すると主張しています。仮定をすることはできません。手順1に戻ります。
  4. nk
  5. オンラインアーカイブに論文を提出します。たぶん何人かの人々は、あなたの論文で何が欠けているか間違っているかをあなたに話します。これにより、ステップ1に進みます。しかし、代わりに、あなたの論文にいくつかの無意味な変更を加えて、再投稿します。
  6. 最終的に人々はあなたの論文を無視します。なぜ名声と富を得ていないのだろうか。
  7. 論文をジャーナルに提出します。
  8. 論文は拒否されます。賢い場合は、手順1に戻ります。しかし、賢い場合は、手順7に進むことはありません。
  9. エディターが証拠を理解していないか、簡単に修正できるとエディターに不満を言う。立派な編集者または雑誌があなたの論文をこのように扱うことにショックを受けます。
  10. 論文を再提出し、異議を申し立て、他のジャーナルを試してみてください。
  11. 「設立」は意図的にあなたの論文を抑制すると確信しています。なぜなら、P対NPの問題を解決すれば、私たちの分野ははるかに面白くないからです。
  12. そうでなければ、あなたは私を信じますか?

7
この質問は、「機能しないことが証明されたアプローチ」と「失敗の歴史を持つアプローチ」を求めており、この回答ではアプローチについて言及していません。
伊藤剛

6
私のポイントは、ブログの投稿が質問にまったく答えていないため、コピーして貼り付けるのは無意味だということです。
伊藤剛

7
これは確かに質問に答えませ。ブログの投稿は、典型的なP = NPのステップの簡潔なリストです。クランクが通過します。おもしろいですが、これは、PとNPを分離(または崩壊)できないことが示されている特定の理論を私に提供しません。
ラファエル

4
これはどう?この質問は、P!= NPを証明する障壁を求めています。この回答の障壁は(コメントで述べられているように)、「何かを仮定する」、「悪い解釈」、「何かがはっきりしている」、「何かを信じる」です。これらの障壁は、何かを証明する障壁であり、特にP!= NPを証明する障壁ではないという点で一般的です。
タイソンウィリアムズ

1
有効なコメントにはすべて基本的な点が欠けています。このブログは、専門家の複雑さの理論家であり、この主題に関する世界の権威であるランスフォートノウによって書かれました。彼はP対NP ゴールデンチケットに関する新しい本を発表しました。彼は基本的に個人的な経験から話しています。
vzn

2

これは、サイバースペースの他の場所でLuca Trevisanが最初に指摘した1980年代以降の回路経由のアプローチに関連する、やや不明瞭/深い/難解な/インサイダーアングル/リファレンス/ツイストです。主題の近くの参照、ブール関数の複雑さ:進歩とフロンティア(Algorithms and Combinatorics、Vol。27)。

ラズボロフの考え方のいくつかに、最終的に自然証明論文(いわゆる「帰化」)につながった初期の傾向を見ることができます。参照[273]は非常に技術的で困難であり、後の論文/本では引用、構築/拡張、または繰り返されているようには見えませんが、自然証明は後の大規模な一般化とみなすことができます。抜粋はJohn E Savagesの優れたref 計算モデルp457からのものです。

Ω(n2)n

[270] AA Razborov、「いくつかのブール関数の単調な複雑さの下限」、Dokl。アカド。Nauk SSSR(Soviet Math。Dokl。)281(1985)、798–801、(ロシア語); ソビエト数学の英訳。ドクル。31(1985)、354〜357

[271] AA Razborov、「論理パーマネントの単調なネットワークの複雑さの下限」、Mat。Zametki 37(1985)、887–900、(ロシア語); 数学の英訳。ノート37(6)(1985)、485–493。

[273] AA Razborov、「近似の方法について」Proc。21st Ann ACM Symp。コンピューティング理論(1989)、167–176。


2
これが「P?= NPを証明しない方法」という質問にどのように答えるかわかりません。今のところ、誰かの考えについてのある種の推測のようです。
ジュホ


2
確かに、私はこのすべてを明示的にすることだけを提案しています。回路の複雑さは学部レベルの資料でさえないので、ある程度の背景は正当化されます。読者が複雑性理論の専門家ではないことを期待するのは公平です。
ジュホ

@juho OK。かつて学部レベルのクラスで使用されていた[非常に「回路中心の]サベージ」の本を見たときも、私は驚きました。その高度な材料、したがって、最初の文の文言に同意しました。「思考に関する憶測」に関しては、Razborovs自身の考えを彼自身の論文に書かれた/記録されたものとして引用する以外はありません。
vzn

1
ところで、これは全体的に非常に高度な質問であり(実際には学部レベルではありません)、他の回答は高度であり、一般的に学部レベルを超えています。
vzn
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.