P≠NPの証明は、P = NPの証明より難しいでしょうか?


20

P対NP問題の2つの可能性を検討してください:P = NPおよびP NP。

Qを既知のNPハード問題の1つとします。P = NPを証明するには、Qに対して単一の多項式時間アルゴリズムAを設計し、AがQを正しく解くことを証明する必要があります。

P NP を証明するには、Qを解く多項式時間アルゴリズムがないことを示す必要があり ます。つまり、すべての多項式時間アルゴリズムを除外する必要があります。

これは2番目のタスクをより困難なものにするという人々の意見を聞いたことがあります(本当に真実だと仮定して)。

証明P = NPがPを証明するよりも容易になるだろう(P = NPがあると仮定)と考える理由がある NPが(Pと仮定すると、 NP)?


30
この質問は不適切です。1つのステートメントのみが真実である可能性があるため、1つを証明することは不可能です。もう一方証明可能かもしれませんが、そうであれば、偽りのものよりも証明しやすいでしょう。エルゴ、あなたがどのような答えを探しているのかわかりません。コミュニティ投票してください!これはまったく答えられますか?
ラファエル

10
@Raphael私は意見が合わない。OPの質問を「P = NPが真である場合、P≠NPが真である場合、P≠NPを証明するよりも証明する方が簡単ですか?」と解釈できます。私は、OPがそれが両方とも真実でなければならないという提案として解釈されることを真剣に意図したとは思わない。
アナセマ

3
FWIW、私にとっては、a)@TheAnathemaの質問の解釈は正しく、b)それは有意義な質問のようです。つまり、P = NPであり、証明が見つかった場合、その証明はおそらくNP完全問題の多項式時間アルゴリズムの形式になります。一方、P≠NPであるという仮定から始めると、証明を見つけるためにどのような種類の技術を利用でき、そのような証明はどのような形をとる可能性がありますか?
ヨハネス


コメントは詳細なディスカッション用ではありません。この会話はチャットに移動さました
ジル「SO-悪であるのをやめる」

回答:


25

Raphaelが説明するように、この質問は不適切です。なぜなら、P = NPとP≠NPのいずれか1つが証明可能であるに違いないからです。ただし、いくつかの装いで理論的なコンピューターサイエンスにも同様の問題が発生し、その中で最も目立つのは近似アルゴリズムの分野です

NP困難な最適化問題(たとえば、最大化)が与えられた場合、どの程度うまく近似できるかを尋ねることができます。可能な近似の上限を証明することはP = NPに似ていますが、可能な近似の下限を証明することはP≠NPに似ています。前者は後者よりもはるかに簡単です。実際、上限を証明するには、近似アルゴリズムを考え出して分析するだけです。対照的に、すべての既知の下限は条件付きです:P≠NPの場合にのみ有効です(実際、P = NPの場合、すべてのNPハード最適化問題は解決可能になります)。これらの下限を証明するために、問題をうまく近似できれば、NP困難な問題の多項式時間アルゴリズムが得られることを示します。通常、これはPCP定理の複雑な技術的機構を介して行われます。近似の硬さとして知られるこの分野は、専門家にしかアプローチすることができず、ほとんどの近似アルゴリズムよりも技術的に困難です。したがって、少なくともこの場合、P = NPはP≠NPよりも実際に簡単です。


14
OPの質問を「P = NPが真である場合、P≠NPが真である場合、P≠NPを証明するよりも証明する方が簡単ですか?」と解釈できます。私は、OPが両方とも真実であると解釈されることを真剣に意図したとは思いません。
アナセマ

6
@TheAnathema質問をそのように解釈する必要があると思います。しかし、選択肢の1つは必然的に反事実であるため、それはまだかなり不適切です。その反事実と、真実を証明することの難しさをどのように比較できますか?
デビッドリチャービー

=

9

P = NPであるという単純な証明の可能性を排除していません。明日誰かがP時間でNP完全問題を解決するアルゴリズムを思い付くと、世界は変わります。

一方、我々はしている P!= NPそのシンプルな証拠の可能性を否定しました。2つの異なる複雑度クラスが正式には不十分であることが証明されていることを示すための典型的な証明手法。このような3つの技法は、「算術化」、「自然証明」、および「相対化」と呼ばれる証明のカテゴリ(オラクルの使用を気にしないもの)として知られています。これらのカテゴリのうち3つに該当する証明手法では、P!= NPを証明できないことが証明できます。

事実、P!= NPを証明するには、よく知られた証明手法の新しい応用だけでなく、新しい種類の証明(性質の異なる新しい手法)が必要であるという強力な証拠があります。


ここで、P = NPであることが判明するかもしれませんが、NP完全問題を解決するPのアルゴリズムを検証する簡単な方法はなく、P = NPを証明するために新しい証明手法が必要です。(P = NPの場合、NP困難な問題を面白い方法で解決する技術的にPにあるアルゴリズムを既に知っています。定数係数が大きいため、実行するのは実用的ではありません。)

基本的に、P!= NPを証明するために使用できないものについて多くを知っていますが、P = NPを証明するために使用できないものについてはほとんど知りません。


PNPP=NPP=NP

8

まあ、あなたは基本的にアイデアを持っています。私たちは一般にP!= NPと考えていますが、これらが等しくないことをどのように証明するかさえもわかりません。

逆に、P = NPの場合、NPが完全に存在する数十の問題の1つを今までに解決するアルゴリズムが見つかったと思われます。

これらは非常に手間のかかる議論ですが、2、3の文で、コンピューター科学者の間の文化を説明しています。

P!= NPの証明がもちろん「より難しい」かどうかは、どちらが正しいか(メタ数学的な結果を除いて?)に依存し、もちろん、それはわかりません。


5

¬mod6n1.9

しかし、ライアン・ウィリアムズなどによる最近の研究では、下限の証明とアルゴリズムの発見の間に本質的なリンクがあることを示しています。たとえば、特定の制限付きSAT問題に対してブルートフォースアルゴリズムよりもわずかに優れたアルゴリズムは、回路の下限を意味することを示し、そのようなアルゴリズムを設計しました。だから私は、人々は少し悲観的ではなく、アルゴリズムを開発し、人々が彼らがそうであると思っていたほど別々に下限を証明しているように思わないと思います。

では、質問に戻って、もう少し宗教的に見てみましょう。質問に答えるためには、声明を証明するのが難しいという意味を形式化する必要があります。このために、ステートメントを証明することの難しさを定義するさまざまな方法を正確に調べる証明理論と証明複雑度を使用できます。それで、複雑さの証明とは何かについて簡単に説明しましょう。プルーフシステムは、基本的にプルーフの検証アルゴリズムです。文字列と文字列を与え、が証明かどうかを尋ねますφ π φπφπφアルゴリズムはyesまたはnoを返します。このような方法でプルーフチェッカーを考えることができます。ZFCのような数学システムの証明もそのように考えることができます。チェックプロセス自体は、構文タスクであるため、プルーフのサイズの多項式時間で実行できます。

ここで、式について考えます。意味φφφ265536証明とルールの現在の行から前の行を決定できるという意味で。これの重要な例外は、カットルールです。ステートメントを証明するためのカットルールは必要ありませんが、最短証明のサイズを大幅に削減できるため、重要です。ただし、カットルールは決定論的ではありません。推測する必要があるカット式があります。カットルールは、補題を証明して使用することと考えることができます。カット式は補題のようなものです。しかし、それが私たちを助けることを証明すべき補題は何ですか?それは難しい部分です。多くの場合、結果は数学で優れた補助定理を見つけることで証明されます。また、以前に証明された結果を使用する場合、基本的にカットルールを使用しています。ステートメントを証明する際のもう1つの重要な要素は、定義です。多くの場合、新しい概念を定義してから、それに関するステートメントを証明し、最後に特定のケースに適用します。定義を使用すると、式のサイズが小さくなります(定義を拡張して、定義がどれほど重要かを理解することにより、いくつかの数式を純粋な集合理論言語に拡張してみてください)。繰り返しますが、新しい定義を使用する必要がありますか?わかりません。これにより、証言が証明するのが難しいという第三の意味に至ります。強い公理が必要なため、ステートメントを証明するのは難しい場合があります。例えば 強い公理が必要なため、ステートメントを証明するのは難しい場合があります。例えば 強い公理が必要なため、ステートメントを証明するのは難しい場合があります。例えばCH。ZFCで証明することも、ZFCで反論することもできません。これは極端なケースですが、それはあなたが考えるより頻繁に起こります。たとえば、FLTを証明するために(グロタンディーク宇宙で機能するために)大きな基数の公理が必要ですか、それともPAのようなはるかに弱い理論で証明できますか?これは、ステートメントを証明することの難しさに関する別の概念です。

それでは、P対NPに戻りましょう。どちらかといえば弱い算術理論では問題を解決できないと述べる結果はありません。アレクサンダー・ラズボロフは、1995年に「有界な算術の特定の断片における回路サイズの下限の証明不能」という論文を書きました。私の知る限り、Sam Bussの有界算術理論のようなかなり強力な理論に拡張することはあまり進んでおらず、結果がそれらに拡張されても、PAやZFCのようなものからはまだ遠いです。要するに、SATが非常に小さな複雑なクラスにないことを証明できないだけでなく、P証明できないことさえ証明できない


「より宗教的に」という質問の定義について話すとき、私はあなたが「より厳密に」を意味すると思いますか?:-)
デビッドリチャービー

2
@David、はい、自動修正は時々それを行います。:)
カベ

4

質問は次のように減らすことができると思います:何かが存在することを証明すること、または何かが存在しないことを証明することは簡単ですか?

何かが存在することを証明することを支持する議論は、要件を満たす可能性のあるものを構築するのは簡単であり、実際に要件を満たしているかどうかを確認するのも簡単だということです。

場合によっては、これは真実です。多項式の根を見つけたい場合、数を構成するのは簡単で、根であるかどうかを確認するのは簡単です。

もちろん、問題は幸運でなければならないということです。たとえば、5の倍数または1〜10である必要があることを証明することにより、検索スペースを削減できる場合があります。ただし、有限の数のセットに制限しない限り(この場合、実際に「推測して検証」メソッドを使用していない)、問題を解決する方法はありません。あなたは非常に幸運で、解決策を生み出すかもしれません。

しかし、それが必要な場合は、何かが存在しないことを証明することも同様に簡単です!可能な解決策になる可能性のあるテキストを生成し、実際にそうであるかどうかを確認します。

したがって、純粋な運で解決策をもたらす可能性のある方法があるからといって、何かが存在することを証明する方が簡単だということにはなりません。

さて、他の方法で何かが存在することを一般的に証明するのは簡単ですか?そうでなければ、何かが存在しないことを証明することは、それが存在しないという証明が存在することを証明することに帰着するため、実際の問題に依存します。そして、証明の難しさを測る(試みる)ことができるように、存在することと存在しないことが証明されたものが一度もなかったので、それを測定することはできないと思います。


1
その「何か」が存在する場合、ないことを証明する方が簡単です(自明、あなたがすることはできませんが存在しないことを証明、それは言った証拠を見つけるために、悪魔は困難ではないという意味ではありません)。他の方法で同じ推論。コメントが言うように、質問自体は意味をなしません。
フォンブランド

@vonbrand私は言っていない for any X: is it easier to prove that X exists or to prove that X does not existfor any X,Y: is it easier to prove that X exists or to prove that Y does not exist.つまり、Eが「Xが存在する」形式の文を証明する証明のセットであり、NEが「Yが存在しない」形式の文を証明する証明のセットであり、d( P)証明の難しさ、d(X)<d(Y)であって、EのXとNEのY。
サノスティンティニディス

d(X)XXX

@vonbrandはい。さらに、OPの方法(1つが見つかるまで潜在的なソリューションを生成し続ける)を、存在の証明S1を非存在の変換に変換できるので、存在の証明が存在しないことの証明よりも簡単であることを示唆する引数として使用できないと主張しています声明S1の証拠の存在の声明S2へ。私はこの価値を疑い始めていますが
サノスティンティニディス


-2

P = NPを証明できるアルゴリズムはすべて除外する必要があるため、P <> NPを証明することは不可能だと思います。これらは無限に存在する可能性があります。無限を反証する方法はないので、それは不可能です。一方、必要なのは、P = NPを証明するための単一のアルゴリズムだけです。したがって、誰かが証明するP = NPか、私たちは決して知ることはありません。


コンピュータサイエンスへようこそ!あなたは生きているか、それが証明可能でないことを証明できますか?Yakkの答えは、このトピックについていくらかの光を放っていると思います。

2
「無限を反証する方法はありません」人々は数学で常に無限に多くの可能性を排除しています。どれも機能しないことを知るために、それぞれを手でチェックする必要は必ずしもありません。あなたの「議論」は、複雑さのクラスをまったく分離できないことを意味します。これはナンセンスです。
ノアシュウェーバー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.