P = NP問題を10歳に説明する


54

このサイトでの最初の質問です。私は計算理論の修士課程を取っています。P = NPの問題を10歳の子供にどのように説明するのか、なぜそのような金銭的な報酬があるのか​​?

あなたのテイク?

私の頭がそれについてはっきりしたので、私は質問を更新します。


11
私の傾向は、これを研究レベルの理論的コンピューター科学ではないとして閉じることです。
デイブクラーク

11
@Dave:それは研究者によって回答されるべきであるので、おそらく研究者が行く場所にそれを尋ねるのに十分でしょうか?
ジェレミー

11
これは合理的だと思います。「ゼロ知識プロトコルを子供に説明する方法」と呼ばれる有名な論文がありますが、これは研究レベルと考えられます。「ベストアンサー」を選択するのは難しいかもしれませんが、それはソフト質問の場合によくあります。また、この質問は、十分に興味深い答えが出てきた場合、サイトの良い広告になる可能性があります...多くの人々がP対NPの説明を求められたときにここで与えられた答えにリンクするかもしれません。
フィリップホワイト

7
しかし、実際にはCWである必要があります。
Suresh Venkat

5
質問の文言は、質問が愚かではなく、実際の質問ではなく会話を開始する方法のように見えたので、自分の質問への回答にあまり興味がないという印象を与えたので、私は動機付けを尋ねました。あなたの答えによれば、あなたは質問をするためにこの質問をしたようです。したがって、私はあなたに役に立たないので、それに答えることに興味がありません。Stack Overflowとは異なる文化がありますが、現在は関係ありません。
伊藤剛

回答:


33

これらの3つのスライドを使用して、NP問題の高速アルゴリズムを考え出すのがなぜ難しい(不可能なのか)ことを示します。

箱詰め 箱詰めはNP完全です1 ビン梱包はNP完全2です


とてもわかりやすい。
TOTO

4
ブロック数が増えるにつれてスケーリングを含む「簡単な方法」を拡張する必要があると思う
イアンリングローズ

3
非常に良い例ですが、文献では長方形のパッキング問題と呼ばれていませんか?
モハマドアルトルコ人

1
@ user54609 NP-completeは、パッキングが多項式時間で最適であることを検証できることを意味しません。NP完全とは、解が多項式時間で実行可能であることを検証できることを意味します(そして、P == NPでない限り、多項式時間で一貫してそれを見つけられません)。
ジェフリーデスメット

1
ああ、だから、決定の問題は「実行可能な解決策はあるのか」です。そうですか。
ithisa

21

この講演では、Scott Aaronsonが質問に取り組んでいます。

TEDxCaltech-スコットアーロンソン-21世紀の物理学:ファインマンの影に苦しむ

警告:この話をあなたの祖母/ 10歳に直接見せないでください。どうして?それを見て、あなたは知っているでしょう。;-)

編集:
子供に8クイーンのパズルを与えて解決してください。また、彼に時間制限を与えます。

彼が解決策を「見つけた」場合、彼はすぐにCSを教え始めることができる賢い子供です。:)
それ以外の場合は、彼に解決策を示し、正しいかどうかを「チェック」するように依頼します。

ClassCheckFindExamplePEasyEasyMultiply numbersNPEasyHard8 queens

は、コンピューターが解決策を簡単に「見つける」ことができる一連の問題です。P

は、コンピューターがソリューションを簡単に「見つける」ことはできないが、ソリューションを簡単に「チェックする」ことができる問題のセットです。NP

ソリューションを簡単に「確認」できる場合、なぜ簡単に「見つける」ことができないのですか?

CSで行うことは、問題を解決するか、誰もできないことを証明することです。

誰かがNP問題に対する解決策を"検索"することを容易にするアルゴリズムを発明した場合、テーブルは以下のようになり 及びP = N P

ClassCheckFindPEasyEasyNPEasyEasy
P=NP

そして、誰かが問題の解を「見つける」アルゴリズムを見つけることができないことを証明した場合、テーブルは同じままでPN Pになります。NPPNP


3
おそらく、スコットの説明の本質を要約することができます。
デイブクラーク

2
私はいつもP = NPの大騒ぎが何なのか興味がありました。
リーKowalkowski

P∈NPであるため、ここでNPの非P部分について話していることを明確にすることができます。
デビッド14

+1このスレッドには多くの素晴らしい答えがありますが、これはPとNPの意味を定義しようとする唯一の方法です!
マークE.ハセ

「ソリューションを非常に簡単に「確認」できる場合、なぜ簡単に「見つける」ことができないのですか?」---この質問はまだ回答されていません!そうでなければ、それは私にとって最良の答えです。

19

コンピューターを使用する主なものの1つは検索です。Googleのようなプログラムは「検索エンジン」とも呼ばれ、1日に数百万回使用されています。コンピューターは最近、大量のデータを超高速で検索できたため、Jeopardyで人間を倒しました。

しかし、コンピューターでさえ検索するのが難しいものもあります。奇妙に聞こえますか?1つの例は逆乗算です。もちろん、「5×3とは何ですか?」ナノ秒で「15」と言うことができます。しかし、「相互に重複する2つの数値は21に等しい」という答えは何ですか?(答えを待って、7 x3。)そうです!さて、23に等しい2つの数値を乗算するとどうなりますか?(答え、またはフラストレーションを待ってください。)

23に等しい2つの数値を乗算すると、1と23自体になります。それには考えが必要でしたね。そして23は小さな数字です。数が何百桁かを考えてください。そして、問題は、世界の最高のプログラムは、7歳の子供が試みるよりもはるかに優れた乗算を逆にできないことです。コンピューターはそれをより速くすることができますが、私たちはコンピューターにそれをより賢くするように言う方法を本当に知りません。人々はこのような分野で博士号を取得しますが、逆乗算を少し賢くするようにコンピューターに指示する方法しか知っていません。

賢い方法はないかもしれません。しかし、おそらくそこにあり、私たちはまだそれをまだ見つけていません。それは一言で言えばP / NPの問題です:すぐに答えを認識できたら-23が23で1倍なら-それは答えをより速く検索するのに役立ちますか?答えを見つけた人が「はい」または「いいえ」で百万ドルを勝ち取ることが重要だと人々は考えています。


4
良いもの。ファクタリングが偶然悪い例であることは、おそらく問題ではありません(またはそうですか?)。
ラファエル

4
ファクタリングは、Mike SipserがClay Mathematics Instituteの「P / NPを一般に説明する」ビデオで使用した例でした。それが.....彼のために十分だ場合、私は把握
アーロン・スターリング

3
サブセット和問題は、まだ乗算を研究していない生徒に説明できます!
手切ねなし

16

P対NPの問題は、数独に関して非常に穏やかに説明できると思います。私は、問題の10歳が数独に精通していると仮定しています。私の説明では、厳密さよりも単純さを優先しようとします。

P = NPを架空の10歳に説明しようとする私の試みは次のとおりです。

完成していない数独パズルがあり、それを完成させたい場合、それは非常に難しい場合があります。一方、友達が問題を解決し、算数が得意であれば、パズルに対する友達の解決策が正しいかどうかを確認するのはそれほど難しくありません。

P = NPの質問は、まだ完了していない数独パズルを解くための非常に高速で段階的なプロセスがあるかどうかを尋ねます。段階的なプロセスは非常に明確で理解しやすいものでなければならず、コンピューターでもそれを理解し、それを使用して数独パズルを自動的かつ非常に高速に解決することができます。このような高速なステップバイステップのプロセスがある場合、それは数学者が「多項式時間アルゴリズム」と呼ぶものになります(年をとったときの意味を説明します)。

実際、コンピューター科学者とコンピュータープログラマーは、数独と同じくらい解決が難しい他の多くのパズルと非常に重要な問題を特定しています。これらの問題を解決できるかどうかを知ることは非常に重要です。コンピューターがあれば、多くのことをより迅速に行うことができるからです。たとえば、列車をより効率的にスケジュールし、秘密のコードを破り、人工知能を備えた本当にスマートなコンピューターを構築するためのヘルプを構築することさえできます。

人々がP = NPを解くことができれば、非常に良いことがたくさん起こるでしょう。もちろん、秘密のコードを使用してプライベートメッセージを秘密に保つのが難しくなるため、いくつかの問題もあります。

ほとんどの賢明な数学者は、P = NPは正しくないと考えています。言い換えれば、ほとんどの人は、誰も本当に難しい数独パズルを迅速に解決することはできないと考えています。しかし、PがNPと等しくないことを誰も証明できなかったため、Clay Mathematics Instituteと呼ばれる組織は、P = NPが真である最初の証拠、または最初の証拠として100万ドルの賞金を提供していますそれが偽であることの証明。

ご覧のとおり、「10歳に説明する」部分を文字通り少し取りました。:)

お役に立てれば。


非常に良い試みですが、10歳の子供が数独パズルとは何かを知っているかどうかはわかりません。
chazisop

2
@chazisop経験から、数独パズルの基本バージョン(つまり、4x4グリッド)は、3年生と4年生の子供たちに運動として与えられたと言えるので、それは不合理な仮定ではありません。
ボブフレーザー

n1000

1
@モーシン、どういたしまして。@ Raphael、PとNPをドロップする必要はないと思います。10歳の人は、PとNPの意味を知る必要なく、問題の私の定義を受け入れるだけかもしれませんし、それを参照せずに問題を説明する方法がわかりません:)。また、私は完全な正確さよりも明快さを優先していたと言いました...したがって、「非常に高速」と「多項式時間」を同じ意味で使用することは不公平ではないと思います。
フィリップホワイト

私のポイントは、「高速」を使用しても明確にならないということです。P = NPと仮定すると、おそらく「唯一」の問題は、「高速」では解決できないが、高次の多項式のみである問題の「高速」アルゴリズムを探していることです。
ラファエル

8

ここに私が母にそれを説明した方法があります、うまくいけばあなたに役立つでしょう:)

解決策を見つけるのが簡単な問題(P、ただし「簡単に解決可能」とは呼ばない)、特定の解決策が正しいかどうかを簡単に確認できる問題(NP、ただし「簡単に確認可能」と呼びましょう) )、および簡単に解決できる問題でも簡単に確認できる問題でもありません。簡単にするために、「簡単」が正式に定義されており、各問題には独自の解決策があると仮定します。

現在、人々は(数学を使用して)「簡単に解決可能」と「簡単に確認可能」という2つの概念間の興味深い関係を証明することができました。そのため、いくつかの問題は簡単に解決できず、他のいくつかは簡単に確認できません。そのような結果の基本的な例は、簡単に解決できる問題も簡単に確認できることです。その解決策を見つけて、与えられた解決策と比較するだけです。

多くの実際的な問題(余白がほとんどない場合に、学生を教授や教室に割り当てる可能性があるかどうかを判断するなど)を解決するための「簡単な」方法があるかどうかはわかりませんが、ソリューションが正しいかどうかを簡単に確認する方法は知られています。人々は多くのことを試みて失敗し、それが不可能であることを証明しようとして失敗しました。彼らはただ知りません。簡単に確認できる問題はすべて簡単に解決できると考える人もいれば(それについてもっと考えるべきです)、逆に、これらの問題の簡単な解決策を見つけようとして時間を浪費すべきでないと考える人もいます。

私たちが見つけたのは、問題(たとえば、学校へ行く方法を知っているなら、すぐ前にあるベーカリーへ行く方法を知っている)と、他のすべての簡単にチェックできる問題にリンクしている簡単にチェックできる問題とのリンクを表示する方法です( NP完全ですが、「重要な問題」と呼びましょう。誰かがいつか重要な問題の1つを簡単に解決できることを示した場合、簡単に確認できるすべての問題も簡単に解決できます(P = NP)。一方、重要な問題の1つが簡単に解決できないことを示した場合、他のどれも簡単に解決できません(つまり、P <> NP)。

そのため、この質問は興味をそそり、実際には比較的重要です(「簡単」の代替定義に焦点を当てるべきだと主張する人もいますが)、人々は議論にかなりのお金と時間を費やしています。



1

私は、この問題を主要な概念の不実表示を招くことなく、10歳の、または素人にさえ説明する可能性について少し懐疑的です。

解決策を見つける対チェックする「容易さ」対「困難さ」に関して定式化されたすべての説明は、一般的なケースでは間違いなく間違いであるコバムのテーゼを想定しており、せいぜい経験則にすぎないと見なすことができます。


これは質問に対する答えではありません。
デイブクラーク

何故なの?質問は「P = NPの問題を10歳の子供にどのように説明するか」であり、私の答えは、問題を誤って伝えない適切な説明はおそらく存在しないということです。もちろん、私の答えに反対するかもしれませんが、なぜそれが質問に対応していないと主張するのですか?
アントニオヴァレリオミチェリバローネ

3
私の意見では、これは可能な答えですが、私は同意しません。Pを「現実世界で効率的に解決できる問題のセット」のようなもので無意識に識別することはできないのは事実です。しかし、これはP =?NP問題を説明する可能性を排除するとは思わない直感的なレベルの10歳の子供。たとえば、10歳くらいの子供たちは円の面積を学びます。エリアの厳密な取り扱いには細心の注意が必要ですが、それは直感的なレベルで有用な方法でエリアの概念を教える可能性を排除しません。
伊藤剛

P

1
P

1

戦艦や(最近では)ビデオゲームなどのさまざまなクラシックボードゲームの勝利戦略がNP完全であることが証明されています。

NP完全決定問題としての戦艦 Merlijn Sevenster ICGAジャーナル2004年9月

掃海艇は数学者RWケイによるNP完全FAQです。Mathematical Intelligencerの2000年春号(第22巻2号、9〜15ページ)

ゲームは大変な仕事ですが、誰かがそれをしなければなりません!ジョヴァンニ・ヴィグリエッタによるarxiv紙。パックマン、トロン、ロードランナー、ボルダーダッシュ、デフレクター、マインドベンダー、パイプマニア、スクウィーク、プリンスオブペルシャ、レミングス、ドゥーム、パズルボブル3、スタークラフトの計算の複雑さを分析します。

パックマンは、上記の論文に関するハードな極端な技術雑誌記事


参照NP-COMPLETEパズルの調査ケンドール、パークス、Spoerer、およびによってアルゴリズム組合せゲーム理論:アルゴリズムと遊ぶゲーム Demaineとハーンによっては
vzn

0

そして、これが問題に対する私の見解です。

木戸!

人生で多くの問題に直面しています。あなたは挑戦を言うことができます。難しいものもあれば、簡単なものもあります。たとえば、多くの場合、2つの数字を追加する必要があります。そして昨晩、私たちはチェス盤に乗っていて、隣人に勝たなければなりませんでした。さて、2つの数値を追加することは、限られた手順を伴う単純で単純な問題です。このような問題はPクラス問題と呼ばれます。これは、解を得るために何度も繰り返される離散ステップでは非常に簡単な問題が多くあるためです。

一方、昨夜のチェストゲームで、ゲームに勝つための最善の戦略は何でしょうか?最初のポーンを1ステップ、または2番目のポーンを1ステップ移動するか、2番目のポーンを2ステップ、最初のポーンを1ステップ移動して、多くの可能性があることを確認します。しかし、私たちまたはレシピ家が、最高のチェックメイトにつながる完全な順序付けられた動きのセットを提供する方法はありますか?とても多くの可能性があるので、あなたはそれが一生懸命にやめられるのを見ることができます。カール・サガンが言うように、数十億と数十億。

しかし、ボードのすべてのポジションを教えて、それがチェックメイトであるとあなたに尋ねたらどうでしょう?確かに、あなたはいくつかの検査の中で、王に法的な動きが残っているかどうかを素早く知ることができます。

そのため、解決が難しいが、その解決策がいくつかの簡単な手順で簡単に検証できる場合、それらはNP問題と呼ばれます。

ここで、P = NPの意味を尋ねますか?実際、この質問は、単純な追加のように数十億の可能性をすべて経験することなく、チェスゲームの動きの最良の戦略または順序付きリストを見つけるためのより簡単な解決策を見つけることができる方法があることを意味しますか?この単純な質問にはまだ答えがありません。私たちには、それが真実であるか拒否されているかの証拠はありませんが、もしそうなら、それは突破口となるでしょう。真実であることが判明した場合、私たちの文明は非常に複雑な問題をPクラスの問題に変換することで解決する可能性があります。人々は数秒でパスワードを破ることができ、メッセージが解読され、さらに多くのことができるので、この問題はミレニアムの最も重要な問題の1つと考えられています。


テキストを引き締める価値があるかもしれません。これを声に出して読んでみましたか?
アンドラスサラモン

私が思う数学的定義のように、すべてを厳しくするべきではありません。
モーシンヒジャージー

テキストをきつく締めすぎると、通常の人は次の概念に進む前に、ある概念を理解するのに十分な「スペース」を持っていません。
イアンリングローズ

n×n

このリンクは、以前よりも多分もっと明確である:cstheory.stackexchange.com/questions/6563/...
フアンBermejoベガ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.