P (多項式時間) と NP (非多項式時間) は、特定の問題空間の根底にある複雑性の根源に取り組む問題です。たとえば、P 問題は、解決時間が多項式時間で増加する問題です。数値の配列 [a、b、c、d、e、f、g] があり、タスクはそれらの数値をソートすることです。現在のアルゴリズムがこの問題を解決する方法は、各数値を 1 つずつ調べ、現在の数値が最後の数値よりも小さい場合 (昇順でソートする場合)、数値を 1 つ後ろに移動します。配列に追加する数値が増えるほど、完全なソートにかかる時間は長くなります。ただし、その増加は段階的かつ予測可能です。
NP 問題となると、問題の複雑さははるかに大きくなります。たとえば、そのような NP 問題には「巡回セールスマン問題」(TSP) があります。この問題では、特定の数の都市を含む地図が与えられます。たとえば、都市は [a、b、c、d、e、f、g] です。目的は、これらすべての都市間の最短ルートを見つけることです。この場合、都市を追加するほど、解決策を見つけるのに必要な時間が大幅に増加します。
理解を深めるために、P 問題の場合、時間の増加は追加に似ていると考えてください。つまり、セットに新しいデータが追加されるたびに、データセットで見つかったデータポイントの合計が現在の時間に加算されるため、時間が増加します。たとえば、ソート問題では、数字が 1 つの場合、問題を解決するのにかかる時間は 1 (最後にチェックが必要なので 0 ではありません) で、2 番目の数字が追加されると、時間は 1 + 2 = 3 になります。3 番目の数字 (+3) では時間が 6 になり、4 番目の数字 (+4) では時間が 10 になります。
NP 問題に関して言えば、たとえば TSP の場合、追加された都市ごとに、追加された都市の番号に現在の所要時間を掛けます。都市が 1 つの場合、時間は 1、都市が 2 つの場合、時間は 1 x 2 = 2、都市が 3 つの場合、時間は 2 x 3 = 6 になります。4 番目の都市では、時間は 6 x 4 = 24 になります。もちろん、これは有効で現実的な時間増加のシナリオではありませんが、NP 問題のデータ セットが P 問題のデータ セットと比較して増加すると、どれだけ多くの時間が必要になるかを視覚化するのに適した方法です。
2 種類の問題を理解したので、次に提起する質問は次のようになります。P は NP と等しいか (適切なツールとアルゴリズムを使用すれば、NP または P の各問題を多項式時間で効率的に解決できる)、またはそれらは異なるか (複雑さは問題空間の固有の特性であり、したがって、知識と理解がどれだけ進歩しても、完全には解決できない問題が存在する)。
P-NP 問題に詳しい人は、それらは本質的に異なっており、効率的に解決できない問題もあると示唆しています。しかし、2 つの問題タイプ間の分離を解消することが目的でなければ、私たちの好奇心と理解は一体何のためなのでしょうか。
以降の部分では、この問題を見るために私が見つけた視点と私の見解を紹介します。この記事の最後までに、これら 2 つの絡み合った問題領域についての全体的な理解を明確に提示できたことを願っています。
問題の本質をよりよく理解するために、哲学の道を少し歩き、単純さと複雑さの本質について自問してみることにします。結局のところ、複雑さが究極的には単純さとは異なるのであれば、多項式時間で問題に取り組むために複雑な解空間 (つまり量子重ね合わせ性) が必要となる問題 (NP) が存在すると単純かつ真実に仮定できるかもしれません。
TSP 問題の場合、複雑なソリューション スペースは、すべての都市とそれぞれの位置を考慮し、それらすべてを保持して都市間の妥当なつながりを見つけるソリューション パスを表します。ただし、必要な重みをすべて考慮したとしても、開始する都市は、アルゴリズムが最も効率的なルートを見つけるために実行するウォークと同じくらい重要です。都市 a から開始する場合、最も効率的なパスは特定の形状になりますが、都市 b から開始する場合、最も効率的なパスは異なります。
あるいは、これは間違った推論かもしれません。結局のところ、最も効率的な経路は唯一無二であり、すべての都市間の最短のつながりを表すという理由だけで、最終的に最も効率的です。都市 A から都市 B への最短経路を探すのではなく、すべての都市を結び付ける最短経路を探します。この見方では、都市間の合計距離が最短である「崩壊」状態に似た最短ルートを視覚化できます。
あらゆる種類のパスを作成し、それらを比較する「ブルートフォース」アルゴリズムを使用する場合、それらのパスはすべて、アルゴリズムの同じ「ブルートフォース」推論の結果であるため、パスを作成する各インスタンスは、最終的には線形推論になります。そして、偶然に最短ルートを見つけた場合、アルゴリズムの「ブルートフォース」と「偶然」の側面では、そのルートが最終的に最短であるかどうかを知る方法はありません。
さて、このアプローチは、最終的には近似値を求めるように訓練される機械学習の力から恩恵を受けることができるようです。都市の地図と、都市間を結ぶ最短経路を使用して AI を訓練することを想像してください。この方法では、「力ずく」アルゴリズムの代わりに、「知識に基づいた推測」アルゴリズムに切り替えることができ、効率が確実に向上します。
ああ、でも、その最短経路に到達するには、やはり絶対的な方法が必要です。そして今のところ、目の前の経路が最短かどうかを 100% の精度で知る方法さえありません。この意味で、ヒューリスティックやその他の数学モデルは、最も効率的な経路を教えてくれる論理的基礎を理解することを目指しています。しかし、これらのアプローチは今のところ不完全であり、完成したとしても、最も正確な答えを提供できるのか、それとも「経験に基づいた」推測だけなのかさえわかりません。
シンプルさと複雑さという話題から少し逸れてしまったかもしれません。あるいは、本当に哲学的な方法でそれらに取り組むことから逸れてしまったかもしれません。この意味で私がしたことは、基本的に、私たちのアプローチで何らかの方法で特定のレベルの複雑さに到達できるかどうか、そして正しい解決策が見つかったら「はい」と答えられるかどうかを尋ねることだけでした。しかし、最短経路は都市の数に関係なくどの地図にも存在するので、他の経路から際立つ特定の値と特定の詳細を持っているはずですよね?
あるいは、これらの詳細は、さまざまな経路を無限にループした後に、総移動距離の形で初めて明らかになるのかもしれません。しかし、そう仮定するのは単純に不合理かもしれません。結局のところ、最短経路は、何度繰り返しても最短です。実際、さまざまなループを繰り返すほど、どれが短く、どれが大きいかがわかります。ただし、この推論は、精度が不十分な測定ツールで原子レベルの小さなループを区別したい場合にのみ必要になる場合があります。
ここで問題となるのは、調査の真実を見つけることではなく、調査をテストするために使用するツールの能力だということは、今では納得できるでしょう。木を切るときは斧を使います。音楽を聴くときはヘッドセットを使います。数学を形式化して理解するときは、論理的に構築されたツールを使います。
そして、おそらくそれが数学に見られる本来の美しさなのでしょう。単純なものを別の単純なものと組み合わせると、複雑なものができあがり、たとえば斜めに動いたり、完全な円を描いたりできるようになります。しかし、そのような単純なツールをどれだけ組み合わせることができるでしょうか。どの時点で、2 つの複雑なツールを組み合わせることができるでしょうか。また、できるとしたら、より複雑なツールは、より低い 2 つの複雑なツールを組み合わせることによってのみ実現できるのでしょうか。それとも、それらを構成するより低い単純なツールをすべて組み合わせることによっても実現できるのでしょうか。
この意味で、ヒューリスティックとは、相互作用によって、都市間の最短経路を見つけたかどうかを 100% の精度で答える方法を見つけることができるツールのようなものです。この観点からすると、ヒューリスティックはソリューションの証明器のようなものです。ただし、そのソリューションを見つけるには、他のアプローチが必要になる場合があります。結局のところ、P 対 NP の根源は複雑性の性質そのものに深く結びついているため、単一の線形時間で 2 つ (またはそれ以上) の異なる経路を歩くことができるかどうかを問わなければなりません。
ここにいることは興味深いことです。外に…そこに。執筆から30分の休憩の後、休憩は、その後に続くアイデアを最も適切な順序と最も理解しやすいスケールに配置するために使用されていました。そして事実は、アイデアはこれまで以上に明確であり、完全に閉じたサイクルにさえ崩壊したということです。そしてその後、そのサイクルは点となり、全体の中の輝く部分となりました。それが輝くのは、システム全体に関して何らかの点で特別だからではなく、それが現在の空間、現在の理解、そして私たちが座っている場所だからです。それは、上を見上げると複雑さと単純さの両方を見つける場所です。下を見ても同じことが見つかります。横を見ても、違いはありません。
このように、私たちは探しているものを見つけるというのはまさに真実です。私たちが NP の本質、つまり常に複雑なものを探せば、その最も外側にある複雑な本質の中に確かにそれを見つけます。また、その過程ではしごを登った後にはしごを捨ててしまうことを確実にするために、そこから単純さを奪います。しかし、その 2 つの見解を調和させる方法、つまり P と NP を、問題が存在するためには明確な解決策が必要であるという全体的な理解の単なる一部として統合する方法を探せば、十分な努力と献身があれば、最終的には解決策が見つかるということがわかります。そして、その解決策がいかにとらえどころのないものであっても、最も流動的で具体的な方法でそれを達成する可能性は常にあります。
さて、言葉による混乱をなくすために、私は P は究極的には NP に等しいという事実を主張していると言いたい。それは単に、解決策が見つかっていないからといって、解決策がそこに存在せず、偶然見つかるのを待っているわけではないからだ。そして、もしあなたが私を楽観的だと言うなら、私は自分を現実的だと考えていると言いたい。
もしかしたら、記事を終える前に結論を書いたのかもしれません。でも、私はこのスタイルが好きです。アイデアをただ積み重ねるのではなく、最後まで自分の考えを明確に表現できたという希望を持ち続けるという「生きた」スタイルの感覚をもたらします。
科学論文の性質上、まず「単純さと複雑さが絡み合っているため、P は NP に等しい」といった要旨を述べ、その後、なぜ、どのようにこれが真実であるかについての論点や考えを述べ続けます。
しかし、論文では、読む人に何かを理解させることが目的であり、教えることに似ています。科学研究は、その主題についてすでに知っている人が、提示された「推論」に関して考えや意見を述べることを目的として書かれますが、誰かがそれらの点すべてを結び付けたり、さらにそれ以上のことを行ったりできる知識を持っている場合、その「推論」は再構成され、論理的に完成され、科学的に根拠づけられ、「発見」になります。
両方のスタイルを融合させたらどうなるでしょうか。その結果はどうなるでしょうか。それは、アイデアが徐々に成長し、次々と洞察が生まれるようなものです。この意味では、抽象は意味を失います。なぜなら、筆者自身でさえ、その道がどこにつながるのか分からないからです。この意味では、筆者は、P が NP に等しいことや、P が NP と異なることを証明するなど、漠然としたアイデアや自主的な出発点を持っている可能性があります。その後、その洞察の構築中に、小さな見落としがまったく異なる方向を指し示す可能性があり、最後の議論を削除せずに引き戻そうとすると、混乱が生じるだけです。
ちょうど、最初に考えた構成に戻ってから、意図的にパート 3 を結論に再構成し、その結論に収めるのが美しいと思ったのと同じです。しかし、どうやってそこに戻るのでしょうか。つまり、読者の皆さんは、次々とアイデアを組み立て、全体的な形や形状を把握しようとしたかもしれません。しかし、それがすべての美しさではないでしょうか。論理的推論から少し離れて、創造性が潜在能力を開花させ、そして、新しい視点とより効率的な方法で答えに到達する、新しくリフレッシュした状態で再び始めることができます。この意味で、パート 3 は、すべてからの休憩に過ぎませんでした。ここでもう一度休憩して、少し散歩します。その後、パート 4 に進みます。
フラクタルについて考えるとき、私たちはあらゆるスケールと次元で同じ特性を持つ自己反復パターンを思い浮かべます。たとえば、マンドルブロー集合は細胞に似たものを表すフラクタルで、その細胞内を拡大すると、類似の構造が何度も現れます。実は、これらのまったく類似した細胞のような構造は、皆さんが考えるほど一般的ではありません。結局のところ、フラクタルは非常に素晴らしく、拡大するにつれて、その細胞を要約するすべての詳細を極めて明瞭に見ることができます。
草の葉に似た部分や、光がブラックホールの後ろを通過するときに見える光の曲率に似た部分など、他にも興味深い点がたくさんあります。そして、どんどん拡大していくと、最終的には、最初のセルに対して原子レベルの小さなスケールで繰り返される、同じ最初のセルに到達します。そこからさらに拡大することができます。
したがって、本質的には、フラクタルとは単純な P 問題から派生した道のようなもので、その潜在的な複雑さをすべて考慮すると、非常に頭を悩ませる NP 問題となり、解決に必要な計算能力が途方もない量 (解決への道が直線的であっても) であるため、解決不可能に思えます。たとえば、「マンドルボルト集合を 3000 倍ズームで描く」という P 問題を作成すると、その解は直線的になります。プログラムは単にフラクタル空間を歩き、データを少しずつ収集し、別の紙にコピーします。ただし、完全な描画に必要な時間は膨大になる可能性があります。プログラムに十分なメモリと効率を与えて、すべてを記憶し、同じ効率またはそれ以上の効率で貼り付けない限り、そうなるかもしれません。
さて、「マンドルブロ集合をこの紙に完全にコピーする」などの問題は、NP 問題と見なされるでしょうか。結局のところ、達成できるズームの無限性により、最初のピクセルを通過するのに無限の時間がかかります。しかし、その下に描画される無限の複雑さがある場合、どのスケールでもフラクタルをどのように見ることができるでしょうか。おそらく、フラクタルを描画するアルゴリズムは最初の画像を作成し、その後、複雑さと深さのレベルをどんどん高めるために無限に作業を継続します。そして、あなたは疑問に思うでしょう。ある半無限の深さ (または複雑さ) から、別の図形が見つかったらどうなるでしょうか。または、マンドルブロ フラクタルが他の方法、おそらくは反対の方法で表現され始めるポイントを通過するかもしれません。
このような頭を悩ませる質問に直面すると、確かに休憩が必要だと感じます。スケールを処理しようとしたために脳が過負荷になったかのように。しかし、ここで私たちが取り組んでいるのは科学的な研究ではありません。私たちの目標は、その複雑さと巨大さを単に探求することであり、処理することではないのです。相対的な重みを形成したり、物事のスケールを理解するために使用できるさまざまな種類の無限を見つけたりすれば、おそらくそれはより簡単になるでしょう。
たとえば、私の仮定が、無限の反対側ではマンドルブロー集合が鏡像に見えるというものであれば、半無限のズーム (または深度) から鏡像効果が発生し始めるのは理にかなっています。しかし、その半無限は現実ではありません。真の意味での無限は、マンドルブロー集合が、これまで存在した、存在できる、そして将来存在するすべての状態、形状、形態を保持することを示唆しています。しかし、境界があるのではないでしょうか。このフラクタルが単なるパターンであることは明らかです。確かに、さまざまな形状をとるパターンですが、それでもパターン自体、つまりその構造とルールの範囲内で制限されます。いずれにせよ、その「単なるパターン」は、それ自体で信じられないほど美しく複雑です。
前に述べたように、アイデアを構築する際には、当初の仮定とは反対の結論に導かれるという点に到達することがあります。つまり、この複雑さの爆発的な増加の後、P が NP に等しく、NP 問題が存在しないとどうして信じることができるのでしょうか。しかし、前回の記事で述べたように、アイデアを表現するときは、特定の概念を「指し示す」だけです。そして、必要な構成要素として、フラクタルに見られる複雑さの巨大さは、複雑さの潜在的な「頂点」として提供されなければなりませんでした。3 次元の無限が実際にどのように見えるかを定義することに関しては、理解のピークです。そして、私たちの周りには無限がすべてあるので、私たちはどこへ向かえばよいのでしょうか。
考えたいときにいつも行く場所です。ヴィンテージ ポイントを取り、フラクタルの最初の反復を見てみましょう。3 次元の無限がすべて目の前に広がります。針を投げてどこに落ちるか見たい場合、非常に奇妙な現象に直面する可能性があると考えられます。針の先端が小さいほど、落ちるのに時間がかかり、基底空間が広がります。同時に、当たる基底点は「無秩序」または「予測しにくく」なります。しかし、十分な数の無限に小さな針があれば、フラクタルの全体像を実現できるでしょうか。どれだけのスペースと針が必要であってもです。結局のところ、この有利な点から、限界をはっきりと見ることができ、完全な自己相似性が働かない限り、各反復の後に何らかの損失が発生するはずです。
しかし、複雑さはこのマップをはるかに超えています。針のサイズに関して言えば、それぞれのサイズごとに固有のマップが形成されます。しかし、小さい針のマップは、大きい針のマップをより複雑 (かつ高品質) に表現したものにすぎないのではないでしょうか。この意味で、複雑さはより詳細な空間の展開の一種を表します。多項式の探索の道筋内に収まる空間であり、信じられている仮定に反して、この複雑さの拡大により、複雑さがない場合よりも正確で効率的な探索が可能になります。
たとえば、完全に無限に複雑なフラクタル マップの代わりに、それほど複雑ではないマップを保持し、より複雑なマップ上に位置する特定の地上ポイントを実現したい場合、まず、それほど複雑ではないマップ上のポイントを選択し、そこにズームインして、実現したいより複雑なポイントを明らかにする必要があります。このアイデアは、NP 空間全体をひっくり返すと同時に、特定の問題を解決するために必要な多項式時間が数千年かかる可能性があること、そしてそれが多項式ロード上で発生することを認識しています。そして正直なところ、次の質問は、量子コンピューティングが、時間を x から x ÷ (使用される量子ビットの数) に短縮できる一種の重ね合わせ性を保持できるかどうかです。
量子アプローチの考えられる意味合いを詳しく説明する前に、私がこれまで述べてきた主張のマップを提示するのが適切だと考えます。
PとNPは同じものであり、適切な問題空間と適切な解決空間が見つかれば、すべての問題は最終的に多項式時間で解決できることを意味する。
NP問題は拡大多項式問題に似ており、その解空間は非常に大きく複雑であるため、解を見つけるのに長い時間がかかります。
複雑さと単純さは絡み合っており、その相互作用の中で、私たちの視点と達成された深さのレベルが、それらをどちらか一方として見ることになる。
私たちが実現する複雑なツールは、相互作用を利用して、より効率的に詳細な問題空間を解決するために使用されます。
シンプルさと複雑さをうまく利用して
そして結局のところ、量子コンピューティングの領域に足を踏み入れると、状況は根本的に変化するかもしれません。以下に、探索できる可能性のあるいくつかの方法を示します。
ここで述べられていることにもかかわらず、量子コンピューティングは、古典的なコンピューティングが提供するものと本質的に異なる独自のNP問題を抱えている可能性がある。
量子コンピューティングの性質は、同時に古典コンピューティングの補完的かつ絡み合った側面であり、最終的には量子NP問題を多項式的に解決するために必要なツールを提供する可能性がある。
これらの量子ツールは、古典的なアルゴリズムと並行して動作し、両方のパラダイムの最大効率を迂回する、さらに大きな効率を提供する可能性がある。
現在の量子コンピューティングアルゴリズム(どのように構築されているかはわかりません)では、機能の前提条件として古典的なコンピューティングの側面が必要になる可能性があります。この場合、古典的な観点と量子的な観点を2つの異なるタイプのコンピューティングに分類して、それらをよりよく理解し、統合できるようにする必要があります。
量子力学に秘められた膨大な可能性を考えると、私たちのプライバシーを束ねるシステムは絶えず脅威にさらされています。ZKP (ゼロ知識証明) システムは、おそらく実行可能な脱出ルートを提供します。結局のところ、その基礎は、鍵の所有者がロック解除プロセスで鍵に関する情報を一切提供しないという前提で形成されています。この観点からすると、鍵は、干渉して盗もうとする人々の目の前に、はっきりと見えるところに隠されています。しかし同時に、システムが構築され、動作する基盤は、システム全体を部外者の目から隠すことが可能です。
それは、古典的、量子的、あるいは量子古典的コンピュータを使って、常に変化し、常にぼやけている計算空間の迷路を歩くようなもので、周囲に見えるのは常に変化する空間だけであり、その空間を理解したいのであれば、その空間が最初に作られたときの情報を保持していなければなりません。その作成以来、システムを開始し、形作ってきた構成要素にアクセスできるようにするためです。
そして、あいまいさとシステムの海の中では、たとえ特定のシステムの構成要素にアクセスできたとしても、それをどのシステムに適用すればよいのかは決してわかりません。相互接続されたシステムの海はあまりにも大きく、特定の時間間隔で互いに形を変えながら入れ替わるシステムが多すぎるからです。
システム自体にとっては、どの情報を受け入れるべきか、どの情報を受け入れるべきでないかを知るのは簡単ですが、同時に、各システムが独自の視点を持つためには、極度の同期性が必要になります。しかし、色のグラデーションに見られる無限性を考えると、各構成要素は、別のシステムの色の状態に到達することから制限される独自の開始点と進行中の目標を持つことができます。これは、電波の動作に似ていると想像できます。
おそらく、このようなシステムの混沌とした要素は、全体として見るとまったく意味をなさない、ある種の相互に秩序立ったシステムを生み出す可能性があります。そして、それを解読するには、暗号によって形成された構成要素を推測する必要があります。暗号には、自身の境界内で絶えず変化する数百または数千の数字が含まれています。
この観点からすると、システムの数が増えるほど、攻撃者がシステムに侵入する機会は少なくなりますが、同時に、システムの数が増えるほど、攻撃者の選択肢も増えます。量子コンピューティングにより、利用可能なすべてのシステムで 1 つのキーを一度にテストできるようになるかもしれません。キーを継続的に生成し、一度にシステム全体でテストします。
しかし、現在のキーが見つかると、実際にシステムに入るには「最初の」キーが必要になります。あるいは、さらに良い方法として、最初の 10 個のキーをシステムに保存しておけば、実際の状態キーが推測されたら、その 10 個のキーのうちのランダムなキーを入力する必要があります。
あるいは、パズルの中にパズルが積み重なる。ひとつだけ確かなことは、外側の複雑さが開花し、すべての層で同時に多項式速度で拡大するということ。しかし、その後、システム自体は、ある時点から非常に高度で混沌とした状態になり、高度なエイリアンの暗号解読システムでさえも利用できなくなるはずだ、そうだろう?
今の私たちの立場を見つめると、この複雑さの完全な爆発をビッグバン、もっと正式には特異点と見なすと同時に、これらの進歩はこれから起こるすべてのことへの最初の踏み石に過ぎないことも認識しています。私たちは、未来について考えることが、これまで以上に未来を明るくすることに繋がる場所にいます。そして、確かに、それは常に重要でした。しかし、今、それはこれまで以上に重要であり、それは今後数世紀にわたって、そしておそらくミレニアル世代にも当てはまるでしょう。
何が見つかるかは誰にも分かりません。しかし、一つだけ確かなことがあります。それは、私たちが今下す決断が、未来の世代が選択しなかった方法で未来を導くということです。ですから、私たちは彼らの視点に目を光らせておくべきです。最近まで(そして現在も)、人々は自分の意志に反して戦争に送られてきました。破壊的な兵器を作らされ、さらにはそれをテストさせられてきました。
しかし、武器について理論化するだけで、代わりにそれらから身を守るために必要なシールドを作成したらどうなるでしょうか。まだ構築していないものを破壊しようとすることになぜ時間を無駄にするのでしょうか。もう一度言いますが、宇宙は最終的には本質的に善である可能性があると私が言うと、あなたは私を楽観的だと言うかもしれません。しかし結局のところ、宇宙は私たちに飢えとの戦い以外の戦いを提供しませんでした。飢えは最終的に私たちが一口ごとに美しさと味を感じることを可能にします。そしてそれは知識に関しては特に当てはまります。
私の考えでは、超強力なレーザー、または小型レーザーの配列の方が地球を隕石から守るのに効果的であると想定するのは愚かなことです。実際には、表面を少し削るだけで、量子重力の効果を推進力として有利に利用する力、つまり爆弾のようなものを、反重力だけを周囲に拡散させる力として利用する方法を見つけ出すことができます。あるいは、極限の力を使って隕石を後ろからコース外に押し出すほど強力なロケットに焦点を当てることもできます。同時に、ロケットを使用して列車全体を持ち上げて月に配置することもできます。
そして究極的には、これが解決空間の魔法ではないでしょうか。私たちは、決して知ることのできないものがあるという仮定のもと、限られた視点からそれを見ることも、自由意志の力と、運命や心全体を形作るその真の可能性を認めることもできます。