NP ハードはハードという意味ではありません ||数学∩プログラミング

NP ハードはハードという意味ではありません ||数学∩プログラミング


NP 困難性がインターネット上に現れると、たとえば、愚かなブロガーがビデオ ゲームについて書きたいなどの理由で、NP 困難であることが証明されている問題は実際には非常に難しいと結論付けたくなることがよくあります。

「スーパーマリオはNPが難しいと科学者が証明した?私は自分がマリオを苦手とするのには理由があるとずっと思っていたんだ!」ごめんなさい、この二つは関係ありません。 NP 硬度とは、狭い意味での硬いことを意味します。この投稿で明確になることを願っています。その後、NP 硬度を超えてプログラマーとしての仕事に応用できる、数学的な意味での「ハード」の意味を探っていきます。

問題が NP 困難である場合、それは単純に、その問題を使用してロジックを表現できるほど、問題が十分に表現力豊かであることを意味します。これは、AND、OR、NOT を使用したブール式を意味します。スーパー マリオの例では、「問題」は、(1) プレーヤーのコントロール、(2) レベルを構成する許可されたタイルとキャラクター、(3) 最初から最後まで到達するという目標の束です。論理式はレベルの作成時にエンコードされ、問題を解決する (レベルを完了する) ことは、論理式が成り立つ条件を見つけることと同じです。

NP ハードはハードという意味ではありません ||数学∩プログラミング

オリジナルのスーパー マリオ ブラザーズの句ガジェット。3 つの変数の OR をエンコードします。

この意味では、宝具の硬さがスーパーマリオのすべてを硬くするわけではありません。論理式をエンコードするために設計されたレベルは、不自然で、複雑で、歪んでいます。彼らはゲームのルールを悪用して、ゲームにブール論理を詰め込みます。これらは 最悪の場合のレベル。これはマリオをまったく意図しない目的に使用するものであり、ハッキングと何ら変わりません。したがって、NP 硬度は最悪の場合の主張です。

繰り返しになりますが、NPの硬さはスーパーマリオが持っていることを意味します。 表現力。表現力が非常に高いため、最悪の場合には難しいと思われる他の問題もエミュレートできます。そして、数学的な「難易度」の目標はアルゴリズムの限界について推論することであるため、スーパー マリオを完全に一般的に解くことができるということは、レベル デザインがどれほどばかばかしいものであっても、どんな難しい部分問題も解決できることを意味します。

P != NP 予想は、ブール論理式が充足可能かどうかを決定する多項式時間アルゴリズムが存在しないことを示しており、その結果、スーパー マリオには (完全に一般的に) 多項式時間アルゴリズムも存在しません。

そうは言っても、実際には、スーパー マリオのレベルは論理式をエンコードしていません。現実世界のスーパー マリオのレベルはそのように (解けるように、楽しく) 設計されているという知識を使えば、アルゴリズムを使ってスーパー マリオを解くことができます。多くの例があります。

一般に、人間にとっての問題の難しさは、アルゴリズムの難しさとは無関係です。整数の乗算を考えてみましょう。これはコンピュータにとって解決できる些細な問題ですが、人間はこの問題に苦戦する傾向があります。コンピューターが 2,000 桁の数値を数ミリ秒で掛け算できるのに対し、7 桁の数値 2 つを 5 秒以内に掛け算できるのは驚くべき偉業です。

一方、タンパク質の折り畳みは NP が困難な問題として知られていますが、人間にとって十分に簡単に解決できるゲームに変換されており、プレイヤーは科学研究に貢献しています。実際、巡回セールスマンなど、最も一般的に引用される NP 困難な問題の一部でさえ、地球上のすべての都市と同じくらいの規模の入力で数時間以内に (最適に非常に近い) 問題を解決できるヒューリスティックで実用的なアルゴリズム ソリューションを備えています。

したがって、硬度の数学的概念は、実際の硬度の概念からまったく切り離されています。これは、一部の NP 困難問題を任意の精度内で効率的に近似できることは言うまでもありません。

数学をもう少し掘り下げてみましょう。 「ハードネス」は、アルゴリズムによる解決策の再利用性に基づいた問題間の比較に関する一連のアイデアです。大まかに言うと、$ R$ を解くアルゴリズムが $ C$ の任意の問題を解くアルゴリズムに簡単に変換できる場合、問題 $ R$ は問題のクラス $ C$ に関して困難です。どのような種類の変換が許可されるかを指定する必要があり、その変換は $ C$ のターゲット問題ごとに異なる可能性がありますが、それが基本的な考え方です。

スーパー マリオの例では、論理式を解きたい場合、式をレベルとしてエンコードし、その上でマリオ レベル プレイ アルゴリズムをブラック ボックスとして実行することにより、仮定上完璧なマリオ レベル プレイ アルゴリズムを論理ソルバーに変換できます。最後に if ステートメントを追加して、「レベルを完了できる/できない」を「式を満たせる/満たせない」に変換すると、変換は完了です。 NP 硬度にとって、変換にかかる時間は多項式のみであることが重要です。他の種類の硬度では、より多くのリソースを許可したり、より少ないリソースに制限したりする可能性があります。

ブール論理の充足性は NP 困難であるため、これがマリオを NP 困難にしている理由です。 NP におけるあらゆる問題はブール論理ソルバーによって解決でき、したがってマリオレベルのプレイヤーによっても解決できます。ブール論理の解決が NP 困難であるという事実は、証明するのが難しい定理です。しかし、それが真実であると仮定すると、NP 問題からスーパー マリオへの変換を構成することができます。

異なる種類の難易度の簡単な例として、有限量のメモリ (入力とは無関係) のみを使用して解決できる問題のクラスを $ C$ とすることができます。おそらく、このクラスの問題については別の名前で聞いたことがあると思いますが、投稿が終わるまで推測したままにしておきます。 $ C$ 困難な問題 $ R$ は、有限メモリで解決可能な問題を解決するためにアルゴリズムによる解決策を再利用できる問題です。

注意が必要です。NP 硬度の場合のように、解間の変換で (入力のサイズで) 多項式時間が許容される場合、変換だけで問題全体を解決するのに十分な時間があり、そもそも $ R$ の解を求める必要がなくなります。このため、変換で実行できる作業量を制限する必要があります。ここで、硬度の定義がどれだけ興味深いか、あるいは役立つかに影響を与える選択肢が得られますが、1 つだけ選んで、変換では有限の値のみを使用できるとしましょう。 時間 (入力とは独立しています)。

公平を期すために言うと、この定義に関して難しい問題があるかどうかは実際のところわかりません。おそらく存在しますが、彼らが $ C$ のメンバーではない可能性が高く、硬度の定義が非常に興味深いのはそこです。 $ C$ に問題があり、これも $ C$ 難しい場合は、次のように呼ばれます。 完了 $C$で。そして、完全な問題を発見したら、理論的な観点から言えば、あなたは勝者です。 $ C$ の問題解決の難しさを典型的に示す問題が見つかりました。したがって、複雑さのクラスを研究する研究者にとって、完全な問題を見つけることが中心的な目的となります。ビジネス業界でよく言われるように、「ABC: 常に完了すること」です。

より具体的で興味深い例として、すべての多項式時間で解ける問題のクラス $ P$ には完全な問題があります。ここでの変換は少し宙に浮いた状態です。それらは、対数空間計算、または多対数時間 (非常に高速な) 並列計算と考えることができる NC と呼ばれるもののいずれかです。 NC についてのみ言及したのは、NC を使用すると「P 完全問題は並列化するのが難しい」と言えるからです。

どちらを選択しても、P 完全として知られる非常に便利な問題が多数あります。 1つ目は、 回路値の問題、回路 (合理的なエンコーディングを使用してゲートと配線によって記述される) と回路への入力が与えられた場合、出力は何でしょうか?

その他には、線形計画法 (線形制約に関してこの線形関数を最適化する)、データ圧縮 (Lempel-Ziv-Welch を使用した文字列 $ s$ の圧縮バージョンには文字列 $ t$ が含まれますか?)、部分型の型推論などがあります。 Greenlaw らのこの要約には、さらに多くの内容が記載されています。それぞれは、他のインスタンスの任意のインスタンス、および P の問題の任意のインスタンスをエンコードするのに十分な表現力を持っています。 gzip が線形プログラムを解決できると考えるのは非常に興味深いですが、それは、スーパー マリオ レベルでブール論理をエンコードすることよりも不思議ではありません。

NP 難易度の場合と同様に、問題が P 難易度であっても、それが人間にとって簡単か難しいか、または典型的なインスタンスが簡単に並列化できないことを自動的に意味するわけではありません。 P 硬度も最悪の場合の保証です。

P 完全性を研究することは、NP 完全性が役立つのと同じように役立ちます。完全性は、完璧な解決策を見つけることを望むべきか、それとも近似やヒューリスティックに満足すべきか (または、問題のコンテキストを組み込んで簡単にするか) を示します。問題が P-complete であることがわかっているということは、期待すべきではないことを意味します 完璧 効率的な並列アルゴリズム、または 完璧 非常に限られたスペースを使用する効率的なアルゴリズム。問題が NP 困難であるとわかっているということは、問題を期待すべきではないことを意味します。 完璧 多項式時間解。言い換えれば、これらの制限を課せられた場合、ゲームはトレードオフの 1 つになります。厳格さと完全性により、作業が集中して迅速化され、原則に基づいた意思決定プロセスが明確になります。

次回まで!

PS 有限のメモリ量で解決できる問題のクラスは、まさに通常の言語のクラスです。 「有限メモリ」は、それらを解決するために使用される有限状態マシンです。





Source link

Postagens Similares

  • 评论:Ikigai 和 Kaizen – 日本实现个人幸福和职业成功的策略(安东尼·雷蒙德)

    在 Ikigai & Kaizen:日本实现个人幸福和职业成功的策略安东尼·雷蒙德通过东方哲学的视角对目标设定进行了发人深省的探索。雷蒙德的作品深入探讨了塑造我们的动机、生产力和使命感的心理和哲学框架。 雷蒙德围绕四个关键的东方概念构建了他的论文,每个概念都为他所谓的“终极目标设定工具箱”提供了一个独特的工具: 生贝 – 追求自己真正的使命;你早上起床的原因。 Lingchi – 比喻因反复出现的小压力而慢慢侵蚀幸福感——“千刀万剐”。 半生 – 诚实的自我反省对于从过去的错误中吸取教训至关重要。 改善 – 持续、渐进改进的理念。 雷蒙德没有将这些想法视为独立的解决方案,而是认为它们的真正力量在于它们的相互依赖。这种相互联系是一个反复出现的主题。没有 Kaizen 的 Ikigai 会导致潜力无法发挥。没有 Ikigai 的 Kaizen 会导致毫无灵魂的生产力。没有灵池的半生就缺乏语境。每个概念都支持并增强其他概念。 雷蒙德并没有停留在理论上。他通过以下方式将这些想法置于背景中: W.爱德华兹·戴明博士的工作 管理和系统思维 个人健康和健身,强调每日日志和习惯跟踪的力量 关系和谐,展示反思和渐进式改变如何改善人际关系 这些应用使这本书感觉扎根且具有可操作性,为读者提供了一种将这些哲学融入日常生活的方法。 这本书最引人注目的见解之一是它对成功的重新定义。雷蒙德认为,成就并不在于实现目标,而在于坚持前进的毅力——即使进步感觉缓慢或看不见。 “成功不是进球,”他写道,“而是坚持每天的努力。” 来源: 生命贝与改善 安东尼·雷蒙德 记录锻炼、记录反思以及做出微小的改进都成为精神纪律的行为。按照这种观点,实现目标不像爬山,而更像追逐彩虹。 在撰写有关人生高峰和低谷的叙述时,以高峰结束故事比以低谷结束故事更能鼓舞人心。但对实现目标的终生承诺由两者组成。每当登上一座山峰时,远处朦胧的山峰就会立即显现出来。攀登仍在继续。因此,实现目标的过程也许更像是追逐彩虹,而不是攀登高山。 来源: 生命贝与改善 安东尼·雷蒙德 生命贝与改善 对于那些厌倦了快速解决生产力问题并准备好采用更全面、更有意义的个人和职业发展方法的人来说,它是理想的选择。雷蒙德的框架提供了一个强有力的提醒:进步是可能的——一次一小步。 我今天可以采取什么小步骤来(从长远来看)改善我的处境? 来源: 生命贝与改善 安东尼·雷蒙德 对我来说,它与其他书籍并列,例如 平均的终结 和 从为什么开始。像那些, 生命贝与改善 挑战关于成功和动机的传统思维。它鼓励一种更深入、更个性化的成长方法——一种重视目标而非绩效指标、重视进步而非完美的方法。本书超越了 SMART…

  • Apple’s Mistake

    November 2009 I don’t think Apple realizes how badly the App Store approval process is broken. Or rather, I don’t think they realize how much it matters that it’s broken. The way Apple runs the App Store has harmed their reputation with programmers more than anything else they’ve ever done. Their reputation with programmers used…

  • 2020 年 8 月 17 日各州開放準備評估

    這些評估顯示了州級數據,可以幫助評估每個州重新開放的準備。 阿拉斯加州•阿拉巴馬州•阿肯色州•亞利桑那州•加利福尼亞•科羅拉多•康涅狄格•哥倫比亞特區•特拉華•佛羅裡達•喬治亞•夏威夷•愛荷華•愛達荷•伊利諾伊•印第安納•堪薩斯•肯塔基•路易斯安那•馬薩諸塞州 •馬裡蘭州•緬因•密西根州•明尼蘇達•密蘇裡•密西西比•蒙大拿•北卡羅來納州• 北達科他•馬裡蘭•緬因•密西根州•明尼蘇達•密蘇裡•密西西比•蒙大拿•北卡羅來納州• 紐澤西 • 新澤西州內華達州紐澤西州•賓州 • 羅德島州 • 南卡羅來納州 • 南達科他州 • 田納西州 • 德州 • 猶他州 • 維吉尼亞州 • 佛蒙特州 • 華盛頓州 • 威斯康辛州 • 西維吉尼亞州 • 懷俄明州 Source link

  • İNCELEME: X (Daniel John Pilkington)

    Daniel John Pilkington’ın kitabında Xgenellikle insanlardan ihtiyati bir güvenlik önlemi olarak birbirlerinden uzak durmaları istenen mesafeyi belirtmek için kullanılan, COVID sırasında fotoğraflanan bir dizi “X”i bir araya getiriyor – “burada, 1,5 m aralıklarla durun”. Bu, X’in fiil, isim, sıfat, kısaltma, sembol ve ikon olarak farklı tanımlarını bir araya getiren yan sayfalardaki bir şiirle tezat oluşturuyor….

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *