【ぐろーばーのあるごりずむ】
グローバーのアルゴリズム とは?
最終更新:
💡 手掛かりのない探索を、量子の振幅増幅で効率化
候補をうまく絞り込む構造がない探索で、正解かを判定するオラクルを使う量子アルゴリズム。N個の候補に正解が1つある場合、O(√N)回のオラクル呼び出しで、高い確率で正解を得られる。
📌 このページのポイント
- 正解が1つの非構造探索では、古典のO(N)に対しオラクル呼び出しはO(√N)
- オラクルによる位相の反転と振幅増幅を繰り返し、測定で正解を得る確率を高める
- 反復しすぎると成功確率が下がる。正解の数や回路のノイズなどを考える
- 呼び出し回数の高速化と実際の計算時間は別。暗号の鍵探索にも理論上の影響がある
グローバーのアルゴリズムって、検索が速くなるの?
候補を絞る構造がない探索で、正解かを判定する回数を減らせるよ。N個から正解1つを探すとき、古典ではO(N)回、量子ではO(√N)回のオラクル呼び出しが目安になる。100万候補なら、理想的な条件で約785回の反復が例だよ。「必ず1000回で見つかる」「実時間がそのまま1000倍速い」という意味ではないんだ。
どうやって正解を見つけるの?
まず候補の重ね合わせを作る。正解かを判定するオラクルで該当候補の位相を反転し、振幅増幅の操作と組み合わせて、測定で正解が出る確率を高めるんだ。すべての候補の答えを一度に読み出すわけではないよ。反復しすぎると正解の確率が下がるので、回数の選び方も大切なんだ。
何でもすぐ検索できるようになるの?
暗号の鍵も探せるの?
対策は、AESの鍵の長さを倍にすればいい?
まとめ:ざっくりこれだけ覚えればOK!
「グローバーのアルゴリズム」って出てきたら「手掛かりのない探索の判定回数を、量子で平方根の規模へ減らす方法」と思えばだいたいOK!
📖 おまけ:英語の意味
「Grover's Algorithm」 = グローバーのアルゴリズム
💬 Lov Groverが1996年に発表した量子探索アルゴリズムに由来する名前だよ。非構造探索で二次の高速化を示したんだ。