量子コンピュータ基礎の基礎
量子コンピュータとは何か
量子コンピュータは、量子力学の現象を利用し、従来のコンピュータでは解くことが困難であった問題を高速に計算するコンピュータです。量子コンピュータと対比され、従来のコンピュータは「古典コンピュータ」と呼ばれます。
量子コンピュータと古典コンピュータの違い
量子コンピュータと古典コンピュータの大きな違いは、扱う情報の最小単位です。古典コンピュータでは、0か1のどちらかの状態を持つ「ビット」を最小単位として扱います。ビットは1つずつ独立して状態を持っており、1つのビットの状態が他のビットの状態に影響を与えることはありません。これに対し、量子コンピュータでは、「量子ビット」を最小単位として扱います。量子ビットは、0と1の両方の状態を保持する「重ね合わせ」と、複数の量子ビットの状態の間に関連性を持たせる「量子もつれ」という特徴的な2つの性質を持っています。
量子ビットは0と1のどちらの状態も持っている重ね合わせの状態から「状態の観測」を行うと0か1のどちらかの状態に収束します。1つの量子ビットの状態を観測したときに0と1のどちらの状態に収束したかによって、この量子ビットと量子もつれの状態にある他の量子ビットが0であるか1であるかも一緒に確定します。古典コンピュータのビットとは大きく異る性質を持っていることがわかるかと思います。
量子コンピュータでは、これらの「量子性」と呼ばれる量子ビットの性質を利用し、大量の情報を同時に処理することを実現します。そのため量子コンピュータには、古典コンピュータでは現実的な時間での完了が困難であるほど大量のパターンに対する計算を高速に処理することができることが期待されます。
期待される量子コンピュータの社会適用
先述したように、量子コンピュータは大量のパターンに対する高速計算を得意とします。このような特性を持った量子コンピュータの実社会での活用が期待される領域としては下記のような例があげられます。
- 気象・災害予測
大量の条件パターンに対するリアルタイムなシミュレーションと予測 - 創薬
多数の分子の組み合わせの高速なシミュレーションによる新薬開発期間の短縮 - 金融
大量のパターンでのシミュレーション結果を元にした金融商品の価格やリスクの高速な計算 - 機械学習
高速並列計算や量子コンピュータ専用のアルゴリズム設計による学習の高速化
課題 - 量子ビット誤り訂正
現状の量子コンピュータの大きな課題はビット誤りの訂正です。現代のコンピュータでは物理的な性質上避けることの難しい外部からのノイズなど(例えば、宇宙から届く宇宙線の中性子や、量子的な状態を乱す熱)によってビットが意図しない状態となってしまうことがあります。古典コンピュータで説明すれば、0であるはずのビットが1を示してしまう、あるいはその逆の状態です。このような状態では計算結果の正しさを保証することができません。
古典コンピュータでは、通常必要なビット数に加えて余分に用意したビットを用いて一定程度のビット誤りを検出・訂正するための情報を保持することでビット誤りの訂正を行います。
量子ビットでは、重ね合わせ状態を用いた計算の特殊性のために古典コンピュータでのビット誤り訂正の方法をそのまま適用することができません。そのため、現在量子ビット専用の誤り訂正方法が研究されています。
現状はビット誤りに対する耐性を保証せず、短時間のみ正常に稼働できる50~100量子ビットの中規模の量子コンピュータであるNISQ(Noisy Intermediate Slace Quantum)が主に実用されています。Googleが開発したSycamoreもNISQに分類される量子コンピュータです。今後ビット誤り訂正の機構を備えた量子コンピュータの実用化によって複雑な計算が可能となり、より多くの問題に対する量子コンピュータの適用が進むことが期待されます。
まとめ
本稿では、古典コンピュータと対比したときの量子コンピュータの特徴や、期待される適用領域、課題について解説しました。今後は、本稿のような応用の側面のさらに深ぼった解説や、技術的な話題についてまとめる記事を書いていきたいと考えています。
参考
(2021年9月29日アクセス)
(2021年9月29日アクセス)
(2021年9月29日アクセス)
(2021年9月29日アクセス)
Discussion