Grover扩散算子如何工作,为什么它是最优的?


15

在这个答案中,解释了格罗弗的算法。解释表明,该算法在很大程度上依赖于Grover Diffusion运算符,但未提供该运算符内部工作的详细信息。

简而言之,Grover扩散算子创建了一个“均值倒置”,以迭代方式使先前步骤中的细微差异大到足以测量的程度。

现在的问题是:

  1. Grover扩散算子如何实现这一目标?
  2. 为什么得到的O(n)在总时间内搜索无序数据库是否最优?

1
只是对第二个问题的评论。有工作表明,格罗弗算法中的状态轨迹准确地遵循了测地线,将算法的初始状态与目标状态联系在一起。因此是最佳的。
— XXDD

Answers:


5

由于最初的问题是关于外行的描述,因此基于连续的时间,我提供了一个略有不同的解决方案,该解决方案也许更易于理解(取决于背景)演化。(但是,我不假装它适合外行。)

我们从初始状态开始,该状态是所有状态的统一叠加 ,我们的目标是找到可以被识别为正确答案的状态(假设可以存在一个这样的状态,尽管可以将其概括化)。为此,我们在哈密顿量的作用下及时发展 Grover搜索的真正美丽之处在于,此时,我们可以将数学简化为只有两个状态,而不需要全部。它更容易来形容,如果我们让这些国家,一个正交基哪里 | X⟩ħ=| X⟩⟨X| +| ψ⟩⟨ψ| 。{| X⟩,| ψ⟩}2Ñ{| X⟩,| ψ⊥⟩}| ψ⊥⟩=1

|ψ⟩=12n∑y∈{0,1}n|y⟩
|x⟩
H=|x⟩⟨x|+|ψ⟩⟨ψ|.
{|x⟩,|ψ⟩}2n{|x⟩,|ψ⊥⟩}e−iHt| ψ⟩ë-我吨(我+2-Ñž+√
|ψ⊥⟩=12n−1∑y∈{0,1}n:y≠x|y⟩.
在此基础上,时间演化可以写为 其中和是标准Pauli矩阵。可以改写为 因此,如果我们进化一段时间e−iHt|ψ⟩XZe−it(Icos(t
e−it(I+2−nZ+2n−12nX)⋅(12n1−12n),
XZt=π
e−it(Icos⁡(t2n/2)−i12n/2sin⁡(t2n/2)(Z+X2n−1))(12n1−12n).
t=π22n/2,并且忽略全局阶段,最终状态为 换句话说,以概率1,我们得到了要搜索的状态。通常,对Grover搜索的基于电路的描述实际上就是将这种连续的时间演化分解为离散的步骤,其轻微的缺点是您通常无法获得与结果非常接近的准确概率1。
12n/2(Z+X2n−1)(12n1−12n)=(12n−2n−12n)+(1−12n2n−12n)=(10).
|x⟩

请注意以下几点:您可以重新定义,并使用进行演化,演化时间将缩短5倍。如果您想成为一个真正的激进分子,请用替换5 ,然后Grover的搜索将持续不断地进行!但是您不能随意执行此操作。任何给定的实验都将具有固定的最大耦合强度(即固定的乘数)。因此,不同的实验具有不同的运行时间,但是它们的缩放比例是相同的。就像说电路模型中的门成本是恒定的一样,而不是假设如果我们使用深度为的电路,则每个门可以在时间运行。H~=5HH~2n/22n/2k1/k

最优性证明实质上涉及显示,如果您更快地检测到一种可能的标记状态,它将使检测另一种标记状态速度变慢。由于该算法无论标记了哪种状态都应能很好地工作,因此此解决方案是最佳解决方案。|x⟩|y⟩


4

定义扩散算子的一种方法是1 ,其中是阶段oracleD=−H⊗nU0H⊗nU0

U0|0⊗n⟩=−|0⊗n⟩,U0|x⟩=|x⟩for|x⟩≠|0⊗n⟩.

这表明也可以写为,得到其中。U0U0=I−2|0⊗n⟩⟨0⊗n|

D=2|+⟩⟨+|−I,
|+⟩=2−n/2(|0⟩+|1⟩)⊗n

编写状态其中与正交(即得出。|ψ⟩=α|+⟩+β|+⊥⟩|+⊥⟩|+⟩⟨+⊥∣+⟩=0)D|ψ⟩=α|+⟩−β|+⊥⟩

这给出了2该扩散算子是关于反射|+⟩

由于Grover算法的另一部分也是反射,它们结合起来将当前状态旋转为更接近“搜索”值。该角度随转数线性减小(直到它超过搜索值),从而使正确测量正确值的概率呈二次方增加。x0

Bennet等。等 表明这是最佳的。通过对NP问题采用经典解决方案,Grover算法可用于二次加速该问题。但是,语言表示长度保留函数(此处为oracle),则任何有界-错误基于oracle的量子图灵机在的时间内无法接受此语言。LA={y:∃xA(x)=y}AT(n)=o(2n/2)

这是通过使用 oracle没有逆号(因此语言中不包含)的一组预言来实现的。但是,根据定义,它包含在某些新语言。然后,在时间接受的机器和接受的另一台机器的概率之差小于,因此两种语言都不被接受,并且Grover的算法的确是渐近最优。3|1⟩⊗nLAyLALAyT(n)1/3

扎尔卡后发现,Grover的算法正是最佳。


1在Grover算法中,负号可以四处移动,因此,负号的位置在某种程度上是任意的,不必在扩散算符的定义中

2或者,定义不带减号的扩散算子会给出关于的反映|+⊥⟩

AMAAyMAyS中号一种中号一种ÿŤϵ<2Ť2/ϵ2中号一种|1个⟩⊗ñ大号一种2ñ-卡(小号)中号一种 |1个⟩⊗ñ2ñ-1个Ť(ñ)=Ø(2ñ/2)大号一种

4使用欧几里德距离,两次跟踪距离

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.