量子アルゴリズムの基礎

量子アルゴリズムの基礎

執筆済 量子アルゴリズム

共通の骨格#

ほとんどの量子アルゴリズムは 3 段階でできている。

  1. 重ね合わせを作る — アダマールで一様重ね合わせ
  2. 位相に情報を書き込む — オラクル、あるいは問題ハミルトニアン
  3. 干渉させて読み出すQFT、拡散変換など

2 で「答えを位相として埋め込み」、3 で「位相の情報を振幅に変換する」。 この往復が量子アルゴリズムの基本設計。

位相キックバック#

制御ユニタリの固有状態を標的にすると、 位相が制御ビット側に現れる

|c|ue2πiφc|c|u

量子位相推定も、Deutsch-Jozsa も、 Shor もこの仕掛けを使っている。 知りたい量を位相に載せるのが定石。

オラクル#

「関数 f を計算するブラックボックス」として与えられる操作。

Uf|x|y=|x|y⊕︎f(x)

理論的な計算量はオラクルの呼び出し回数で測る(クエリ計算量)。 ただし実際の問題ではオラクルを回路として実装する必要があり、 そのコストが無視できないことが多い。 理論上の加速が実用に直結しない主要因のひとつ。

限界#

  • 構造の無い探索は Ω(N) が下限(BBBV 定理)。 Grover はこの下限に到達しており、これ以上速くできない
  • NP 完全問題が量子で多項式時間になるとは考えられていない

参考文献#

ノート一覧を閉じる