【科普】量子计算通识-8-Deutsch-Jozsa算法解析

欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】
更多相关文章请点击【量子计算通识】
上一篇:【科普】量子计算通识-7-Deutsch算法解析


这一篇我们来看一下多伊奇问题n位算法是怎么推导出来的。关于多伊奇问题请看【上一篇文章】的开始部分。

多位电路

我们先看一下上篇文章使用过的这张电路图:

【科普】量子计算通识-8-Deutsch-Jozsa算法解析_第1张图片

上篇文章我们只考虑输入一个比特,忽略了。

计算

在这个电路里面,输入的是个和1个比特,即:

很多时候,量子位之间的被省略。

每个量子位都经过Hadamard门,即变为,即变为,这就得到:

\begin{align} \Psi_1&=H^{\otimes n}|0>^{\otimes n}H|1>\\ &=\underbrace{(\frac{|0>+|1>)}{\sqrt{2}})(\frac{|0>+|1>)}{\sqrt{2}})\dots}_{n}(\frac{|0>-|1>}{\sqrt{2}})\\ &=\frac{1}{\sqrt{2^n}}\underbrace{\begin{pmatrix}1\\1\end{pmatrix}\begin{pmatrix}1\\1\end{pmatrix}\dots}_{n}(\frac{|0>-|1>}{\sqrt{2}})\\ \end{align}

我们注意到:
\frac{1}{\sqrt{2^n}} \underbrace{\begin{pmatrix}1\\1\end{pmatrix}\begin{pmatrix}1\\1\end{pmatrix}\dots \begin{pmatrix}1\\1\end{pmatrix}}_{n}= \frac{1}{\sqrt{2^n}} \left.\begin{pmatrix}1\\1\\\dots\\1\end{pmatrix} \right \}2^n

这表示什么呢?还记得抛两枚硬币的情况吗?

\begin{align} \begin{pmatrix}\frac{1}{4}\\\frac{1}{4}\\\frac{1}{4}\\\frac{1}{4}\end{pmatrix} =\frac{1}{4}\begin{pmatrix}1\\1\\1\\1\end{pmatrix} =\frac{1}{4}\left[\begin{pmatrix}1\\0\\0\\0\end{pmatrix}+\begin{pmatrix}0\\1\\0\\0\end{pmatrix}+\begin{pmatrix}0\\0\\1\\0\end{pmatrix} +\begin{pmatrix}0\\0\\0\\1\end{pmatrix}\right] \end{align}

这个表示4种状态的每一种状态可能性都是,它处于不确定的叠加态。对每一种状态来说,都可以对应一个十进制数字,那么就是0,1,2,3,我们用下标表示10进制,也就有:

推而广之,忽略10进制下标,变成求和,从到,就得到:

替换到中得到:
\begin{align} \Psi_1&=H^{\otimes n}|0>^{\otimes n}H|1>\\ &=\frac{1}{\sqrt{2^n}} \sum_{x=0}^{2^n-1}|x> (\frac{|0>-|1>}{\sqrt{2}})\\ &=\frac{1}{\sqrt{2^{n+1}}} \sum_{x=0}^{2^n-1}|x> (|0>-|1>)\\ \end{align}

计算

【科普】量子计算通识-8-Deutsch-Jozsa算法解析_第2张图片

操作的作用是:

我们在上一篇文章推导过,经操作后,无论都有:

同样时候都有:

实际上对于任意都有:

即:

我们把这个式子带入得到经过操作的:

\begin{align} \Psi_2 &=U\Psi_1\\ &=U\frac{1}{\sqrt{2^{n+1}}} \sum_{x=0}^{2^n-1}|x> (|0>-|1>)\\ &=\frac{1}{\sqrt{2^{n+1}}} \sum_{x=0}^{2^n-1}|x>U (|0>-|1>)\\ &=\frac{1}{\sqrt{2^{n+1}}} \sum_{x=0}^{2^n-1}|x>(-1)^{f(x)}(|0>-|1>)\\ &=\frac{1}{\sqrt{2^{n+1}}} \sum_{x=0}^{2^n-1}(-1)^{f(x)}|x>(|0>-|1>)\\ \end{align}

计算

在这里我们可以直接忽略最后一个比特了,就是忽略掉结尾的,专注前半段内容:

我们对每个执行Hadamard操作。注意这里的可以是|1>,也可以是|10>、|17>、|198>...任意十进制数字,如果转为二进制则是|1>、|1010>、|10001>、|11000110>...

怎么计算?我们先从另一个角度看Hadamard门:

我们注意到和的操作区别就是和的区别,那么我们就有:

但这只是针对单个比特的,如果是多个比特呢?先看2个比特的情况:

\begin{align} &H|x_1>H|x_2>\\ &=\frac{1}{\sqrt{2^2}}(\sum_{z_1 \in\{0,1\} }((-1)^{ x_1\cdot z_1}|z_1>))(\sum_{z_2 \in\{0,1\} }((-1)^{ x_2\cdot z_2}|z_2>))\\ &=\frac{1}{\sqrt{2^2}}\sum_{z_1,z_2\in\{0,1\} }(-1)^{x_1\cdot z_1}(-1)^{x_2\cdot z_2}|z_1>|z_2>\\ &=\frac{1}{\sqrt{ 2^2}}\sum_{z_1,z_2\in\{0,1\} }(-1)^{x_1\cdot z_1+x_2\cdot z_2}|z_1>|z_2> \end{align}

如果是位的话,那么就有:

我们表示,我们表示,设定格式表示,用那么就有:

注意这里总计需要次求和。比如前面的两位的例子就要进行四次:

好了,我们回到的上部分:

\begin{align} &\Psi_{3'}=H^{\otimes n}\frac{1}{\sqrt{2^n}} \sum_{x=0}^{2^n-1}(-1)^{f(x)}|x>\\ &=\frac{1}{\sqrt{2^n}} \sum_{x=0}^{2^n-1}(-1)^{f(x)}H^{\otimes n} |x>\\ &=\frac{1}{\sqrt{2^n}} \sum_{x=0}^{2^n-1}(-1)^{f(x)}\left[\frac{1}{\sqrt{2^n}}\sum_{z=0}^{2^n-1}(-1)^{x\cdot z}|z>\right]\\ &=\frac{1}{2^n} \sum_{x=0}^{2^n-1}(-1)^{f(x)}\left[\sum_{z=0}^{2^n-1} (-1)^{x\cdot z}|z>\right]\\ &=\frac{1}{2^n} \sum_{z=0}^{2^n-1}\left[\sum_{x=0}^{2^n-1}(-1)^{f(x)+x\cdot z}\right]|z>\\ \end{align}

最终测量

注意上面式子里的和都是0或1。
这里的求和来自最早的Hadamard操作,表示从0到;而中的则是来自操作,它代表任意数字。表示的是具有个量子位的,类似这种。

关于测量,其实就是计算每个方向上的可能性。而每个方向就是每种状态,对于单比特就是每个轴向,横正向和竖正向。

【科普】量子计算通识-8-Deutsch-Jozsa算法解析_第3张图片

数学上:
\begin{align} &\begin{pmatrix}\frac{1}{\sqrt{2}}\\\frac{1}{\sqrt{2}}\end{pmatrix}=\frac{1}{\sqrt{2}}\begin{pmatrix}1\\1\end{pmatrix} =\frac{1}{\sqrt{2}}(\begin{pmatrix} 1\\0 \end{pmatrix}+\begin{pmatrix} 0\\1\end{pmatrix})\\ &=\frac{1}{\sqrt{2}}|0>+\frac{1}{\sqrt{2}}|1> \end{align}

测量得到和两个方向上的概率都是。

对于四项的竖列也是同样,比如抛两枚硬币得到的结果就有4个方向或者说四个状态:

这也对应了四个比特表示,也可以用四个十进制数字表示。如果有一个那么它在四个状态上的概率就是,并且概率之和是1,就是

好了,回到我们的。

它也可以视为次求和,类似这种情况。

我们只关注假设的情况,那么求和的每一次都是0,就有也都是0,测量状态的概率,就是对它的系数求平方:

当是Constant常数操作的时候,如果,,求和结果是,最终平方后是1;如果,,求和结果是,最终平方后还是1。就是说如果是常数操作,那么最终测得的概率为1,也就是必然测得。

当是Balanced平衡操作的时候,一半情况,另一半情况,而进行次求和,这是全部可能,也是个偶数,和各占一半,正好抵消,结果将是0。也就是说如果是Balanced平衡,那么就不会测得。

虽然在数学上似乎是推导完成了,但是很多地方仍然缺乏较好的解释,后续将继续学习和改进。


欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】
更多相关文章请点击【量子计算通识】


每个人的智能新时代

如果您发现文章错误,请不吝留言指正;
如果您觉得有用,请点喜欢;
如果您觉得很有用,欢迎转载~


END

你可能感兴趣的:(【科普】量子计算通识-8-Deutsch-Jozsa算法解析)