Deutsch-Jozsa 算法

问题描述

Deutsch问题:判断函数 f : { 0 , 1 , . . . , 2 n − 1 } → { 0 , 1 } f:\{0,1,..., 2^{n} -1 \}\to\{0,1\} f:{0,1,...,2n1}{0,1}是常函数(对所有 x x x f ( x ) f(x) f(x)是常数)还是平衡函数(恰好对所有 x x x,一半 f ( x ) f(x) f(x)取0,一半 f ( x ) f(x) f(x)取1)。

算法描述

DJ算法对应的量子电路如下:
在这里插入图片描述

其中,上面 n n n个量子比特存储于查询寄存器,下面一个量子比特存储于答案寄存器
初始状态:
在这里插入图片描述
通过 H ⊗ n H^{\otimes n} Hn/ H H H门:
在这里插入图片描述
应用 U f U_f Uf
在这里插入图片描述
通过 H ⊗ n H^{\otimes n} Hn/      \;\; 门:
在这里插入图片描述
测量查询寄存器:
1.若全为0,说明函数 f f f 是常函数;
2.否则,说明函数 f f f 是平衡函数。

完整算法流程如下:
在这里插入图片描述

注意:量子算法通过对函数 f f f一次查询就可以解决Deutsch问题;而与此相比,经典算法需要计算 2 n / 2 + 1 2^n/2+1 2n/2+1次。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值