量子情報勉強会|25>
Nielsen-Chuang6.3 Quantum Counting -
@gm3d2Nov. 21, 2015
@クラスメソッド
QFT recap (1)● 計算基底
QFT recap (2)● n-qubitシステム: N = 2^n
: 計算基底
jの2進表示
の(一部の)小数表示
QFT recap(3)● 基底の変換 ● ユニタリ変換
(5.2)
(5.4)
QFT recap (4)
H R2 Rn-1 Rn
H Rn-2 Rn-1
H R2
H
QFT recap (5)
H R2 Rn-1 Rn
● H:
● R2 controlled by j2:
● R3 controlled by j3 and so on
QFT recap (6)
トータルで
ほしい形と逆順
QFT recap (7) スワップゲート
|α>
|β> |α>
|β>
=
これを図の後段に入れる
QFT recap (8) 必要なゲートの数
O(n^2)のアルゴリズム
Phase estimation recap (1)
● 問題: あるユニタリ演算子Uとその固有ベクトル|u>が分かっている
● 固有値 を精度良く(tビット)知りたい
● φをtビット整数として表現したもの
Phase estimation recap (2)
+
+
+
+
(5.20)
Phase estimation recap (3)
(5.20)● 結局● これは、QFTによる の変換後のベクトルに
等しい. 前図の回路全体をAとすれば、
● レジスタ1を観測すればφが分かる!
Phase estimation recap (4)精度の検討
● φが正確にtビットで表現できれば100%の確率で が得られる
● tビットではφが正確に表現できない場合
の整数部分をbとおく:
● のφがtビット以上の場合
Phase estimation recap (5)精度の検討
● 逆QFTを実行
● 状態lの振幅:● 状態bが得られるのが正解なので、そこからの
ずれを見るためにl = b + l'とおくと
(5.23)
(5.24)
(5.25, 26)
Phase estimation recap (6)精度の検討
● 許される誤差eが与えられたとき、正解bに対して誤差がeより大きくなる測定値mが得られる確率(つまり失敗する確率)を評価する
(5.27)
(5.28)
(5.29)
Phase estimation recap (7)精度の検討
(5.30-34)
負の項を捨てて評価
テキストの計算は上端下端の検討が雑だが定性的には正しく、結論は変わらない
Phase estimation recap (8)精度の検討
● 誤差がeより大きくなる確率
● φを の精度で求めたい… をtビット中nビットまで正確に…残りのビットの最大値がe
● t = n + qにとる● 誤差がe以内に収まる確率
(5.35)
注意: eとεとは違う
Quantum search recap (1)Oracle
● N個の選択肢の中にM個の「正解」がある問題● 今考えている選択肢が正解かどうかを判定してくれる関数
f: {1, 2, ... N} → {0, 1}
f(x) = 1: 正解、f(x) = 0: 不正解● 問題を解くのは難しくとも、f(x)を計算するのは容易な
ケースがある● 例:因数分解…与えられた整数nに対して、その非自明な因
数mとして2~[sqrt(n)]の選択肢を考える● nの因数分解は難しい問題だが、あるmがnの因数であるか
どうかは割り算すればすぐ分かる
Quantum search recap (2)Oracle
● このf(x)が量子回路として実現されていると考える● 実際にf(x)を量子回路として作るのがどの程度大変か
は問題による● 一般に、量子回路での関数f(x)の実現は
という形で考える
( : ビット毎の排他的論理和)
(6.1)
Quantum search recap (3)Oracle
● なぜか?量子回路は必ずユニタリ演算、つまり逆元を持つ回路でなければ実現できないから
● 例: AND回路
古典回路としては非可逆…出力から
入力を再現できない
x1 x2 x1 and x2
0 0 0
0 1 0
1 0 0
1 1 1
Quantum search recap (4)Oracle
● AND回路の量子版
● 入力(x1, x2, q)と出力(x1, x2, q + f(x))が1対1対応している(全単射)→ユニタリ演算子Uとして構成できる
x1 x2 q f(x) q + f(x) (x1, x2, q+f(x))
0 0 0 0 0 (0, 0, 0)
0 0 1 0 1 (0, 0, 1)
0 1 0 0 0 (0, 1, 0)
0 1 1 0 1 (0, 1, 1)
1 0 0 0 0 (1, 0, 0)
1 0 1 0 1 (1, 0, 1)
1 1 0 1 1 (1, 1, 1)
1 1 1 1 0 (1, 1, 0)
Quantum search recap (5)Oracle
● 実は が全単射になるのはあたりまえ
● 古典的には全単射と限らない任意の関数をこの方法でユニタリ回路として構成できる
(6.2)
Quantum search recap (6)Grover Unit
● この形にしておけば|q>のビットは不変と見ることができるので、存在を忘れて構わない
● |q>を無視して|x>へのUの作用を見ると、f(x)=1のときだけ|x>の符号を反転させる演算と見ることができる
Quantum search recap (7)Grover Unit
● Grover Unit
ここで、● |Ψ>を初期状態として用いる
● 入力の空間{|x> (x = 0, 1, ... N-1)}のうち、次の二つのベクトルで張られる部分空間を考える
● |α>は不正解の平均、|β>は正解の平均
● |Ψ>は|α>と|β>の線形結合で書ける
(6.4)
(6.8, 6.9)
(6.8, 6.10)
Quantum search recap (8)Grover Unit
● cos(θ/2) := √(N-M)/N、sin(θ/2) := √(M/N)とおくと、
● 初期状態|Ψ>はα-β空間でθ/2だけα軸から回転した点に相当
Quantum search recap (9)Grover Unit
● 同様に
● つまり|α>、|β>を基底にとると
(6.13)
... Gをある決まった回数Rだけ|Ψ>に施せば正解である|β>にたどり着く
(6.15)
Quantum search recap (10)knowledge of M is required
● π-θ/2θが整数なら、ぴったりR回で正解● π-θ/2θが整数でなければ、最大±θ/2の誤差● しかしそれ以前に、θやRは正解の数Mに依存してい
る…Nは通常最初から分かっているが、Mは不明であることが多い
● θがπ/2より大きいと一回で正解を超えてしまうので扱いにくい→あからさまに不正解な選択肢をN個追加することで
となるのでθを最大π/2に保証することができる
Quantum Counting (1)
● 正解の数Mが分からないとQuantum searchはうまく機能しない
● Mを調べるのもGroverアルゴリズムの応用で効率よくできる!
● 古典的にはMを見積もるにはNに比例した計算量が必要
exercise 6.13(1)
● : 独立なk個のOracle callの試行
:i番目の試行は不正解
:i番目の試行は正解● Xの分散:
exercise 6.13(2)
● kが大きくなると は正規分布に近づき、75%は平均値M/Nから±σの範囲に入る
● S = NXで言えば75%は平均値から±ΔSの範囲に入る● このΔSが√M以下であればよい
● 6.14…6.13と違う任意のアルゴリズムというのが具体的に想像できなかったのでパス
Quantum Counting (2)
● Grover Unitの回転角θがMによっていた…
● 逆に言うと、θが分かればMが分かる
● Gの固有値:
● 対応する固有ベクトルを|a>、|b>とする
(6.13)
Quantum Counting (3)
● Phase estimationのところで考えた演算子UとしてGを用いればPhase estimationそのもの
● Phase estimationでは初期状態として決まった固有ベクトル|u>を用いているが…?
Quantum Counting (4)
● 初期値としてQuantum searchと同じく
を用いる…|Ψ>は|α>、|β>の線形結合で書けるので
|a>、|b>の線形結合でも書ける● 測定すると、一定の割合で のいず
れかが精度mビット,確率1 - εで得られる
なのでどちらが得られたかは区別がつく
Quantum Counting (5)精度の検討
(6.31)
sin、|sin|の傾きは1以下
(6.32)
(6.33)のときも同様の評価ができる
Quantum Counting (6)計算量と精度の検討
● m = [n/2] + 1, ε = 1/6 と選んだ場合を考える
このビット数 t の精度でphase estimationが必要
● fig. 6.7によれば が必要
● oracle実行回数:
●
Quantum Counting (7)解の存在の判定
● 特にM=0、つまり解が存在しない場合:
● Mは整数なので、確実に5/6の確率でM=0が得られる● 逆にM ≠ 0の場合:
M = 1で|ΔM|<0.95、M = 2で|ΔM|<1.25…
常に M - |ΔM| > 0
つまりMの観測値として0が得られる確率は1/6以下
Quantum Counting (7)Quantum searchの補助
● Quantum search: Rの決定にMが必要
● 最初にθを測定→Rを決定→Quantum search● Groverアルゴリズムで正解が求まる確率:終状態
がどれだけ正解|β>に近いか● 最大誤差: のとき (θが正確な場合)
誤差Δθがあると、最悪
Quantum Counting (8)成功確率
● Groverアルゴリズムでの終状態 と
正解 との角度の差(の最大値)● 先と同じく までθに精度を持たせる
上位mビットがθの信頼できる値、それより下がΔθ
● ワーストケース
成功確率● R(θ)が正しい確率まで考えると、