是什么让量子计算如此难以解释?

作者 | Scott Aaronson

译者 | Sambodhi

策划 | 刘燕

直到我们开始讨论这些计算机的潜在应用,才需要理解它们背后的物理原理。

你也许听说过,量子计算机是一台神奇的超级机器,它通过尝试不同平行宇宙中所有可能的答案,将很快治愈癌症,遏制全球变暖。15 年来,在我的博客(https://www.scottaaronson.com/blog/)和其他地方,我一直在抨击这种“卡通化”的观点,试图解释我所看到的更为微妙而又具有讽刺意味的真相。作为一名量子计算研究者,我将此视为一项公共服务,几乎也是我的道义责任。

随着企业和政府多年来投入了数十亿美元,科技也发展到了可编程的 50 量子比特设备,(在某些人为设计的基准上,)这确实能让世界上最大的超级计算机与之竞争,而关于量子计算机的令人发指的炒作只会愈演愈烈。正如加密货币、机器学习和其他时尚领域一样,有了钱就有了叫卖的人。

然而,在思考时,我理解了它。事实上,即使你把所有的坏动机和贪婪都去掉,量子计算也很难在没有数学基础的情况下,用简单而诚实的方式来解释。量子计算领域的开拓者 Richard Feynman,在谈到为他赢得诺贝尔奖的量子电动力学工作时,曾经说过,如果能用几句话来描述它,它就不值得获得诺贝尔奖。

但是这并不能阻止人们尝试。自 1994 年 Peter Shor 发现量子计算机能够破解保护互联网交易的大部分加密技术以来,人们对于这种技术的兴奋已经不仅仅是出于求知欲。实际上,一般将这一领域的发展看作是一个商业或技术故事,而非一个科学故事。

假如一位商业或技术记者能如实地告诉读者:“看,在它的背后有那么多深奥的量子概念,但是你要明白,底线就是:物理学家将要制造出更快的计算机,它将完全改变一切。”

但问题是量子计算机并没有完全改变这一切。

没错,它们总有一天会在几分钟之内解决某些我们认为在经典电脑上花费的时间要比宇宙的年龄还要长的问题。但是,也有很多其他的重要问题,大多数专家认为,量子计算机如果能解决的话,也只能起到有限的作用。

而且,尽管谷歌和其他公司最近发表了可信的声明,说他们已经实现了人为的量子加速,但这只是针对特定的、深奥的基准(我帮助开发的基准)。在破解密码和模拟化学这样的实际应用中,量子计算机的体积和可靠性足以胜过传统计算机,但这可能还有很长的路要走。

但是,一台可编程的计算机怎么可能只对某些问题更快呢?我们知道哪些问题吗?而且在这种情况下,“大而可靠”的量子计算机又意味着什么呢?要回答这些问题,我们需要深入探讨。

先说量子力学吧。还有比这更深奥的东西吗?我们都知道,叠加的概念很难通过日常语言来表达。所以,很多作者选择了一种简单的方法并不奇怪。他们说,叠加的意思是“同时存在”,因此量子比特,或者称量子位,只是一个可以“同时为 0 和 1”的比特,而经典比特只能是其中的一个。他们还说,量子计算机将会利用量子比特,在叠加状态下,尝试所有可能的解,以达到它的速度,也就是同时或平行。

因此,我认为量子计算普及所犯的根本性错误,也是造成其他错误的原因之一。现在,量子计算机已经可以通过一次尝试所有可能的答案,来快速解决类似的旅行推销员的问题,而几乎所有专家都认为他们无法做到这一点。

但问题在于,要让计算机发挥作用,在某些时候你需要查看它并读取输出。但是,如果你看到所有可能答案的平等叠加,按照量子力学的规则,你只能看到并读到随机答案。如果这就是你想要的答案,你可以自己选一个。

叠加的真正意义在于“复数线性组合”。在这里,我们所说的“复数”并不是“复杂”的意思,而是指一个实数加一个虚数,而“线性组合”则是指各种倍数的状态加在一起。

所以,一个量子比特是一个复数位,它有一个称为振幅的复数,附加于它是 0 的可能性,还有一个不同的振幅,附加于它是 1 的可能性。这些振幅与概率有密切关系,因为某些结果的振幅离零越远,看到这个结果的机会就越大;确切地说,概率等于距离的平方。

但振幅不是概率。它们遵循不同的规则。举例来说,如果对一个振幅的某些贡献是正的,而其他贡献是负的,那么,这些贡献可以进行破坏性干扰并相互抵消,从而使振幅为零,相应的结果将永远不会被观察到;同样,它们也可以进行建设性干扰,并增加一个特定结果的可能性。

设计量子计算机算法的目的是,设计一种建设性和破坏性的干扰模式,以便对于每个错误的答案,对其振幅的贡献相互抵消;而对于正确的答案,贡献则相互加强。假如,也只有你能把这些安排好,当你看的时候,你将会有很大的概率看到正确的答案。棘手的问题是,如何在没有预先知道答案的情况下做到这一点,并且要比使用经典计算机要快得多。

视频地址:https://youtu.be/jHoEjvuPoB8

27 年前,Shor 展示了如何在整数分解问题上做到这一切,破解了大部分网上交易中广泛使用的保用密码。我们现在还知道如何在某些其他问题上做到这一点,但是,这些问题只能通过特殊的数学结构来解决。这不仅仅是一次尝试所有可能答案的问题。

更难的是,如果你想诚实地讨论量子计算,你就必须掌握计算机科学的理论概念词汇。常常有人问我,量子计算机会比今天的计算机快多少倍。一百万倍?十亿?

这个问题忽略了量子计算机的重点,即实现更好的“缩放行为”,或者运行时间与 n 的函数关系,即输入数据的比特数。这可能意味着在一个问题上,最好的经典算法所需的步骤数随 n 呈指数增长,而解决这个问题的步骤数只随 n 的平方增长,在这种情况下,对于小的 n 来说,用量子计算机来求解,实际上要比用经典算法来求解,速度要慢,代价要大。量子加速只有当 n 增长时才会首次出现,然后最终占主导地位。

但是,我们怎么知道没有经典的捷径——一个传统的算法会有类似量子算法的缩放行为?尽管这一问题常常被大众所忽视,但它是量子算法研究的核心,因为量子算法研究的困难往往不在于如何证明量子计算机可以迅速完成某些工作,而在于令人信服地证明传统计算机不能。

事实证明,难以证明问题很难,就像著名的 P/NP 问题所表明的那样 (这个问题简单地说就是:是否所有问题都可以用快速检验法快速解决)。它不只是一个学术问题,更是一个点点滴滴的问题:在过去的几十年中,当经典算法具有相似的性能时,猜想中的量子加速就一再消失。

请注意,在解释了这一切之后,我仍然没有提到构建量子计算机的真正困难。总之,问题出在了退相干上,这意味着量子计算机及其环境——附近的电场、温暖的物体,以及能记录下量子比特信息的其他事物——之间不需要的相互作用。这样做的结果就是过早地“测量”量子比特,并将其坍缩到肯定为 0 或肯定为 1 的经典比特。

这一问题的唯一已知解是量子纠错:20 世纪 90 年代中期提出的一种方法,它把量子计算中的每一个量子比特巧妙地编码成几十甚至数千个物理量子比特的集合状态。但是,现在研究者们开始让这种错误纠正机制在真实世界中起作用,而且,真正起作用还需要更长的时间。当你读到关于 50 或 60 个物理量子比特的最新实验时,重要的是要了解这些量子比特并未进行纠错。除非它们得到修正,否则我们不会有超过几百个量子比特的规模。

当某个人理解了这些概念,我就会说他已经做好了开始阅读的准备,也许还会写一篇文章介绍量子计算的最新进展。在不断区分现实与炒作的斗争中,他们会明白该问些什么问题。了解这些东西的确是有可能的,毕竟它不是火箭技术,它仅仅是量子计算。

原文链接:

https://www.wired.com/story/what-makes-quantum-computing-so-hard-to-explain/

每周精要上线移动端,立刻订阅,你将获得

InfoQ 用户每周必看的精华内容集合:

资深技术编辑撰写或编译的全球 IT 要闻;

一线技术专家撰写的实操技术案例;

InfoQ 出品的课程和技术活动报名通道;

“码”上关注,订阅每周新鲜资讯