Grover拡散演算子はどのように機能し、なぜ最適なのですか?


15

では、この答え、グローバーのアルゴリズムを説明します。この説明は、アルゴリズムがGrover Diffusion Operatorに大きく依存していることを示していますが、このオペレーターの内部動作に関する詳細は提供していません。

簡単に言うと、Grover Diffusion Operatorは、「平均についての反転」を作成して、初期のステップのわずかな違いを測定可能となるように十分に大きくします。

質問は次のとおりです。

  1. Grover拡散演算子はどのようにこれを達成しますか?
  2. 結果の順不同のデータベースを最適な時間で検索しますか?O(n)

1
2番目の質問に対するコメント。Groverのアルゴリズムの状態の追跡が、アルゴリズムの初期状態と宛先状態を接続する測地線に正確に従うことを示すための作業があります。だから最適です。
XXDD

回答:


5

元の質問は素人の説明に関するものだった ので、連続時間の進化に基づいて、おそらく理解しやすい(背景に依存する)わずかに異なるソリューションを提供します。(しかし、私はそれが素人に適しているふりをしません。)

すべての状態の均一な重ね合わせである初期状態から始めます と我々は状態を見つけることを目指しています| X

|ψ=12ny{0,1}n|y
|x正解として認識することができる(これは一般化することができるが、そのような状態が正確にあると仮定して)。これを行うには、ハミルトニアン Groverの検索の本当に美しい機能は、この時点で、数学を2つの状態の部分空間に減らすことができることです。
H=|xx|+|ψψ|.
、むしろすべての要求より 2 nは。これらの状態から正規直交基底を作成すると、説明が簡単になります。 { | X | ψ ⊥は }場所 | ψ = 1{|x,|ψ}2n{|x,|ψ} この基礎を使用して、時間進化eiHt| ψはのように書くことができ 、E-ITI+2-NZ+
|ψ=12n1y{0,1}n:yx|y.
eiHt|ψ ここでXおよびZは標準パウリ行列です。これは eitIcost
eit(I+2nZ+2n12nX)(12n112n),
XZ したがって、時間t=πの間進化する場合
eit(Icos(t2n/2)i12n/2sin(t2n/2)(Z+X2n1))(12n112n).
、グローバルフェーズを無視すると、最終状態は 1t=π22n/2 つまり、確率1で状態を取得します| X私たちが探していたという。グローバーの検索の通常の回路ベースの説明は、実際にはこの連続時間の進化が個別のステップに分割されているだけですが、通常、結果に非常に近い確率で正確に確率1を取得できないというわずかな欠点があります。
12n/2(Z+X2n1)(12n112n)=(12n2n12n)+(112n2n12n)=(10).
|x

H~=5HH~2n/22n/2k1/k

|x|y


4

D=HnU0HnU0

U0|0n=|0n,U0|x=|xfor|x|0n.

U0U0=I2|0n0n|

D=2|++|I,
|+=2n/2(|0+|1)n

|ψ=α|++β|+|+|+++=0D|ψ=α|+β|+

|+

x0。この角度は、回転数とともに直線的に減少し(検索値をオーバーシュートするまで)、正しい値を正しく測定する確率が二次的に増加することを示します。

LA={y:xA(x)=y}AT(n)=o(2n/2)

|1nLAyLALAyT(n)1/3とも言語が受け入れられ、グローバーのアルゴリズムが実際に漸近的に最適であるように。3

ザルカ後に、Groverのアルゴリズムが正確に最適であることを示しました。


1 Groverのアルゴリズムでは、マイナス記号を丸めることができるため、マイナス記号が存在する場所はいくぶんarbitrary意的であり、必ずしも拡散演算子の定義に含まれる必要はありません

|+

AMAAyMAySMAMAytϵ<2T2/ϵ2MA|1nLA2nCard(S)MA |1n2n1T(n)=o(2n/2)LA

4ユークリッド距離を使用して、トレース距離の 2倍

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.