次へ: 計算量の評価
上へ: 位数を求めるアルゴリズム
戻る: 位数アルゴリズムの古典計算のパート
目次
ここでは、高い確率で式6.23の条件を満たす
を作り出す量子コンピュータを考える。集合
を条件式6.23を満たす
の集合と定義しておく。
 |
(6.28) |
ここでは次のような操作をする。まず、初期状態
を量子コンピュータ
に作用させてエンタングルメント状態
を引き起こさせ続いて、量
を観測する。この観測によって
となる
を得る確率は
 |
(6.29) |
なので、
が大きくなる様な量子コンピュータ
を考えれば良いことになる。ショアーが使った演算子は
 |
|
|
(6.30) |
である。ただし、
はフーリエ変換であり、
は次式6.31の変換を満たす演算子である(指数関数を計算する量子コンピュータと呼ぶ)。
 |
|
|
(6.31) |
実際にこのショアーの演算子を状態
に作用させてみると
となる。しかし、
 |
(6.35) |
が成り立つことを使って和の取り方を変えてやると
 |
|
|
(6.36) |
しかし、
は
なので
 |
(6.37) |
となり、これを上の式に代入して、
とできるので、観測によってある
を得る確率は
 |
(6.38) |
となる。これを下から評価するために次のように変形する。
ただし
続いて
が
に含まれるときの確率を考える。
ならば
より、
 |
(6.41) |
となる。そして
と
から、
 |
(6.42) |
よって、式6.42、6.43より
 |
(6.43) |
なので、式6.41の
に
に関する2次までの近似を取り、式6.39は、
 |
(6.44) |
となるが、
そして、
なので結局
となり、式6.45右辺の最大値は
の範囲で探せば良い。
の最大値は、
のとき、
 |
(6.47) |
であり、式6.45の
については、
より
なので、結局、式6.45は上の二つの式から
 |
(6.50) |
と下から抑えられる。
したがって、
のどれかを得る確率は
 |
(6.51) |
となり、
に属すから
は6.23を満たすので
 |
(6.52) |
つまり、
 |
(6.53) |
なので、ある一つの
に対して、少なくとも一つの
が存在する。このような条件を満たす
の個数は
のオイラー関数
であり、その値については次の定理が知られている。
定理 6.5
オイラー関数の評価式
 |
(6.54) |
ただし、ここで
はオイラー定数である。
したがって、
 |
(6.55) |
が成り立ち、式6.52は、
 |
(6.56) |
と評価できる。したがってここで言えることは
の演算と
の観測を
回以上行えば式6.23(古典計算への入力に対する条件)を満たす
を得ることが出来るということである。よって、この一連の位数を求めるアルゴリズムを
回以上繰り返せば正しい位数
が一回は出力される計算になる。だがこの議論では重要なことがまだ一つ抜けている、つまりこのアルゴリズムを一回繰り返すのにどれだけの計算時間がかかるのかはまだ議論していなかった。このアルゴリズムにおいて多項式時間で計算できることが不明な個所は、量子計算で指数関数を求めるところ(つまり
)のみであるが、
が多項式オーダーのステップで組み立てられることは付録Cに示してある。
次へ: 計算量の評価
上へ: 位数を求めるアルゴリズム
戻る: 位数アルゴリズムの古典計算のパート
目次
Masaru Fukunaga
平成19年1月29日