はじめに
この記事は量子コンピュータによる素因数分解のアルゴリズムである「Shorのアルゴリズム」の解説記事第5回目です。1-4回目は以下:
本記事では位数の推定と量子干渉との関係を、Ref.EkertHosoyaに従って議論します。Shorの元論文はRef.Shorです。
前回の記事で述べたように、量子回路で
を満たす(そのうち最小のは位数と呼ばれる)が多項式時間で計算可能ならば、素因数分解は古典コンピュータより本質的に高速で計算できます。ここで「多項式時間で計算可能」とは、整数を2進数表示したとき、計算量がその桁数の多項式で表されるという意味です。すなわち計算量があるに対しであるということです。
これが可能であることを以下見ます。そのために本記事では本シリーズの最初の3記事で議論した
- べき剰余を計算する量子回路
- 離散フーリエ変換 DFT : の量子回路
を用います。これらについて知りたい方は上記のリンクをご参照ください。また前回までの記事にあるように、とは、を2進数表示した各桁をとして
のことです(2値をとる量子状態の存在は仮定します)。
位数の決定
改めて以下の問題を解くことを考えます:
まずなる、2のべき乗であるを導入します。さらにビットのを用意します。これに(前章の2.参照)を作用させれば
を得ます。さらに別のレジスターを用意し、これにを作る量子回路を作用させることで
を得ます。
のレジスターを観測します。ここでをのに関する位数とします。このとき()です。ここでは床関数であり、「を超えない最大の整数」を表します。ここでは実際には観測により確率的に選ばれます。またなのでです。を観測したのちの状態は
となります。
この状態からの情報を得ることを考えます。もしもを固定できるなら、この状態自体を観測してもはわかるはずです。なぜなら観測されるは最初にだけのインターバルがありその後の幅で存在するからです(図1)。を固定して何度も観測を続ければ、得られたののインターバルを除いた部分の幅からを推定できます。しかしながらを固定することはできないし、また何度も観測を繰り返さなくてはなりません。
Eq.(3)の状態を観測した際に得られるの値の分布
そこでEq.(3)にを施します。
が整数の場合
まずは分かり易さと直感的な理解のため、が整数の場合を考えます。より、このときとなります。よって
と表せます。Eq.(3)にを施すと
になります。ここでです。方程式の解をすべて足すとゼロになることから、大括弧の中はがの倍数でない限りゼロになります。すなわち
となります。ゆえにEq.(4)の状態において、ある値を観測する確率は
Bornの規則
より
です。これから明らかなように、観測されるにはEq.(3)に存在したの依存性がなくなっています(図2参照)。が整数の場合はこのような完全な量子干渉が起きます。そして
であり、は与えられているので、もしもとが互いに素ならばとが求まります。もしそうでなければ、もう一度を選び直して観測をやりなおします。
Eq.(4)の状態を観測した際に得られるの値の分布
一般の
次に一般の(整数とは限らない)を考えます。このときEq.(1)の和の上限はですが、ここではこれをとします。こうしても本質的な違いはなく、また議論が明確になります。このときEq.(4)においては整数ではないです。ゆえに、前章ではの和は対称性から消えたのに対し、Eq.(4)ではそのような正確な相殺は起こりません。
ここでのように書いておきます。これを用いてEq.(4)を書き換えると
となります。なので
です。ゆえにを観測する確率は
です。
ここでEq.(5)の内のが
を満たす場合を考えます。このときの各項は複素平面上の半円の中に存在するため、その和は小さくはならないです。また、Eq.(6)をみたすはちょうどコ存在することに注意してください。これは以下の図からわかります:
Eq.(6)を満たすの値の数がコであることの説明の図
青い点線はの倍数()であり、これをの倍数()に重ねています。の倍数は間隔で存在しているのだから、点線から幅の間(緑のアーチ)に存在するの倍数は当然唯一つです。青い点線はrコ存在するから、Eq.(6)を満たすはコ存在します。
の大きさを、Eq.(6)を満たすに対して見積ります。を定義すると、はの比をもつ等比級数からできています。この級数はが増加するにつれて減るので、もが大きくなると減ります。よって
が成立します。ここでEq.(6)よりです。等号が成立するとき、和は初項が、公比が、項数はである等比級数なので
となります(※は整数ではないですが、小数部分の影響は軽微です)。ここでが小さいとしてとしました。よって、コ存在するそのようなに対して、Eq.(6)をみたすを観測する確率はより大きいことがわかります。すなわちEq.(6)を満たすを観測する可能性は十分大きいです。
の決定と連分数展開
Eq.(6)を満たすが与えられたとき、の情報を引き出すことを考えます。これを行うには、Eq.(6)が、あるを満たすに対して
と書き直せることを用います。この式は次のように解釈できます: とは図1における軸にプロットした点のことであり、とは図1における軸にプロットした青点線からの範囲にある点のことです。このことからわかるように、Eq.(6)を満たすコのに対してちょうど1つづつ対応するが存在します。ゆえにのそれぞれの値に対しと同様
となります。Eq.(5)は以下のように書けます:
ここではわかっていて、またです。Eq.(8)は、与えられたをこの不等式を満たすある有理数で近似せよ、ただしその分母は未満である、ということを言っています。Eq.(8)の範囲には分母が以下であるが最大で1つ存在します。すなわち観測からが得られれば、()が唯一に定まります。
ただしとが互いに素である必要があります。のうちと互いに素なの個数は、
前回の記事
で導入したオイラー関数コです。よってそのようなを得る確率は上で求めたにをかけて
となります。
とを決定するには連分数展開を用います。連分数展開に関しては
この記事
noteにまとめました。具体的な計算法等の詳細はこれを読んでもらうことにして(すぐ読めます)、ここではが与えられたとき、Eq.(8)を満たすを連分数展開を用いて具体的に求めてみます。以下Ref.Hosoyaにある例です:
を因数分解する際のの決定を考えます。ここではに選びます。観測した結果を得たとします。このときです。これに近い分数でEq.(8)を満たす数を求めるため、を連分数展開します:
これをのように書きます(最初にをつけてと書くこともあります)。
この展開をまでで止めると()が満たされています。また
なのでEq.(8)も満たされています。こうしてを得ます。
一方とすると分母がを超えてしまうので、としては不適切です。
Ref.Hosoyaの練習問題にはの場合のを求めよという問題が載っています。これも解いておきます:
- の場合
です。ではEq.(8)は満たされません。
一方だとでありEq.(8)が満たされます。
だと分母がを超えてしまい不適切です。
ゆえにを得ます。 - の場合
です。で近似するとであり適切です。
これより短い連分数で近似するとEq.(8)が満たされず、これより長い連分数で近似すると分母がを超えるため、どちらも不適切です。
ゆえにを得ます。
本来は、と互いに素なある数に関してEq.(1)を満たす数です。
前回の記事
で見たように、がどちらもの倍数でない限り、のどちらかはの因数を与えます。「がどちらもの倍数でない」は満たされない可能性があるので古典計算機でチェックします。条件が満たされなかった場合はもう一度を選び直して同様なことを繰り返します。
計算量の見積もり
最後にの推定における計算量を大雑把に見積もっておきます。
Shorのアルゴリズムでは以下の計算が行われます:
- Eq.(1)の
- Eq.(2)のべき剰余の計算
- Eq.(4)の
- Eq.(8)を満たし、と互いに素なを得る試行
- 適切なを選ぶ試行。すなわちが適切な:「が偶数かつがどちらもの倍数でない」 を持つものを選び出す
まず量子フーリエ変換ですが、必要なゲート数がの桁数の2乗程度です。すなわち(i)(iii)どちらも程度の計算量です。(ii)のべき剰余の計算は程度の計算量です。
(iv)に関しては上記したように程度の確率で起きます。はおよそ程度であることが知られています(
前回の記事
の定理2参照)。すなわちは十分高い確率であるので、この試行を繰り返す計算量はほぼ無視できることがわかります。(v)に関しても
前回の記事
の定理3で見たように非常に高い確率で起きます。すなわち(i)-(iii)以外の過程は計算量としては殆ど無視できると言えます。
ということで、Shorのアルゴリズムでは多項式時間でを推定することができ、ひいては素因数分解を行うことが可能です。
おしまい & つづく。