量子コンピュータの性能を決めるもの
量子コンピュータは上の図のように「0」と「1」の状態を重ね合わせる量子ビットによって構成されています。
既存のコンピュータのビットは「0」か「1」のどちらかの情報しか持たないので、2ビットの計算結果を表すには上図のように4通りの計算をしなければなりません。
しかし量子コンピュータの2量子ビットの場合は、「量子もつれ」により「0」と「1」の状態が同時に存在しているので1通りの計算で終わります。
従来では4通りの計算をしなければならないのに、1回の計算ですべての結果を表現する不思議な性質を量子コンピュータは持つのです。
まるでSF世界のような話ですが、量子コンピュータは、組み合わせの数だけ複数の世界で同時並行的計算を行っている、と考える科学者までいるとのこと。
平行世界で行われた計算は、終わった瞬間に現実世界で1つに収束します。
しかし、現実世界で観測できる計算結果は完全にランダムなので、計算を高速化させるには求める計算結果を得られるように工夫したアルゴリズムが必要なのです。
また、量子コンピュータの性能においては量子ビットやアルゴリズムの性能だけでなく、各量子ビットが「量子もつれ」状態でいられる時間的な長さも重要になっています。
量子コンピュータは計算時間こそ一瞬ですが、入力したアルゴリズムを走らせて各量子ビットに条件を与えるなど、計算そのもの以外に時間が必要となってきます。
そのため「量子もつれ」状態の維持時間が短すぎる場合、計算の設定が間に合わず、多数の量子ビットも宝の持ち腐れになってしまうのです。
ただ量子コンピュータの性能は日進月歩であり、1999年には1ナノ秒未満であったもつれの維持時間も、現在においては最大で200マイクロ秒まで飛躍的に伸びてきています。
このまま量子ビットの数も、「量子もつれ」の維持時間も伸びて行けば、量子コンピュータは無限に近い性能を発揮できる…はずでした。
しかしそこには大きな壁が立ちふさがっていたのです。