【ぐろーばーのあるごりずむ】

グローバーのアルゴリズム とは?

最終更新:
💡 手掛かりのない探索を、量子の振幅増幅で効率化

候補をうまく絞り込む構造がない探索で、正解かを判定するオラクルを使う量子アルゴリズム。N個の候補に正解が1つある場合、O(√N)回のオラクル呼び出しで、高い確率で正解を得られる。

📌 このページのポイント
手掛かりのない探索の照会回数 古典的な探索 O(N) グローバー法 O(√N) 4候補・正解Cだけの理想回路の例 測定で各候補が出る確率 初期:各25% A B C D 1反復後:Cが100% A B C D 一般には反復回数を選ぶ。多すぎると確率低下 照会回数の比較で、実時間の保証ではない
正解が1つの構造のない探索を比較しています。下段は4候補から始め、位相反転と振幅増幅を1回行った理想回路の例。一般の候補数や実機で必ず100%になるという意味ではありません。
ひよこ ひよこ
グローバーのアルゴリズムって、検索が速くなるの?
ペンギン先生 ペンギン先生
候補を絞る構造がない探索で、正解かを判定する回数を減らせるよ。N個から正解1つを探すとき、古典ではO(N)回、量子ではO(√N)回のオラクル呼び出しが目安になる。100万候補なら、理想的な条件で約785回の反復が例だよ。「必ず1000回で見つかる」「実時間がそのまま1000倍速い」という意味ではないんだ。
ひよこ ひよこ
どうやって正解を見つけるの?
ペンギン先生 ペンギン先生
まず候補の重ね合わせを作る。正解かを判定するオラクルで該当候補の位相を反転し、振幅増幅の操作と組み合わせて、測定で正解が出る確率を高めるんだ。すべての候補の答えを一度に読み出すわけではないよ。反復しすぎると正解の確率が下がるので、回数の選び方も大切なんだ。
ひよこ ひよこ
何でもすぐ検索できるようになるの?
ペンギン先生 ペンギン先生
適した判定器を量子回路として実装できることが前提だよ。O(√N)は、その判定器を呼ぶ回数の評価で、判定器の構築や実行、ほかの回路操作の費用は別に考える。既存のデータベースへそのまま使えば速くなる、という保証ではなく、問題の構造や必要な回路を評価するんだ。
ひよこ ひよこ
暗号の鍵も探せるの?
ペンギン先生 ペンギン先生
鍵の総当たり探索にも理論上は使えるよ。kビット鍵の2^k候補に対して、探索の判定回数はO(2^(k/2))になる。ただし、これはAESの安全性が実際に一律半減するという結論とは違う。量子回路の費用や、反復を直列に行う必要と並列化の制約なども関わるんだ。
ひよこ ひよこ
対策は、AESの鍵の長さを倍にすればいい?
ペンギン先生 ペンギン先生
一律にそう勧めるのは正確ではないよ。NISTのFAQでは、回路の費用や並列化の制約を踏まえ、現在の用途ではAESの128・192・256ビット鍵を引き続き使えると説明している。AESに512ビット鍵の標準がある、という話でもない。実際の暗号の選択や移行は、用途に合う標準や最新の指針で判断するんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「グローバーのアルゴリズム」って出てきたら「手掛かりのない探索の判定回数を、量子で平方根の規模へ減らす方法」と思えばだいたいOK!
📖 おまけ:英語の意味
「Grover's Algorithm」 = グローバーのアルゴリズム
💬 Lov Groverが1996年に発表した量子探索アルゴリズムに由来する名前だよ。非構造探索で二次の高速化を示したんだ。

参考資料

← 用語集にもどる