量子计算(二十一):deutsch-josza算法

Lansonli Lansonli     2023-01-31     783

关键词:

文章目录

Deutsch-Josza算法


Deutsch-Josza算法

量子算法是量子计算落地实用的最大驱动力,好的量子算法设计将更快速推动量子计算的发展。

Deutsch-Jozsa量子算法,简称D-J算法,DavidDeutsch和RichardJozsa早在1992年提出了该算法,这是第一个展示了量子计算和经典计算在解决具体问题时所具有明显差异性的算法。

D-J算法是这样描述的:给定两个不同类型的函数,通过计算,判断该函数是属于哪一类型的函数,其可用来演示说明量子计算如何在计算能力上远超经典计算。

D-J算法所闻述的问题是:考虑一个函数f(x),它将n个字符串x作为输入并返回0或1。注意,n个字符串也是由0和1组成,函数形式如下图所示

这个函数称为常数函数。如果对任意f(x)都等于0或者f(x)都等于1:

而如果f(x)=0的个数等于f(x)=1的个数,则称这个函数为平衡函数:

f(x)=0的个数等于f(x)=1的个数

下面考虑一下最简单的情况:当n=1的时候,常数函数的类型是这样的:f(0),f(1)都指向0;或者f(0),f(1)都指向1,而平衡函数则是各占一半。回顾问题,要解决的是给定输入和输出,如何快捷地判断f(x)是属于常数函数,或是平衡函数。

如下图所示,在经典算法中,给定了输入之后,第一步是需要判断f(0),F(x)有两种情况,f(0)=0或者f(0)=1;当确定f(0)之后,再判断f(1),确定了f(1)的值之后,就可以确定该函数的类型;整个过程需要两次,才可以判断函数的类型。按照这样的方式对于经典算法n个输入,在最槽糕的情况下f必须要2-1+1次才能判断出函数属于哪一类,即,最槽糕情形需要验证一半多一个数据;而如果使用量子算法,仅需一次就可以判断出结果。

通过下图所示的量子线路图来理解该算法是如何解决问题的。首先,对所有的比特都执行Hadamard门操作,然后经过黑盒子Uf,再对工作比特添加Hadamard门,然后测量。

按照实施步骤,表达形式:

1、初始化
2、使用Hadamard门来构建叠加态


3、使用Uf来计算函数f


4、在工作位上添加Hadamard门

5、测量工作位,输出结果,一次性就可以判断出结果


  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

量子计算(二十):量子算法简介

文章目录量子算法简介一、概述二、量子经典混合算法量子算法简介一、概述量子算法是在现实的量子计算模型上运行的算法,最常用的模型是计算的量子电路模型。经典(或非量子)算法是一种有限的指令序列࿰... 查看详情

量子计算(二十):量子算法简介

文章目录量子算法简介一、概述二、量子经典混合算法量子算法简介一、概述量子算法是在现实的量子计算模型上运行的算法,最常用的模型是计算的量子电路模型。经典(或非量子)算法是一种有限的指令序列࿰... 查看详情

量子计算(二十二):grover算法

文章目录Grover算法一、什么是搜索算法 二、怎么实现Grover搜索算法Grover算法一、什么是搜索算法 举一个简单的例子,在下班的高峰期,要从公司回到家里,开车走怎样的路线才能够耗时最短呢?最简单的想法&#x... 查看详情

量子计算(二十二):grover算法

文章目录Grover算法一、什么是搜索算法 二、怎么实现Grover搜索算法Grover算法一、什么是搜索算法 举一个简单的例子,在下班的高峰期,要从公司回到家里,开车走怎样的路线才能够耗时最短呢?最简单的想法&#x... 查看详情

matlab蚁群算法的优化计算——旅行商问题(tsp)优化matlab优化算法二十一(代码片段)

matlab蚁群算法的优化计算——旅行商问题(TSP)优化蚁群算法(antcolonyalgorithn,ACA)是由意大利学者M.dorigo等人于20世纪90年代初提出的一种新的模拟进化算法,其真实地模拟了自然界蚂蚁群体的觅食行为。M.Dorig... 查看详情

matlab蚁群算法的优化计算——旅行商问题(tsp)优化matlab优化算法二十一(代码片段)

matlab蚁群算法的优化计算——旅行商问题(TSP)优化蚁群算法(antcolonyalgorithn,ACA)是由意大利学者M.dorigo等人于20世纪90年代初提出的一种新的模拟进化算法,其真实地模拟了自然界蚂蚁群体的觅食行为。M.Dorig... 查看详情

408数据结构与算法—堆排序(二十一)(代码片段)

【408数据结构与算法】—堆排序(二十一)一、堆的定义从堆的定义可以看出,堆实质是满足如下性质的完全二叉树,二叉树中任一非叶子结点均小于(大于)它的孩子结点C语言代码实现#include<stdio.h>... 查看详情

408数据结构与算法—堆排序(二十一)(代码片段)

【408数据结构与算法】—堆排序(二十一)一、堆的定义从堆的定义可以看出,堆实质是满足如下性质的完全二叉树,二叉树中任一非叶子结点均小于(大于)它的孩子结点C语言代码实现#include<stdio.h>... 查看详情

二十一分水岭算法(代码片段)

一、原理分水岭算法主要用于图像分段,通常是把一副彩色图像灰度化,然后再求梯度图,最后在梯度图的基础上进行分水岭算法,求得分段图像的边缘线。任意的灰度图像可以被看做是地质学表面,高亮度的地方是山峰,低亮... 查看详情

批处理学习笔记第二十一课:数值计算

   批处理里面的数值计算功能较弱,只能够进行整型计算,忽略浮点数的小数部分;同时数值计算的范围也受限于系统位数,对于目前较为常见的32位机来说,数值计算能处理的数值范围为0x80000000h~0x7FFFFFFFh,即-2147483... 查看详情

量子计算与量子信息之grover算法的量子电路实现

量子计算与量子信息之Grover算法的量子电路实现文章目录量子计算与量子信息之Grover算法的量子电路实现一、简介二、电路的逻辑示意图即使你并没有完全掌握量子计算的基本内容,仍然可以看懂这一文章,此处并没有... 查看详情

我在 Java 中做错了啥二十一点文件计数器?

...00个随机二十一点手牌的输入文件(此处:blackjack.txt),计算所有游戏中任何玩家遇到的二十一点的数量。21点被定义为任 查看详情

pyhon学习目录

pyhon学习目录 目录一、计算机基础二、python基础三、函数四、常用模块五、模块和包六、面向对象七、网络编程和并发编程八、数据库九、前端十、pythonweb框架十一、Git版本控制十二、爬虫十三、前端框架vue十四、量化投资... 查看详情

量子计算(十八):量子计算机

文章目录量子计算机一、量子计算机整体架构1、量子计算的定位:异构计算2、量子程序代码构成:宿主代码+设备代码二、量子程序架构(设备代码的架构)1、量子高级语言2、量子汇编语言的编译原则3、不可... 查看详情

matlab算法实战应用案例精讲-人工智能grover量子搜索算法

前言量子计算依靠纠缠和叠加的量子现象进行运算,计算机科学中最基本的问题之一是非结构化搜索。grover量子搜索算法就是针对非结构化搜索问题设计的,grover量子搜索算法可用于解决图着色、最短路径排序等问题,也可以有... 查看详情

python遥感图像处理应用篇(二十一):python+gdal批量计算遥感图像ndvi指数(代码片段)

1.NDVI指数计算公式之前也写过NDVI批量计算的实现方法,采用的是Acrpypython2.7实现的,这里我们采用GDAL实现NDVI指数的批量计算。使用数据,多波段遥感图像数据。Landsat05Colection2Level2数据。NDVI=(NIR-RED)/(NIR+RED) 就算之前需要搞清... 查看详情

python遥感图像处理应用篇(二十一):python+gdal批量计算遥感图像ndvi指数(代码片段)

1.NDVI指数计算公式之前也写过NDVI批量计算的实现方法,采用的是Acrpypython2.7实现的,这里我们采用GDAL实现NDVI指数的批量计算。使用数据,多波段遥感图像数据。Landsat05Colection2Level2数据。NDVI=(NIR-RED)/(NIR+RED) 就算之前需要搞清... 查看详情

漫画|10分钟看懂量子比特量子计算和量子算法

...个相互矛盾的状态。在微观世界中,这种表象被一种叫做量子力学的规律打破了。量子力学指出,世界的运行并不确定,我们最多只能预测各种结果出现的概率;一个物体可以同时处于两个相互矛盾的状态中。量子计算,就是直... 查看详情