当前位置:   article > 正文

Grover搜索算法

grover搜索算法

一 简介

Grover算法和Shor算法是量子算法领域两个最重要的量子算法,而Grover算法相比于Shor因子分解算法,有着更广泛的应用。

二 问题描述

N = 2 n N=2^n N=2n,给定一个任意的 x ∈ { 0 , 1 } n x\in\{0,1\}^n x{0,1}n
目标:找到 i i i使得 x i = 1 x_i=1 xi=1(如果没有这样的 i i i,输出“no solution”)。

:经典随机算法需要 Θ ( n ) \Theta(n) Θ(n)次查询才能解决该搜索问题;Grover搜索算法需要 O ( n ) O(\sqrt{n}) O(n )次查询, O ( n log ⁡ n ) O(\sqrt{n}\log n) O(n logn)个其他量子门就可以解决该搜索问题(平方加速)。

三 算法描述

3.1 量子门

1.查询量子门 O x , ± ∣ 0 ⟩ = ( − 1 ) x i ∣ i ⟩ O_{x,\pm}|0\rangle=(-1)^{x_i}|i\rangle Ox,±0=(1)xii
2.酉变换R: ∣ 0 n , b ⟩ → ∣ 0 n , b ⟩ |0^n,b\rangle\to|0^n,b\rangle 0n,b0n,b, 其中 b ∈ { 0 , 1 } b\in\{0,1\} b{0,1};
                                \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\, ∣ i , b ⟩ → ∣ i , b ⟩ |i,b\rangle\to|i,b\rangle i,bi,b, 其中 i ∈ { 0 , 1 } n ∖ { 0 n } i\in\{0,1\}^n\setminus\{0^n\} i{0,1}n{0n}
3.Grover迭代: G = H ⊗ n R H ⊗ n O x , ± \mathcal{G}=H^{\otimes n}RH^{\otimes n}O_{x,\pm} G=HnRHnOx,±

3.2 量子线路

在这里插入图片描述

为了便于分析,我们定义两个量子态:
“Good”态:
在这里插入图片描述
“Bad”态:
在这里插入图片描述
其中 t t t就是满足 x i = 1 x_i=1 xi=1 i i i的个数。

算法步骤如下:
1.设置初始量子态
在这里插入图片描述
2.令 ε = t / N \varepsilon=t/N ε=t/N,应用 k = O ( 1 / ε ) k=O(1/\varepsilon) k=O(1/ε)次如下变换:
G = H ⊗ n R H ⊗ n O x , ± \mathcal{G}=H^{\otimes n}RH^{\otimes n}O_{x,\pm} G=HnRHnOx,±
3.测量寄存器的状态,并检查测量结果 i i i是否是解。

其中,算法第2步理解如下:
在这里插入图片描述
简单来说,算法第2步:量子态从状态 ∣ U ⟩ |U\rangle U出发,通过不断的“反射+反射”,不断向目标态 ∣ G ⟩ |G\rangle G靠近。而目标态 ∣ G ⟩ |G\rangle G就是满足 x i = 1 x_i=1 xi=1 ∣ i ⟩ |i\rangle i的叠加态。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/598812
推荐阅读
相关标签
  

闽ICP备14008679号