●典型的な量子コンピュータの開発方式が4つある
これまで仕組みのお話をしてきましたが、最後に「開発の現状」をお話ししたいと思います。
例えば、従来のコンピュータでは「01」というビットを、トランジスタという電気のスイッチのON/OFFで表すことはすでにお話ししました。
このように、情報を何らかの物理的なもの、物理現象を使って計算させることになるのですが、量子コンピュータの場合は0と1の「重ね合わせ」という情報を何らかの量子を使って表して計算させる必要があります。ただ、重ね合わせになるものなら何でもOKです。そういう意味では、量子にもさまざまな種類がありますが、量子なら何でもOKということになります。実際、原子を使う量子コンピュータ、電子を使う量子コンピュータ、光の最小単位である光子を使う量子コンピュータというように、さまざまな量子コンピュータの作り方、その方法があり、今同時並行で開発が進められています。
それらに共通する大きな課題は、量子という非常にミクロな粒子はとてもデリケートなので、外からいろいろな影響を受けることですぐに情報が書き換えられたり、エラーが起きたりしてしまうため、エラーにどのように対処していくかということになります。
ここで典型的な量子コンピュータの開発方式を4つ紹介します。「超伝導回路」「イオン」「半導体」「光」とスライドに書きましたが、今主流でもっとも進んでいるのは超伝導回路を使う方式です。数センチくらいの電気回路を冷やして低温にして、超伝導という電気抵抗ゼロの状態にすることで動かすタイプの量子コンピュータで、Google、IBMといった大手の企業が研究に乗り出しています。
また、イオンを使う方式の量子コンピュータも、超伝導と肩を並べるくらいに優れたものが開発されています。イオンは原子のことで、原子の電荷を帯びたものがイオンと呼ばれます。イオン、つまり原子1個1個を量子ビットとして使って計算させるのがイオンの方式で、ベンチャー企業をはじめさまざまな企業が研究開発に取り組んでいるところです。
これら2つの主流の方式の後を追うように今、半導体を使う方式も開発が進んでいます。今のコンピュータも半導体でつくられていますが、その技術を応用することによって非常に高密度に量子ビットを集積化できるという期待があり、既存の半導体技術を応用しながらつくる方式になります。
それとは別に、光を使った方式も研究が進められています。光の量子である「光子」は、空間を常に光の速度で進んでいきます。その光の進む道に沿っていろいろな部品を置いて光の回路をつくることで計算をする量子コンピュータの開発も進んでいて、いくつかのベンチャー企業が取り組んでいます。
●「エラー訂正」の仕組み
どの方式も程度の差はありますが、共通する課題は「いかにエラーの頻度を下げるか」、そして「エラーが起きた際に、いかに直すか、訂正するか」になります。この「エラー訂正」というのが非常に重要なので、少しお話ししたいと思います。
今のコンピュータ、通信においても、「エラー訂正」というものは組み込まれています。もし1個のビットでそのまま1個のビットの情報を表すと、01がひっくり返ってしまったら、エラーが起きたかどうかがよく分からなくなってしまいます。そこで、途中で計算の検算ができるように複数のビットを束にして1個分のビットを表すと情報を処理します。
例えば、スライドにあるように3つのビットが000だったら「0」、111だったら「1」を表す。3つのビットで、情報としては1個分のビットを表すというように決めると、もし計算の途中で一部のビットにエラーがあったとしても、3つのビットを確認して多数決を取れば、どのビットでエラーが起きたのかを検知して、直すことができます。
このように、ビットを追加して検算する仕組みが「エラー訂正」なのですが、量子コンピュータも考え方としては似ています。「複数の量子ビット、物理的な量子ビットを使って、1個分の情報としての論理的な量子ビットを表す」というように情報を埋め込めば、1個の量子ビットに何かエラーがあっても直せる、という方式が見つかっています。
量子ビットの場合は非常にエラーも多様で、かつそもそもエラーに弱いので、例えば「3個を使って1個分の量子ビットの情報を表す」という方式をさらに入れ子にして、「1個1個のビットを3つの量子ビットを使って表す」とします。そのようにすると、例えば、スライドにあるように「9個分の量子ビットを使って1個分の量子ビットの情報を表す」というように情報を埋め込むことができます。...