量子算法介绍——神奇的Grover算法

一、整体介绍

Grover算法,一般也叫作量子搜索算法,他是一种可以直接应用的量子算法,且有明确的二次加速。同样Grover算法也可以作为一个大类算法中的一部分,例如由Grover算法为基础的GAS算法。

Grover算法中的核心步骤是Oracle的构造,简单来说就是如何在量子态中使用极低的复杂度标记出目标状态,如何构造Oracle至关重要,而且需要针对不同的问题构造不同的Oracle,Oracle的重要程度相当于QAOA算法中的哈密顿量的构造,哈密顿量构造也是需要针对问题进行设计。

Grover算法简单的说就是先使用Oracle将答案标记出来,然后一步一步放大被标记的答案,这样我们在观测的时候就能够以很高的概率得到我们想要的答案,而放大的次数大约只需要经典遍历次数的根号级别,这就体现出了平方级的加速效果,我们主要的介绍不在于Oracle的构造,而是在于如何进行概率的放大的线路,也就是所谓的“振幅放大”。

二、振幅放大的原理推导

一般来说Grover算法是从大小为N=2^n的空间中进行搜索的,如果不足就补上一些错误的答案使整个空间的大小成为2的次幂,所以一开始一般需要制备均匀的量子叠加态,使其充满整个空间。最简单的制备方法则是在n个量子比特上使用n个H门即可得到我们想要的均匀叠加态:

\left | \psi \right \rangle=\frac{1 }{\sqrt{N}}\sum_{i=0}^{N-1}\left | \ i \right \rangle

假设这其中有 M个量子态是我们想要的答案集合B,剩余的不是我们需要的答案,那么我们可以重新将这个均匀叠加态写成如下三角函数形式:

\left | \psi \right \rangle=\sin\theta \left | \varphi_1 \right \rangle +\cos \theta \left | \varphi_0 \right \rangle

其中\left | \varphi_0 \right \rangle=\frac{1 }{\sqrt{N-M}}\sum_{x\in B}\left | \ x\right \rangle\left | \varphi_1 \right \rangle=\frac{1 }{\sqrt{M}}\sum_{x\in B}\left | \ x\right \rangle

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值