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

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

💡 100万件のデータから探し物、古典なら100万回、量子ならたった1000回
📌 このページのポイント
グローバーのアルゴリズム:振幅増幅による探索 古典探索 O(N) ! 1つずつ順に探索 N = 100万 → 100万回 量子探索 O(√N) - 振幅増幅 初期状態 全て同じ確率 増幅中 正解が大きくなる 増幅完了 正解 高確率で正解! N = 100万 → √100万 ≒ 1000回 適用できる問題の例 データベース検索 最適化問題 暗号鍵の探索 パラメータ探索
グローバーのアルゴリズムのイメージ
ひよこ ひよこ

グローバーのアルゴリズムって、検索が速くなるの?

ペンギン先生 ペンギン先生

そうだよ。例えば電話帳に100万人の名前が順番バラバラに載っていて、特定の人を探すとする。普通は最悪100万回めくる必要があるけど、グローバーのアルゴリズムなら約1000回で見つかるんだ。sqrt(100万)=1000だからね

ひよこ ひよこ

おもしろい!どうやってそんなことができるの?

ペンギン先生 ペンギン先生

振幅増幅というテクニックを使うんだ。まず量子の重ね合わせで全候補を同時に調べて、正解のデータだけ確率の振幅を少し大きくする。これを何度も繰り返すと、正解の確率がどんどん高まっていく。ちょうど共鳴みたいに正解だけが増幅されるイメージだよ

ひよこ ひよこ

ショアのアルゴリズムみたいに暗号も破れるの?

ペンギン先生 ペンギン先生

直接暗号を破るわけではないけど影響はあるよ。例えばAES-256暗号は256ビットの鍵を総当たりで探す必要があるけど、グローバーのアルゴリズムなら探索回数がsqrt(2の256乗)=2の128乗になる。つまり256ビットの安全性が実質128ビット相当に半減するんだ

ひよこ ひよこ

じゃあ鍵の長さを倍にすればいいの?

ペンギン先生 ペンギン先生

まさにその通り!AES-128を使っているなら AES-256に、256なら512相当にすれば量子コンピュータにも対抗できる。ショアのアルゴリズムRSAを根本から破壊するのに対して、グローバーは対称鍵暗号の安全性を半減させるだけだから、対策がシンプルなんだよ

ひよこ ひよこ

検索以外にも使えるの?

ペンギン先生 ペンギン先生

実はグローバーのアルゴリズムは「答えの正しさを判定できる問題」なら何にでも使えるんだ。最適化問題、機械学習ハイパーパラメータ探索、データベースクエリなど応用範囲が広い。二次の高速化は派手じゃないけど、汎用性の高さが魅力で、量子アルゴリズムの中でも最も実用的と言われているよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
グローバーのアルゴリズムって出てきたら「量子でデータ検索がルートN倍速くなる探索アルゴリズム」と思えればだいたいOK!
📖 おまけ:英語の意味
「Grover's Algorithm」 = グローバーのアルゴリズム
💬 ベル研究所のロブ・グローバーが1996年に発表したよ。ショアのアルゴリズムの2年後で、量子コンピュータの応用範囲を大きく広げた功績があるんだ
← 用語集にもどる