●同時並行で計算できるから圧倒的に作業が速くなる

 なぜ、このような量子コンピューターは従来のいわゆるノイマン型コンピューターよりも速いのか?

 従来のコンピューターで使う計算の基礎単位「ビット(bit)」は、1か0のどちらかに決まっている。そしてビットが並んだ「列」で数を表す。10個のビットで表現できるすべての数を作るのには、次々と1を足していかねばならないので、「2の10乗引く1=1023回」の手間がいる。

 ところが、量子コンピューターの計算の基礎単位となる「量子ビット(qubit(キュービット))」は、1と0の両方を同時に背負った「重ね合わせ」という存在だ。量子ビットなら、10個並べるという手間だけで1024種類のすべての数が同時に存在する「重ね合わせ状態」ができてしまう。これらの量子ビットは同時並行で計算できる。だから、量子コンピューターのほうが圧倒的に速い。

 まとめると、量子コンピューターの原理は、次の二つだ。

(1)重ね合わせ状態を使って、すべての場合を同時並列で計算する。
(2)重ね合わせの状態の中から目的に合った状態だけを選ぶ手続きを実行する(この手続きを量子アルゴリズムという)。

 このような量子コンピューターを作ることはできるだろうか? それが、現在の最大の問題である。

 量子コンピューターはいくつもの段階を経て構想が固まった。その歴史を振り返ってみる。

 その前史は「計算」とはどういうことか、という「物理学的な原理追究」だった。こういう役に立つかどうかもわからない哲学に近いことを考える人たちが1960年代にいた。

●「億年」かかる素因数分解を「年」レベル以下にできる

 ミクロ世界の原理である量子力学と実際の計算機を並べて考えたのは、あの天才リチャード・ファインマンである。81年、マサチューセッツ工科大学で開かれた「物理と計算」という会議で、「量子力学的な現象について計算してシミュレーションしたいなら、これまでのコンピューターでは不十分。量子力学を踏まえて動く量子コンピューターが不可欠」と主張した。具体的にどうやるかは示さなかったが、この考えは出席者に大きく影響した。

次のページ