Groverのアルゴリズムは、一連の数値の平均と中央値を推定するためにどのように使用されますか?


10

上グローバーのアルゴリズムのためのWikipediaのページ、次のことが言及されています。

「グローバーのアルゴリズムは、一連の数値の平均と中央値の推定にも使用できます。」

これまでのところ、データベースの検索にそれを使用する方法を知っていました。しかし、その手法を実装して一連の数値の平均値と中央値を推定する方法がわかりません。さらに、そのテクニックを説明するページには、(私が気付いた限り)引用はありません。


独自の質問に回答するか、自分でタスクを実行するかを選択する場合、このリンクは、Groverのアルゴリズムを使用して奇妙な関数の平均(別名、平均、積分)を見つける方法を
— agaitaarino

@agaitaarinoありがとう。ざっと見ていきます。ちなみに、コメントはリンクとして正しくレンダリングされていません。左括弧の後に空白が残っているためです。:)
— Sanchayan Dutta

回答:


9

平均を推定する考え方は、おおよそ次のとおりです。

  • f(x)F(x)F(x)

  • Ua

    Ua:|0⟩|0⟩↦12n/2∑x|x⟩(1−F(x)|0⟩+F(x)|1⟩).
    f(x)
  • G=Ua(I−2|0⟩⟨0|⊗|0⟩⟨0|)Ua†I⊗Z

  • Ua|0⟩|0⟩G

|ψ⟩=1∑xF(x)∑xF(x)|x⟩|1⟩|ψ⊥⟩=1∑x1−F(x)∑x1−F(x)|x⟩|0⟩,
Ua|0⟩|0⟩=(∑xF(x)|ψ⟩+∑x1−F(x)|ψ⊥⟩)2−n/2|ψ⟩F(x)|1⟩|ψ⟩I⊗Zm2nm

UaI2n⊗|0⟩⟨0|


z

∑x|f(x)−f(z)|.
Txf(x)≤TT

もちろん、正確な実行時間、エラー推定などの詳細はスキップしています。


手順1で再スケーリングを実行する前に、最初にGroverのアルゴリズムを対数で実行して、関数の最小値と最大値を計算する必要がありますか?
— tparker

@tparkerそれはおそらく異なります。多くの場合、関数Fについて十分な知識があり、その可能な値をバインドできると想定されています。
— DaftWullie、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.