量子信息-学习记录10

ch.10. Deutsch-Jozsa’s算法

  定义:
  输入:一个计算未知函数f的黑盒: f : Z 2 n → Z 2 n f:\Z_2^n\rightarrow \Z_2^n f:Z2nZ2n
  已知:f是常函数或平衡常数
  问题:确定f是常函数还是平衡函数,所需要f的最少次数为多少?
  回答(输出):经典算法: 2 n − 1 + 1 2^{n-1}+1 2n1+1次,量子算法:1次

  量子算法是如何做到只需要一次的?首先需要提出两个引理

  先记:

∣ x ⟩ = ∣ x 1 ,   x 2 ,   . . . ,   x n ⟩ = ∣ x 1 ⟩ ⊗ ∣ x 2 ⟩ ⊗ ⋯ ⊗ ∣ x n ⟩ ∣ y ⟩ = ∣ y 1 ,   y 2 ,   . . . ,   y n ⟩ = ∣ y 1 ⟩ ⊗ ∣ y 2 ⟩ ⊗ ⋯ ⊗ ∣ y n ⟩ x ⋅ y = x 1 y 1 ⊕ x 2 y 2 ⊕ ⋯ ⊕ x n y n ,   x i y i = x i   a n d   y i ∑ y ∈ Z 2 n = ∑ y 1 = 0 1 ∑ y 2 = 0 1 ⋯ ∑ y n = 0 1 \begin{aligned}&|x\rang=|x_1,\ x_2,\ ...,\ x_n\rang=|x_1\rang\otimes|x_2\rang\otimes\cdots\otimes|x_n\rang\\ &|y\rang=|y_1,\ y_2,\ ...,\ y_n\rang=|y_1\rang\otimes|y_2\rang\otimes\cdots\otimes|y_n\rang\\ &x\cdot y=x_1y_1\oplus x_2y_2\oplus\cdots\oplus x_ny_n,\ x_iy_i=x_i\ and\ y_i\\ &\sum\limits_{y\in\Z_2^n}=\sum\limits_{y_1=0}^1\sum\limits_{y_2=0}^1\cdots\sum\limits_{y_n=0}^1\end{aligned} x=x1, x2, ..., xn=x1x2xny=y1, y2, ..., yn=y1y2ynxy=x1y1x2y2xnyn, xiyi=xi and yiyZ2n=y1=01y2=01yn=01

  引理1: H ( n ) ∣ x ⟩ = 1 2 n / 2 ∑ y ∈ Z 2 n ( − 1 ) x ⋅ y ∣ y ⟩ H^{(n)}|x\rang = \dfrac{1}{2^{n/2}}\sum\limits_{y\in\Z_2^n}(-1)^{x\cdot y}|y\rang H(n)x=2n/21yZ2n(1)xyy

  证明:

  当n=1时:

H ∣ x 1 ⟩ = 1 2 ( ∣ 0 ⟩ + ( − 1 ) x 1 ∣ 1 ⟩ ) = 1 2 ∑ y 1 = 0 1 ( − 1 ) x 1 ⋅ y 1 ∣ y 1 ⟩ \begin{aligned}H|x_1\rang&=\frac{1}{\sqrt{2}}(|0\rang+(-1)^{x_1}|1\rang)\\ &=\frac{1}{\sqrt 2}\sum_{y_1=0}^1(-1)^{x_1\cdot y_1}|y_1\rang\end{aligned} Hx1=2 1(0+(1)x11)=2 1y1=01(1)x1y1y1

  等式成立,而当n为任意值时:

H ( n ) ∣ x ⟩ = ( H ⊗ H ⊗ ⋯ ⊗ H ) ∣ x 1 ⟩ ∣ x 2 ⟩ ⋯ ∣ x n ⟩ = ( 1 2 ) n ∑ y 1 = 0 1 ∑ y 2 = 0 1 ⋯ ∑ y n = 0 1 ( − 1 ) x 1 ⋅ y 1 ⋯ ( − 1 ) x n ⋅ y n ∣ y 1 ⟩ ⋯ ∣ y n ⟩ = 1 2 n / 2 ∑ y ∈ Z 2 n ( − 1 ) x 1 ⋅ y 1 ⊕ x 2 ⋅ y 2 ⊕ ⋯ ⊕ x n ⋅ y n ∣ y ⟩ = 1 2 n / 2 ∑ y ∈ Z 2 n ( − 1 ) x ⋅ y ∣ y ⟩ \begin{aligned}H^{(n)}|x\rang&=(H\otimes H\otimes\cdots\otimes H)|x_1\rang|x_2\rang\cdots|x_n\rang\\ &=\left(\frac{1}{\sqrt 2}\right)^n\sum_{y_1=0}^1\sum_{y_2=0}^1\cdots\sum_{y_n=0}^1(-1)^{x_1\cdot y_1}\cdots(-1)^{x_n\cdot y_n}|y_1\rang\cdots|y_n\rang\\ &=\frac{1}{2^{n/2}}\sum_{y\in\Z_2^n}(-1)^{x_1\cdot y_1\oplus x_2\cdot y_2 \oplus\cdots\oplus x_n\cdot y_n}|y\rang\\ &=\frac{1}{2^{n/2}}\sum_{y\in\Z_2^n}(-1)^{x\cdot y}|y\rang\end{aligned} H(n)x=(HHH)x1x2xn=(2 1)ny1=01y2=01yn=01(1)x1y1(1)xnyny1yn=2n/21yZ2n(1)x1y1x2y2xnyny=2n/21yZ2n(1)xyy

  证毕

  注意到 H ( n ) ∣ 0 ⟩ ⊗ n = 1 2 n / 2 ∑ x ∈ Z 2 n ∣ x ⟩ H^{(n)}|0\rang^{\otimes n}=\dfrac{1}{2^{n/2}}\sum\limits_{x\in\Z_2^n}|x\rang H(n)0n=2n/21xZ2nx

  引理2:相位反冲:

U f : ∣ x ⟩ ∣ x n + 1 ⟩ → ∣ x ⟩ ∣ x n + 1 ⊕ f ( x ) ⟩ U_f:|x\rang|x_{n+1}\rang\rightarrow |x\rang|x_{n+1}\oplus f(x)\rang Uf:xxn+1xxn+1f(x)

U f : ∣ x ⟩ 1 2 ( ∣ 0 ⟩ − ∣ 1 ⟩ ) → ( − 1 ) f ( x ) ∣ x ⟩ 1 2 ( ∣ 0 ⟩ − ∣ 1 ⟩ ) U_f:|x\rang\dfrac{1}{\sqrt 2}(|0\rang-|1\rang)\rightarrow(-1)^{f(x)}|x\rang\dfrac{1}{\sqrt 2}(|0\rang-|1\rang) Uf:x2 1(01)(1)f(x)x2 1(01)

  注意到f(x)最后变为了相因子(phase factor),如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fqosm3FT-1605064233894)(C:\Users\蔡三圈\AppData\Roaming\Typora\typora-user-images\image-20201111101449065.png)]

  证明:

U f ∣ x ⟩ ∣ 0 ⟩ − ∣ 1 ⟩ 2 = 1 2 ( U f ∣ x ⟩ ∣ 0 ⟩ − U f ∣ x ⟩ ∣ 1 ⟩ ) = 1 2 ∣ x ⟩ ( ∣ f ( x ) ⟩ − ∣ 1 ⊕ f ( x ) ⟩ ) = { f ( x ) = 0 ,   1 2 ∣ x ⟩ ( ∣ 0 ⟩ − ∣ 1 ⟩ ) f ( x ) = 1 ,   ( − 1 ) 1 2 ∣ x ⟩ ( ∣ 0 ⟩ − ∣ 1 ⟩ ) = ( − 1 ) f ( x ) ∣ x ⟩ ∣ − ⟩ \begin{aligned}U_f|x\rang\frac{|0\rang-|1\rang}{\sqrt 2}&=\frac{1}{\sqrt 2}(U_f|x\rang|0\rang-U_f|x\rang|1\rang)\\ &=\frac{1}{\sqrt 2}|x\rang(|f(x)\rang-|1\oplus f(x)\rang)\\ &=\left\{\begin{aligned}&f(x)=0,\ \frac{1}{\sqrt 2}|x\rang(|0\rang-|1\rang)\\ &f(x)=1,\ (-1)\frac{1}{\sqrt 2}|x\rang(|0\rang-|1\rang)\end{aligned}\right.\\ &=(-1)^{f(x)}|x\rang|-\rang\end{aligned} Ufx2 01=2 1(Ufx0Ufx1)=2 1x(f(x)1f(x))=f(x)=0, 2 1x(01)f(x)=1, (1)2 1x(01)=(1)f(x)x

  证毕

  此算法的表示如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vyEadW0g-1605064233898)(C:\Users\蔡三圈\AppData\Roaming\Typora\typora-user-images\image-20201111102339576.png)]

  现按图中的划分,分步观察先后状态:

  初始状态:

∣ ψ ( t 1 ) ⟩ = ∣ 0 ⟩ ⊗ n ⊗ ∣ 0 ⟩ − ∣ 1 ⟩ 2 |\psi(t_1)\rang=|0\rang^{\otimes n}\otimes \dfrac{|0\rang-|1\rang}{\sqrt 2} ψ(t1)=0n2 01

  根据引理1,线性叠加制造用于计算的基矢态:

∣ ψ ( t 2 ) ⟩ = H ⊗ n ∣ 0 ⟩ ⊗ n ⊗ ∣ 0 ⟩ − ∣ 1 ⟩ 2 = 1 2 n / 2 ∑ x ∈ Z 2 n ∣ x ⟩ ⊗ ∣ 0 ⟩ − ∣ 1 ⟩ 2 \begin{aligned}|\psi(t_2)\rang&=H^{\otimes n}|0\rang^{\otimes n}\otimes\frac{|0\rang-|1\rang}{\sqrt 2}\\ &=\frac{1}{2^{n/2}}\sum_{x\in \Z_2^n}|x\rang\otimes\frac{|0\rang-|1\rang}{\sqrt 2}\end{aligned} ψ(t2)=Hn0n2 01=2n/21xZ2nx2 01

  根据引理2,进行相位反冲:

∣ ψ ( t 3 ) ⟩ = 1 2 n / 2 ∑ x ∈ Z 2 n U f ( ∣ x ⟩ ⊗ ∣ 0 ⟩ − ∣ 1 ⟩ 2 ) = 1 2 n / 2 ∑ x ∈ Z 2 n ( − 1 ) f ( x ) ∣ x ⟩ ⊗ ∣ 0 ⟩ − ∣ 1 ⟩ 2 \begin{aligned}|\psi(t_3)\rang&=\frac{1}{2^{n/2}}\sum_{x\in\Z_2^n}U_f\left(|x\rang\otimes\frac{|0\rang-|1\rang}{\sqrt 2}\right)\\ &=\frac{1}{2^{n/2}}\sum_{x\in\Z_2^n}(-1)^{f(x)}|x\rang\otimes \frac{|0\rang-|1\rang}{\sqrt 2}\end{aligned} ψ(t3)=2n/21xZ2nUf(x2 01)=2n/21xZ2n(1)f(x)x2 01

  再次根据引理1,使用一次 H ⊗ n H^{\otimes n} Hn

∣ ψ ( t 4 ) ⟩ = ( H ⊗ n ⊗ I 2 ) ∣ ψ ( t 3 ) ⟩ = 1 2 n / 2 ∑ x ∈ Z 2 n ( − 1 ) f ( x ) H ⊗ n ∣ x ⟩ ⊗ ∣ − ⟩ = 1 2 n ∑ x ∈ Z 2 n ∑ y ∈ Z n 2 ( − 1 ) f ( x ) ( − 1 ) x ⋅ y ∣ y ⟩ ⊗ ∣ − ⟩ = 1 2 n ∑ x ∈ Z 2 n ∑ y ∈ Z n 2 ( − 1 ) f ( x ) ⊕ x ⋅ y ∣ y ⟩ ⊗ ∣ − ⟩ \begin{aligned}|\psi(t_4)\rang&=(H^{\otimes n}\otimes I_2)|\psi(t_3)\rang\\ &=\frac{1}{2^{n/2}}\sum_{x\in\Z_2^n}(-1)^{f(x)}H^{\otimes n}|x\rang\otimes|-\rang\\ &=\frac{1}{2^n}\sum_{x\in\Z_2^n}\sum_{y\in\Z_n^2}(-1)^{f(x)}(-1)^{x\cdot y}|y\rang\otimes |-\rang\\ &=\frac{1}{2^n}\sum_{x\in\Z_2^n}\sum_{y\in\Z_n^2}(-1)^{f(x)\oplus x\cdot y}|y\rang\otimes |-\rang\end{aligned} ψ(t4)=(HnI2)ψ(t3)=2n/21xZ2n(1)f(x)Hnx=2n1xZ2nyZn2(1)f(x)(1)xyy=2n1xZ2nyZn2(1)f(x)xyy

  当 ∣ y ⟩ = ∣ 0 ⟩ ⊗ n |y\rang=|0\rang^{\otimes n} y=0n时, x ⋅ y = 0 x\cdot y=0 xy=0

∣ ψ ( t 4 ) ⟩ = 1 2 n ∑ x ∈ Z 2 n ( − 1 ) f ( x ) ∣ 0 ⟩ ⊗ n ∣ − ⟩ = { f ( x )   c o n s t a n t ,   ( − 1 ) f ( x ) ∣ 0 ⟩ ⊗ n ∣ − ⟩ f ( x )   b a l a n c e d ,   0 \begin{aligned}|\psi(t_4)\rang&=\frac{1}{2^n}\sum_{x\in\Z_2^n}(-1)^{f(x)}|0\rang^{\otimes n}|-\rang\\ &=\left\{\begin{aligned}&f(x)\ constant,\ (-1)^{f(x)}|0\rang^{\otimes n}|-\rang\\ &f(x)\ balanced,\ 0\end{aligned}\right.\end{aligned} ψ(t4)=2n1xZ2n(1)f(x)0n={f(x) constant, (1)f(x)0nf(x) balanced, 0

  最后,使用 ∣ 0 ⟩ ⊗ n ⟨ 0 ∣ ⊗ I 2 |0\rang^{\otimes n}\lang 0|\otimes I_2 0n0I2进行投影测量:

  如果n-qubit为 ∣ 0 ⟩ ⊗ n |0\rang^{\otimes n} 0n,则测得的概率为1,说明是常函数
否则,说明是平衡函数

  批注:这是使用量子算法,将经典算法中的NP问题的复杂度降至O(1)的例子。是线性叠加原理使得这个算法能够成功应用

Bernstein-Vazirani算法

  输入:一个用于计算未知函数 f a f_a fa的黑箱:

f a : Z 2 n → Z 2 f_a:\Z_2^n\rightarrow \Z_2 fa:Z2nZ2

  已知: f a ( x ) = a ⋅ x = a 1 x 1 ⊕ a 2 x 2 ⊕ ⋯ ⊕ a n x n f_a(x)=a\cdot x=a_1x_1\oplus a_2x_2\oplus\cdots\oplus a_nx_n fa(x)=ax=a1x1a2x2anxn

  问题:确定n-bit串: a a a的内容

  复杂度对比:经典算法需要n次,而使用Bernstein-Vazirani算法时,只需要1次

  Bernstein-Vazirani算法如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CdQAye2T-1605064233902)(C:\Users\蔡三圈\AppData\Roaming\Typora\typora-user-images\image-20201111105748111.png)]

  类似于Deutsch-Jozsa’s算法,分别得到各阶段的状态:

∣ ψ ( t 1 ) ⟩ = ∣ 0 ⟩ ⊗ n ∣ 0 ⟩ − ∣ 1 ⟩ 2 ∣ ψ ( t 2 ) ⟩ = 1 2 n / 2 ∑ x ∈ Z 2 n ∣ x ⟩ ⊗ ∣ 0 ⟩ − ∣ 1 ⟩ 2 ∣ ψ ( t 3 ) ⟩ = 1 2 n / 2 ∑ x ∈ Z 2 n ( − 1 ) a ⋅ x ∣ x ⟩ ∣ − ⟩ ∣ ψ ( t 4 ) ⟩ = 1 2 n ∑ x ,   y ∈ Z 2 n ( − 1 ) ( a + y ) ⋅ x ∣ y ⟩ ∣ − ⟩ \begin{aligned}&|\psi(t_1)\rang=|0\rang^{\otimes n}\frac{|0\rang-|1\rang}{\sqrt 2}\\ &|\psi(t_2)\rang=\frac{1}{2^{n/2}}\sum_{x\in\Z_2^n}|x\rang\otimes\frac{|0\rang-|1\rang}{\sqrt 2}\\ &|\psi(t_3)\rang=\frac{1}{2^{n/2}}\sum_{x\in\Z_2^n}(-1)^{a\cdot x}|x\rang|-\rang\\ &|\psi(t_4)\rang=\frac{1}{2^n}\sum_{x,\ y\in\Z_2^n}(-1)^{(a+y)\cdot x}|y\rang|-\rang\end{aligned} ψ(t1)=0n2 01ψ(t2)=2n/21xZ2nx2 01ψ(t3)=2n/21xZ2n(1)axxψ(t4)=2n1x, yZ2n(1)(a+y)xy

  引理3: ∑ x ∈ Z 2 n ( − 1 ) ( a + y ) ⋅ x = δ a + y ,   0 2 n \sum\limits_{x\in\Z_2^n}(-1)^{(a+y)\cdot x}=\delta_{a+y,\ 0}2^n xZ2n(1)(a+y)x=δa+y, 02n

  证明: L H S = ∑ x 1 = 0 1 ( − 1 ) ( a 1 + y 1 ) ⋅ x 1 ∑ x 2 = 0 1 ( − 1 ) ( a 2 + y 2 ) ⋅ x 2 ⋯ ∑ x n = 0 1 ( − 1 ) ( a n + y n ) ⋅ x n = 2 δ a 1 + y 1 ,   0 ⋅ 2 δ a 2 + y 2 ,   0 ⋯ 2 δ a n + y n ,   0 = 2 n δ a + y ,   0 \begin{aligned}LHS&=\sum_{x_1=0}^1(-1)^{(a_1+y_1)\cdot x_1}\sum_{x_2=0}^1(-1)^{(a_2+y_2)\cdot x_2}\cdots \sum_{x_n=0}^1(-1)^{(a_n+y_n)\cdot x_n}\\ &=2\delta_{a_1+y_1,\ 0}\cdot 2\delta_{a_2+y_2,\ 0}\cdots 2\delta_{a_n+y_n,\ 0}\\ &=2^n \delta_{a+y,\ 0}\end{aligned} LHS=x1=01(1)(a1+y1)x1x2=01(1)(a2+y2)x2xn=01(1)(an+yn)xn=2δa1+y1, 02δa2+y2, 02δan+yn, 0=2nδa+y, 0

  因此:

∣ ψ ( t 4 ) ⟩ = ∑ y ∈ Z 2 n δ a + y ,   0 ∣ y ⟩ ∣ − ⟩ = ∣ a ⟩ ⊗ ∣ − ⟩ |\psi(t_4)\rang=\sum\limits_{y\in\Z_2^n}\delta_{a+y,\ 0}|y\rang|-\rang=|a\rang\otimes|-\rang ψ(t4)=yZ2nδa+y, 0y=a

  最后进行量子测量,使用 ∣ a ⟩ ⟨ a ∣ ⊗ I 2 |a\rang\lang a|\otimes I_2 aaI2来获取 a a a

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值