マークドミナスはのいくつかの例を収集多項式時間の削減から、「正規表現」のマッチングに様々なNP困難な問題を。多項式時間検証の構想は大きな飛躍ではありません。
Deolalikarの論文に対する最近の騒ぎを理解したかった他の分野の大学生や友人に、NP完全クラスをどのように説明しますか?
マークドミナスはのいくつかの例を収集多項式時間の削減から、「正規表現」のマッチングに様々なNP困難な問題を。多項式時間検証の構想は大きな飛躍ではありません。
Deolalikarの論文に対する最近の騒ぎを理解したかった他の分野の大学生や友人に、NP完全クラスをどのように説明しますか?
回答:
非CSフレンドと一緒に使用する私のお気に入りの例はこれです:
アブラハム、A。ブルム、サンドホルム。物々交換市場の清算アルゴリズム:全国の腎臓交換を可能にします。EC07。
腎臓交換市場は、本質的にサイクルカバーの制限された形式です。私はこの例が好きです。a)要旨を説明するのは簡単です(より技術的な詳細を省くと)b)それは、より良いアルゴリズムが文字通り命を救うことができることを知っている数少ないインスタンスの1つです!
私の2番目のお気に入りの例は、病院と居住者の問題(別名大学入学問題)です。各病院はすべての居住者(医学生を卒業)をランク付けし、居住者は病院をランク付けします。各病院には一定数のスロットがあります。そこからは安定したマッチング問題であり、多項式時間で解くことができます。
しかし、実際には、カップルは一緒にシステムに入ることができます(はい、確かにシステムがあります)。そのため、システムは、例えば、両方とも居住を申請している結婚したカップルを分割しません。カップルを追加すると、問題はNP完全になります。説明が簡単であることに加えて、これは、長距離接続の導入がNP完全性を誘導する方法をうまく示しています。
巡回セールスマンの問題は明らかにアクセス可能です...少なくとも私がいるところでは、これは非CSの人々の間で最も人気のあるCSの問題であるようです。アルゴリズムインストラクターが紹介したように、次の頂点カバーの図も非常に魅力的でした。
道路網があり、車が燃料切れになった場合に、道路の少なくとも一方の端にガソリンスタンドがあることを確認したい。
都市計画者は、できるだけ少ない数のガソリンスタンドを建設して、コストを最小限に抑えたいと考えています。これは本質的に頂点カバーの問題であり、多項式時間で最適な頂点カバーを見つけることは期待できないが、多項式時間では2倍しか離れていないものを見つけることができることを指摘することにある程度成功しました。単純に、最大一致の両方のエンドポイントを選択することで(特に、MMアルゴリズムが厳密には2ライナーではないため、視聴者がどれだけ熱心であるかによって、最後の詳細が省略される可能性があります)。
問題の性質にわずかな変化がある「複雑さのジャンプ」の例については、2色性と3色性のチェックの違いが良い例だと思います。4色の定理を取り巻くすべての宣伝で、マップを4色ではなく3色だけで適切に着色できるかどうかを確認するのは難しいことを指摘するかもしれません。かなりの数の人々がこれを非常に驚くべきものだと感じています。
別のかなり自然な状況は、オペレーティングシステムのデッドロック回復の問題です。これは、フィードバック頂点セットのNP完全問題によってモデル化されます-削除によりグラフが非循環になる頂点の最小数-これも注目すべき例であることがわかります(そしてそのウィキペディアの記事でさらに説明されています)。
縦列駐車はNP困難だと思います。
実際、ポリゴン環境で、ポリゴンオブジェクトを初期位置から最終位置に移動させる、曲率のある最短経路を見つけるというより一般的な問題は、NP困難です。証拠はここにあります-http://portal.acm.org/citation.cfm ? id = 298976
ナップザックは、特に小さなスーツケースを扱う必要があった人にとっては非常に簡単に把握できます。動的プログラミングを知っている場合の良い例です。
もう1つの楽しい(実質的に同一)の1つはサブセット和です。これは、物理的な解釈も優れているためです。サブセット合計:ルーラーのバランスが保たれるように、空でないサブセットが存在しますか?(つまり、重心が定規の支持点になるように?)
どちらの場合でも、素朴な戦略がすべてのサブセットのチェックに頼ることを強制するかもしれないことは直感的に思えます。
彼らがより多くの背景を持っているならば、制約を落とすことによって問題を成長させることは素晴らしいことです。たとえば、最大流量の問題から始めて、線形プログラムに変換し、整数プログラムにします。(もちろん、素晴らしい背景はMAX-CUTです。より多くのバックグラウンドを持っている人にはUGCを呼び出すこともできます。MOの回答でこれに触れますhttps://mathoverflow.net/questions/33036/is-quadratic-programming -still-np-hard-if-you-have-bounds-and-a-feasible-point / 33048#33048。)また、一見類似している問題のように、複雑さが大幅に異なる問題もあります(オイラー(エッジ)パスは線形です)時間、ハミルトニアン(頂点)パスはNP完全です)。
TagxedoというWebサイトhttp://www.tagxedo.comを作成しました。これは、単語(頻度によってサイズが決まる)を形に合わせる単語クラウドジェネレーターです。結果は非常にきれいですが、問題はNP困難(パッキング問題)であることが簡単に証明されています。
興味深いことに、多くのNPハード問題には「簡単な」近似があります。Tagxedoは多くの場合、ほぼ完璧な仕事をしているようです。これは、P対NPの実際的な意味、および近似のトピックに関する興味深い議論につながります。
友人の一人は、北米のすべてのメジャーリーグスタジアムで野球の試合を観戦して、1年間の休暇を過ごしました。飛行なし。(彼はしませんでした、非常に成功し、3つの競技場が建設中で、その年でした。)
UberやLyftのような企業の成功により、多くの人々はNP完全問題に非常にアクセスしやすい直接的な経験を持っています。
ドライバーのコレクションと、さまざまなタイミングで迎えに行きたい人のリストを考えると、ドライバーへの乗客の最も効率的な割り当ては何ですか?
この問題は(適切に言い換えた場合)NPCであり、Uberがドライバーと乗客をペアにすることをどのように決定するのか、人々はある時点で疑問に思っていると思います。
私は通常、SATを例として使用します。「常に発生するあらゆる種類の問題は、大きな論理式への真の割り当てを探すように書き換えることができます。P対NPの質問は、この論理式を単に解決するよりも根本的に簡単な方法があるかどうかです」これまでのところ、誰も道を見つけることも、簡単な出口がないことを証明することもできませんでした。」
Sudoku(nxn sqaure)のようなNp完全問題は、効率的に検証可能なソリューションを持つすべての問題を効率的に解決できるユニバーサルツールのようなものです。唯一の要件は、数独を解決する効率的な方法を持つことです。
-この状況では完了です。転倒できないと仮定すれば、これはブロックである必要はありません。それは、紙、木枠、またはプレートの積み重ねである可能性があります。
お役に立てれば!
気まぐれにアクセスできる例は、Mark Dominusによる簡単なプレゼンテーションです(関連ブログ記事を参照)。「My Favorite NP-Complete Problem」と呼ばれます。
ビデオシリーズのタイトルには、
明確な意図は、すべてのビデオに、幼い子供たちに興味のあるトピックのプールから引き出された共通のテーマに関する3つのエピソードを含めることでした。
シリーズの奇妙なアヒルは、「花、バナナ、そして…髪」に関するビデオでした。