量子ウォーク
ランダムウォークを量子化すると拡散が二次的に速くなる理由が腑に落ちる。コイン付き離散時間版と連続時間版の原理、干渉が生む弾道的な広がり、探索アルゴリズムへの応用までを正確につかめます。
- 1.量子ウォークは古典ランダムウォークの量子版。確率ではなく確率振幅を各経路に重ね合わせ、経路どうしの干渉で分布が決まる。拡散の速さは古典の「歩数の平方根」から量子の「歩数に比例」へ二次的に上がる(弾道的拡散)。
- 2.方式は2つ。離散時間量子ウォーク(DTQW)は行き先を選ぶコインレジスタにコイン演算子(例:アダマール)とシフト演算子を交互に適用する。連続時間量子ウォーク(CTQW)はグラフのラプラシアン/隣接行列をハミルトニアンとして時間発展させ、コインを持たない。
- 3.応用の核は探索。マーク済み頂点で位相を反転するオラクルを歩みに組み込むと、多くのグラフでヒッティングタイムが古典比で二次的に短くなり、グローバー探索を包含・一般化する枠組み(量子ウォーク探索・振幅増幅)になる。
拡散を「確率」ではなく「振幅」で回す
量子ウォーク(Quantum Walk)は、古典のランダムウォークを量子力学の枠組みで置き換えた計算モデルです。古典ランダムウォークは、各ステップでコインを投げて左右どちらへ進むかを確率的に決め、多数の経路にわたる確率の和で位置分布を得ます。量子ウォークはこの確率を確率振幅(複素数の重み)に置き換え、すべての経路を重ね合わせたまま進めます。分布は経路ごとの振幅を足し合わせてから2乗して得るため、経路どうしが干渉(強め合い・打ち消し合い)します。
この一点が古典との決定的な違いを生みます。古典ランダムウォークで原点からの広がり(標準偏差)はステップ数 t に対し √t でしか伸びません(拡散的)。量子ウォークでは干渉により広がりが t に比例して伸びます(弾道的拡散)。同じ歩数で到達距離が二乗のオーダーで違う——これが後述する二次高速化と探索応用の源泉です。
古典の分布は中心が高い二項分布(正規分布に収束)で、ほとんどの確率が原点付近に留まります。量子ウォークの分布は逆で、両端(±t 付近)に鋭いピークが立ち、中心はむしろ低くなります。振幅が同符号なら強め合って端が伸び、逆符号なら中心で打ち消し合うためです。「速く遠くへ」広がる性質はこの干渉パターンの直接の帰結です。
離散時間量子ウォーク(DTQW):コイン+シフト
離散時間量子ウォーク(Discrete-Time Quantum Walk, DTQW)は、状態を位置レジスタとコインレジスタの2つで表します。1次元の直線上なら、状態は |位置 x> ⊗ |コイン c> の重ね合わせで、コインは c ∈ {0(左), 1(右)} の2値です。
1ステップは2つのユニタリ演算子の合成です。前提として量子ウォークの各操作は必ずユニタリ(可逆)でなければなりません。
1ステップ = S · (C ⊗ I_position)
① C(コイン演算子): コインレジスタだけに作用し、進行方向を重ね合わせる
② S(シフト演算子): コインの値に応じて位置を ±1 動かす(コインと位置を絡める)
コイン演算子には、コイン状態を等重ね合わせにするアダマール演算子 H がよく使われます(アダマールウォーク)。シフト S は「コインが左なら位置を1減らし、右なら1増やす」条件付き移動です。
アダマールコイン H の作用(1コインビット):
|0> -> (|0> + |1>)/√2
|1> -> (|0> − |1>)/√2
条件付きシフト S:
S |x>|0> = |x−1>|0> (左向きコインなら左へ)
S |x>|1> = |x+1>|1> (右向きコインなら右へ)
C で各位置のコインを左右へ分岐させ、S でその分岐を実際の移動に変換する——これを交互に繰り返します。各位置には複数の経路の振幅が合流し、そこで干渉が起きます。
アダマールコインは |1> に作用したときだけ符号がマイナスになるため、コインの初期状態をそのまま |0> にすると分布は左右非対称に偏ります。左右対称な分布を得るには、初期コインを (|0> + i|1>)/√2 のように複素位相を含む状態にするのが定石です。古典コインでは起こり得ない「初期条件が最終分布の形を左右する」現象で、干渉に敏感な量子ウォークの特徴を端的に表します。
連続時間量子ウォーク(CTQW):コインを持たない時間発展
連続時間量子ウォーク(Continuous-Time Quantum Walk, CTQW)は、離散ステップとコインをどちらも捨て、グラフ上の連続的な時間発展として定義します。頂点集合が計算基底 |v> に対応し、状態はその重ね合わせです。時間発展は、グラフ構造を符号化したハミルトニアン H(多くは隣接行列 A かグラフラプラシアン L = D − A、D は次数対角行列)による、シュレディンガー方程式の解で与えられます。
時間 t の状態: |ψ(t)> = U(t) |ψ(0)>, U(t) = exp(−i·H·t)
H : グラフを符号化した時間非依存ハミルトニアン
よく使うのは 隣接行列 A、またはラプラシアン L = D − A
γ : ホッピングレート(H = γ·A のように結合の強さを表す係数)
CTQW の要点は、コインという補助レジスタが不要なことです。隣接行列の非対角成分(頂点 u と v が辺で結ばれていれば非ゼロ)が「隣へ確率振幅を漏らす」役割を果たし、時間とともに振幅がグラフ上を波として伝播します。古典の連続時間ランダムウォークが同じ L を生成子とする熱拡散方程式(d p/dt = −L p)に従うのに対し、CTQW は虚数単位 i が入るぶんだけ拡散が振動的・波動的になり、ここでも弾道的な広がりが現れます。
DTQW と CTQW は「同じ量子ウォーク」の2つの流儀ですが、単純に一致はしません。DTQW は位置とコインの積空間で動くため、コインの分だけ状態空間が広く、CTQW にはない自由度(コインの選び方)を持ちます。両者を対応づけるには DTQW にコイン次元を追加して極限を取る必要があり、素朴に「ステップ幅をゼロにすれば CTQW」とはなりません。実装面では、DTQW は量子ゲート回路と相性がよく、CTQW はハミルトニアンシミュレーションと相性がよい、と使い分けられます。
二次高速化はどこから来るのか
古典と量子の広がり方を並べると、速度差の正体がはっきりします。
| 観点 | 古典ランダムウォーク | 量子ウォーク |
|---|---|---|
| 各ステップの記述 | 確率で左右を選ぶ(確率の和) | 振幅を重ね合わせ経路が干渉 |
| 1次元の広がり(標準偏差) | √t(拡散的) | t に比例(弾道的) |
| 位置分布の形 | 中心が高い二項/正規分布 | 両端に鋭いピーク、中心は低い |
| 時間発展の生成子 | ラプラシアン L(熱拡散) | 隣接行列/ラプラシアンを H とし exp(−iHt) |
| 可逆性 | 非可逆(確率的・情報が散逸) | ユニタリで可逆(測定まで情報保存) |
| 混合/到達の速さ | 混合時間・ヒッティングタイムが大 | 多くのグラフで二次的に短縮 |
広がりが √t から t へ上がることは、「ある距離 d に到達するのに必要な歩数」が古典の d² オーダーから量子の d オーダーへ減ることを意味します。これがヒッティングタイム(特定頂点に初めて到達するまでの期待歩数)や混合時間の二次的短縮につながり、探索アルゴリズムの高速化の土台になります。
弾道的拡散は魅力的ですが、量子ウォークをそのまま放置しても解は得られません。振幅は干渉で振動し続けるため、都合よく1点に確率が集中し続けるとは限らず、いつ測定するか(停止時刻)の設計が本質的です。また高速化はグラフ構造に依存し、二次高速化はあくまで多くの代表的グラフでの結果であって、任意グラフで保証されるものではありません。指数的な加速が示されているのは特殊構造のグラフ(例:接着二分木を貫く CTQW)に限られ、汎用の指数加速ではない点に注意が要ります。
探索アルゴリズムへの応用
量子ウォークの最大の実用は探索です。基本アイデアは、通常の歩みに「マーク済み頂点(探したい解)でだけ位相を反転するオラクル」を差し込むことです。解の頂点で符号を反転し続けると、干渉のパターンが崩れ、振幅が解へ集中するよう歩みが歪みます。
量子ウォーク探索の骨格(1ステップ内):
① 通常のウォーク演算子 W を適用(コイン+シフト、または exp(−iHt))
② マークオラクル: 解の頂点の振幅だけ符号を反転(位相キック)
→ ①②の反復で、解を測る確率が O(1) まで増幅される
必要反復数はグラフ依存だが、多くの場合 古典ヒッティングタイムの平方根オーダー
この枠組みはグローバー探索を特別な場合として含みます。グローバー探索は「完全グラフ(全頂点が相互に隣接)上の量子ウォーク探索」とみなせ、非構造の N 件探索を O(√N) に落とす二次高速化はここでも成立します。逆に、格子や特定の疎グラフでは、グローバー法をそのまま当てはめるより量子ウォーク探索のほうがオラクル呼び出しやコヒーレンス要件で有利になる場合があります。より抽象的には、ウォーク演算子とオラクルの2つの反射(鏡映)の合成として探索を記述する振幅増幅の一般論に接続し、要素判別(element distinctness)や三角形検出など、単純なグローバー法では書きにくい問題に二次高速化を与えます。
- 速度の核:確率ではなく振幅を干渉させるため、1次元の広がりが古典
√tに対し量子はtに比例(弾道的拡散)。到達歩数はd²→dに減る。 - 2方式:DTQW はコインレジスタ+コイン演算子(例:アダマール)+条件付きシフトを反復。CTQW はコインなしで、隣接行列/ラプラシアンを
Hとしexp(−iHt)で発展。 - 探索:マーク頂点で位相反転するオラクルを歩みに組み込むと、多くのグラフでヒッティングタイムが二次的に短縮。完全グラフ上のウォーク探索がグローバー法に一致する。
- 限界:二次高速化はグラフ依存で万能ではない。指数加速は接着二分木など特殊構造に限られる。停止時刻(いつ測定するか)の設計が必須。
まとめ
- 量子ウォークは古典ランダムウォークの各経路を確率振幅で重ね合わせ、干渉で分布を決めるモデル。広がりが古典の
√t(拡散的)から量子のt(弾道的)へ上がり、これが二次高速化の源泉になる。 - **離散時間版(DTQW)**は位置レジスタとコインレジスタを持ち、コイン演算子(例:アダマール)と条件付きシフトを交互に適用する。コインの初期位相が分布の対称性を左右する。
- **連続時間版(CTQW)**はコインを持たず、グラフの隣接行列/ラプラシアンをハミルトニアン
Hとしexp(−iHt)で時間発展させる。ゲート回路には DTQW、ハミルトニアンシミュレーションには CTQW が馴染む。 - 応用の中心は探索。マーク頂点で位相反転するオラクルを歩みに組み込むと多くのグラフでヒッティングタイムが二次的に短縮し、グローバー探索を完全グラフ上の特殊例として包含する振幅増幅の一般枠組みになる。ただし高速化はグラフ構造に依存し、指数加速は特殊なグラフに限られる。
量子コンピューティング Article
量子ウォークを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
量子ウォーク
比較で見る軸
難易度: advanced / カテゴリ: 量子コンピューティング / タグ数: 5
導入後に効く点
方式は2つ。離散時間量子ウォーク(DTQW)は行き先を選ぶコインレジスタにコイン演算子(例:アダマール)とシフト演算子を交互に適用する。連続時間量子ウォーク(CTQW)はグラフのラプラシアン/隣接行列をハミルトニアンとして時間発展させ、コインを持たない。
先に潰すリスク
用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。
- 難易度
- advanced
- カテゴリ
- 量子コンピューティング
- タグ数
- 5
判断チェックリスト
- 自社の用途が「量子ウォーク / 量子アルゴリズム」に近いか確認する。
- 強みである「量子ウォークは古典ランダムウォークの量子版。確率ではなく確率振幅を各経路に重ね合わせ、経路どうしの干渉で分布が決まる。拡散の速さは古典の「歩数の平方根」から量子の「歩数に比例」へ二次的に上がる(弾道的拡散)。」が本当に評価軸になるか確認する。
- 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。