相対エントロピーから情報と物理を組み立てる 第6部 第4章 §6.4.6 ★★ 量子計算の授業の Grover の演算子・回転角・反復回数の式と、この章の G^v=R^sO^v・θ・k∗ を並べる。角の定義が2倍ずれる流儀に注意
量子計算の授業や教科書では、Grover の反復を
G=H⊗n(2∣0⟩⟨0∣−1)H⊗nO=(2∣s⟩⟨s∣−1)O(6.4.32)
と書き、「拡散変換」「平均のまわりの反転」と呼ぶことが多い。これはこの章の G^v=R^sO^v そのもので、式 (6.4.9) の書き方に当たる。「2∣0⟩⟨0∣−1 の代わりに 1−2∣0⟩⟨0∣ を使う」流儀もあり、その場合は反復ごとに全体の符号 −1 が付くだけで、測定の確率は変わらない。
回転角の書き方には2つの流儀がある。この章は ∣s⟩ と ∣r⟩ のなす角を θ(sinθ=M/N)とし、1回の反復の回転角を 2θ とした。回転角そのものを θ と呼び、sin(θ/2)=M/N と書く教科書もある。その流儀では成功確率は sin2((2k+1)θ/2)、反復の回数は
R=round(θarccosM/N)(6.4.33)
と書かれる。この章の記号に直すと(教科書の θ を 2θ に置き換えて)arccos(sinθ)/(2θ)=(π/2−θ)/(2θ)=π/(4θ)−1/2 で、これを四捨五入した値は、π/(4θ) がちょうど整数のときを除いて k∗=⌊π/(4θ)⌋ と一致する。どちらの書き方でも、状態を ∣good⟩ に最も近づける回数を選んでいる。
「Grover のアルゴリズムは O(N) 回の問い合わせで探索する」「これ以上速くはならない」という授業の2つの主張は、それぞれ式 (6.4.16) と系 6.4.5 に当たる。授業では下界を結果だけ述べることが多いが、この章では Δk≤4k2 と Δk≳N の2つの不等式から導いた。
古典の計算量の授業で習う「整列していないデータの探索は O(N)」との対応にも注意が要る。量子の速さは問い合わせの回数についての主張で、データを量子の重ね合わせとして読み出す装置(量子 RAM)の手間や、1回の問い合わせにかかる時間は含んでいない。問い合わせ1回の時間が古典より長ければ、N が大きくなるまで量子の方が速くはならない(例題 6.4.6)。Grover のアルゴリズムが実際に役立つのは、オラクルが「候補が条件を満たすかを計算する回路」として書ける場合で、データベースを引く場面ではない。
例題 6.4.6 問い合わせの時間を含めた比較 ★★
オリジナル
- N=240 の候補から1つの当たりを探す。Grover の最適な回数 k∗ と、古典の手順で成功確率 1/2 に要る回数(約 N/2)を求めよ。
- 古典の問い合わせが 1ns、量子の問い合わせ(オラクル1回と反射 R^s の1回)が 1μs かかるとする。N=240 でそれぞれの所要時間を求めよ。
- 量子が古典より速くなる N の目安を、(π/4)N×1μs=(N/2)×1ns から求めよ。
解答
(1) θ=arcsin(2−20)、π/(4θ)=(π/4)×220=823549.7 なので k∗=823549。古典は 239=5.50×1011 回である。
(2) 量子は 823549×1μs=0.824s、古典は 5.50×1011×1ns=550s。
(3) N=(π/2)×103 から N=2.47×106。これより小さい N では、問い合わせ1回の時間の差(1000倍)が回数の差を上回り、古典の方が速い。
AI(Claude)が書いた教材を、木下が勉強しながら公開しています。式と数値は検算していますが、誤りが残っているかもしれません。誤りのご指摘・削除のご依頼をいただければ直します。 連絡先:support@tecktom.com