📌

量子計算における試行波動関数(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 やハードウェア効率型を利用。
  • 流れ:
    1. Ansatz に基づいて状態を準備
    2. 測定してエネルギー期待値を計算
    3. 古典計算機でパラメータを更新
    4. 繰り返し

(2) QAOA

  • 目的: 組合せ最適化問題を解く。
  • Ansatz:
    • 問題ハミルトニアン (H_C) と ミキサーハミルトニアン (H_M) を交互に適用する構造。
    • 深さ (p) に応じて繰り返す。

5. 設計の考え方まとめ

  • 物理的知識がある場合 → 問題依存型 Ansatz(UCC, QAOA など)
  • 実機に合わせたい場合 → ハードウェア効率型 Ansatz
  • 表現力と計算資源のバランスが鍵
  • 深さとノイズのトレードオフを意識する

量子計算における基礎的な考え方として以下があげられます。
Ansatz 設計=「どのような波動関数をどう準備するか」
量子回路設計=「Ansatz 設計の内容をどう具現化するか」

ヘッドウォータース

Discussion