NP完全問題との毎日の出会い


回答:


24

非CSフレンドと一緒に使用する私のお気に入りの例はこれです:

アブラハム、A。ブルム、サンドホルム。物々交換市場の清算アルゴリズム:全国の腎臓交換を可能にします。EC07。

腎臓交換市場は、本質的にサイクルカバーの制限された形式です。私はこの例が好きです。a)要旨を説明するのは簡単です(より技術的な詳細を省くと)b)それは、より良いアルゴリズムが文字通り命を救うことができることを知っている数少ないインスタンスの1つです!

私の2番目のお気に入りの例は、病院と居住者の問題(別名大学入学問題)です。各病院はすべての居住者(医学生を卒業)をランク付けし、居住者は病院をランク付けします。各病院には一定数のスロットがあります。そこからは安定したマッチング問題であり、多項式時間で解くことができます。

しかし、実際には、カップルは一緒にシステムに入ることができます(はい、確かにシステムがあります)。そのため、システムは、例えば、両方とも居住を申請している結婚したカップルを分割しません。カップルを追加すると、問題はNP完全になります。説明が簡単であることに加えて、これは、長距離接続の導入がNP完全性を誘導する方法をうまく示しています。


1
素晴らしい例!David Manloveは、この種の問題(交換とマッチングの両方)に幅広く取り組んできました。このシステムは英国とハンガリーで使用されています。 dcs.gla.ac.uk/~davidm/publications.html 私の知る限り、これらのアプローチはNRMPアルゴリズムに勝っており、Eric McDermidの3/2近似アルゴリズムが最もよく知られています。 dx.doi.org/10.1007/978-3-642-02927-1_57
アンドラスサラモン

13

NP困難で適切に定式化された「毎日」の問題:

  • 大学のクラスをタイムスロットに割り当てて、スケジュールの競合を最小限に抑えます。

  • 結婚式のゲストを座席に割り当てて、友人が同じテーブルに座り、敵が座らないようにします。

  • 運転を最小限に抑えるために、リスト上のすべての観光スポットを訪れるロードトリップを計画します。


12

巡回セールスマンの問題は明らかにアクセス可能です...少なくとも私がいるところでは、これは非CSの人々の間で最も人気のあるCSの問題であるようです。アルゴリズムインストラクターが紹介したように、次の頂点カバーの図も非常に魅力的でした。

道路網があり、車が燃料切れになった場合に、道路の少なくとも一方の端にガソリンスタンドがあることを確認したい。

都市計画者は、できるだけ少ない数のガソリンスタンドを建設して、コストを最小限に抑えたいと考えています。これは本質的に頂点カバーの問題であり、多項式時間で最適な頂点カバーを見つけることは期待できないが、多項式時間では2倍しか離れていないものを見つけることができることを指摘することにある程度成功しました。単純に、最大一致の両方のエンドポイントを選択することで(特に、MMアルゴリズムが厳密には2ライナーではないため、視聴者がどれだけ熱心であるかによって、最後の詳細が省略される可能性があります)。

問題の性質にわずかな変化がある「複雑さのジャンプ」の例については、2色性と3色性のチェックの違いが良い例だと思います。4色の定理を取り巻くすべての宣伝で、マップを4色ではなく3色だけで適切に着色できるかどうかを確認するのは難しいことを指摘するかもしれません。かなりの数の人々がこれを非常に驚くべきものだと感じています。

別のかなり自然な状況は、オペレーティングシステムのデッドロック回復の問題です。これは、フィードバック頂点セットのNP完全問題によってモデル化されます-削除によりグラフが非循環になる頂点の最小数-これも注目すべき例であることがわかります(そしてそのウィキペディアの記事でさらに説明されています)。


3
最大のマッチングを計算し、説明する方がはるかに簡単である2近似のために十分です。
ウォーレンシューディ

1
@ウォーレン:それを指摘してくれてありがとう、もちろんあなたはまったく正しいです!
ニールダラ


7

ナップザックは、特に小さなスーツケースを扱う必要があった人にとっては非常に簡単に把握できます。動的プログラミングを知っている場合の良い例です。

もう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完全です)。


7
私は次のサブセット合計が好きです。お店でスナックを買うために£10が与えられます。お金が残らないように、購入の正確な組み合わせを見つけることができますか?
アンドラスサラモン

6

クロスワードパズルの構築はNP完全です。一連の答えが与えられたら、それらをグリッドに合わせてみてください。


5

TagxedoというWebサイトhttp://www.tagxedo.comを作成しました。これは、単語(頻度によってサイズが決まる)を形に合わせる単語クラウドジェネレーターです。結果は非常にきれいですが、問題はNP困難(パッキング問題)であることが簡単に証明されています。

興味深いことに、多くのNPハード問題には「簡単な」近似があります。Tagxedoは多くの場合、ほぼ完璧な仕事をしているようです。これは、P対NPの実際的な意味、および近似のトピックに関する興味深い議論につながります。


4

友人の一人は、北米のすべてのメジャーリーグスタジアムで野球の試合を観戦して、1年間の休暇を過ごしました。飛行なし。(彼はしませんでした、非常に成功し、3つの競技場が建設中で、その年でした。)


はい、しかし彼は彼のガス使用量を最小化しようとしていましたか?:)
Suresh Venkat

スタジアムは毎日営業していないため(タイムウィンドウ付きのハミルトンサイクル)、実行可能なスケジュールを見つけることさえNP困難でした。
ジェフ

4

UberやLyftのような企業の成功により、多くの人々はNP完全問題に非常にアクセスしやすい直接的な経験を持っています。

ドライバーのコレクションと、さまざまなタイミングで迎えに行きたい人のリストを考えると、ドライバーへの乗客の最も効率的な割り当ては何ですか?

この問題は(適切に言い換えた場合)NPCであり、Uberがドライバーと乗客をペアにすることをどのように決定するのか、人々はある時点で疑問に思っていると思います。


3

私は通常、SATを例として使用します。「常に発生するあらゆる種類の問題は、大きな論理式への真の割り当てを探すように書き換えることができます。P対NPの質問は、この論理式を単に解決するよりも根本的に簡単な方法があるかどうかです」これまでのところ、誰も道を見つけることも、簡単な出口がないことを証明することもできませんでした。」


2
毎日何人がこれに遭遇するのかわかりません。
デイブクラーク

3

Sudoku(nxn sqaure)のようなNp完全問題は、効率的に検証可能なソリューションを持つすべての問題を効率的に解決できるユニバーサルツールのようなものです。唯一の要件は、数独を解決する効率的な方法を持つことです。


2

NP

npjmNPpjkNP-この状況では完了です。転倒できないと仮定すれば、これはブロックである必要はありません。それは、紙、木枠、またはプレートの積み重ねである可能性があります。

お役に立てれば!


2

気まぐれにアクセスできる例は、Mark Dominusによる簡単なプレゼンテーションです関連ブログ記事を参照)。「My Favorite NP-Complete Problem」と呼ばれます

ビデオシリーズのタイトルには、

  • ダンス、音楽、書籍
  • 手、耳、足
  • エルモで目を覚まします(寝る、服を着る、歯磨きについて)
  • 近所の人々(消防士、ライフガード、看護師について)

明確な意図は、すべてのビデオに、幼い子供たちに興味のあるトピックのプールから引き出された共通のテーマに関する3つのエピソードを含めることでした。

シリーズの奇妙なアヒルは、「花、バナナ、そして…髪」に関するビデオでした。

花、バナナ、そして…髪。


0

特にナップザック問題を後で見るとき、このNP完全な問題はぴったりかもしれません:

数字の推測。正しい数字になるまで1つの数字しか推測できません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.