2019年10月23日の科学誌「Nature」に量子優越(Quantum Supremacy)を達成したというGoogleの論文が掲載された。Top500で1位のSummitスパコンでも1万年かかる計算を53Qubitの量子コンピュータを活用して200秒で実行したという論文で、通常のコンピュータでは実用的な時間では解けない問題が解けるというQuantum Supremacyを実証したと主張している。
次の図はGoogleの成果をまとめたもので、繰り返しになるが、通常のコンピュータでは1万年かかる計算を200秒で実行することに成功し、量子優越を実証した。この計算は1016状態のヒルベルト空間での計算を行い、1qubitと2qubitのエラーの範囲では計算にエラーがないことを確認しているという。
このSycamoreと呼ばれる量子コンピュータは、新設計されたもので、スケーラブルで1qubitおよび2qubitのエラーが少ない設計となっている。そして、今回の計算は正しいことが証明された乱数の生成という最初の有用なアプリケーションを実行して見せた。ということで、GoogleはNISQ(Noisy Intermediate Scale Quantum computer)時代の幕開けであるとしている。
なお、IBMはGoogleの言う通常コンピュータで1万年というのは、使っている計算アルゴリズムがあまり良くなく、最適化したアルゴリズムを使えば2.5日で実行でき、Quantum Supremacyの域に達しないと言っている。ということで、量子優越を達成したかどうかには異論もあるが、200秒と2.5日でも、ある種の問題に対しては、量子コンピュータが非常に速いということは間違いない。その意味で、今回のGoogleの成功が将来の量子コンピュータの隆盛の基礎になるという見方も納得できる。
量子計算を行う回路は、次の図のようになっている。この回路図で?付きの□が1qubitの量子ゲートである。なお、デジタルの論理回路の場合は、1入力1出力のゲートは、等値か否定しかないが、量子ビットの場合は、ブロッホ球上のベクトルを変える色々な操作があるので、1入力1出力のゲートが多種存在する。この図では個々の量子ゲートの機能は書かれていない。青色のダンベルのような記号は隣接している量子ビットが結合されて2qubitのゲートになっている部分である。この結合素子の結合度は可変になっている。
そして、右端の列のメーターのような記号は出力された量子ビットの値を確定して読み出す回路である。
量子計算では、各Qubitの値はいろいろな値が重なり合っており、計算中は、通常の論理回路のようには値は確定していない。そして、メーターで読み出したときに値が確定する。重なっている状態のどの値が読み出されるかは分からないが、多数回、同じ計算、読み出しを行えば、それぞれの値の存在確率に比例して読み出されることになる。簡単に言えば、多数回計算を行って、頻繁に出てきた答えが正しい答えである確率が高いということになる。
GoogleのQuantum Supremacyの実験では、同じ入力の計算を100万回行って、いろいろな答えの出現確率から、正しい答えを導いている。そして、200秒の計算時間は100万回の計算と読み出しにかかったトータルの時間である。
なお、この乱数発生問題は、量子計算としては「Hello World!」のプリントのような一番簡単な問題であるが、真にランダムであることを証明した計算を行うことは通常のコンピュータでは難しい計算である。
それから、この図に書かれた回路図は、簡略化したもので、本当は53qubitの回路で、53個のQubitがあり、横方向はクロックによって順に変化するQubitの状態を示している。そして、青色のボックスが繋がっている部分がQubit間の結合を示しており、結合をクロックに従って時間的に変化させて回路を作っている。
また、量子計算ではQubitの数は、計算の過程では変化せず、回路図の横線は左端の入力から右端のメーターのところまで続く。これも出力が分岐してあちこちに同じ信号が配られるCMOS回路とは全く異なった回路の作り方である。
左の図は量子回路とGoogleのSycamoreチップの写真で、量子チップの計算では出力の出現確率をサンプリングして答えを推定する。一方、通常のコンピュータの場合は、回路をシミュレートして答えを得るという点が大きく異なる。
そして、量子計算に必要な時間は短いのに対して、通常のコンピュータでの計算には現実的には不可能な膨大な時間がかかる。これが量子優越である。
次の図の左側の傾いたXがそれぞれのQubitを表しており、傾いたボックスが隣接したQubitとの可変結合素子を表している。そして、横軸が時間を表しており、Cycle 1、2、3、…と書かれておりサイクルごとに結合と状態が変化していく。結合はQubit(1)とQubit(2)を結合するType A、Qubit(2)とQubit(3)を結合するType B、Qubit(0)とQubit(2)を結合するType C、Qubit(2)とQubit(4)を結合するType Dがあり、A、B、C、Dに続いてC、D、A、Bという結合に切り替えられている。
Googleは量子計算の結果を通常コンピュータによるシミュレーション結果と比較して、結果が一致していることを確認しており、量子計算の過程で量子ビットのエラーは発生していないと考えられるという。
次の図の縦軸はCircuit Depth(計算に必要な通過量子ゲート段数)、横軸は計算回路に必要なQubit数で、青い領域は通常計算でも答えが得られる領域で、赤い領域は通常計算では実用的には実行不可能な非常に長い時間が掛る領域である。
この図中の矢印で示すように、今回の計算はQuantum supremacyが無ければ計算を終了できないレベルの問題である。
次の図は、計算の正しさを証明するための実験結果で、グラフの縦軸は計算中にエラーが発生していない確率Fxebで、横軸はQubit数である。このグラフによると、Fxebは6×10-3で、1000回の試行でエラーが発生しないのはわずか6回程度である。ということで、Googleの実験では1つの結果を確認するのに5時間かかっている。
量子優越の実証は、量子コンピュータは通常のコンピュータと異なる原理で動作し、従来のコンピュータ科学の基本である拡張チューリング-チャーチ理論(通常の計算モデルは、チューリングマシンなどで実行できる)を超えた存在であることを示した。
量子力学の世界では物事は確率的に存在する。しかし、このような世界は極微の量子の領域だけではなく、より複雑な世界でも存在しており、量子コンピューティングが可能であることを示した。
工学的には、量子優越の実証は、多数の量子計算素子を同時に動かすことが可能であることを実証した。今回の計算で使われた乱数発生という問題自体は自体はそれほど大きな意味のある計算ではない。その意味ではGoogleが今回の成果をライト兄弟の動力飛行機による初飛行に例えているのは適切で、約260m飛んだ飛行自体の実用的意味は小さいが、動力飛行機で飛べるということが実証されたことは、今日の飛行機の隆盛を築く基礎となっている。
次の図の横軸はQubit数、縦軸はエラー発生率であり、破線は、エラー訂正で全てのエラーを訂正できる限界を示している。
近い将来はエラーの存在するNISQコンピュータしか使えないが、 時間がたてば、量子ゲートのエラー率は低減し、使用できるQubit数も増加する。そうなればエラー訂正回路を組み込んで、エラーを訂正して長時間連続して動作を続けられる量子コンピュータが作れるようになる筈である。
将来は、素子のエラー率を低減し、誤り訂正コードを使って、エラーフリーの計算ができるようになる。そうなれば、研究分野、政府の分野、産業界で量子コンピューティングで何ができるのかが研究されることになろう。