📌
量子計算における試行波動関数(Ansatz)と量子回路設計
量子計算における試行波動関数(Ansatz)と量子回路設計
1. 試行波動関数(Ansatz)とは
- 定義: 量子計算で最適化問題やシミュレーションを解く際に「候補となる波動関数」をパラメトリックに定義したもの。
- 役割: 真の基底状態や最適解に近い状態を「表現できる可能性のある」状態を準備する。
-
特徴:
- 調整可能なパラメータ(角度や係数など)を含む。
- 物理的な系や問題の構造に依存して設計される。
2. Ansatz の種類
(1) ハードウェア効率型 Ansatz
- 概要: デバイスの制約(ゲート種類・結合関係など)に合わせて設計されたもの。
- メリット: 実機で動かしやすい。
- デメリット: 物理的意味が薄く、最適化が難しい場合もある。
(2) 問題依存型 Ansatz
- 概要: 問題の物理的・数学的構造を利用して設計されたもの。
-
例:
- UCC(Unitary Coupled Cluster)Ansatz: 量子化学でよく用いられる。
- QAOA(Quantum Approximate Optimization Algorithm)Ansatz: 組合せ最適化問題に特化。
- メリット: 解に近づきやすい。
- デメリット: 複雑で深い回路が必要になることが多い。
3. 量子回路設計の基本ステップ
(1) パラメータ化
- 単一量子ビット回転ゲート(Rx, Ry, Rz など)に変数を埋め込み、学習・最適化できるようにする。
(2) エンタングルメント(量子もつれ)の導入
- CNOT や CZ ゲートを使って量子ビット間に相関を持たせる。
- 問題の相互作用を再現するために重要。
(3) レイヤー化
- 「回転ゲート+エンタングルメント」を 1 ブロックとし、複数回繰り返す。
- 深さを増やすほど表現力が高まるが、ノイズにも弱くなる。
(4) 測定
- 最後に計算基底(Z 基底)で測定し、エネルギー期待値や目的関数を評価する。
4. 代表的な量子回路設計例
(1) VQE(変分量子固有値ソルバー)
- 目的: ハミルトニアンの基底状態エネルギーを求める。
- Ansatz: UCC やハードウェア効率型を利用。
-
流れ:
- Ansatz に基づいて状態を準備
- 測定してエネルギー期待値を計算
- 古典計算機でパラメータを更新
- 繰り返し
(2) QAOA
- 目的: 組合せ最適化問題を解く。
-
Ansatz:
- 問題ハミルトニアン (H_C) と ミキサーハミルトニアン (H_M) を交互に適用する構造。
- 深さ (p) に応じて繰り返す。
5. 設計の考え方まとめ
- 物理的知識がある場合 → 問題依存型 Ansatz(UCC, QAOA など)
- 実機に合わせたい場合 → ハードウェア効率型 Ansatz
- 表現力と計算資源のバランスが鍵
- 深さとノイズのトレードオフを意識する
量子計算における基礎的な考え方として以下があげられます。
Ansatz 設計=「どのような波動関数をどう準備するか」
量子回路設計=「Ansatz 設計の内容をどう具現化するか」
Discussion