またはいずれかを証明しようとする試みは数多くあり、当然、多くの人がどちらの方向を証明するためのアイデアを持っているかを考えています。P ≠ N P
私は、機能しないことが証明されているアプローチがあることを知っています。そして、おそらく失敗した歴史のあるものがもっとあります。また、多くの証明の試みが克服できない、いわゆる障壁があるようです。
行き止まりの調査を避けたいのですが、それは何ですか?
またはいずれかを証明しようとする試みは数多くあり、当然、多くの人がどちらの方向を証明するためのアイデアを持っているかを考えています。P ≠ N P
私は、機能しないことが証明されているアプローチがあることを知っています。そして、おそらく失敗した歴史のあるものがもっとあります。また、多くの証明の試みが克服できない、いわゆる障壁があるようです。
行き止まりの調査を避けたいのですが、それは何ですか?
回答:
を解くための最もよく知られている障壁は
私がよく知っているもう1つは、LP定式化がTSPを解決できないという結果です(対称LPについてはYannakakisによって証明され、ごく最近では一般的なLPに拡張されました)。ここで結果を議論するブログ記事です。
注:回答をまだ慎重に確認していないため、記述すべき部分が欠落しています。最初の草案と考えてください。
この答えは、主に複雑性理論または関連分野の研究者ではない人を対象としています。あなたが複雑性理論家であり、答えを読んだことがあるなら、何か問題に気づいたか、答えを改善しようと考えているかどうか私に知らせてください。
ランスフォートノウ、だからあなたはP verus NPに定住したと思う、2009年
スコットアーロンソン、8つのサインA主張されたP≠NP証明が間違っている、2010
以下のための博学ページDeolalikarの論文、さらに測定値のセクションでは、問題についての言及の素敵なリストを持っています。
「P対NP に近づかない方法」については、機能しないアイデアという意味ではなく、より一般的な意味で説明します。P対NPは簡単に説明できる問題です(こちらの私の回答もご覧ください)。
NP = P:多項式時間検証アルゴリズムを使用するすべての決定問題には、多項式時間アルゴリズムがあります。
または同等に
SATには多項式時間アルゴリズムがあります。
SATは、他のNP完全問題に置き換えることができます。
。
多くの場合、人々は問題を過度に単純化し、過度に哲学化し、問題の実際的な重要性を誇張します(上記のとおり)。そのような記述はしばしば直観を与えることを目的としていますが、問題の実際の数学的記述の代わりになるものではありません。
最初に、誇張された実際的な結果について説明します。
I. P = NPである可能性がありますが、実際には問題に役立ちません!
ここでの主なポイントは、Pは効率的な計算の抽象的な単純なモデルであり、最悪の場合の複雑さは計算のコストを見積もる抽象的な単純なモデルなどであるということです。これらはすべて抽象ですが効率的なアルゴリズムとしての上記の(I)のようなものです。Pは優れた抽象モデルであり、優れた特性を持ち、技術的な問題を簡単にし、便利なものです。しかし、すべての数学的な抽象化と同様に、実際には気になるかもしれない詳細を隠します。さまざまな洗練されたモデルがありますが、モデルが複雑になればなるほど、議論の余地は少なくなります。
人々が実際に気にするのは、合理的な量のリソースを使用して気になるインスタンスの問題に対する答えを計算することです。タスクに依存するため、考慮する必要があります。
NP困難問題の実際のインスタンスに対してより良いアルゴリズムを見つけることは、興味深く価値のある試みです。業界で使用されているSATソルバーヒューリスティックアルゴリズムがあり、数百万の変数を使用してSATの実際のインスタンスを解決できます。国際SATコンペティションもあります。
(しかし、これらすべてのアルゴリズムが失敗し、非常にひどく失敗する小さな具体的な例もあります。実際、すべての最先端の最新のSATソルバーが命題ピジョンホールの原理のような単純な例を解くのに指数関数的な時間がかかることを証明できます。)
ことを覚えておいてくださいプログラムの正しさと走行時間はちょうどインスタンス上でプログラムを実行しているから取得することはできません。試行するインスタンスの数は問題ではなく、十分な量ではありません。無限に多くの可能な入力があり、それらすべてに対してプログラムの正確さと効率(つまり、実行時間は多項式)を示す必要があります。つまり、正確性と効率性の数学的な証明が必要です。数学的な証明がわからない場合は、最初にいくつかの基本的な数学を学ぶ必要があります(教科書の離散数学/組み合わせ論/グラフ理論を読んでください。これらは数学的な証明と見なされるものについて学ぶのに良いトピックです)。
また、P対NPに関する他の主張とその回答の結果にも注意してください。このような主張は、多くの場合、同様の単純化に基づいています。
私は少し誇張しました。もちろん、私たちはP対NPに対する答えを気にします。しかし、私たちはコンテキストでそれを気にします。P対NPは私たちの主力の問題ですが、最終的な目標ではありません。それは簡単に述べられる問題であり、多くの基本的なアイデアを含んでおり、トピックに精通していない人々に興味のある質問の種類を説明するのに役立ちます。しかし、私たちは質問に対する1つのYes / No回答を求めません。
我々は、シーク効率的な計算の性質をよりよく理解します。質問の解決にはそのような理解が必要であり、それが私たちがそれを気にする本当の理由だと信じています。それは膨大な研究の一部です。アロラとバラクの「複雑性理論:現代のアプローチ」(ドラフト版)など、優れた複雑性理論の教科書をご覧ください。
要するに、複雑性理論家の観点から
P対NPは、「はい/いいえ」と答えるパズルではありません。効率的な計算の性質をよりよく理解できると思うので、P対NPの答えを探します。私たちの理解に大きな進歩がなければ、答えはあまり面白くありません。
非専門家がP対NPの解決策を主張する機会があまりにも多くあり、それらの主張は通常、複雑性理論に関する標準的な教科書を読んだだけでは得られない問題に苦しんでいます。
P = NPの主張はより一般的であるようです。以下が最も一般的なタイプだと思います。誰かがアイデアを持ち、プログラムを書き、それをいくつかのインスタンスでテストし、それが多項式時間であると考え、NP完全問題を正しく解決します。上で説明したように、P = NPを示すテストの量はありません。P = NPには、多項式時間でNP完全問題を解くように見えるプログラムだけでなく、数学的な証明が必要です。
これらの試みは通常、次の2つの問題のいずれかに苦しみます。
I.アルゴリズムは実際には多項式時間ではありません。
II。アルゴリズムはすべてのインスタンスを正しく解決しません。
[執筆予定]
テストによってアルゴリズムが正しく機能することを示すことはできません。しかし、テストすることで正しく動作しないことを示すことができます!そのため、いくつかの作業を行う意思がある場合に、アルゴリズムが正しくないことを確認する方法を次に示します。
最初に、SATのインスタンスを(標準CNF形式で)NP困難問題に変換するプログラムを作成します。SATは最も研究されているNP困難な問題の1つであり、他の問題からSATへの削減は通常簡単です。次に、最先端のSATソルバーが苦労している例を取り上げ(例:SATコンペティションから)、アルゴリズムにフィードして、アルゴリズムのパフォーマンスを確認します。命題のPigeonhole Principleのような既知のハードなインスタンスを試してください(特別なケースとしてハードコーディングすることでチートしないでください)、暗号化されたインスタンス(RSA Factoring Challengesのような)、しきい値に近いランダムなk-SATインスタンスなど
これらを行うと、アルゴリズムが機能しないことがかなり確実になります(最先端のSATソルバーよりも良好に機能する場合は、次の競争に参加し、多くの人がアルゴリズムとアイデアの研究に興味を持つでしょう)。
これで実際には機能しないことがわかりましたが、それだけでは十分ではありません。理由を知りたい、
私のアルゴリズムが修正可能な小さな問題を機能しないのはなぜですか、それが機能しない根本的な理由はありますか?
アルゴリズムの問題は単純な場合があり、概念的に何が間違っていたかを特定できます。最良の結果は、アイデアが機能しない理由を理解することです。多くの場合そうではありません、あなたのアイデアは機能しませんが、理由を理解することはできません。その場合、次のことに注意してください。
なぜいくつかのアイデアが機能しないのかを理解することは、P対NPを解決するよりも難しい場合があります!
アイデアを十分に形式化できる場合、特定のアイデアの制限を証明できる可能性があります(たとえば、貪欲なアルゴリズムの特定の形式化ではNP完全問題を解決できないという結果があります)。しかし、それはさらに難しく、標準的な複雑性理論の教科書を読んでいない場合は、あまりチャンスがありません。
アルゴリズムがなぜ機能するのかという明確な概念的アイデアすら存在しない場合があります。つまり、いくつかのよく理解されていないヒューリスティックに基づいています。アルゴリズムが機能する理由について明確な概念がわからない場合、なぜ機能しないのかを理解する機会があまりないかもしれません。
問題1:著者は、PとNPの定義を知らないか、さらに悪いことに、数学的証明とは何かを理解していません。著者は基本的な数学的訓練を欠いているため、彼が提示していることは証明ではないと言われたとき、彼は理解しません(例えば、ステップは以前のものからは続きません)。
問題2:著者は、「方法がわからない」と「数学的な不可能」を混同しています。たとえば、彼らはさまざまな不当な仮定を立て、「なぜこの声明が真実なのか?」彼らは「どうしてそれが間違っているのでしょうか?」と答えます。一般的な方法の1つは、問題を解決するプログラムは特定の手順を実行する必要があると仮定することです。たとえば、特定の中間値を計算する必要があるためです。
[完了予定]
[執筆予定]
クレームがこれらの基本的な問題に苦しんでいない場合、それを拒否することはより困難になります。最初のレベルでは、引数の誤ったステップを見つけることができます。著者からの典型的な反応は、私はそれを修正することができ、これを前後に続けることができるということです。P = NPソリューションと同様に、特にアイデア自体が非公式である場合、それが機能しないことを示すことができるアイデアで基本的な問題を見つけることは非常に困難です。
Lance Fortnowによるこのブログ投稿を読むことをお勧めします。
- だからあなたはP verus NPを解決したと思うあなたは間違っている。それを把握します。時々、あなたの欠陥のある証拠から何か面白いものを救うことができます。
- あなたはその証拠が正しいと信じています。あなたの信念は間違っています。手順1に戻ります。
- 一見小さなものや明らかなものでさえ、何か仮定やショートカットを作っていますか?「はっきり」、「明らかに」、「見やすい」、「すべき」、「必須」、「おそらく」などの言葉を使用していますか?あなたは、おそらくすべての数学の中で最も重要な問題を解決すると主張しています。仮定をすることはできません。手順1に戻ります。
- オンラインアーカイブに論文を提出します。たぶん何人かの人々は、あなたの論文で何が欠けているか間違っているかをあなたに話します。これにより、ステップ1に進みます。しかし、代わりに、あなたの論文にいくつかの無意味な変更を加えて、再投稿します。
- 最終的に人々はあなたの論文を無視します。なぜ名声と富を得ていないのだろうか。
- 論文をジャーナルに提出します。
- 論文は拒否されます。賢い場合は、手順1に戻ります。しかし、賢い場合は、手順7に進むことはありません。
- エディターが証拠を理解していないか、簡単に修正できるとエディターに不満を言う。立派な編集者または雑誌があなたの論文をこのように扱うことにショックを受けます。
- 論文を再提出し、異議を申し立て、他のジャーナルを試してみてください。
- 「設立」は意図的にあなたの論文を抑制すると確信しています。なぜなら、P対NPの問題を解決すれば、私たちの分野ははるかに面白くないからです。
- そうでなければ、あなたは私を信じますか?
これは、サイバースペースの他の場所でLuca Trevisanが最初に指摘した1980年代以降の回路経由のアプローチに関連する、やや不明瞭/深い/難解な/インサイダーアングル/リファレンス/ツイストです。主題の近くの参照、ブール関数の複雑さ:進歩とフロンティア(Algorithms and Combinatorics、Vol。27)。
ラズボロフの考え方のいくつかに、最終的に自然証明論文(いわゆる「帰化」)につながった初期の傾向を見ることができます。参照[273]は非常に技術的で困難であり、後の論文/本では引用、構築/拡張、または繰り返されているようには見えませんが、自然証明は後の大規模な一般化とみなすことができます。抜粋はJohn E Savagesの優れたref 計算モデルp457からのものです。
[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。