第1部
さてでは第1部に入るが、まずその概略を最初に簡単に述べておくと、この内部自体が3つの部分に分かれており、それらは
1−1・なぜ無限に進歩した先の話を考えることができるのか
1−2・「真性シンギュラリティ」の根底にあるメカニズム
1−3・人間側が勝てる場所と勝てない場所を数学的に割り出す
となる。
ではそれぞれについて説明していこう。
・まず最初の1−1では、人工知能が無限に発達進歩を遂げた状況を考える際に、非常に重要な知識となることが予想されるにもかかわらず、これまで意外に教養レベルでは知られていなかったことについて簡単な解説を行っている。そしてそれに基づいて、全体の構図がどうなるのかについても、大まかなビジョンを提供している。
・続く1−2は、この問題全体のビジョンを得るための最も有効なツールとしての「作用マトリックス」について簡単に解説した部分である。この部分はかなり理系寄りの内容なので、数学の苦手な文系読者はスキップしてもよいが、議論全体の構図を大きなスケールで眺めることが可能になるので、そういう読者もできればトライされたい。
・そして最後の1−3は、人間と人工知能の対決場所として、どういう場所を選べば人間側が勝てる条件が保証されるのか、ということを、数学的にきちんと整理する部分である。これは物事の根本原理から導かれる話なので、今後10年や20年ぐらいの技術的進歩の影響を受けず、この種の問題を考える際に、長く役に立ち続けると思われる。
もっともこの第1部全体の傾向として、やや理系的な議論が多く、そのため数学があまり得意でない文系読者の場合、適当にスキップして後の第2部や第3部に進んでしまってもかまわない。ただしその場合、読者は次のことさえ理解できていればよいのであり、これだけはしっかり頭に入れておいていただきたい。
それは、この論文全体のターゲットが次の命題に置かれているということである。その命題とは「問題のレベルを上げていくと、人工知能にかかる負担は幾何級数的に増大するが、人間の直観力にかかる負担は算術級数的にしか増大しない」ということであり、これが示せれば、人工知能と人間の対決の構図は一変すると考えられるのである。
とにかくこの命題さえ示されれば、一挙に人間側が有利になると言ってもよいのだが、一般にはこれまできちんと示されておらず、考え方の拠り所になるようなモデルも世の中に存在していなかったのである。
そのためこの論文の目的自体が、何とかしてそれを証明することに置かれており、第1部ではその前半部分、つまり「人工知能にかかる負担が幾何級数的に増大する」ということが最後の結論として示される。これがこの第1部全体の最も重要な結論であり、読者はそれさえわかっていれば、細部は飛ばしてもよいだろう。
1−1・なぜ無限に進歩した先の話を考えることができるのか
では本題に入るが、それ以前の問題として読者は、そもそもこの論文タイトルの中にある「人工知能やコンピューターが無限に進歩した場合・・・」という主題設定そのものに対して、一体なぜそんなことを議論できるのかという疑問を感じられたのではあるまいか。
つまり常識的に考えれば、それらの技術が無限に進歩した先の話を、現在のわれわれが想像できるはずがない。また、演算速度やメモリー容量が無限大に達したとすれば、常識的に考えてこの世界にある何物をもってしてもそれに対抗できないはずである。だとすれば、そのような想定で議論を行うこと自体が最初からほとんど無意味なのではあるまいか?
しかし実は数学的な根本原理の中に、この問題に関する決定的な鍵となる要素が隠されているのである。その鍵とは何かというと、それは一口に「無限大」と言っても、数学的には正しくは二種類が存在しているということである。
それらは、「数えられる無限大」と「数えられない無限大」の二種類で、前者は「可算無限」、後者は「非可算無限」とそれぞれ呼ばれて明確に区別されている。そして前者に比べると後者の方はスケールが一段階上の、いわば上位レベルの無限大として存在しているのである。
この意外な事実は数学者のカントール(1845〜1918)によって明らかにされ、当時の数学界にも大きな驚きをもって迎えられた。
もっともいきなりそんなことを言われても、さっぱりわからないという読者がほとんどかと思われ、そのためもうそろそろ読むのを止めてしまおうと思った方もあるかもしれないが、少しだけ待っていただきたい。
確かにこの話はまだ一般常識として流布しているとは言い難いのだが、実は後に見るように、この二種類の無限の話は、ひょっとすると人工知能と人間を根本的に分ける、非常に深い哲学的な話に発展していくかもしれない可能性をはらんでいるのである。
それは実際に後の第2部などで示唆されることになるが、とにかくそれを考えると、将来的にこの話は、人工知能の問題を語る上での基礎的な教養として、文系理系を問わずに不可欠なものとなっていくことも十分あり得ることなので、文系読者でも是非これを機会に「そういう話がある」ということだけでも、教養として頭に入れておくことをお勧めする。
しかし別に読者はこの難しい話の詳しい内容については全く理解する必要はない。ただ、次の二点だけを話の要点として覚えておけば、一応今後の議論についていくことはできるはずである。
まず第一は、一体どういう場合にそのような「数えられない無限」などというものが現れてくるかということである。これについては、一般にもし話の中で「幾何級数的な増大」が出てきた時には、それを極限まで延長すると、その先にこの「非可算無限」の世界が現れてきてしまう場合が多い、と覚えておけばとりあえず十分である。
そしてもう一つ、われわれにとって重要なのは次のことである。それは、一般にコンピューターで問題の答えを求める場合、もし計算に要するステップ数や演算回数が前者の「可算無限個」の範囲に収まっているなら、その問題の答えは求まるが、そのステップ数が後者の「非可算無限個」を要する場合だと、宇宙の終わりまでかけてもその答えは求めることができない、ということである。
無限大には二種類ある
さてこの二つだけを覚えておけばよいと言われても、まだこれだけでは余りに天下り的で、せめて教養としてはもう少しだけ中身を知りたいと思う読者もあるかもしれない。そのため、詳しいことは後でもう一度述べるとして、ここで要点を簡単に述べておこう。
この話の最大のポイントは、要するにわれわれが一般に物を数える際にはどんな数を使っているか、ということである。
例えば日常生活でリンゴなどを「1個、2個、・・・」と数えている時、そこで使われている数は何だろうか。その答えは簡単で、それは数字の中でも最も初歩的な、いわゆる自然数である。
これに関しては中学高校でも一応、自然数や実数については教わっており、大人になって数学から縁遠くなってしまっている読者でも、言葉だけは知っているはずである。むしろ細かな点はおいて、あらためて話の一番原点から言うと、この自然数というものは、そのように「物を数える」という最も基礎的なことを行うために作られた数字であると考えてもよいだろう。
そこでカントールは、今の話を逆に解釈して「物を数えられる=自然数と対応がつく」と考えればよい、という思想を導入した。
つまり例えばここにリンゴが68個あるとき、「それを数えたら68個ある」とは、数学的には「その個数が『68』という自然数と対応づけられている」という表現で言い換えられる、ということである。そして物事の個数がどんなに多くなったとしても、その個数に対応する自然数がこの宇宙のどこかに存在する限り、それは「数えられる」のである。
それに従って考えると、「自然数がこの宇宙に一体どのぐらいあるのか」についても、一つの答えが得られることになるだろう。つまり自然数の個数は確かに無限個あるが、それを「数える」際には自然数自身と対応づければよいというのだから、当然1対1で対応がつく。
そのため少なくともこの定義に従う限りは、自分自身と対応づけるのだから当然それは一応、数えることができる、という話になる。要するに自然数の個数は確かに無限個ではあるが、それでも「数えられる無限個」なのである。
そしてここでカントールが発見した重要な事実は、自然数と実数を比べると、実数の個数というものが比較にならないほど多く、自然数と比べてほとんど次元が違うほど膨大に存在しているということだった。
そのため実数と自然数を1対1で対応づけようとしても、実数側が大量に余ってしまって、集合としてのサイズで実数の側が完全に上回ってしまう。
それは言葉を換えれば、先ほどのように自然数と対応づける形で「数えよう」としてもそれができない、つまり「自然数を基準とする対応で数えようとしても実数はカバーできない=実数がいくつあるかは(自然数を使っては)カウントできない」、ということになるだろう。つまり実数は「数えられない無限個=非可算無限個」存在しているという理屈になるわけである。
こうしてみると、実数というものは自然数とは性質の異なる別物であり、両者の間に大きな溝があるという構図自体が、無限大の世界そのものの大きな特性なのである。
逆に言えば、実数そのものがその大きな溝の重要ポイントに位置しているため、実数の性質を調べることで、その溝を挟んで一体何が起こっているのかを解き明かし、「非可算無限の数」がどういう属性を持つのかについても、重要な手がかりが得られるということになるだろう。
そしてそれを踏まえた上で実数の性質を調べたところ、一般に物事が幾何級数的に増大している時には、それを極限まで延長すると、実数の個数と同等のものが現れてきて、問題全体が非可算無限個の世界に移行することが多い、ということがわかったのである。
結局それらのことを総合すると、無限大の世界全般の話として、先ほど述べたように、「一般に物事が幾何級数的に増大すると、その果てには『数えられない無限大』が現れる」ということが推論されるわけである。
コンピューターを「無限時間動かす」とは
しかしそれでもやはり何だか禅問答のようで、まだ読者には一見して縁遠い話のように見えたかもしれない。ところが意外にもこれは直ちにコンピューターの問題と密接にからんでくるのであり、読者は次の話で一挙にその状況が見えてくると思う。
まず先ほど出てきた「物を数える際には自然数を用いる」という話だが、これは言葉を換えれば、要するにこの世界に物理的実体として存在するものは、基本的に自然数でカウントされねばならない、ということである。(これはもう少し話を広げて、長さなどが小数で表されている場合も、単位を変更して、例えばその「何.何センチ」という小数の値をミリやμに変更すれば、大体は自然数に直せてしまう。)
そして人工知能やコンピューターの場合、これは次の形で問題に現れる。それは「コンピューターを無限の時間まで運転を続ける」とか「メモリーの容量や個数を無限個に拡大する」言ったとき、その「無限時間」や「無限個」とはどちらの無限大を指すのか、つまりそれは自然数の可算無限個なのか、実数の非可算無限個なのか、その一体どちらなのかということである。
その答えをずばり言えば、それらの無限大はいずれも前者の「可算無限個」である。なぜなら運転時間にせよメモリー容量にせよ、あるいは演算速度にせよ、それらはいずれも物理的実体である以上、基本的には全て自然数によって表現されねばならないからである。
つまりコンピューターの運転時間、メモリー容量、演算速度のいずれも、たとえ話を無限大に拡張したところで、それらは「可算無限個」の範囲に留まるわけである。
その一方において、コンピューターのアルゴリズムの中で計算の際に必要となるステップ数や演算回数は、問題の性格によっては幾何級数的に増大してしまうことがある。つまりその場合には、精度を極限的に上げようとすると、その演算回数が実数と同じ「非可算無限個」に膨れ上がってしまうのである。
そうなると、直ちに次の非常に重要な哲学的結論が得られることになる。それは、計算に要するステップ数や演算回数が、もし「可算無限個」の範囲内ならば、確かにコンピューターを宇宙の終わりまで動かせば時間内に結果を出せる。しかしその回数が何らかの理由で幾何級数的に増大し、「非可算無限個」になってしまった場合には、たとえ無限の演算速度をもつコンピューターを宇宙の終わりまで動かし続けたとしても、その答えは時間不足で求めることができない、という重大な事実である。
つまり意外なことに人工知能はこの点に原理的な限界を抱えているのであり、そのことが数学的に証明されうるわけである。
あるいは読者は今までそういう話が存在すること自体を知らなかったかもしれないが、とにかくこの無限大に関する認識を経ることで「人工知能が無限に発達したらどうなるか」という、今までは想像もできなかった議論にもメスを入れられるようになるのである。
参考エピソード・「人間原理」と無限時間
この理屈そのものは計算機数学では「計算量の理論」という形で従来からよく知られているのだが、その割には一般には常識として浸透しておらず、単に特殊な技術的問題のレベルに留まっていて、この種の議論に関して思想や哲学に影響を及ぼすに至っていない。
実際、理系のかなり物を良く知っている人でさえ、この「無限時間」に関する認識は不十分であることが多いのだが、実はこの認識不足は、単に計算機の話題に留まらず、もっと遥かに広範な哲学的な議論にまで及んでいる。その一つの例が、宇宙論などでも顔を出す「人間原理」の話題においてであり、余談だが以下に少し眺めてみよう。
この「人間原理」は、しばしば誤った形で解釈されることもあり、むしろそちらが発展して本流のように見られることもあるが、本来の正しい意味は次のようなものである。つまり、もし宇宙論などで、われわれが住んでいるような宇宙が生まれうる確率が、例えば百万分の一より遥かに小さいほどの極めて稀なものでしかなかったとする。
一般に健全な科学の常識からすれば、ある理論に基づいてそれが現実に起こる可能性がこのように低い確率に過ぎなかった場合、それは常識的に言って非現実的であるため、その理論自体を否定する根拠となるのが普通である。
ところが「人間原理」では次のような理屈が主張され、それは、仮にわれわれが住んでいるような宇宙が百万回に1回しか生まれないものだったとする。しかしその場合、残りの99万99…回の時には人間は誕生せず、そこでは今こうして議論を行っているようなわれわれも生まれていない。
つまり(少し人を食ったような話だが)今のようにわれわれがこうして議論を行っているということ自体が、たまたまその百万回に1回のレアケースが奇跡的に生まれたために起こっているのであり、標準的なケースである残りの99万…回では誰もそれを見ていないから、それらは記録されずカウントもされていなかった、という理屈になる。
そう考えるといわば「我、議論する、故に我あり」というわけで、その確率がどれほど希少であっても、論理的には一応筋が通ることになり、そのこと自体は必ずしもその理論を非現実的として否定する根拠にはならない、というわけである。
これは一応は論理的に正しい話なのだが、ただ世の中にはこれが妙な形で発展して、本来の意味とは全く逆のものとして解釈されることも稀ではない。つまりその話の中の、レアケースとしての実現確率の低さを、逆に「神が人間に合わせるように宇宙を作った」という意味の一種宗教的な形で解釈するもので、むしろそちらのバージョンの方が主流だと思われることも多いようである。
その一方、上で述べた本来の合理的な正しい「人間原理」の側も、そちらはそちらで暴走するケースがないでもなく、そこではさらに駒を進めて、話のスケールを無制限に拡張したがる傾向がある。つまり先ほどの話の場合、百万分の1などの数は確かに小さいものの、それでも一応は有限値に留まっていたが、ここでそれを一挙にほぼ無限大の話に拡大してしまうのである。
そうなると、徹底的な合理主義の立場で、神やそれに類する神秘的なメカニズムなしでこの世界が生まれたことの論理として、この「人間原理」を使うことができるようになる。
例えば生物の発展進化が全て偶然によるものだと考えれば、そうした神のようなものの存在は全く考える必要がなくなるが、言うまでもなくそんな偶然の積み重ねが実現することは、到底百万分の1どころではなく、天文学的に小さい、というよりほとんど無限小に近い確率となる。
ところがここで先ほどの「(正しい)人間原理」をより大規模に使って、宇宙の終わりまでの時間がほとんど無限だとすれば、その無限小の確率でさえ乗り越えられるだろう。そして単に生物の進化のみならず、この秩序をもった世界や宇宙そのものが生まれた経緯についてもそのように考えれば、神のような神秘的な存在を一切考えずとも、単なる偶然の積み重ねだけで無からこの世界の秩序が生まれうる、ということになり、とにかく「無限の時間」を想定することで、哲学的にも究極の無神論的な論理が成立するのである。
まあここまで徹底した無神論や「完全偶然論」には、ひょっとしたらアインシュタインでも顔をしかめたかもしれないが、実はホーキングがどうやらこの人間原理の信奉者であるらしく、著作の中で「ローマ法王の前でこの話をしたことがあるが、自分がその時本当に何を考えていたかを法王が知ったら、そんなに穏やかな対話にはならなかったろう」といった意味の話を書いていた。つまりそこから想像すると、ホーキングは先ほどの後者のような、無限時間までを考える徹底した人間原理が頭にあったのではないかと思われる。
しかし読者は、以前の議論を踏まえることで、この話のどこに問題点があるのかは、すでにご理解いただけているのではないかと思う。要するに問題の本質は、その際の「無限」が一体、可算無限個と非可算無限個のどちらの無限を指しているのかということである。
つまり先ほど述べたように、完全に偶然の積み重ねだけで、無から出発して生命や人間が出現してここまでになるとすれば、そのために要する試行の数は当然、ほぼ無限に近いほどの膨大なものとなるはずである。
一方その試行を行うための時間は、先ほどの議論と同じく、もし宇宙の終わりまで無限時間続けたとしても、その「無限」は可算無限の範囲に留まることになる。つまりもし試行の回数が幾何級数レベルに増えて、その極限において非可算無限個を必要とする場合、たとえ宇宙の終わりまでその試行を続けたとしても、全く時間が足りず、その場合には「(正しい)人間原理」といえども有効な形では成立しないことになる。
まあ生物進化の話だけなら、それでも一応は物事が有限値の範囲なので、説得力は限りなく低くなるものの完全にゼロとまでは言い切れない。しかし考慮すべき要素の数が何個に増えるかわからない一般の話となると、少なくともその極限までを考えた先では、哲学的な話としての有効性は事実上失われてしまう。
逆に言うと、この種の無限時間を想定する究極的な「人間原理」を考える場合には、その際に要する試行回数が、その極限では可算無限個と非可算無限個のどちらになるのか、ということを問題の最重要チェックポイントとして常に意識している必要がある。
ところが筆者が見た感じでは、どうもホーキングがその時これを頭の中で意識していたようには見えない。確かに一応は有限値の範囲で話をしているので、これは絶対的な欠陥とまでは言えないが、それでも哲学的に完全を期すためには何らかのエクスキューズは必要だったと思われる。
そしてまた、彼の話に対してその点が重要ポイントだとして、そこを補強したり批判したりする科学者もあまりいなかったようで(読者もそういう話をあまり読んだことはないと思う)、そこから推察すると、どうもこの「二つの無限」を巡る話との関連性は、ホーキング・レベルの人間の間でさえ十分に常識とはなっておらず、何か「無限の時間」という言葉だけで問題を終わりにしていたように感じられる。
大体において一般に、今まで議論の中ではとにかく「無限の時間」というフレーズさえ登場させれば、それをいわば最終兵器とすることでどんな障害でも乗り越えられる、と錯覚されがちだった。あるいは読者もそうだったかもしれないが、実はその点でこのフレーズは必ずしも万能ではなかったのである。
そしてこの「二種類の無限」が実は宇宙の本質に関わる非常に大事な話だということを理解することで、あらためて人工知能を巡る全体像も正しく見えてくるのであり、シンギュラリティに関する議論の構図も、このように大きな視野から眺めることで初めてパノラマ的に見えてくるのである。
パノラマ的に眺めたシンギュラリティの段階的構図
そして良い機会なので、この際コンピューターや人工知能に関連する他のトピックスも集めて、それら全部を上の話と一緒に、一枚のパノラマ的な図にまとめてしまおう。(恐らく読者の中にも、このレベルまで整理されたものを見るのは初めて、という方も少なくないと思う。)
まず第一に、「序」で述べたようにこの議論全体が「社会的シンギュラリティ」と「真性シンギュラリティ」の二つのレベルに大きく分かれている。そして前者の場合に問題となるのは、現在の人工知能の技術レベルに関して、その現場の技術者がどんな具体的な障害にぶつかって苦労しているかということであり、その壁がいつごろ突破されるかのスケジュール予測が、議論の中心となっている。
それに比べると、後者の真性シンギュラリティの場合には、現場の技術よりむしろ原理的な限界が問題となるが、ただ実を言うとこの話題の中もさらに二つに分かれており、それは物理学的な原理的限界と数学的な原理的限界である。
そして後者の数学的限界が先ほどの無限大に関する話で、前者の物理的な話は、本稿ではあまり重要ではないのだが一応述べておこう。実はコンピューターの場合には先ほどの話とは別に、物理的な意味での速度限界というものも存在しているのである。
どういうことかというと、一般にコンピューターというものの構造をどんどんばらしていくと、その一番の基本は、二つの素子の間で信号をやりとりすることで成り立っている。そしてコンピューターの動作スピードをどこまで上げられるかは、早い話、その1回あたりのやりとりに要する時間をどれだけ短くできるかにかかっている。
この場合、素子同士の間での信号の伝達速度そのものは、光の速度が上限となっており、それ以上速くすることはできない。そのため、二つの素子の間隔をなるたけ近づけて距離を短くすることが、動作スピードを上げるための鍵となるが、ところがそこには一つの物理的な限界が存在しているのである。
これは古くは光学的な顕微鏡で発生した問題だが、一般に物事を極限まで精密に観測していこうとしても、普通の光を使う顕微鏡では物理的な限界に達してしまう、ということが起こったのである。そのため当時この限界に遭遇した際には、光より波長が短い電子線を使う電子顕微鏡によって、その壁が乗り越えられた。しかしもっと細かいものまでを精密に見ようとすると、最終的には物理学の不確定性原理の壁に引っかかってしまい、どんな手段を用いてもそれ以上細かい観測はできなくなる。
そして一般に物理学では、その影響が現れてくる大きさのレベルを「プランク・スケール」と呼んで「h」などの記号で表す。つまりコンピューターの場合も、二つの素子の間隔をどんどん近づけて行って、その距離がプランク・スケール以下になってしまうと、もうその二つの素子は識別ができなくなり、演算素子として用をなさなくなる。(ただしその間隔の大きさは具体的な数値として一意的に定まるわけではなく、あくまでも一つの大まかな目安である。)
つまりこの大きさ限界のプランク・スケールhを光速度で割った値「h/c」が、物理的な動作スピードの限界に関する一つの目安だということになり、いずれにせよ現在の原理に基づくコンピューターは、物理学的にも演算スピードに原理的な限界を抱えているのである。
ではこの話と先ほどの非可算無限個の話の位置関係はどうなっているのかというと、一言で言えば先ほどの非可算無限個の話は、今の素子の話より格段にスケールの大きな話である。そのためあらためて全体の構図を整理すると、次の図のようになるだろう。
図では下に行くにしたがって話のスケールが大きい根源的なものになっていくが、そのため先ほど論じた素子の物理的限界の話=「C」は、非可算無限個の話の「D」より一段階レベルの小さなものとして、図では一つ上の位置に書かれている。
あるいは読者の中には、このCの物理的限界の話を聞くこと自体が初めてという方もあるかもしれないが、先ほどの非可算無限個の話「D」は、それさえも遥かに上回るものなのである。
その意味ではこの素子の物理的限界の話「C」は、一応は真性シンギュラリティに属する話題ではあるが、正しく言えば非可算無限個の数学的限界の話「D」と社会的シンギュラリティの話「A」の、ちょうど中間あたりに位置する話題だと言えるだろう。
なおこのCの物理的な速度限界の議論では、もし将来「量子コンピューター」などが出現したら、その壁を乗り越えられる可能性があるのではないか、ということが半ば夢物語として語られる場合があり、あるいは読者はそういう話を小耳にはさんだことがあるかもしれない。
そしてもし「将来のコンピューターの進歩」として、その可能性までも含めて考えてよい、ということになると、このCの物理的限界の話は必ずしも越えられない壁とはならないことになる。
しかし先ほどの非可算無限個の数学的限界の話Dは、それよりも遥かに徹底した一段スケールの大きな話であり、もしそこに限界が現れたとすれば、それは量子コンピューターがあろうがなかろうが、絶対に乗り越えられない壁なのである。
参考・量子コンピューターと素数の話
なお上の図には、少し上の方に「B」というレベルが書かれているが、これはいわゆる量子コンピューターの話題と関連したものである。
一般に「量子コンピューター」と呼ばれる話題の中には、いろいろな内容のものが含まれていて必ずしも一通りではないが、この図の中にあるのは、その中でも最も初期段階から議論されていたもので、それは「素数の計算」をどう行うかという主題を巡る話である。
この素数の話自体は、人工知能の話題とは少し離れていて、ここでの議論に直接の関連はないのだが、後の第2部を読まれる際に一応知っていた方が良いため、簡単に述べておこう。
さて現在のコンピューター技術では「素数の計算」が重視されているが、それは現在のネット社会を支える暗号に、広く素数が用いられているからであり、それゆえその計算をどのぐらいの速度で行えるかは、重大な問題なのである。
というより現在の暗号技術は、むしろその計算に非常に時間がかかってコンピューターでも手に負えない、という弱点をうまく逆手にとって応用しているのであり、その基本的な発想はそれほど難しくないものなので、知らない人のために、少しデフォルメした形で簡単に補っておこう。
つまりまず、桁数の大きな素数(例えば10桁ぐらいの)を2つ用意して、それらを掛け合わせた20桁ほどの数字を作る。
そして後者の20桁の数字は、ネットの中に普通に乗せて通信や通販に用い、相手はそれを簡単に受信できる。つまりこれはいわば公開されているわけで、その気になれば誰でも脇からアクセスしてこの数字を知ることができる。
ただ、本命の通信相手は先ほどの10桁の素数の一方を「鍵」として持っており、それは誰にも知らせず秘密にしている。
そして送られてきた20桁の数字を、手元の10桁の素数で割ってやれば、もう一方の10桁の素数も簡単に求められる。この場合、そうやって求めた後者の10桁の素数こそが、コンピューターを実際に動かして商品などの受け渡しを可能とするコードナンバーだというわけである。
こういう場合、手元に鍵となる10桁の数字があれば、割り算であっという間にコードナンバーの10桁の数字を求めることができるが、その鍵なしで20桁の数字を素因数分解して2個の素数を求めるには、大変な計算を行わねばならない。そのためこの性質はネットで用いるには非常に都合が良く、これが現在のネット社会を成り立たせているといっても過言ではない。
ところがいわゆる「量子コンピューター」は、この計算速度を飛躍的に向上させることで、その鍵の存在を危うくする可能性を秘めているのである。逆に言えばこの話題自体は「素因数分解」という問題だけに特化したものではあるが、それでもこれは現実的に重要な問題なので、最先端の論文や量子コンピューターの多くが、この課題を解決することを目的としている。
そしてこの話で鍵になるのが「並列処理」という考え方である。この並列処理とは、要するに問題をあらかじめ多数のケースに分割し、それを多数のコンピューターで分担してそれぞれ別々に作業を行って、最後にそれをつなぎ合わせて最終的な答えを求める、というものである。
一般の問題では、必ずしもどんな場合にもそんな都合の良いことができるとは限らないのだが、ただ素数を求める問題の場合、特殊なアルゴリズムを用いると、こういう並列処理を行っても本命の答えと同じ答えをかなり高い確率で出すことができ、並列処理の本数を増やしていけばその確率を1に近づけることができるのである。
そして一般に議論される量子コンピューターの場合、そうした大量のコンピューターをミクロなサイズで量子的な形で作ってしまって、その重ね合わせで物事を処理していこう、という話になっている。
量子コンピューターでも「D」の壁は突破できない
しかしこの並列処理の問題においても、やはり「非可算無限個」の問題はついて回る。つまりたとえそういうミクロのコンピューターを、大量にほとんど無限個作って量子的に重ね合わせるといっても、そのミクロのコンピューターの個数はやはり「可算無限個」の範囲に留まる理屈になるからである。
そのため、もしその個数や並列処理の本数を非可算無限個まで拡大しないと答えが求まらないような問題の場合だと、この方法も使えないことになるのである。
ただ、量子コンピューターの話は、いずれにせよ今はまだ夢物語に近いこともあり、そのためこれ以外にも何か、量子力学の特性を応用した全く別のシステムを考えることは可能である。そしてもしそういうものがあった場合、そうした全く別の夢物語も、「量子コンピューター」と呼ばれて、同じくくりで語られてしまう傾向がある。
例えば現在の量子力学の謎として、あたかも光速度を超える信号の伝播が可能に思えるような「量子テレポーテーション」という不可解な現象があるが、これをコンピューターに応用できないか、などというものがそれである。
これは上で行った並列処理の議論とは全く別個の話題であり、むしろもっと前に行ったCのレベルにおいて、演算速度のh/cという物理的な上限を、光速度cの壁を突破することで超えよう、という話題に属することである。
しかし世の中ではこれもしばしば「量子コンピューター」という同じタイトルで語られることがあるため、両者の話が混ざって誤解されてしまう傾向があるのである。ただしこのCのレベルの「量子テレポーテーション」を使った量子コンピューターをもってしても、この論文の主題であるDのレベルの数学的な壁は突破できない。
その意味ではここでの「非可算無限個」の話は、量子コンピューターのいずれの話よりも上位に位置するものであり、読者はこれらのことも一応常識として頭に入れておく必要があるだろう。
つまり人工知能の限界を巡る話は、実はパノラマ的に大きく眺めると、こういう壮大な構図になっていたのである。そのため、そのような話を今まで聞いたことがなかったという読者は、これから世の中で行われている議論を眺める際に、このマップは是非頭に入れておくとよいだろう。
実のところ、第一部の内容としては、メインの部分は以上までで十分といえば十分なのである。つまり無限に発展すると思われた人工知能にも、実はDのような原理的な限界が存在している、ということが最も重要なことなので、面倒な読者はもうここから先は飛ばし次の第2部に進んでしまっても差し支えない。
ただ、その根本的なメカニズムをもう少し掘り下げることで、今までとかく盲点になりがちだった部分を明るみにして、「人間側はどういう場所を対戦場所に選べば人工知能側の弱点を突けるか」を非常にはっきりした形で示すことも可能となる。そのため以下の1−2および1−3は、そういう興味でじっくり読まれるとよいだろう。