量子情報勉強会|25>
Nielsen-Chuang
6.3 Quantum Counting -
@gm3d2
Nov. 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(θ)が正しい確率まで考えると、

Nielsen chuang-6-3

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