こんにちは、田中芳治といいます。

今回で3回目になりますが、よろしくお願いいたします。

前回は楕円曲線上の離散対数問題に対する量子アルゴリズムの説明をし、その実現の困難さを少しお話いたしました。

今回は量子コンピューターの開発について、2021年7月現在の最新動向をレビューしていこうと思います。

前回にも説明しましたが、アニーリング方式とゲート方式とで2種類の量子計算方式があります。ブロックチェーンに対する攻撃という観点からゲート方式に注目しているので、ゲート型量子コンピューターがどの程度の技術開発レベルに達しているのかを解説します。最後に今後の展開を予想していこうと思います。

これまでさまざまなグループが開発を進めているのですが、Googleと中国のグループに注目します。Google は2019年10月、Sycamore という量子コンピューターで「量子超越性」を達成したと発表しました。その後、中国科学技術大学が2020年12月に、「九章」という量子コンピューターで「量子超越性」を達成したと発表しました。

この量子超越性、あまり聞きなれない言葉だと思いますが、とても重要な性質だとされます。ただ、田中個人としては反対の立場といいますか、あまり重要ではないと考えています。今日はそんな話です。

量子超越性とは、普通のコンピューター(「富岳」などのスーパーコンピューターも含む)では解けない問題を量子コンピューターで解けるという性質のことです。

例えば楕円曲線上の離散対数問題は、ビット数が大きいと計算時間が掛かってしまい、通常のコンピューターでは解けません。もしこの問題を解くことができる量子コンピューターを作ることができれば「量子超越性を達成した」ということになります。

ただし、計算が困難であればどのような問題でもよいということになっているので条件はゆるいです。

ちょっと達成条件をゆるくして、実現を目指すということで、量子超越性は開発を行う方々にとって最初のマイルストーンとみなされています。

言い換えれば、実用上利用可能なレベルの量子コンピューターを作成するうえで、絶対に達成しなければならない初歩的な目標であるということです。

Googleは、「ランダム量子回路の出力分布のサンプリング」という計算問題を考えて、量子超越性を示しました。前回の記事にあったような、量子回路をまず考えてください。量子ゲートをいくつも組み合わせて回路を構成し、出力で量子測定をしていますよね。Shorのアルゴリズムでは、この出力の測定結果(ビット列)を求めました。Shorのアルゴリズムでは、あるビット列が得られる確率を求めることができます。正解が得られる確率が増幅されていることも理論的に求められています。しかし一般のアルゴリズム・回路の場合、その出力の確率分布を求めるのは難しいことが知られています。ビット数が大きく、かつ、大量の量子ゲートをランダムに組み合わせて回路を作った場合、量子計算結果の出力の確率分布を求めることは計算量的に困難なのです。

Googleの研究チームは、ランダムにゲートを構成して量子回路を作成し、出力で測定を行います。測定結果はビット列です。次に、別の回路をランダムに構成し、新しい回路で同様な測定を行い、別のビット列を得ます。これを繰り返すとたくさんのランダムなビット列を出力として得ることができます。まるで疑似乱数生成器のようです。

その出力ビット列のデータを元にヒストグラムを描いてあげることができ、それを出力の確率分布とします。この出力の確率分布は、ちょっと考えると一様分布になりそうかなと思います。なぜなら、入力ビットが同じで、回路が完全にランダムならば、出力は全てランダムになりそうだからです。しかし実際は偏りが生じます。量子力学特有の現象で「エンタングルメント」というのがあるのですが、それによって実際の分布は偏るのです。

一方で、この量子計算過程を通常のコンピューターで計算しシミュレーションしようとすれば、量子ビットが論理ゲートを通過するたびに状態変化の計算をしていく必要があり、ビット数と通過ゲート数が多い場合、計算量的に困難になってしまいます。

Sycamore で53量子ビットで量子超越性を達成したとGoogleは主張していますが、これが達成されたからといって、53量子ビットで好き放題アルゴリズムが利用できるというわけではありません。彼らも認めていますが、不安定な量子状態を利用するため、出力にエラーが生じています。よって、まだ実用レベルではありません。

量子超越性と聞くと相当すごいように感じますが、まだ初歩の初歩という感じなんです。

ここでお断りしておきますが、ランダムな回路はなんの意味があるの?と思われるかもしれません。全くその通りで意味はありません。ただゲートにビットを通したというだけで、広い意味では「計算」したととらえてください。もう一度言いますが、この計算自体には何かの具体的な問題を解くといった意味はありません。

中国科学技術大学の九章は、「ガウシアンボゾンサンプリング」という問題を使っている点と、光の量子状態を使っているという点で、Sycamoreと違いますが、実験内容は似ています。まず「ボゾンサンプリング」というのがありまして、ボゾンというのは、ざっくりというと光の粒、光子だと思ってください。その光子1個をハーフビームスプリッターに、片側から入射させると、半分の確率で反射、半分の確率で透過します。それでn個のビームスプリッターを用意して、そのスプリッターの片側から1個ずつ光子を入れる場合を考えてください。そうすると何回も反射と透過を繰り返して、出力されます。その出力の光子数を測定すると、確率分布が得られます。ビームスプリッターを一つのゲートと考えれば、量子回路となります。その時の出力結果を計算するのは困難になると考えられます。これが「ボゾンサンプリング」です。光子が1個の状態を準備するのは難しいので、2モードスクイーズド状態というものを代用して実験するものを「ガウシアン ボゾンサンプリング」と言われています。

図に実験装置図を引用しました。中国のグループは76ビット(光子)を使って量子超越性を示したと主張しています。彼らの論文によれば、「神威・太湖之光(中国)」や「富岳(日本)」のような世界トップクラスのスーパーコンピューターでも解けないだろうとのことです。

ここでお断りしますが、光の状態を何度もビームスプリッターに入射するのを繰り返して、何の計算しているの?と思われるかもしれません。これも特に意味があるわけではありません。

このように2021年現在では、まだ役に立つアルゴリズムで量子超越性が示されたわけではありません。極めて初歩的な段階と言えるでしょう。ビット数は数十レベルですので、暗号を破るほどのパワーは全くありません。技術の進歩が期待されているのかもしれませんが、ゲート型量子コンピューターが実用的に利用されるのはまだまだ先になりそうです。

時間稼ぎをしている間に、量子コンピュータに耐性のある暗号方式が推奨リストに載り、インフラとして利用され始めると思われます。したがって、ブロックチェーンが量子コンピューターの出現によって破壊される可能性は極めて低いと考えられます。

さて今回で一旦このシリーズは終了しますが、また何かのアップデートがあれば報告します。