この記事の概要
量子アルゴリズムの有名なものとしてグローバー(Grover)のアルゴリズムがあります。多数の項目の中から特定の項目を見つけるデータベース探索問題です。これを断熱量子計算(Adiabatic Quantum Computing, AQC)で解くとどのようになるのか、その解法や計算速度をご紹介いたします。
復習: グローバーのアルゴリズム
探索問題とその古典オラクル
探索問題とは一般にN個の要素からM個の解を見つける問題のことです。例として名簿データベースから佐藤さんだけを取り出したいなどが考えられます。N個の要素がn桁のビット列でラベル付けされているとして、この探索問題に対する「古典オラクル」を次のように定義しましょう。
つまりfは要素のラベルxを与えるとその要素が解であるかを2択で教えてくれる関数です。名簿の例ではのとき、となります。探索問題を解く古典アルゴリズムの計算量はが解であるかどうかを古典オラクルに尋ねる(オラクルを呼びだす)回数で評価します。こうすることで、問題の子細に依存しない統一的な評価が可能になります。
オラクルについてのより詳細を知りたい方はこちらの記事もあわせてご覧ください。
量子オラクルと位相反転
一方、探索問題を解く量子アルゴリズムの計算量は、次の(量子)オラクルを呼ぶ回数で評価します。
ここで入力状態は入力ビット列xを計算基底で表した状態、は補助ビット、はmod 2の加算(XOR演算)です。xが探索問題の解であるかどうかは、補助ビットqが反転したかどうかをチェックすることでわかるようになっています。すなわち
他にも、補助ビットをとセットしておけば
となり、xが探索問題の解のときにのみ状態の位相が反転するようにも設定することが可能です。
オラクルのもっとも大きな特徴の一つは、入力状態が重ね合わせであってもそのまま動作することです。例えば、入力状態として全ての状態の重ね合わせをとり、補助ビットをとすれば
となります。このようにxが解のときのみ位相が反転する性質をうまく用いて解を見つけるのが、グローバーのアルゴリズムの概要です。古典ではオラクルの呼び出し回数は項目数Nのオーダーとなっていましたが、量子回路模型のグローバーのアルゴリズムではで解けることが知られています[1]。
データベース探索をAQCで解く
項目に番号を付与し、これらに直交規格化ベクトルを対応させます。このうち特定の状態を断熱量子計算で求めることが今回の問題です。
全ハミルトニアン
終状態のハミルトニアン
断熱計算終了時には、状態のみを基底状態に持つようなハミルトニアンになっていなければ、探索が終了したとは言えないでしょう。よって
のように、状態は固有値0、そしてそれ以外の状態では固有値1となるようなハミルトニアンを設定します。上の議論から、終状態のハミルトニアンの簡単な形として
を選びます。
初期状態のハミルトニアン
AQCにおいて最初の状態は自明に用意できる状態を基底状態にもつハミルトニアンとします。よって全ての可能な状態を同じ重みで重ね合わせた状態を初期状態として
のように書きます。終状態のハミルトニアンと同様の議論から、これを基底状態に持つようなハミルトニアンとして
を選択します。
全ハミルトニアン
よってこの問題における全ハミルトニアンを
のようにして、断熱的に時間発展させることを考えます。ここでで、Tはアニーリング時間です。そしてはのような境界条件を持つ、単調増加関数とします[2]。
スペクトル構造
ハミルトニアンはと、それに直交するのみを使って書けます。よって初期条件をこの空間内にとると、系はこの2つの状態ベクトルで張られるような2次元空間の中で時間発展を行います。この2つの状態を基底とするハミルトニアンは以下のように表現されます。
これを計算すると
のように変形することができます。ここで
さらにより
と求まります。
(1)式の固有値は
よっては基底状態と第一励起状態のエネルギー差を表し、スペクトル構造はE = 1/2を挟んで対称な形であることがわかります[2][3]。さらにはその関数の形からで最小の値をとります。よって、スペクトル構造を図示すると、その概形は以下のようになります[4]。
スケジューリング
式変形
次はこの問題において最適なの形、すなわちアニーリングスケジュールについて考えてみましょう。断熱定理より
の条件を満たしていれば、エネルギーギャップを飛び越えることなく、基底状態のまま系が変化していきます。詳細な計算を行うとであることがわかります。証明は省略しますが、このCはどんなにNが大きくなっても有界に留まり、Nによらない定数で抑えられます。
の満たすべきギリギリの条件は上式の等号をとることで導くことができます。の表記より
これをの積分公式を用いて積分すると
古典に比べてどれくらい高速化されているのか
このとき、検索にかかるおよそのアニーリング時間は(2)式での境界条件より
となります。この結果は量子回路におけるグローバーのアルゴリズムと同じ計算時間[1]になっており、確かに古典の場合に比べて2乗の高速化(かかる時間は平方根)になっていることがわかります[2][3][4]。
解析のポイント
前回の接合木問題とグローバーでのAQCの解析のポイントは、オラクルの性質によりヒルベルト空間の部分空間のみを考えればよいということです。他にも、AQCで何かしら上述と同様の主張を行う際は、ハミルトニアンの対称性を用いて部分空間のみを考慮して計算量・エネルギーギャップを解析することがあります。
結言
今回はAQCでグローバーのアルゴリズムを解く、その解法と計算量などの見積もりをご紹介いたしました。グローバーのアルゴリズム自体が汎用性が高いため、これが量子アニーリングでもできるというだけでも応用分野がかなり広がりそうです。
参考文献
- [1] Quantum Native Dojo 第8章、量子探索アルゴリズム
- [2] 量子アニーリングの基礎、西森英稔・大関真之著
- [3] Adiabatic Quantum Computing, Albash & Lider, 2016
- [4] Quantum Search by Local Adiabatic Evolution, Roland & Cerf, 2002