Grover量子搜索算法的原理与应用

原标题:Grover量子搜索算法的原理与应用

量子计算机,顾名思义,就是实现量子计算的机器。是一种使用量子逻辑进行通用计算的设备。不同于传统电子计算机,量子计算用来存储数据的对象是量子比特,它使用量子算法来进行数据操作。量子计算机里面有一种著名的量子并行计算的随机搜索“Grover软件算法”,是由 Grover 于 1996 年提出的平方根加速的随机数据库量子搜索算法。搜索算法常用于从 N 个未分类的记录中找出某个特定的记录。

01

量子随机搜索算法的应用

Grover提出的量子搜寻算法是一种量子计算的经典算法,它适用于解决如下问题:从 N个未分类的客体中寻找出某个特定的客体。

经典算法只能是一个接一个地搜寻,直到找到所要的客体为止,这种算法平均地讲要寻找 N/2次,成功几率为1/2,而采用Grover的量子算法则只需要 Nkk√次(即N开kk次方)。

例如,要从有着100万个号码的电话本中找出某个指定号码,该电话本是以姓名为顺序编排的。经典方法是一个个找,平均要找50万次,才能以 1/2几率找到所要电话号码。Grover的量子算法是每查询一次可以同时检查所有100万个号码。

由于100万量子比特处于叠加态,量子干涉的效应会使前次的结果影响到下一次的量子操作,这种干涉生成的操作运算重复1000(即 N √ ,N开根号)次后,获得正确答案的几率为1/2。但若再多重复操作几次,那么找到所需电话号码的几率接近于1。

Grover算法的用途很广,可以寻找最大值、最小值、平均值等,也可以用于下棋。最有趣的是可有效地攻击密码体系,如 DES体系,这个问题的实质是从n=256≈7×1016个可能的密钥中寻找一个正确的密钥。若以每秒100万密钥的运算速率操作,经典计算需要1000年,而采用Grover算法的量子计算机则只需小于4分钟的时间。

针对对称(私钥)加密,如AES加密算法,只能进行暴力破解,而传统计算机的破解时间为指数时间,更准确地说,是依据其中密钥的长度。而量子计算机可以利用Grover算法进行更优化的暴力破解,其效率更高 ,量子计算机暴力破解AES-256加密的效率跟传统计算机暴力破解AES-128是一样的。

更广泛而言,Grover算法是一种量子数据库搜索算法,相比传统的算法,达到同样的效果,它的请求次数要少得多。对称加密算法的暴力破解仅仅是Grover算法的其中一个应用。

02

Grover 算法

Grover量子搜索算法可以对随机数据库相对经典搜索平方根加速,为了实现这样的加速,Grover算法主要依赖于量子态的叠加。

假设我们有N个未经排序的数据。如果使用经典算法寻找其中的某个数据x,条件是它(并且只有它)满P(x)=TRUE,比方说x代表一个人的工号,P(x)是看他是不是现任CEO。那么你只能从第一个数据开始,一个一个地看它是不是CEO的工号,直到你瞎猫碰上死耗子。使用经典算法寻找其中的某个数据x的方法图解如下图1-32所示。

在这种算法中,计算复杂度是O(N)。

图1-32使用经典算法寻找其中的某个数据x

在Grover算法中,我们可以将N个数据同时储存在log 2 N个量子比特中,然后同时计算N个函数P( )的取值,也就是同时看它是不是CEO的工号。图解见下图1-33所示。

图1-33 Grover算法将N个数据同时储存在log2N个量子比特中

在N个计算结果中,必然有1个结果是CEO的工号,其他结果都不是。但如果你这个时候贸然去“读取”结果,就会发现,每个结果发生的概率都是1/N。图解见下图1-34所示。

这就好比你用↑偏振镜去测量↗光子,得到↑和→的概率各为1/2。

图1-34 贸然去“读取”结果,每个结果发生的概率都是1/N

Grover算法的思想是,同时计算了N个P( )的取值后,先不要读取,而是通过量子操作略微增加结果为CEO工号的那个数据发生的概率。图解见下图1-35所示。

图1-35同时计算了N个P( )的取值后,先不要读取

数学计算证明,反复重复以上过程 (π√N)/4次之后,你要找的那个数据发生的概率就会达到最大,最终达到(1-2-N)。图解见下图1-36所示。这个时候如果你再去读取数据,就会以极大的概率读到你要找的数据。

图1-36 反复重复以上过程 (π√N)/4次之后,你要找的那个数据发生的概率就会达到最大

所以,Grover的量子搜索加速算法,可以将搜索复杂度降低到O(√N),但你成功读取那个数据的概率永远也不会达到100%,而是会略小于100%。图解见下图1-37所示。

图1-37 Grover的量子搜索加速算法,可以将搜索复杂度降低到O(√N)

注:漫画原著 sheldon42

从目前的情况看,量子计算只是在少数计算任务中表现的比经典计算更快,例如大数质因子(Shor算法)、随机数据库搜索(Grover算法),并且,这种快法不能挣脱量子力学的约束,达到十全十美。

03

参考书籍

量子计算机——穿越未来世界

ISBN:978-7-302-52305-5

李联宁 编著

定价:49元

04

精彩文章回顾

  • 大数据分析案例:在“北上广”打拼是怎样一种体验?

  • 大数据时代银行如何玩转数据挖掘

  • 真题解析│2017年蓝桥杯软件类省赛传统“送分题”

  • Java 15新增类Record的工作实例|附代码

  • Dart应用Bloc设计模式实例|附代码

  • 从火种到能源,华为做AI的逻辑链

  • 华为 AI,建造中的全景图

  • 逻辑回归的MATLAB实践|附代码

  • Python爬虫实例:采集微博博文|附视频

  • MySQL利用E-R模型的数据库概念设计|附视频

  • HTML5 实现黑白棋游戏 附代码
  • 利用微信小程序实现活动报名登记 | 附代码
  • 使用Flutter小部件跨平台开发移动端App组件 | 附代码
  • 电脑病毒木马的清除和防范方法 | 附视频
  • 教你用Python做在线人脸 检测

大数据分析案例:在“北上广”打拼是怎样一种体验?

大数据时代银行如何玩转数据挖掘

真题解析│2017年蓝桥杯软件类省赛传统“送分题”

Java 15新增类Record的工作实例|附代码

Dart应用Bloc设计模式实例|附代码

从火种到能源,华为做AI的逻辑链

华为 AI,建造中的全景图

逻辑回归的MATLAB实践|附代码

Python爬虫实例:采集微博博文|附视频

MySQL利用E-R模型的数据库概念设计|附视频 返回搜狐,查看更多

责任编辑:

平台声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
阅读 ()
推荐阅读