量子计算机能更快地找出罪犯吗?

作者: 张天蓉

来源: 墨子沙龙

发布日期: 2024-06-27 11:30:23

量子计算机通过Grover算法能够更快地解决搜索问题,相比经典计算,搜索复杂度从O(N)降低到O(sqrt(N)),在处理大规模数据时表现出显著优势。

如今的许多高科技都依赖于各种大数据,因此,数据库的搜索速度至关重要。量子计算机搜索数据库的速度更快,是其相对经典计算机的众多优势之一,本篇将介绍的Grover量子搜索算法便展示了这种能力。

警察追踪一个男性罪犯,最后罪犯进了一个小区,逃回了家。这个小区有400个单元,每个单元住一对夫妇,因此共有400个男人。警方有逃犯的照片,在警方数据库中也有这400个人的照片。那么,如何从这400个嫌疑人中找出这个罪犯呢?这是一个搜索问题,假设数据库中的400张男性照片是完全无序的,那么,这是一个非结构化搜索问题。Grover量子搜索算法也是用来解决这一类的搜索问题。

假设给你一个很大的N个项目列表,其中有一项是我们希望找到具有独特属性的。我们把这一项称为“获胜者”,用w表示。考虑最简单的情况:N个嫌疑人x中只有一个罪犯w。首先将列表中的每个候选者标以特定颜色,逃犯w为红色,所有其他人x都标以灰色。我们可以规定某种方法判定逃犯,例如可以采取比较照片的方法等。

或者可以考虑一个与“计算”有关的方法:假设我们知道罪犯的身份证号码w,可将它与所有嫌疑人的号码x比较,即做减法计算(x-w)。计算的结果可以用一个二元目标检验函数f(x)表示:如果x不等于w,f(x)=0;如果x是逃犯,即x=w,f(x)=1。

因为嫌疑人的数据x是无序的,如果使用经典的方法,要找到逃犯的号码w,只能一个一个地做减法。最坏情况需检查所有N个嫌疑人,最好情况也得检查1个,平均而言必须做N/2次减法。因此,经典搜索的运算次数与N的关系是线性的:O(N)。那么现在考虑,如果是量子搜索,是否可以降低搜索运算的复杂度呢?量子搜索的优越性在于利用量子比特的叠加性,量子计算中的“数据库”,是由量子比特可能处于的所有计算基组成。

量子搜索与经典搜索不同之处在于:量子计算可以操作这些寄存器同时工作,如同是多个寄存器同时进行平行运算。寄存器越多,就越能体现这种平行运算“加速”的威力。与经典计算不同的另外一点是:量子物理是概率性的,表征量子态的数值是一串概率幅。例如,一开始我们并不知道要找的逃犯w在哪里,所有的嫌疑人都有可能是罪犯。也就是说,8个寄存器给出的初始量子态是概率均等的,每个寄存器是w(逃犯)的概率幅是一样的。

量子情况,就好比是有了一个所有照片都能放在一起的魔法大平台,这样就能将逃犯的照片同时比较数据库里的所有照片。不过,虽然400张照片都在,但每张照片都有不同的亮度,每张照片以不同的概率被照亮,这个概率会根据逃犯信息的暴露程度而改变。科学家们总有他们独特的办法。

Grover就找到了一种方法,在打开这个大平台之前,他对平台上所有的照片,反复地进行某些“运算”或“比较”操作,使得照片被照亮的概率幅变化,变化的趋势是使得越来越多的概率幅集中到数据库中对应逃犯照片的那个位置上。这样一来,最后打开平台时,就几乎只有那一个位置的照片被照亮。于是,就抓住逃犯了!

重要的是,Grover这个办法,对400张照片的情况,只需要20(400的平方根)次的比较操作,就搜索到了目标,而不是经典搜索的平均200次。这就表现出了量子算法的优越性。

Grover算法的中心思想是:利用量子叠加态的平行运算功能,经过数次反复迭代后,放大提高“标记”处w的概率幅而降低其它位置的概率幅,最后进行测量,波函数塌缩到概率幅最大的状态,即w态。

可以证明,Grover算法只要计算sqrt(N)次就可以找到w。听起来加速不多,仅仅是平方级的加速,但实际上是我们所能期待的搜索算法最大加速。并且当N很大时,二次加速确实可以节省大量时间。比如有100个嫌疑人,身份证号码从1到100,随机无序地分布在100个寄存器中,找出某个特别数字,经典方法平均需要50次操作,量子算法只需10次!

此外,该算法的用途不止于数据搜索,还可以为各种其他算法获得二次运行的时间改进。

综上所述,Grover算法的核心就是振幅放大:将目标w的概率幅放大,而将其它所有“非目标项”x的概率幅缩小。整个过程从通过H门制备初始量子态开始,中间的迭代循环便是振幅放大,循环结束后的最后一步,是测量。初始状态是一个均匀量子叠加态,表示所有嫌疑人是罪犯的概率相等。

均匀态|s>可以很容易地从n个H门作用于n个量子比特基态|0>上构造出来。然后就想办法让概率变化,同时对N个寄存器反复进行某种操作,使得目标项w的概率幅不断放大,其他的概率幅不断缩小,这个“振幅放大”过程需要重复进行直到找到w为止。循环的振幅放大过程分为两步:量子黑箱函数Uw(预言机),和扩散算符操作Us。振幅放大的几何解释表示为态矢量在一个二维平面中产生旋转。

初始状态是一个均匀叠加态|s>,|w>和|s>张成向量空间中的一个二维平面,两个向量|w>和|s>并不完全垂直,因为|w>也以N的1/2的概率幅出现在叠加态|s>中。然后,我们可以引入一个额外的状态|s'>,它位于|w>和|s>构成的二维平面上但垂直于|w>。

Grover算法的预言机Oracle函数Uw所做的,是给解|w>添加了一个负相位。

也就是说,对于计算基中的任何状态|x>,可以创建一个函数Uw:Uw(x) = x,如果|x|不等于|w|;而Uw(x) = -x,如果|x|等于|w|。该函数被称为Oracle。Grover算法巧妙之处是在步骤3中我们又应用了一个扩散函数Us = 2|s><s|-1。其作用是将态矢量关于平均幅度进行反射,反射后w的概率幅被放大了。

因此,步骤2和步骤3的共同作用U=UwUs,使得测量后塌缩到|w>的概率被放大了。能从经典的N次减到N^1/2次,原因是由于处理的是概率幅而不是概率,即被放大的概率幅而不仅是概率,这也是量子计算的秘诀所在。

UUID: 58e6c12f-7767-4248-8fca-faccb5ee4817

原始文件名: /home/andie/dev/tudou/annot/AI语料库-20240917-V2/AI语料库/中科院物理所公众号-pdf2txt/2024/中科院物理所_2024-06-27「转」_量子计算机能更快地找出罪犯吗?.txt

是否为广告: 否

处理费用: 0.0152 元