【りょうしあるごりずむ】
量子アルゴリズム とは?
最終更新:
💡 量子の性質を使い、問題に合う計算手順を組み立てる
量子ビットの状態を操作し、重ね合わせや干渉など量子力学の性質を利用して問題を解く計算手順。特定の問題で計算量を減らせるが、どんな処理でも高速になるわけではない。
📌 このページのポイント
- 量子ビットの操作と測定を組み合わせて問題を解く
- 重ね合わせても、すべての候補の答えを一度に読み出せるわけではない
- 代表例は因数分解のショア、構造のない探索のグローバー
- 理論上の計算量の改善と、実機での処理時間の短縮は区別する
量子アルゴリズムって普通の計算手順と何が違うの?
量子ビットの状態を操作し、重ね合わせや干渉などを利用するんだ。たとえば干渉を使って、欲しい答えが測定で得られる確率を高めるように計算を組み立てるよ。
候補を全部同時に試せるなら、一度で答えが全部分かる?
全部の答えを読み出せるわけではないよ。測定すると一つの結果が得られる。だから、役立つ情報を取り出せるように操作の順序や繰り返しを設計する必要があるんだ。
代表的なものは?
ショアのアルゴリズムは、整数の桁数に対して多項式時間で因数分解できる量子アルゴリズムだよ。十分な規模と精度で実行できればRSAなどに影響する。現在知られている古典的な手法との違いであって、古典計算では速い方法が絶対に存在しないと証明したわけではないんだ。
検索も指数的に速くなるの?
グローバーのアルゴリズムは二次の改善だよ。N個の候補に正解が一つあり、候補が正解かを判定する仕組みを呼び出せるモデルでは、必要な呼び出し回数をO(N)からO(√N)へ減らせる。指数的な改善とは違うし、普通のデータベース検索がそのまま速くなるという意味でもないよ。
じゃあ今のパソコンより速いかは別の話?
そうだね。入力の準備、判定を行う回路、量子操作の精度、測定や繰り返しの費用も考える必要がある。計算量が小さくなる理論と、現実の装置で有利な時間や費用になることは分けて確認しよう。
まとめ:ざっくりこれだけ覚えればOK!
「量子アルゴリズム」って出てきたら「量子の性質を使って問題を解く計算手順」と思えばだいたいOK!
📖 おまけ:英語の意味
「Quantum Algorithm」 = 量子アルゴリズム
💬 Quantum(量子)力学の原理を使ったAlgorithm(アルゴリズム)だからこの名前だよ