Googleが量子超越を達成 -新たな時代の幕開けへ(前編)
2019年10月23日、Googleが量子超越を実現したという論文を公開し、量子コンピュータの歴史に新たな1ページが刻まれた。
「量子超越」は、量子コンピュータの歴史における大きな一歩である。Googleの研究チームは、最速のスーパーコンピュータを使っても1万年かかる問題を、Googleの53量子ビット(qubit)の量子コンピュータは10億倍速い、200秒で解けることを示したという。
今後、Googleが示した量子超越性に対して様々な角度から検証がなされていくだろう。量子超越性は、物理学及び計算科学の歴史の1ページに刻まれるべきマイルストーンである一方、量子超越性や量子コンピュータの実用化についても、様々な憶測や誤解が広まっている。
この記事では、Googleが示した量子超越性について前編と後編の2つのパートに分けて解説していく。
前編では、量子超越性を実証するための基本的な考え方、量子超越を達成した意義について紹介する。
後編は、Google が量子超越性を示した方法の詳細を量子回路の説明を交えながら解説し、量子超越性達成後の次なる研究テーマについても触れる。(Google AI 公式ブログも参照)
a. 量子超越を示した54qubit量子コンピュータ(Sycamore)のレイアウト図(上方の1つのqubitの性能が悪いため53qubitで量子超越を示した。) b. Sycamoreの外観図
量子超越とは
「量子超越性」(Quantum Supremacy)とは、現在のスーパーコンピュータではとても長い時間かかる何らかの計算を、量子コンピューターが高速に実行できることを指す。
この記事では、現在我々が利用しているPCやスマホに内蔵されているコンピュータを「古典コンピュータ」と表現し、「量子コンピュータ」と区別していく。「京」や「富岳」といったスーパーコンピュータは、「古典コンピュータ」だ。大胆に言ってしまえば、スーパーコンピュータは、莫大な数の古典コンピュータを互いに接続することで、高速な計算を実現しているに過ぎない。一方、量子コンピュータは、古典コンピュータとは異なる原理で動作するものであり、それにより高速な計算を実現できる場合がある。
「量子超越性」を示す上での重要なポイントは、「古典コンピュータよりも量子コンピュータが高速に計算できることを示せる問題であれば、我々の生活に何の役にも立たない問題設定でもよい」ということだ。そもそも、高速に問題が解けることを「示す」ことが重要なのであり、何かの問題を実際に「解く」必要さえない。
新しい化合物の予測や配送経路の最適化など産業上重要な問題でなく、単にスーパーコンピュータではとても長い時間がかかる特殊な計算タスクについて、量子コンピュータなら現実的な時間で計算可能であることを示すことができれば、量子超越性の説明として十分なのである。
量子超越性を示すための方向性
量子コンピュータが古典コンピュータよりも高速であることを示す上では、量子コンピュータに勝ち目のある都合の良い問題設定が必要だ。(Qmedia (2018.2.9) “量子コンピュータの挑戦: スーパーコンピュータに勝てるだろうか?”も参照)
たとえば、素因数分解はどうだろうか。巨大な数の素因数分解は、現在のスーパーコンピュータの能力を持ってしても非常に長い時間がかかる一方、量子コンピュータによる高速解法がすでに知られている。また、素因数分解の問題は答え合わせが簡単(大きな2つの数の掛け算をするだけ)であり、一見、量子超越性を示すための問題として都合がいいように思える。
しかし、Googleで開発されている量子コンピュータは、50量子ビット程度という小規模なものである。これでは、スーパーコンピュータとの差が示せるような巨大な数の素因数分解はできず、量子超越性を検証することはできない。実際、量子コンピュータで巨大な数の素因数分解を行うには、数千万量子ビットが必要とされており、実用化はまだ遠い。その上、スーパーコンピュータで素因数分解を上手に計算する方法が明日にも見つかる可能性もゼロでなく、万が一そうなってしまうと量子超越性の証明は白紙に戻ってしまう。
そのため、
(1)理論的・経験的に「難しい」と言える問題で、
(2)スーパーコンピュータでも高速に計算する方法はなさそうだと強く信じられており、
(3)すぐに実験で用いることができる現実的なサイズの小規模量子コンピュータでも計算でき、
(4)量子コンピュータの計算結果が正しいとする検証が可能
であるような上手い問題を考える必要があるのだ。
量子コンピュータによる、量子コンピュータのシミュレーション
50量子ビットという小規模な量子コンピュータでも、スーパーコンピュータよりも明らかに得意と言えることがある。それは、(ちょっとズルい気もするが)量子コンピュータの動作をシミュレーションすることだ。
量子コンピュータは、量子力学の原理に従って動作している。量子力学の基礎方程式はよく知られており、量子コンピュータの動作を通常のコンピュータでシミュレーションすることは可能だ。例えば、基本素子である量子ビットを10個持つ量子コンピュータが2の10乗(=1024)通りにわたる並列計算を行う様子は、手元のノートPCでもシミュレーションできる。
ところが、少しサイズの大きい量子コンピュータ(例えば量子ビット数が50)になると、とたんに手に負えなくなる。何も工夫をしなければ、数ペタバイトのメモリを持つようなスーパーコンピュータが必要になってしまう。
もちろん、一部のデータをメモリに保持し繰り返し使うなどしてメモリを節約することもできるが、今度は計算に膨大な時間がかかってしまう。何れにせよ、量子コンピュータの動作のシミュレーションは、スーパーコンピュータにとって難しい問題なのだ。それはとりもなおさず、量子コンピュータのシミュレーションを量子コンピュータに行わせることが、古典コンピュータに対する量子超越性を示す上で有効な問題設定であるということを意味する。
今回、Googleが量子超越性を示したアプローチも、基本的にこのアイデアに則っている。
実用的でないが、量子超越は大きな意義がある
今回Googleが示した量子超越とは、「量子コンピュータが出力する結果を予測する」という、量子コンピュータが圧倒的に得意な問題に対して、古典コンピュータが敵わなくなることを意味する。
残念ながら、古典コンピュータで推測できない量子コンピュータの振る舞いをシミュレーションできたからと言って、我々の生活に量子コンピュータがすぐに役立つ訳ではないし、暗号やブロックチェーンの安全性を脅かすには遠く及ばない。(最新の論文でも暗号の解読には2000万量子ビットが必要だと言われている)( “How to factor 2048 bit RSA integers in 8 hours using 20 million noisy qubits” Craig Gidney and Martin Ekera)。
Googleによる量子超越性の実証に用いられた計算タスクは特殊であり、我々の生活を劇的に変えるようなインパクトはない。それでも、学問的な意味では重要なマイルストーンのひとつである。
長年にわたる量子コンピュータ研究は、「特定の計算タスクにおいては、量子コンピュータのほうが現代の最も強力なスーパーコンピュータよりも圧倒的に高速」だとする理論的な考察を動機としてきた。そして、理論的には、「量子コンピュータが、遅かれ早かれ、スーパーコンピュータを凌駕する」ことはほぼ確実とされている。今回のGoogleの研究成果は、その根拠をようやく実験で検証できたという点で大きな意義がある。
もしGoogleの研究チームの検証実験が本当に成功しているのであれば、単に世界初というだけでなく、量子力学という自然法則から強力な計算能力を引き出すすべを人類史上初めて手にしたことになる。
記事の前編の締めくくりとして、Googleが発表した量子超越をライト兄弟の初飛行に例えてその意義を強調した海外のブログの記述を引用したい。
The world, it seems, is going to be denied its clean “moon landing” moment, wherein the Extended Church-Turing Thesis gets experimentally obliterated within the space of a press conference. This is going to be more like the Wright Brothers’ flight
ライト兄弟の有人飛行実験が行われた当時は、空中に浮上している時間はたった数十秒でしかなく、実用からは程遠いものであった。しかしながら、航空機が進化した現在から振り返ってみれば、ライト兄弟の業績が、その後の進化を加速する重要なマイルストーンとなったのは言うまでもない。
Googleが実証した量子超越でも同様である。確かに、量子コンピュータを用いて量子コンピュータをシミュレーションすることで古典コンピュータに対する量子コンピュータの優位性を示すことは、実用からは程遠い。それでも、量子コンピュータが世間に普及しているであろう数十年後からこの日を振り返った時、Googleによる量子超越の実証は、間違いなく量子コンピュータの歴史における、重要な1ページとして深く刻み込まれていることだろう。
参考資料
[1] Nature (2019.10.23) “Quantum supremacy using a programmable superconducting processor”
https://www.nature.com/articles/s41586-019-1666-5
[2] Google AI Blog (2019.10.23) “Quantum Supremacy Using a Programmable Superconducting Processor”
https://ai.googleblog.com/2019/10/quantum-supremacy-using-programmable.html
[3] Financial Times (2019.9.21) “Google claims to have reached quantum supremacy”
https://www.ft.com/content/b9bb4e54-dbc1-11e9-8f9b-77216ebe1f17
[4] Quanta Magazine (2019.10.2) “Why I Called It ‘Quantum Supremacy’”
https://www.quantamagazine.org/john-preskill-explains-quantum-supremacy-20191002/
[5] Qmedia (2018.2.9) “量子コンピュータの挑戦: スーパーコンピュータに勝てるだろうか?”
https://www.qmedia.jphttps://www.qmedia.jphttps://www.qmedia.jphttps://www.qmedia.jphttps://www.qmedia.jp/quantum-beat-super-computer/
[6] Google AI Blog (2018.5.4) “The Question of Quantum Supremacy”
https://ai.googleblog.com/2018/05/the-question-of-quantum-supremacy.html
[7] Shtetl-Optimized (2019.9.23) “Scott’s Supreme Quantum Supremacy FAQ!”
https://www.scottaaronson.com/blog/?p=4317
[8] 高木剛「暗号と量子コンピューター耐量子計算機暗号入門ー」, オーム社 (2019).
[9] 森前智行「量子計算理論 量子コンピュータの原理」, 森北出版 (2017).
トップの画像はWikipediaライトフライヤー号から引用