News 2003年2月20日 02:51 PM 更新

量子コンピュータとは?

そもそも量子コンピュータの仕組みはどうなっているのだろうか。なぜ破壊的な処理能力を持つのだろうか

 これまでのコンピュータでは、PCもお化けのようなスーパーコンピュータも、動作の仕組みは、半導体に電気を「入れた」「入れない」の2つの状態を区別するのが基本だった。1つのビットは、「電気が入っている状態」と「電気が入っていない状態」のどちらかで、入っていれば「1」、入っていなければ「0」というわけだ。

 ところが、量子コンピュータではこの“常識”から異なってくる。量子力学の特徴の1つである「量子の重ね合わせ」と呼ばれる現象によって、ビットの単位である1つの量子が、「1」でもあり「0」でもある可能性が特定の確率であるからだ。既存のコンピュータ風に言うと、1ビットの中に「1」と「0」が“同時に存在できる”のである。


量子力学では右に移動する量子と左に移動する量子が重なり合うことで、ある特定の確率で右に移動する量子と左に移動する量子が観測しうるとされている(「ナノエレクトロニクス.jp」より)

 では、「1」と「0」が同時に存在できるとどんなことが起こるだろうか?

 簡単に言うと、1つのビットで「1」と「0」が同時に表現できるようになる。当たり前のようだが、その意味は大きい。

 これを、例えば、入力で4ビットが扱えるシステムで考えてみよう。既存方式のコンピュータでは、4ビットを使って1つの値を表す。4ビットでは16通りのデータを表現できるが、入力できるのは1回に1つだけだ。ところが量子ビット4ビットでは1つのビットが「1」も「0」も表現できるので、1回の入力で2の4乗=16通りのデータを入力できることになる。

 その上、複数の量子ビットが「量子絡み合い」状態になると、絡み合った複数の量子ビットは1つのまとまりとして扱えるようになる。

 量子力学における絡み合いの関係とは、空間的に離れていてもお互いに影響を与えることができ、かつ、それぞれが独立することがない状態のことだ。量子絡み合いができないと、それぞれの量子ビットは単独でしかデータを扱えないから、例え量子ビットが4つ存在しても、それは「4個のマス」にしか過ぎなかった。これに対し、量子絡み合い関係にあるそれぞれの量子ビットは、既存のコンピュータのように、複数のビットをひとまとめにして扱えうことが可能だ。

 つまり、「量子重ねあい」と「量子絡み合い」によって実現される量子コンピュータでは、1つの入力用ビットの組み合わせで1つの値しか扱えなかった既存のコンピュータと異なり、1つの入力用ビットの組み合わせでなんと「2のN乗」(Nは入力用の量子ビットの数)通りの値を扱えるのである。

1ステップで従来の数百ステップの処理が可能になる

 既存のコンピュータで1つの式に入力する値を変化させて計算させる場合、変化させるパターンの分だけその都度入力して計算させなければならない。ところが、1つのビットで複数の状態を表現できる量子コンピュータでは、1つの入力命令で複数の計算を一気に行える。

 具体的には、量子ビットをN個使うと、1回の入力は既存PCで2のN乗回の入力に匹敵する。入力や計算に要するステップが少ない回数ですむため、既存のコンピュータと比べて、処理速度が格段に向上する。以上が現在考えられている量子コンピュータの特長である。


既存式コンピュータと量子コンピュータの計算ステップを模式化した。量子コンピュータは、既存方式のコンピュータの並列処理を単独で可能にする(「ナノエレクトロニクス.jp」より)

 いま紹介した量子コンピュータの概念は1980年に提案されているが、長らく学術討論のレベルで論議されているに過ぎなかった。しかし、1994年にPeter Shorが発表した因数分解のアルゴリズムに関する論文のなかで、それまで解読不能と考えられてきたRSA暗号の解読が、量子コンピュータの処理能力を使えば瞬時に可能になると述べたことで一変。ネットワーク依存社会のセキュリティ基盤が崩壊するのではという危機感とともに、量子コンピュータは次世代の超高性能コンピュータとして注目を集めることになった。

関連リンク
▼ 「ナノエレクロトニクス.jp」量子コンピュータ

関連記事
▼ 「量子コンピュータ」に大きな一歩――NECと理化学研

[長浜和也, ITmedia]

Copyright © ITmedia, Inc. All Rights Reserved.