在我们的日常生活中,搜索是一项非常常见而且重要的任务。无论是查找最短的驾车路线、寻找特定书籍的内容,还是在互联网上查找信息,我们都需要通过搜索来找到我们想要的东西。
用经典计算机的语言来说,搜索问题可以被总结成一个数学问题:如何在一个集合中的众多数据中,找到满足条件的那一个?
自然,我们使用的搜索算法也是基于经典逻辑的,例如线性搜索或二分搜索——但是这些方法要么效率较低,要么对数据的结构有一定的要求。举个具体的例子来说,就好比我们现在有许多外形相同、标有编号的小球,需要在这堆小球中找到上面写有“
上述情境便是无结构化搜索(Unstructured Search)的一个例子。在这一问题中,待搜索的数据集是混乱的、没有额外限制的。抽象地说,我们可以把待搜索的数据集合看作一堆二进制字符串,需要在其中找到一个满足要求的字符串——就好比我们有一大堆形状各异的钥匙,需要在其中找到能打开门锁的那一把。这一问题的数学表述是:
无结构化搜索问题
已知有布尔函数
,它可以读取一个长度为 的二进制字符串输入,并且输出 (代表接受)或者 (代表拒绝)。我们希望找到一个使 能够接受的输入——也就是令其输出为 。
在这种表述下,全部长为
但是,在量子世界中,有一种搜索“黑科技”——Grover 算法,它可以神奇地加速这一搜索过程。这一量子算法最早由美国计算机科学家 Lov Grover 在1996年提出[1],旨在对无结构数据集的搜索任务进行加速。相比线性时间复杂度
这一量子加速的效果究竟如何呢?让我们用一个例子来说明 Grover 算法的强大之处:假设我们想要暴力破解一个长度
那么,Grover 算法是如何做到这一点的呢?让我们简单解释一下它的工作原理。在量子计算中,我们使用量子比特(Qubits)而不是经典比特(Bits)来存储信息,而量子比特远比经典比特强大。这是因为:一个经典比特只能处于两个可能状态之一(例如,电位的高低、或者磁场的两个不同方向等等),因此可以存储单独的一个
这种量子叠加性虽然和我们日常生活中的直觉相悖,但它却是量子世界里真实存在的一种性质。也正是这种神奇的特性,使量子计算机能够比经典计算机更为高效地进行并行计算。试想:如果我们想要用一个经典计算机上的函数
Grover 算法正是利用了量子并行的思想进行搜索:假设我们要开的“锁”是一个量子计算机上的函数
不过,说来简单,但是要从量子计算机的输出结果中得到我们所需的答案,还是件麻烦事:因为量子计算机的输出结果实际上也是由
还记得我们之前提到的量子态
振幅放大技术除了用于高效解决搜索问题以外,还广泛用于许多量子算法中,或者作为一些量子算法的子步骤来提供平方加速[5,6]。然而,现实中的量子算法并没有理想中那么美好:这是因为,虽然 Grover 算法以及其他使用振幅放大技术的算法可以在理论上实现高效加速,但是在实际应用中仍然面临挑战。首先,我们在应用 Grover 算法时,假设了我们可以很容易地将函数
除了这一理论上的困难之外,Grover 算法的实际应用还面临着更严重的阻碍。在真正的量子计算机上,Grover 算法或者其他量子算法的实现仍然受到当前量子硬件发展水平的掣肘。即使对于目前最先进的量子计算机来说,其可靠性、稳定性和能够处理的量子比特数目水平也远远未达到能大幅超越经典计算机的表现[4]。近年来,量子科学家们主要的关注点还是在如何将规模和稳定性有限的量子计算机与经典优化算法相结合,从而高效地解决一些实际问题。可以说,我们目前在量子计算机领域的发展阶段还处在 NISQ 时代——即中等规模量子比特数目、且由于有噪声,无法实现可靠量子计算的时代(Noisy Intermediate-Scale Quantum Era),距离实现容错量子计算(Fault-Tolerant Quantum Computing)的量子设备问世还有很长的路要走。
不过,尽管在近期稳定实现的机会渺茫,Grover 算法仍然是量子计算领域的一个重要里程碑。它展示了量子计算的巨大潜力,并为未来的量子算法研究提供了宝贵的经验和启示。随着量子软硬件技术的不断发展和成熟,我们可以期待看到 Grover 算法及相关的思路发展出更多的应用,并且在今后的容错量子计算时代,真正得以在量子计算机上稳定实现,为未来的高速计算带来无限可能。
参考文献
[1] Grover, L. K. (1996). A Fast Quantum Mechanical Algorithm for Database Search. In Proceedings, 28th Annual ACM Symposium on the Theory of Computing (STOC).
[2] Nielsen, Michael A., and Isaac L. Chuang. Quantum Computing and Quantum Information. Cambridge University Press, 2000.
[3] Watrous, J. Lecture Notes on Quantum Computing and Quantum Information. https://johnwatrous.com/wp-content/uploads/2023/08/QC-notes.pdf
[4] Mandviwalla A, Ohshiro K, Ji B. Implementing Grover's algorithm on the IBM quantum computers[C]//2018 IEEE international conference on big data (big data). IEEE, 2018: 2531-2537.
[5] Yuan, Xiao. Lecture Notes on Quantum Information.
[6] Lin L. Lecture notes on quantum algorithms for scientific computation[J]. arXiv preprint arXiv:2201.08309, 2022.
文 | 张文昊
图 | 钟方威
— 版权声明 —
本微信公众号所有内容,由北京大学前沿计算研究中心微信自身创作、收集的文字、图片和音视频资料,版权属北京大学前沿计算研究中心微信所有;从公开渠道收集、整理及授权转载的文字、图片和音视频资料,版权属原作者。本公众号内容原作者如不愿意在本号刊登内容,请及时通知本号,予以删除。
内容中包含的图片若涉及版权问题,请及时与我们联系删除
评论
沙发等你来抢