2−4 量子コンピューターの威力は人間側の最終防衛ラインを突破するか
さてこの2−4では、将来人工知能が量子コンピューターという新しい装いでパワーアップして再登場した時、果たして人間の天才的直観力はその挑戦をも退けて最終防衛ラインを守り切れるのか、ということについて眺めてみたい。
それというのも量子コンピューターに関する話題の中には、われわれにとって気になることが含まれているからである。それは、計算の枝の数が2のn乗で増えてしまうような問題の場合、在来型のコンピューターではすぐに能力限界に達してしまうが、量子コンピューターはそれをあっさり乗り越えられる可能性を秘めている、と言われていることである。
これは、今までの議論を踏まえるとわれわれが重大な関心を寄せざるを得ないことだろう。それというのも、第1部ではそういう問題はコンピューターでは非可算無限の時間がかかってしまい、たとえ演算速度が無限大になってもその壁を超えられない、ということが人間側の防衛ラインを支える最も重要な鍵となっていたからである。
そのためもしそういう問題を量子コンピューターなら超高速で解けてしまう、ということになったならば、人間側が頼みとすべき最大の防壁が破られて、議論全体が瓦解してしまうことになりかねない。そこで以下に、それについて検討してみることにしよう。
三体問題のアナログコンピューター
しかしそのように、計算速度が非常に上がってしまうというのは、何も量子コンピューターの場合だけに限らない。実はこれは一般に、いわゆるアナログコンピューターというものの多くで起こることで、それらのシステム内の一部分だけを眺めると、その内側だけでは非常に計算速度が上がってしまうという現象がしばしば見られるのである。
そもそもこの話は非常に古くからあるもので、そしてここでもやはり三体問題から話をスタートさせることにしよう。実際むしろ量子コンピューターの話もそこから見て行った方が、理解も早いのではないかと思われる。
さて三体問題は、以前から何度も述べているように、人間が紙と鉛筆で解くのも大変だし、コンピューターで解くのも非常に時間のかかる難問である。しかし実はその答えを意外に速く求める方法があり、それは計算器サイズの箱の中にミクロサイズの天体系をそっくりそのまま再現してしまうことである。
つまり箱の中に、天体に見立てた小さな粒子を飛ばし、それらの粒子同士の間に働いている粒子間の引力の強さも、ちょうど天体間の引力を正確に縮小した大きさに設定して、それらが天体の引力と同様に距離の2乗で弱まるように作っておくのである。
そうすれば、それらの粒子は天体同士の動きをそっくりそのままスケールダウンした形で運動するはずであり、要するにこの箱の中に天体系そのものが模型のように再現されるわけである。
つまり本来なら、3個の天体をある点からスタートさせた時に数十年後にどの位置にいるかは、大変な手間と時間を要する面倒な計算になるが、この場合には箱の中の粒子を最初にそのような位置関係にセットしてそこからスタートさせれば、各天体の動きがミクロサイズで高速で再現され、僅か数秒のうちに答えが得られてしまうことになる。
またもう少しひねった問題として、スタート位置をいろいろに変えた時に、どうすれば各天体を望みの位置に持っていけるかなどについても、試行を何千回も行っていけば正解に近づけていけるだろうし、それに要する「計算時間」も大したものではない。
つまりこれはいわゆる「アナログコンピューター」の一種で、上の話はその発想のいわば原点というべきものである。そして、普通のコンピューターなら非常に時間のかかる特殊な計算を、アナログコンピューターなら一瞬で解いてしまえる、という話も、その原点はすでに上の話の中で示されていると言えるだろう。
アナログコンピューターの「超高速性」
そしてこの場合、それをどのぐらい速くできるか、ということを考えた時に、実はこれまでに述べてきた「二つの無限」の問題が、部分的にクリアされるように見える現象が現れるのである。ではそれを今度は次のようにピンボール台のようなモデルで見てみよう。
ここでは昔ゲームセンターにあったようなピンボール台を考えるが、要するに盤面にピンが突き出ていて、玉が盤面の上端から降りてくる途中で、そのピンに何度もぶつかってコースを変えるという、いわばパチンコ台のピンをやや疎らにして本数を減らしたようなものである。
そして玉が一番下まで降りて行った時に、下端の左右どのあたりの位置を通るかを見るのだが、ここでは単純化のため、玉が1回ピンにぶつかるとその後のコースは2通りに分かれ、「右へ曲がる」「左へ曲がる」のいずれかになるとしよう。
そのように設定した上で「玉が盤面の下端でどのように分布するかを求める」問題を考えるのであり、これはパチンコ台を使った確率分布の、正規分布曲線の問題と基本的に同じである。(ただパチンコ台では、全てのピンの形状や配置は同じ形に統一されているが、このピンボールの場合には必ずしも各ピンはそのように統一されている必要はない。また一方、正規分布曲線と違って、下端での幅が左右に無制限に広がっては困るので、左右の壁にぶつかったら跳ね返って反対方向に戻る、という形に設定しても構わない)。
さてそれはともかく、この場合にはその分布を求めるに際して、次の図でもわかるように、アナログ的、デジタル的の二種類の方法が存在する。
まず一方のアナログ型だが、これは先ほどの話と同様、やはり箱の中にミクロサイズに縮小されたピンボール盤を再現し、小さな粒子が玉のかわりにその盤の上を通過していく、という装置を作ればよい。そして1回あたりの試行をコンマ何秒で行って、数千回の試行を高速で繰り返していくことで、答えを確率的に求めて大まかな分布グラフを描くことができ、試行回数を増やしていけば曲線の形をどんどん本物に近いものにしていける。
その意味でこれらは立派なアナログコンピューターであり、バリエーションとして粒子のかわりに、例えば光とか、あるいは何らかのパルスをシャープに絞り込んだものを盤面上に発射し、それが何度も反射を繰り返しながら進んでいく様子を追跡する、などという形でも、似たようなアナログコンピューターを作ることができるだろう。
一方それに対して、もう一つの方法であるデジタル型の場合には、1段ごとに2通りに枝分かれしていく経路の枝を、一つ残らず虱潰しに書き出す、という方法をとる。つまり盤面の一番上からピンを1段目、2段目・・・・としていって、一番下までn段あったとすると、1段ごとに2つに枝分かれするのだから、一番下の枝の数は2n本ということになる。
つまりこれをコンピューターの力技で虱潰しに全部書き出すのであり、デジタルコンピューターの場合には基本的にこういう方法で行うことになる。
さてこの場合、例えばピンがせいぜい10段程度で、そのぐらいのオーダーの計算を行えばよいという問題なら、どちらの方式でも大差ないのだが、その段数が増えて行くと、話は微妙なことになってくる
例えば、膨大な分子の運動をモデル化するために、ひとまずピン10本程度の簡略化されたモデルで考えて、その後に第二段階としてピンの段数を10段から無限に拡大する、という問題の場合などがそれで、この場合にはアナログ方式とデジタル方式の間に巨大な差が生まれてくるのである。
それは今の話からも簡単にわかり、アナログ方式の場合にはピンの段数を増やしていっても、せいぜい手間や負担は算術級数的にしか増加しないのに対し、デジタル方式の場合には枝が2のn乗で幾何級数的に増加してしまうのである。
実際にアナログ方式の場合には、段数をどんどん増やしていっても、玉が下まで落下する時間はせいぜい盤の高さに比例して増大する程度だし、また試行回数を増やして確率的な精度を上げていく場合でも、ピンの段数を増やしたからといって、必要な試行回数が幾何級数的に大きくなる、ということも滅多に起こらない。
一方デジタル方式の場合、ピンの段数を無限に増やしていくと、今までさんざん述べてきたように、その枝の数は「数えられない無限=非可算無限個」になってしまう。
だとすればそこから導かれることの意義は重大である。つまりこの場合、デジタルコンピューターを使った時には、手間数が2nで増えて非可算無限個になってしまうような問題でも、アナログコンピューターを使えば、その手間が「数えられる無限=可算無限個」ですんでしまう、ということである。
どこに両者の違いがあるか
もっとも読者の中には、なぜそんなパラドックスじみたことが可能なのか、一瞬疑問に思った方もあるかもしれない。そこでその理由を簡単に述べておこう。
まず当たり前の常識だが、一般に滑らかな曲線の形状を大まかに求める場合、いくつかの有限個の点を選んでプロットし、その間を線でつなげるだけでも十分できる。逆に言えばこういう場合、たとえそれらの点と点の間の区間に、本当は細かく見れば無限個(時には非可算無限個)のデータがぎっしり詰まっていたとしても、その大部分は落としてよいことになり、その意味でそれらは「どうでもよい」データである。
そしてアナログコンピューターの場合、そうしたどうでもよいデータが自然に埋没する構造になっているのである。一方それに対してデジタルコンピューターは、それらを馬鹿正直に全て書き出してしまうため、それらの不要なデータを処理して捨てる機能がどこかで必ず別に要求され、その手間がしばしば非可算無限個になってしまうのである。
しかしその弱点は、皮肉なことにデジタルコンピューターのもつ高い汎用性・柔軟性の裏返しだとも言える。つまりデジタルコンピューターの場合、そうしたどうでもよいデータも捨てずに一旦は書き出しておくことで、たとえそれが必要となるような問題を扱う局面に立たされても、その部分のプログラムをちょっと変更するだけで自在に対応できるからである。
一方アナログコンピューターではそういうことはできず、それらのデータが重要な役割を果たすような問題を扱うには、機械の構造そのものを根本的に変更せねばならない。つまりアナログコンピューターは、最初から限定された問題に対してのみの単能型的な対応しかできないのであり、その点がデジタルコンピューターとの最大の違いだと言える。
そうなると、前者でも扱えるような問題がどの程度存在するか、ということが重要なポイントとなるが、いわゆる「最適化問題」などの場合には、大体は解が滑らかな曲線であることが想定されている。そのためその曲線の極大点を「最適解」として求める際には、不要な大量のデータは落としてしまえることが多い。
その一方で、この種の問題の中には、解そのものはそうした滑らかな曲線の形で与えられているはずなのだが、それをデジタル的に求めようとすると計算の枝数が2nで増えてしまう、というものが少なくない。
例えば先ほどの正規分布の問題がまさにそれで、正規分布の場合はそれでも数学的に紙と鉛筆で曲線を求められるが、もう少しひねった面倒な問題になるとそれもできない。
そのためそういう問題は、今までのデジタルコンピューターでは時間がかかって解くことができなかったのだが、アナログコンピューターを使うと、そういう厄介な問題などを、デジタルコンピューターとは次元が違うほどの高速度で解けてしまうことになる。
そして量子コンピューターは、かつてないほどの規模でこの原理を本格的に使おう、という試みなのであり、その例が素数の暗号を解く問題や最適化問題などである。そして先ほどの話を踏まえると、ここでもし、人間の行動などの多くがそういう最適化問題で予想できる、などということになれば、それらの大半が射程に入ってしまう理屈になるだろう。
しかしそうなると、われわれの議論にとって重大な脅威が発生してくることになる。つまり今までこの議論では、「人工知能といえども、性質の悪い問題を解くには非可算無限個の手間と時間を要する場合がある」ということを頼みの防壁としてきたわけだが、そうなるとこの一番の基本論理が揺らいで、人間側はその最大の防壁を突破されてしまう、ということになりかねないのではあるまいか?
量子力学とホイヘンスの「波面形成法」
さてその重大問題に取り組むとなると、量子コンピューターそのものについての説明が必要だが、そうは言っても、そもそも量子力学の世界の話というものが、多くの読者にとってわかりにくく、その上さらにそれを応用したコンピューターを考えるとなると、歯が立たなくなるのがむしろ当然かと思われる。しかしここに一つ、意外に知られていない理解の裏技があるので以下に紹介しておこう。
まず、たとえそれほど物理に熟達していない読者でも、一般に量子力学的な現象は、粒子的な性格と波動的な性格の二つが混ざったものであることはご存じであろう。そのため後者の波動的な性格が主役を演じている場合、古典的な波の物理で最重要部分のイメージを理解できてしまう、という場合が結構多いのである。そして古典的な波の物理で最も基本になるのが、17世紀のオランダの物理学者のホイヘンスが確立した「ホイヘンスの波面形成法」であり、この問題もそれを通じて眺めると直観的なイメージを得ることが可能になる。
さてここで量子力学を眺めると、そこにはとにかく不可解な話が多い。例えば読者の中には「ファインマンの経路積分」という不思議な話を読んだことのある方があるかもしれない。
これは「電子がたどる経路1本の中には、それがたどりうるあらゆる歴史が畳み込まれている」という話である。つまり何か無数の多元宇宙のようなものがあって、それぞれの中で電子が一本一本全く異なる経路をたどるとしよう。そしてそのあらゆる経路を全て書き出して、それらをベクトルの足し算平均の要領で全て足し上げると、その合計として現れた一本の合成経路は、不思議なことに現実に電子がたどった経路と一致しているのである。
言葉を換えると、電子がたどりうるあらゆるを経路リストアップし、それぞれが起こる確率をそれらにウエイトとしてつけてやり、それを全て合計したものを一本の経路として求めてやると、現実の電子はまるで神の意志に従うようにその全歴史の合計コースを正確にたどって動いていく、というわけである。
そのため一見すると、これはもう人間のあらゆる理解を絶した神秘的な現象のように見えるが、しかしここで「ホイヘンスの波面形成法」を眺めると、これはまさにその17世紀に確立されていた波の基本原理にそっくりのものであることがわかるのである。
ホイヘンスの波面形成法とは
そこでこの「ホイヘンスの波面形成法」というものが一体どういうものかを見てみよう。それは一言で言うと、一般に波というものは、全ての点からそれぞれ放射状に広がる波(球面波)が発生していると考えて、その全てを重ね合わせたものとして表現される、ということである。つまりわれわれが日常的に目にしている波は、海や池の水面上にできる波に至るまで、その全てが意外に複雑精巧なそういう物理的メカニズムで成り立っているのである。
これだけではわかりにくいと思うので、もう少し詳しく説明しよう。ここで水面の上にスポイトで水を一滴落とすと、そこから図のAのように同心円状に四方八方に広がっていく波が発生する。この波は二次元の波だが、三次元に拡張すれば球面状に広がっていく波となるので、一般的にこれは「球面波」と呼ばれており、いわば波の一番基本的な形態である。
一方海の波を眺めると、それはBのように広い幅で一方向に沖から海岸に進む波で、同心円状に広がる波ではない。これは一見すると先ほどの球面波とは全く違うものに見えるが、しかしこの波も、実はたくさんの球面波の重ね合わせで表現されるのである。
そのメカニズムは、もう少し詳しく言うと次のようなものとなる。つまり先ほどのBのような波では、次の左図のように、波頭に沿ってこの直線状の波のあらゆる点から球面波が出ている、というビジョンで捉えるのである。
そしてここで右図のように、それぞれの各球面波を進行方向成分の波と、進行方向とは直角に真横の左右方向成分の波に分けて考えてみよう。そうすると、まず前者つまり波の進行方向成分のものに関しては、それぞれの球面波は位相が全部揃っているので、それらは互いに打ち消し合うことなく、互いに強め合ってそのまま進行方向に向かう強い波となる。
ところが横方向に進む成分の波を見ると、波頭に並んでいるそれぞれの球面波は横方向にはどれも位相がばらばらで、たくさん重ねていくとそれは打ち消し合って消えてしまう。
つまり横方向への波は全て打ち消し合って消えてしまうのに対し、進行方向への波だけが互いに強め合って残るので、全体として見ると、幅の広い直線状の波が進行方向に向かって一方向に進むように見えるのである。
これを一般の場合について言えば次のようになる。つまり次の図のように、ある大きな広い波全体の中で、A点、B点、C点などで各点の波の高さを測定したところ、それぞれA点では5センチ、B点では3センチ、C点では4センチだったとする。
その測定を終えた時点で、一旦この波全体を消去してしまい、全く新しく波をリセットする形で、それぞれの点から球面波をスタートさせるのである。その際の各球面波は、スタート時の高さを、先ほどのデータに従ってA点からは5センチ、B点からは3センチ、C点からは4センチの高さで個別に設定し、そこから球面波を別個にスタートさせる。
そしてこの3点だけではなく、全ての位置の点についてそれを行い、あらゆる点から発する球面波を全部重ね合わせてやると、驚くべきことにオリジナルと全く同じ波が現れてくるのである。また各球面波のそれぞれの振動数なども適切な値に設定すれば、その後の波の動き全体もちゃんと再現され、波はずっとオリジナルと同じ振る舞いを続けていく。
つまり少々意外なことだが。実際にわれわれが日常的に目にしている波は全て、基本的にこのような複雑な物理的メカニズムで成り立っているのである。そのため海の波のように一方向に進む波であっても、もしその波の一部だけをピックアップして残りの部分を消してしまったなら、それはこの一点から同心円状に広がっていく波に変わってしまうだろう。
実際に「波の回折」と呼ばれる現象がそれで、次の左図のように、幅広に一方向に進む波を一点だけ小さな穴の開いたスリットに通してやると、スリットの向こうでは同心円状に広がる波に変わってしまう。つまりこの場合には穴の位置の波だけがピンポイント的にピックアップされ、その球面波一つだけで波全体がリセットされるからである。
この回折という現象は、例えばレーザーを宇宙空間に向けて発射する際などにも問題となり、そういう計画では大抵の場合、遠距離でビームが広がって弱まることは障害になるので、なるたけ拡散のないまっすぐなビームを遠くまで送りたい。
しかし手元でどれほどの精度でビームを平行に揃えてまっすぐに送り出しても、レーザーの開口部の直径がちょうど先ほどのスリットの穴の直径に相当する役割を果たす格好になり、開口部を出た途端、この回折のメカニズムでビームは不可避的に拡散を始めてしまう。つまり開口部の直径が小さいと、原理的にそれだけでビームは、回折という現象によって宿命的に拡散してしまい、それは機械的な精度をいくら上げても克服できないのである。
さて少し古典的な波の話を長々としてしまったが、しかしそのように、一個の大きな波は、各点からの無数の波の足し合わせによって成り立っている、というビジョンが頭にあるかどうかは、量子力学に対する直観的イメージを得る上で大きな違いとなって現れる。
実際、このホイヘンスの波面形成法の「波のたどる動きは、周囲のあらゆる点から発する球面波の軌跡を全て足し合わせたものである」という話は、先ほどの量子力学の不思議な話、「電子のたどる動きは、考えうるあらゆる電子の軌跡を全て足し合わせたものである」という話に、実に良く似ていることがわかる。
というよりそもそもある意味で、その量子力学の「ファインマンの経路積分」というもの自体が、極端に言えば古典的なホイヘンスの波面形成法の話を、波動的世界像ではなく徹底した粒子的世界像から解釈し直したものに過ぎない、という言い方もできなくはない。
そして量子コンピューターの場合、量子力学の波動的側面の方が強く出ている話なので、その基本メカニズムはむしろこのホイヘンスの原理でイメージをつかんだ方が早いのである。
古典的なホイヘンスの原理を使った「さざ波コンピューター」
そこで早速、上の波面形成法の話を先ほどのピンボール台のアナログコンピューターの話と組み合わせてみよう。そしてこの場合はピンのかわりに、波の上下動に合わせて上下に動くブイを考える。
つまりピンボールの玉が途中でピンにぶつかりながら下端のゴールへ向かうのと同様に、この場合にも水槽やプールの中に多数のブイが配置され、スタートラインから送り出された波が、途中でそれらにぶつかりながらゴールのラインまで進んでいくわけである。
そして一昔前のピンボール台では、盤の途中に何個か配置されているピンに、それぞれ点数が割り振られていて、玉がそこにぶつかると、景気の良い音と共に玉が勢い良く弾き返されて点数が加算される仕掛けになっていたが、ここでも似たような仕掛けを付け加えておこう。
つまりこのブイにさらにもう一工夫加えて、これらは単に波の動きに従って浮力で受動的に上下に動くだけでなく、動力装置で能動的にシャフトに沿って上下に動くことで、一種の造波装置としても機能できるようにしておく。
またこのブイの手前には、波を受け止めるブレード状の板がついていて、ブイに向かって入射してくる波は、この手前のブレードで一旦エネルギーを全て吸収される。ただし波の情報とエネルギーはブイの造波装置に伝えられ、造波装置は一定の規則に従って振動数や振幅などに変更を加えて、そこから新しい波として進行方向に送り出すとする。
つまりこのブイのブレードに波が当たると、例えば1秒間に2回上下動していた波が、振動数を増して1秒間3回の形で送り出されたりする、などということが起こるわけである。
ただそのように変更を加えられるのは、無論ブレードの幅内にある波だけで、ブレードにぶつからなかった残りの波はそのまま脇をすり抜けていく。そして次のブイのラインでも同じことが繰り返され、それが何段にもわたって重なっていくわけである。
さてこの場合、それが十分な規則性をもったプログラムによって行われているならば、それは「一種の演算が施されている」と解釈することもできなくはない。例えば波がブイを通過する際に、振動数が毎秒2回から毎秒3回に変更されるとすれば、それは「1を足す」という一種の足し算と解釈できるからである。
そしてここで追加的な設定として、次の左図のように、各ブイは波がブレードに対して左寄りの方向から入ってきたときには「+」、右寄りの方向から入ってきたときには「−」の符合をつけて、その数値に応じた形で振動数を増減させるとしよう。
その際に、足し引きする数値をブイごとにいろいろに設定すれば、右図のように波が何段ものブイを通過する間に「+2」、「−1」、「+3」のような形で、振動数が次々変わっていくわけで、それは一種のアルゴリズムに基づく演算と解釈することもできる。
またもし波がブレードにぶつからずにブイを素通りしてしまった時には、そこでの演算が1回パスされて全体が違う演算(1個短い)になるため、そうした経路のバラエティも考えると、非常に多くの異なった演算パターンが生まれることになる。
そして波の経路の種類や本数がある程度多ければ、ある演算で生じるあらゆるパターンをカバーすることも可能になるだろう。そのため逆に言えばこの装置全体が、その演算問題を解くための一種のアナログコンピューターとして機能しうることになるわけである。
さらにこれをホイヘンスの波面形成法と組み合わせると、その潜在力はもっと大きなものになる。つまりこの装置に最初に1回、大きな波を送り込んでやった場合、それはホイヘンスの波面形成法に従って、いろいろな点から発する無数の波の重ね合わせとしても捉えることができる。
そしてそれら一つ一つが、それぞれいろいろな経路を通ってブイを通過し、最後にゴールラインで再び1つの大きな波にまとまるわけだが、これはちょうどその途中で無数の演算が行われていることに相当するのである。
さらに言うと、先ほどは各ブイが行う「演算」はわかりやすいように「+1」のように足し算として解釈されていたが、これは例えば「振動数を1.1倍に拡大する」という掛け算の形で考えてもよい。その場合でも、上の話は「+1」が「×1.1」に変わるだけで全く同様に成り立ち、その方が、いろいろな波が混じっている場合の話がやりやすい。
ここでブイに入ってくる波が、次の図のように最初は振動数「2」の波一つだけだったとしよう(@)。そしてこの波が1段目のブイの手前で、ブレードに当たる波と、すり抜ける波に分かれ、前者は「×2」の操作を受けることで、通過後の振動数は「4」となる(A)。
そしてこの前者の波と、ブイの脇をすり抜けて変更を受けなかった後者の波が、次の2段目のブイの手前で合流したとすると、「2」「4」の2つの合成波となり、それが「×1.5」の操作を受ければ、それぞれが一律に1.5倍されて「3」「6」となる(B)。
そして次の3段目以降でも同じことが繰り返され、その「3」「6」の波が、隣をすり抜けてきた「4」の波と合流し、さらにそれが3段目のブイで1.1倍されるため、「3.3」「4.4」「6.6」の3つの合成波となる。(C)
それが次々と繰り返されていくため、合成波とそれに含まれる波の振動数は、ブイのラインを通過するごとに、その種類が、5個、8個…と、どんどん増えて行き、その増加ペースも段を経るごとに拡大していく。なおこの図では、ブイの手前で合流する波は、単純化のため常に2つだけが互い違いに合流すると考えたが、実際にはもっと多くの波が合流してくるため、それらも加味すると大体、ブイを1段通過するごとに、合成波を構成する波とその振動数(あるいは波長)の個数はほぼ2倍に増えることになる。
そのためブイがn段あるとすれば、最後のゴール位置では2n個ぐらいの異なる振動数が重なった合成波となり、それは言葉を換えれば、2n通りの演算パターンが枝分かれ的に発生することに相当する。
要するに最初に1回大きな波を送り込んでやると、その途中で並列処理のように無数の「演算」が発生し、ゴール位置ではそれらが全部合わさった「重ね合わせ」の形でデータが得られることになる。つまりたとえ演算の枝分かれが2nで増えて行く場合でも、波を1回送っただけの観測結果の中に、そのデータが全て含まれる形になるわけである。
そしてこの場合も先ほどのピンボール台の話と同様、ブイの段数をn段としたとき、デジタルコンピューターで、その「演算」の枝を虱潰しにして残らず書き出すには、2nなどのクラスの膨大な演算が必要になり、段数nを無限大にすると、計算の手間が非可算無限回を要するものに膨れ上がってしまう。
一方この「さざ波コンピューター」の場合、確かにもともと機械の精度自体が悪い上に、原理的に言っても答えは百%完全に正確には求まらないものの、理屈から言えば確率的にはかなりの確度で演算ができる。そして1回だけでは誤差が大きかった場合でも、試行を2回、3回と増やしていくことで精度をいくらでも上げていくことができる。そしてその際の手間はいずれにせよ可算無限回の範囲に収まるため、「計算速度」には相対的に見て次元が異なるほどの差が生まれることになるのである。
そして読者はこれとよく似た話をどこかで聞いたことがあるのではあるまいか。実はこれは、量子コンピューターの特徴として良く言われる「一つの状態の中に重ね合わせの形で大量の演算が存在していて、それらを並列処理できる」という話とそっくりなのである。
無論本気で水槽を使って装置を作っても、その精度は悲惨なほど低いものになるだろうが、とにかく原理的には17世紀のホイヘンスの波面形成法を応用した「さざ波コンピューター」でもそれとかなり似たようなことができる、という意外な事実がここにあるのである。
どうやって演算結果を読み出すか
さてこのように聞くと、この「さざ波コンピューター」は非常に高い能力をもっているように見えるのだが、実はこのままでは一つ重大な問題点があって到底使い物にならない。それは、せっかくそうやって答えを超高速で得ることはできても、肝心のその答えを読み出すことができない、という致命的な欠陥を抱えていることである。
つまり途中で様々な演算が並列処理的に行われるのはよいとしても、ゴールラインでそれが全部混ざって一つの波になった時に、それらの演算結果も全部混ざってしまって、一つ一つを分離して採り出すことが不可能になってしまうのである。
これはかなり原理的な問題なので克服することが難しく、これでは全く使い物にならないと言われても仕方がない。しかし問題の性質によっては、この障害をうまくクリアできる場合が存在する。
それは問題の目的そのものが、この演算の個々の演算結果を知ることではなく、例えば「この演算を行った時、その結果の中に3の倍数となるものがどのぐらいの割合で含まれるのか」を知りたい、などというものであった場合には、それが可能になるのである。
そしてその際には、このアナログコンピューターが波を使っていることが重要な意味をもち、それは一般に波の場合、その波長(または振動数)と干渉のメカニズムを使うと、倍数の検出というものが比較的容易にできるからである。
つまりこの場合、波長がちょうど「3」の波(長さの単位は何でもよい)を検出用に1つ用意して、ゴール位置で合成の結果として現れている波全体にそれを重ねてやればよい。その場合もしその波全体の中に、検出用の波と比べてぴったり整数倍の波長をもつ波、つまり「3」、「6」、「9」…などという波長のものが含まれていれば、それらは検出用の波と干渉させても、打ち消し合うことなくむしろ互いに強め合うことになる。
それに対して波長がそれ以外のものは、位相がずれているので検出用の波を重ねると互いに弱め合ってしまう。そのため波長が3の倍数の波だけが、フィルターを通過するようにして現れてくるのである。
とにかく波というものの便利な物理的性質は、これらが全部混ざっている波でも、検出用の波を1回だけ重ねさえすれば、ちゃんと結果がまとめて一度で求まるということである。つまり必ずしも各波ごとに分けて別々に検出作業を行う必要はないのである。
そのためこれをアナログコンピューターとして使う場合、そのように無数の「演算結果」が重なり合っている大きな波に、外から検出用の波長「3」の波を1回重ねてやると、演算結果を全部混ぜた合成波の中から、波長が「3の倍数」となっている波だけが現れて、そういう波が多く含まれるほど、全体の振幅が大きい形で観測されるのである。
要するにこの「さざ波コンピューター」は、確かに個々の演算結果を分離して採り出すことはできず、そのためには使えないが、問題の目的が最初から個々の演算結果を知ることではなく、「ある演算を行った結果の中に、答えが3の倍数となっているものがどのぐらい含まれるか」を知りたいなどという性格のものであった場合には、一種のアナログコンピューターとして原理的には十分に機能することになる。
だとすればさらにそれをもう一ひねりして逆に使うと、倍数を探すことに使えるということは、「ある数の倍数にはなっていない=その数では割り切れない」というような数を探すことにも使える、ということである。
そして「どの数でも割り切れない数」とはすなわち素数のことであり、要するにこの「さざ波コンピューター」は、素数を効率良く探し出すための一種のアナログコンピューターとして使うことが、少なくとも原理的には可能だということになるわけである。
そして上のメカニズムはもう少し一般化することができ、要するに上の話の本質は「望ましい結果のデータが現れている場合には、それらを表現する波が互いに強め合い、そうでない結果のデータは互いに弱め合うよう、問題やシステムがうまく設定されていればよい」ということである。先ほどの3の倍数の話はまさにその例であり、そのような形にうまく工夫された問題なら、この「さざ波コンピューター」は使えるわけである。
(注・ただここでちょっと細かい物理の知識から注意しておくと、実は水槽やプールの波を使った場合には、後半部分の話は実際にはこの装置ではうまく成立しない。それというのもこの後半部分の話では、ブイを通過していろいろな波長の波が生まれる、という書き方をしていたが、水槽やプールの波の場合その波長は基本的に水深で決まってしまうからである。
つまり水深一定のプールでは、波の速度はいろいろに変えられるが波長の方は一定で変化させられない。これは光の場合とは対照的で、光の場合には速度は常に一定の「c=光速度」で絶対に変わらないが、波長の方は赤や青の光のようにいろいろに変えられる。
その意味では上の話は、本当は後者のタイプの波で行った方が、物理的な話としては正確である。その場合には、途中のブイのかわりに、光などがそこを通過すると波長(つまり色)をいろいろに変えてしまう、というようなものを考える必要があるだろう。
ただし、水面の波であろうと光であろうと、それらいずれにおいてもホイヘンスの波面形成法が成立しているという点には変わりはなく、そのため波としてどちらを使った場合でも、基本的な話としては一応どちらでもちゃんと成り立っているわけである。)
量子コンピューターとの比較
ではここで、この「さざ波コンピューター」の特性をあらためて整理してみよう。それらは
・装置の内部で大きな波を1回送ったとき、それはいろいろな状態の重ね合わせの形になっており、そのことを応用すると、デジタルコンピューターなら1回づつ行わねばならない演算を、大量に一度でまとめて行うことができる。
・特に、デジタルコンピューターで行った時には計算の枝の数が幾何級数的に「2n」で増えてしまうような問題でも、これを使うと非常に高速で行える場合がある。つまり前者では非可算無限回の手間が必要なものを、可算無限回の手間で実行するということも、原理的には可能になる。
・ただしその答えは百%正確に求まるわけではなく、「99.9%正しい」などという形で確率的にしか求まらない。しかしその精度は原理的にはいくらでも上げていくことができる。
・またその答えも、確かに超高速で求まりはするものの、一般にはそれを読み出すことが難しく、各演算の答え一個一個を採り出すことも通常できない。しかし特殊な問題を扱う場合には、それをうまく読み出せることがあり、例えば素数を求める問題などがそれである。
・そしてさらに一般化すると、望ましい結果が出てきた時には波が強め合い、そうでない結果は弱め合うようにシステムをうまく設定すれば、その答えの読み出しは可能になる。そのため最適解を求める問題などの多くで、これを応用することが期待できる。
・ただしそのように、「コンピューターの構造に合わせてそれに適する問題を選ぶ」という、普通とは逆の思想が要求されるため、汎用型というよりは、むしろ何かある特定の最適化などを行う問題だけを得意とする、単能型の超高速コンピューターとしての実現を期待されることが多い。
ということになる。読者はこれを見てどうであろうか。もし読者が今まで量子コンピューターについての話を読んだり聞いたりしたことがあったとすれば、ほとんどそっくりであるという印象を持たれたのではないかと思う。(中にはうっかりして、上の話は「さざ波コンピューター」ではなく量子コンピューターについて説明したものだ、と勘違いされた方もあるかもしれない。)
確かに無論、量子コンピューターと「さざ波コンピューター」は百%同じではない。例えばゴール地点で観測される波は、量子コンピューターの場合はデータの統計的な濃淡が波状に現れる「確率波」であることなどをはじめ、具体的にはいくつも相違点がある。
しかし両者の話がそこまで似ているということは、少なくともその本質部分に関する限りは、両者は同じだということを意味していると思って良いだろう。そしてそれは、量子コンピューターの原理的な限界についても、これを参考に判断できるということである。
量子コンピューターの弱点
では量子コンピューターの限界はどこにあるのだろうか。まず先ほどの話からわかるように、量子コンピューター(というよりアナログコンピューター全般)は、そもそも演算実行以前の段階で、うまい問題を選んでそれをシステムに適合する形に設定する必要がある。
つまりシステム全体を前半部と後半部に分けると、その前半部が、問題のアルゴリズムなどをうまく設定してそれをシステムに適合した形に調整する部分であり、後半部がその演算アルゴリズムを超高速の並列処理の形で実行する部分である。
ところが特に量子コンピューターの場合には、特有の弱点がある。それはもし後半部で演算を実行している途中に、その結果を見るため装置の窓を開けて状況を眺めようとすると、その際に窓から光子が装置の中に侵入してしまい、そして光子が一個でも入り込んでしまうと、計算機の量子的な構造がかき乱されて狂ってしまうということである。
そのため量子コンピューターでは、演算に入る前にまずシステム前半部で、演算をどういうアルゴリズムで実行するかを細部に至るまで最初に全て決定しておき、演算手順の全設定を終えた後に装置を完全に密閉してロックせねばならない。そして外から光子が入り込まないことを確認してから、後半部でスイッチを入れて演算を開始するという手順をとる必要があり、演算の途中で窓から中を覗いて眺めたりすることは一切できないのである。
これは量子コンピューターがもつ宿命的な弱点で、窓を開けると光子の侵入を防げない、というより、そもそも光子を窓から出し入れしてやらないと、中が真っ暗で観測すること自体ができず、これは克服できない原理的な障壁なのである。
そして演算の途中で窓を開けて中の様子を見ることが一切許されないため、演算の途中で結果を眺めながらそれをフィードバックし、演算のルールやアルゴリズムを徐々に修正して正解に近づけていく、ということは基本的にはできない、ということになる。
つまり言葉を換えれば、最初の問題設定の時点で、「神の視点」によって演算の形態やアルゴリズムが全て与えられているような、完全に演繹的メソッドによる問題でなければ駄目だということである。
もともとこれはアナログコンピューター全般に言える弱点で、帰納的なフィードバックを要求される問題だと、その1回ごとに演算を途中でストップさせてその都度、装置の設定に手を加えて修正していく必要があり、これではせっかくの超高速性を発揮することができなくなる。そして量子コンピューターではそれがもっと厳しいのである。
ところがそうだとすれば、扱えない問題が結構たくさん存在していることが明らかになってくる。例えば情報の流入によって問題の構造が変わってしまう問題、つまり第2部の話で言えば、社会などがフィードバック的な学習効果で次々に反応パターンを変えてしまうような問題などがそれで、そのため結局その種の問題は扱えないということになる。
確かにこういう場合でも、その学習効果によるあらゆる反応パターンを前もって全て書き出しておいて、事前にシステム前半部でその場合分けを完全に行っておく、という対応も出来なくはない。しかしその際には、その場合分けのパターン数が可算無限個以内に収まっているか否かが決定的に重要になり、もしそのパターン数が非可算無限個になってしまうと、たとえ次の演算部分の段階が2nの枝数の演算を扱う能力を持っていても駄目で、原理的にその演算はできないのである。
そしてこれは、たとえ将来どれほど無限に量子コンピューターが技術的な発達進歩を遂げたとしても、量子コンピューターが量子コンピューターである限り、絶対に克服することのできない根本的な物理学上の弱点なのである。
量子コンピューターの「超高速性」の実際
こうしてみると、読者は量子コンピューターの「超高速性」の実態が実際にどういうものかが理解できたのではあるまいか。そして第1部で「量子コンピューターといえども並列処理の本数が非可算無限個になってしまえばお手上げになる」という記述があったが、あるいはその時にこれを読まれた読者の中には「量子コンピューターはたとえ2nで枝が増えて行く問題でも超高速で解くことを得意としているのだから、この記述はおかしいのではないか」と疑問を感じた方もあったかもしれない。
しかし上の話を読まれたならば恐らくその疑問は氷解するものと思う。つまりその「並列処理の本数」が、もしシステム後半部で演算を実行する際の、並列処理の本数のことを指しているとするなら、確かにその記述は誤りである。
しかしむしろそれはシステム前半部の話だったのであり、事前に演算を設定する際に、場合分けのパターン数が非可算無限個になってしまうことを「並列処理の本数が非可算無限個になってしまう」と表現していたのである。
また一般に言われる「量子コンピューターは最適化問題に使える」という話だが、実は先ほど述べたように最適化問題は大体は解が滑らかな曲線で与えられているため、最初から量子コンピューターに適した問題であることが多く、その意味ではこの表現自体が一種のトリックだとも言えなくもない。
一方それに対して、解の曲線が滑らかではなく一点で崖のようにジャンプしていて、その点での顕微鏡的なずれが結果を大きく変えてしまうような問題だとそうは行かない。
例えば第1部で述べたような「初期値敏感性」をもつ問題や、社会の学習効果がフィードバック的に行われる問題などがそれだが、こういう性質の悪い問題は先ほどのように、システム前半部で障害が出て扱えなくなる。
そもそもこれらの問題には最適解が存在せず、あらゆる状況の組み合わせパターンを書き出そうとすると、そのパターン数が非可算無限個になってしまうという厄介な問題なのだが、世の中にはむしろこういう問題の方が遥かに多いのである。
人間と量子コンピューターの最終対決の行方
そして上の議論をひとたび経由するならば、われわれが最も知りたい重要な問い、つまり「人工知能が将来、量子コンピューターのシステムを採り入れてさらにもう一段の進化を遂げた時、その超高速演算能力を前にしてもなお、人間の天才の直観力は勝つ余地が存在し得るのか」という最終的な対決の行方に関して、一つの解答が明らかになってくる。
その答えの要点は、先ほどの「量子コンピューターで扱える問題と扱えない問題」を眺めて見ると、それがほとんどそのまま第1部の議論での「人間が人工知能と対決する際の不利な対戦場所と有利な対戦場所」と一致している、ということである。
例えば第1部での議論では、チェスのように演算ルールが「神の視点」で与えられていて、完全に演繹的メソッドが使える問題では人工知能側が絶対的に優位に立つ、という話があったが、実はそれは上の話では量子コンピューターを使えるタイプの問題に属している。
そして第1部で論じた他の条件に関しても、ほとんど同じことが成り立っており、それを眺めるならば、両者の将来的な対決の構図は次のような形をとるであろうことが予想される(ただしこの話はあくまでも、将来の人間側が第1部の対戦場所に関する結論を踏まえて、不利な場所からはすでに撤退し、配置転換を完了していることが前提である)。
その場合、将来量子コンピューターが本格的に稼働を始めたとしても、それが威力を発揮しうるのは、人間側がすでに撤退を終えている場所だということである。その一方で人間側が有利に立てるような問題や対戦場所では、もともと量子コンピューターは有効ではない。
そのため両者の対決の構図は喩えて言えば、人間側がすでに撤退を終えている無人の地に、量子コンピューターが豪雨のような砲撃を行ってそれがほぼ空振りになる一方で、人間側が主力を移して新たな拠点としている場所は、その最重要部分は量子コンピューターの射程外となってその威力が及んでこない、という形になることが予想されるのである。
そのため人間側の防衛ラインは、もし在来型の人工知能の挑戦に耐えられるならば十分に守られる、と推論できることになる。要するにたとえ人工知能側が将来、量子コンピューターという形でもう一段の進化を遂げたとしても、その超高速演算能力は人間側の天才的直観力との最終的な対決において、在来型を超えるほどの新たな脅威となることは基本的にない、ということになり、それをこの部分の最終的な結論としてよいと思われる