Deutsch算法

量子并行性是许多量子算法的一个基本特征,简而言之,量子并行性使得量子计算机可以同时计算函数f(x)在许多不同x处的数值,首先先介绍一下Uf变换:

如果第一个qubit是叠加态,是可以实现量子并行计算的~

Deutsch算法_第1张图片
1.问题描述:为了判断f(0)和f(1)是否相等,只是为了判断是否相等,并不要求推算出具体的数值。
2.Deutsch算法的推导过程:
Deutsch算法_第2张图片
***经过上述推算我们可以看出来只需要测量第一qubit,我们便可以确定f(0),f(1)之间的关系,***在经典计算机中,我们需要通过计算两次,才能判断它们两个的数值是否相等。
3.思考:如果输入的量子态都是|0>态,或者都是|1>态,或者先|1>后|0>结果是如何的呢?
(1)如果输入的量子态都是|0>态,那么倒数第二个量子态的结果无论何种情况都是|+>|+>态,这就意味着测量第一个qubit只会测量到|0>态,是无法判断f(0)模二加f(1)的情况的,对于都是|1>态的情况也是无法判断的。再看一下先|1>后|0>的结果,可以看出这种设计方式也是不可以区分的。

你可能感兴趣的:(量子计算,算法)