量子搜索算法例题详解_量子算法与编程入门

量子搜索算法例题详解_量子算法与编程入门量子搜索算法Groversearch问题定义:Problem:f:{0,1,2,3,……,N−1}→{0,1}f:{0,1,2,3,……,N−1}→{0,1}找到f(x)=1的x解法经典解法:经典解法很简单,就是把每一个都看一遍,如果只有一个x对应的f(x)=1,那么平均是要看一半,才能找到那个x。时间复杂度O(N)量子解法:使用Groversea…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

量子搜索算法 Grover search

问题定义:

Problem:

f:{0,1,2,3,……,N−1}→{0,1}f:{0,1,2,3,……,N−1}→{0,1}

找到 f(x)=1 的x

解法

经典解法:

经典解法很简单,就是把每一个都看一遍,如果只有一个x对应的f(x)=1,那么平均是要看一半,才能找到那个x。

时间复杂度O(N)

量子解法:

使用Grover search 算法,时间复杂度在 O(根号N)

Grover search 算法

Grover search 算法一共分为两步:

  1. Phase Inversion
  2. Inversion about the Mean

然后不断的迭代这两步我们就能够得到结果了。

首先我们先看看这两个步骤分别在做什么:

我们把 f(x)=1的 |x〉 称为 x∗ ,我们要找的也就是这个 x∗ 。

Phase Inversion:

这一步主要是把 x∗ 的概率幅翻转,变成负数,而其他的保持不变。

即,量子搜索算法例题详解_量子算法与编程入门

Inversion about the Mean

量子搜索算法例题详解_量子算法与编程入门

用图可能更好表达这两个步骤究竟在做什么:

量子搜索算法例题详解_量子算法与编程入门

图1到图2,就是Phase Inversion,把x∗的概率幅翻转到了下面,图2中的虚线就是我的概率幅的平均值,图2到图3 就是我们的Inversion about the Mean,对着平均值翻转一次,其余x的概率幅是高于平均值的,所以 2μ−αx 让他们变小了,而我们的 x∗ 他的概率幅是个负数,所以 2μ−αx后他增加了。

不断的重复这个步骤, x∗ 他的概率幅会越来越大,最后我们测量的时候就会很容的找到他。

进行了 √N 后,他的概率幅就会达到 1/√2 ,算概率就是1/2。

那么接下来的问题就是,这些操作是怎么实现的?

Phase Inversion:

这个步骤要做的事情就是,

量子搜索算法例题详解_量子算法与编程入门

符号是和f(x)是否为1相关的,进一步化简就是 量子搜索算法例题详解_量子算法与编程入门

有没有一丝熟悉感?

把f(x)的结果给放到相位上去,这是我们在Parity Problem中就遇到的问题。

当时的解决方法是把答案比特变成 |−〉。

量子搜索算法例题详解_量子算法与编程入门

一般情况,如果我们打算放置答案的比特是 |b〉,那么输入的比特就是|b⊕f(x)〉

量子搜索算法例题详解_量子算法与编程入门

最后一个比特的值如果在|+〉|−〉坐标下测量,一定是 |−〉,f(x)的差别也变到了符号上,即 (−1)f(x)

Inversion about the Mean

把 αx变成 2μ−αx,这个就要比前一个麻烦了

这其实是要求我把现在的态对着 μ 翻转。

对着 μ 翻转会吗?

不太会。

但是我会对着 |0〉 的翻转啊。

对角线第一个值为1,其余为-1,非对角线的都为0。

量子搜索算法例题详解_量子算法与编程入门

这个矩阵轻而易举的可以让 |0〉 保持不变,非 |0〉的符号全都翻转。

量子变换要求矩阵式酉矩阵,这个矩阵很明显满足 UU†=U†U=I

接下来怎么做呢?

我们先把我们的态整体来一个从 |μ〉 到 |0〉 的旋转,对着 |0〉 翻转后,又从 |0〉 到 |μ〉 翻转回去。

|μ〉 是一个怎样的态?

所有的x的概率都一样,也就是我们的superposition 量子搜索算法例题详解_量子算法与编程入门

量子搜索算法例题详解_量子算法与编程入门|x〉 和 |0〉之间的相互转换,这就是我们最最熟悉的Hadamard Transform了

第二部分的电路图如下:

量子搜索算法例题详解_量子算法与编程入门

这个矩阵是可以直接计算的:

量子搜索算法例题详解_量子算法与编程入门

我这里直接给出答案,得到的矩阵值呢是下图左边的这个矩阵:
量子搜索算法例题详解_量子算法与编程入门

在对应的 αx的结果恰好是 量子搜索算法例题详解_量子算法与编程入门

而 量子搜索算法例题详解_量子算法与编程入门 恰好就是 2μ

至此,呈上最完整的电路图模块:

量子搜索算法例题详解_量子算法与编程入门

第一个H门是数据的初始化,第二个门是为了翻转 x∗,第三四五个门是为了对 |μ〉 翻转,二三四五这四个门就是要给重复的模块了,不断的重复他们就可以不断的提高 x∗的概率幅,最终找到 x∗。

 

参考资料:

Quantume Mechanics & Quantume Computation Lecture 11

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234995.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux用命令dpkg,Linux下dpkg命令常用方法整理「建议收藏」

    linux用命令dpkg,Linux下dpkg命令常用方法整理「建议收藏」如果ubuntu要安装新软件,已有deb安装包(例如:iptux.deb),但是无法登录到桌面环境。那该怎么安装?答案是:使用dpkg命令。dpkg命令常用格式如下:代码如下:sudodpkg-Iiptux.deb#查看iptux.deb软件包的详细信息,包括软件名称、版本以及大小等(其中-I等价于–info)代码如下:sudodpkg-ciptux.deb#查看iptux.deb软件…

    2022年5月21日
    52
  • 数据库 之 关系模式范式

    数据库 之 关系模式范式主要有6种范式:第一范式(1NF),第二范式(2NF),第三范式(3NF),巴德斯科范式(BCNF),第四范式(4NF),第五范式(5NF),按从左至右的顺序一种比一种要求更严格。要符合某一种范式必须

    2022年7月1日
    25
  • 爬取7160美女图片

    爬取7160美女图片#coding=utf-8importurllib.requestfrombs4importBeautifulSoupfromurllibimporterrorimportrels=[‘zhenrenxiu’,’meinv’,"lianglichemo",’rentiyishu’,’xiaohua’]defvalidateTitle(title):rstr=r"…

    2022年10月24日
    0
  • IntelliJ IDEA 远程debug调试

    IntelliJ IDEA 远程debug调试远程DEBUG的必要性由于部署环境的差异性,相信很多朋友都碰到过开发环境正常测试过的功能在测试环境甚至生产环境下出现bug的情况。一般情况下,生产环境可以采取的手段比较单一,即通过日志的方式获取运行中的环境上下文,分析日志文件并尝试重现bug。这会带来的问题还是不少的,首先,日志的分析是一项比较耗时的工作;其次,现有的日志记录不一定能反映出问题,你可能需要多次重复这个过程(分析日志->猜测问题->加日志->部署->获取日志)来慢慢逼近问题。倘若是测试环境,我们还多了一项可供选择的手

    2022年9月10日
    0
  • 获取股票历史数据和当前数据的API

    获取股票历史数据和当前数据的API关键字:股票,stock,API,接口1.获取股票当前数据新浪数据接口:http://hq.sinajs.cn/list={code}。{code}替换为股票代码,沪市股票代码加前缀sh,深市股票代码加前缀sz。例如:在浏览器地址栏输入:http://hq.sinajs.cn/list=sh601766,sz000002,得到如下结果:varhq_str_sh601766=”中国中车,10.280,10.210,10.310,10.380,10.160,10.300,10.310,.

    2022年6月24日
    43
  • kettle使用教程(超详细)

    kettle使用教程(超详细)今天详细详细说一下kettle的安装,安装的版本:jdk:jdk-8u152-windows–x64kettle:KETTLE-5.4一、环境部署1、安装JDK,按默认值安装即可2、设置环境变量,如图下图具体步骤:1.右击我的电脑-属性-高级系统设置-环境变量-系统变量-新建2.变量名:JAVA_HOME3.变量值:JDK安装目录3、…

    2022年5月24日
    109

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号