量子力学における不思議な現象、「重ね合わせ」や「量子もつれ」を利用して計算する次世代のコンピュータが量子コンピュータです。超伝導、光、イオン、原子、半導体などを使った量子コンピュータの開発が進んでいます。
コンピュータの仕組み
私たちの身の回りにあるコンピュータは、情報を「0」と「1」の2つの数字(ビット)で表しています。たとえば「100」(百)という整数も、コンピュータでは「1100100」という7ビットとして扱われます。いっけん桁数が増えて面倒に思えますが、コンピュータにとっては「スイッチのオン・オフ」など2つの状態を機械的に区別すればよいので、むしろ扱いやすいのです。
コンピュータの中では、「0」や「1」の足し算や掛け算を使った基本的な計算が行われます。たとえば、ビットの世界では0+1=1や0×1=0のようなシンプルなルールです。こうした計算を実現する回路を「論理ゲート(ゲート=門)」と呼びます。「0」や「1」がゲートを通ることで計算結果が出てくるイメージです。私たちが使うコンピュータやスマートフォンは、半導体で作られたスイッチを何十億個も組み合わせて、この論理ゲートをたくさん並べて計算しています。

量子ゲートと量子回路
一方、量子コンピュータでは「0」と「1」の重ね合わせ状態をとれる「量子ビット」を使います。たとえば「アダマールゲート」という量子ゲートは、入力が「0」だと「0」と「1」がちょうど半分ずつ混ざった重ね合わせ状態を作れます。この状態を観測すると、0か1のどちらが出るかは1/2ずつの確率でランダムに決まります。また、重ね合わせの割合を自由に変えられる量子ゲートもあり、「少しだけ0寄り」のような状態を作ることもできるのです。これはデジタルの世界とは違い、重ね合わせの度合いが連続的に変化する「アナログ的」な情報を持っているとも言えます。
さらに、2つ以上の量子ビットに同時に作用する量子ゲートもあり、「CNOTゲート」がその代表例です。これは通常のコンピュータでいう「条件分岐」に相当する操作で、「1つ目のビットが1のときだけ、2つ目のビットをひっくり返す」といった動作を、重ね合わせのまま同時に行います。その結果、「0だった場合」と「1だった場合」の両方の可能性が重ね合わさった不思議な状態(量子もつれ)を作り出せるのです。アダマールゲート、連続的に状態を変えられる量子ゲート、そしてCNOTゲートの3つがあれば、どのような量子アルゴリズムでもプログラムできることが知られています。
量子ビットは、超伝導物質でできた電気回路や、原子や光などを用いて実現することができます。また、量子ゲートは、それらに電磁波や光を照射することで実行することができます。

量子アルゴリズム
量子アルゴリズムでは、量子ゲートをうまく組み合わせて「重ね合わせ」と「干渉」をコントロールし、従来のコンピュータではとても時間がかかる問題を少ないステップで解くことを目指します。多数の量子ビットをアダマールゲートに通すと、すべてのビットが同時に「0」と「1」の重ね合わせになるため、あらゆるパターンを一斉に試すような状態ができます。しかし、そのまま観測してしまうとランダムに一つの結果しか得られません。そこで「干渉」という仕組みを使い、特定の答えだけを強く出るように確率を操作するのです。たとえば「グローバーの探索アルゴリズム」では、N個のデータから探したいアイテムをNの平方根程度のステップで見つけることができます。また「ショアのアルゴリズム」は整数の周期性を利用して大きな数の素因数分解を効率よく行えると知られています。

自然界のシミュレーションと量子コンピュータ
量子コンピュータのもう1つの重要な役割は、複雑な量子現象のシミュレーションです。水分子や二酸化炭素などの身の回りにある物質は、原子核の周りを電子が量子力学に従って運動することで構成されています。このため、0や1を用いて計算をする従来のコンピュータではシミュレーションが難しくなります。しかし、量子ゲートは同じ量子力学のルールで動くので、こうした振る舞いを自然に再現できます。化学物質だけでなく、超伝導や光合成、ブラックホールなどの物理現象も量子コンピュータで解明できるのではないかと期待されています。
誤り耐性量子コンピュータ
2014年ごろから本格的に量子コンピュータの開発進み、クラウドで量子コンピュータが公開されるなど、実際に動く量子コンピュータが利用できるようになってきました。ベンチマーク問題においては、従来コンピュータよりも高速で計算ができるということが達成されていますが、まだ実用的に役立つ問題を高速に解ける段階には至っていません。いまは世界各国の企業や大学が競って開発を進めており、日本でも2023年に国産の超伝導量子コンピュータが理化学研究所や大阪大学などで稼働を始めています。超伝導物質を用いた電気回路を用いる超伝導方式の他にも、光、イオン、原子、半導体といった量子力学的に振舞う対象を用いて量子コンピュータの開発が進められています。
量子ビットは外部のノイズですぐに量子性を失ってしまいます。この結果、量子コンピュータの計算にはエラーが発生してしまいます。そこで「量子誤り訂正」という技術を使い、エラーを直しながら長時間計算できる「誤り耐性量子コンピュータ(Fault-Tolerant Quantum Computer)」を作ることが最終目標です。量子誤り訂正の初歩的な実験には成功していますが、まだ大規模化には課題が山積みです。それでも世界中の研究チームは、誤り耐性を備えた本格的な量子コンピュータを完成させるべく、日々開発を続けています。
