【ぐろーばーのあるごりずむ】
グローバーのアルゴリズム とは?
💡 100万件のデータから探し物、古典なら100万回、量子ならたった1000回
📌 このページのポイント
- 古典コンピュータでは最悪N回の探索が必要だが、量子ではsqrt(N)回で見つかる
- 振幅増幅という手法で正解の確率を繰り返し高めていく仕組み
- ショアのアルゴリズムほど劇的ではないが、幅広い問題に適用できる汎用性がある
- AES暗号の安全性を半減させる(256ビット鍵が128ビット相当になる)影響もある
グローバーのアルゴリズムって、検索が速くなるの?
そうだよ。例えば電話帳に100万人の名前が順番バラバラに載っていて、特定の人を探すとする。普通は最悪100万回めくる必要があるけど、グローバーのアルゴリズムなら約1000回で見つかるんだ。sqrt(100万)=1000だからね
おもしろい!どうやってそんなことができるの?
振幅増幅というテクニックを使うんだ。まず量子の重ね合わせで全候補を同時に調べて、正解のデータだけ確率の振幅を少し大きくする。これを何度も繰り返すと、正解の確率がどんどん高まっていく。ちょうど共鳴みたいに正解だけが増幅されるイメージだよ
ショアのアルゴリズムみたいに暗号も破れるの?
じゃあ鍵の長さを倍にすればいいの?
まさにその通り!AES-128を使っているなら AES-256に、256なら512相当にすれば量子コンピュータにも対抗できる。ショアのアルゴリズムがRSAを根本から破壊するのに対して、グローバーは対称鍵暗号の安全性を半減させるだけだから、対策がシンプルなんだよ
検索以外にも使えるの?
📖 おまけ:英語の意味
「Grover's Algorithm」 = グローバーのアルゴリズム
💬 ベル研究所のロブ・グローバーが1996年に発表したよ。ショアのアルゴリズムの2年後で、量子コンピュータの応用範囲を大きく広げた功績があるんだ