去年、googleが53ビットの量子コンピュータを実現した、というニュースがあった。とうとうここまできたか、と感じた。この記事では、量子コンピュータについて簡単な解説をしようと思う。
量子力学には解釈問題というものがあって、量子的な現象をどう解釈し、理解するべきか、ということに関する論争がある。いくつかの見方が提示されているのだが、その中の一つに多世界解釈というものがある。これは量子的なもつれを、2つの平行宇宙の干渉として理解しようとするものである。
量子的なもつれとは何かというと、誰も理解している人がいないので説明のしようがないのだが、量子コンピュータの基本原理だと考えてほしい。2つの粒子が量子もつれの状態にあれば、それを2ビットの量子コンピュータとして利用することができる。これを多世界解釈で説明すると、2つの平行宇宙が干渉し合う状態にある、ということになる。
量子コンピュータにおいても、それぞれのビットがとりうる値は0と1の2つだけである。しかし、異なるビット間である種の干渉が起きている、という点が古典的なコンピュータとは異なる。この干渉の仕方を理解するために、多世界解釈が役に立つのである。
では、3ビットの量子コンピュータ、つまり3つの粒子が量子もつれの状態にある場合は、どうなるだろうか。これは、2ビットの量子コンピュータにおける2つの平行宇宙それぞれに、さらに2つの可能性が付け加わるので、2×2で合計4つの平行宇宙が干渉し合う状態となる。4ビットの量子コンピュータならば、2の3乗で8個、5ビットの量子コンピュータならば、2の4乗で16個の平行宇宙が干渉する状態にあると言える。そして53ビットの量子コンピュータならば、2の52乗個の平行宇宙が干渉し合っていることになる。
量子コンピュータとは、この2の52乗個の平行宇宙に存在するコンピュータすべてを使って、並列演算を行うようなものである。ゆえに、ビット数が1増えるごとに、コンピュータの数が2倍に増えるので、計算能力も2倍に増えることになる。これが量子超越性と呼ばれる、量子コンピュータの特徴である。
もちろんこれは大雑把な説明なので、細かいことを聞かれても困る。また、多世界解釈はただの解釈なので、実際に平行宇宙が存在するかどうか、という問題とは関係がない。平行宇宙が存在すると考えると、量子的な現象を理解しやすくなる、という便利な道具だと思ってほしい。
量子コンピュータの実用化に向けて最大の課題は、このような膨大な計算能力を実際に利用しうるような、適切なアルゴリズムを開発することであろう。コンピュータの計算能力がどれだけ高くても、その能力を活用するためのアルゴリズムがなければ、それはただの置物になってしまう。しかし量子コンピュータの原理は、古典的なコンピュータとは全く違うので、今までのアルゴリズムは役に立たない。そこで、一から新しいアルゴリズムを、あるいはアルゴリズムの構成方法を考え出さねばならない。それが最も難しい仕事になると思う。
2の53乗個のコンピュータを使った並列演算であれば、そのアルゴリズムを開発することは、まだやさしいかもしれない。だがこれが百万量子ビットにまで増えたときに、果たして適切なアルゴリズムを用意することができるかどうか、確信を持てる人はいないだろう。はっきり言って、発狂ものの仕事である。
参考文献
マーカス・チャウン『奇想、宇宙をゆく』春秋社、2004