是什么让量子计算如此难以解释?
量子计算机不是下一代超级计算机,它完全是另一回事。在谈论它的潜在应用之前,我们需要了解驱动量子计算理论的基础物理学。
本文作者为斯科特·阿伦森(Scott Aaronson),他的主要研究领域是量子计算和计算复杂性理论,因对量子计算的开创性贡献荣获2021年ACM计算奖。以下为正文内容:
您可能听到过这样的说法,量子计算机是一种神奇的超级机器,通过在不同的平行宇宙中尝试所有可能的答案,它很快就会治愈癌症和解决全球变暖问题。15年来,在我的博客和其他地方,我一直反对这种卡通式的想象,这与科学家的愿景背道而驰。所以我试图解释我所看到的更微妙更迷人的真相。出于作为一个量子计算研究人员的道德责任,我将此视为一项大众科普服务。
但这项工作我感觉干的很糟糕,多年来,关于量子计算机的令人畏惧的炒作有增无减。企业和政府已经投资了数十亿美元,而且随着技术发展到可编程的50个量子比特设备,这些设备在某些人为的基准上确实可以成为世界上最强大超级计算机的一个竞争对手。就像加密货币、机器学习及其他流行领域一样,钱来了的同时小贩也来了。
不过,在反思的时候,我明白了。即使消除了所有不良的动机和贪婪,如果没有数学的话,仍然很难对量子计算进行简单而诚实的解释。正如量子计算先驱理查德·费曼(Richard Feynman)曾经在谈到为他赢得诺贝尔奖的量子电动力学工作时所说的那样,如果可以用几句话来形容,那将不值得获得诺贝尔奖。
这并不是说要阻止人们去尝试。自从Peter Shor于1994年发现量子计算机可以破解保护互联网交易安全的大部分加密算法以来,人们对该技术的兴奋不仅是出于好奇心。实际上,该领域的发展通常被作为商业或技术故事而不是科学故事来报道。
如果商业或科技记者能够如实告诉他们的读者。“看,'引擎盖'下有这么多深奥的与量子相关的东西,但你只需要了解的是一句话:物理学家即将制造出能彻底改变一切的、更快的计算机。” ————但问题是量子计算机不会彻底改变一切。
是的,它某天可能会在几分钟内解决一些特定的问题,而在经典计算机上可能需要用比宇宙年龄还要长的时间。但大多数专家认为量子计算机对许多其他重要问题只能提供微乎其微的帮助(如果有帮助的话)。此外,虽然Google和其他公司最近都声称已经实现了人为的量子加速,但这只是针对特定的、只有内行才懂的基准(我帮助开发的基准)。一台大而可靠的量子计算机要在破解密码和模拟化学等实际应用中超越经典计算机,这可能还有很长的路要走。
对于某些问题,可编程计算机怎么会更快呢?我们知道有哪些问题吗?“大而可靠”的量子计算机究竟意味着什么?要回答这些问题,我们必须深入研究。
让我们从量子力学(还有什么可以更深入的?)开始。量子叠加的概念很难用日常用语来阐述,所以毫不奇怪许多作者选择了一个简单的方法:他们说叠加意味着“同时”。因此他们解释一个量子比特只是一个可以同时为0和1的比特,而经典比特只能是其中之一。他们会继续说,量子计算机通过利用量子比特的叠加来寻找所有可能的答案,能同时或并行的尝试所有可能的方法以实现其惊人的运算速度。
这就是我所认为的大众对量子计算的根本性错误认知,也就是这个错误导致了其他所有的错误理解。例如,人们说量子计算机可以通过一次尝试所有可能的答案来快速解决诸如旅行商问题之类的问题。实际的情况是,几乎所有专家都认为他们无法做到这一点。
问题是要使量子计算机有用,在某些时候你需要查看它并读取输出结果。但如果你要查看所有可能答案的均等叠加,量子力学规则告诉你只会看到和读取一个随机的答案。如果这就是你想要的,你可以自己选择一个。
叠加的真正含义是“复数的线性组合”。在这里,我们所说的“复数”不是多而杂,而是实数加虚数的意思,而“线性组合”是指我们将不同的状态倍数相加。一个量子比特是一个位,它有一个被称为概率幅的复数,不同的概率幅与它为1和为0的可能性相关。概率幅包含了相位,概率幅与概率密切相关,因为更远一些结果的概率幅是从零开始的,看到那个结果的机会就越大。或者更准确地说,概率等于概率幅绝对值的平方。
但概率幅不是概率,它们遵循不同的规则。例如,如果对概率幅的一些贡献是正的,而另一些是负的,那么这些贡献会相消干涉并相互抵消;同样,它们可以建设性地干预并增加特定结果的可能性。为量子计算机设计算法的目标是设计一种构造干扰和破坏性干扰的模式,以便对于每个错误的答案对其幅度的贡献相互抵消,而对于正确的答案贡献则相互加强。当且仅当你编排它时,你在查看的时很可能会看到正确的答案。困难部分在于事先不知道答案的情况下完成此操作,而且要比使用经典计算机更快。
27年前,Shor展示了如何解决整数因式分解问题的算法,这意味着能破解大部分在线商务背后广泛使用的密码体系。现在我们也知道如何解决其他一些问题,但只能通过利用这些问题中的特殊数学结构来实现。这不仅仅是一次尝试所有可能答案的问题。
更复杂的是,如果你想诚实地谈论量子计算,那么你还需要计算机理论科学的概念词汇。我经常被问到量子计算机将比今天的计算机快多少倍。一百万次?十亿倍?
这个问题忽略了量子计算机的要点,即实现更好的“标度行为”,或将运行时间作为输入数据位数n的函数。这可能意味着解决一个问题最好的经典算法需要的步数随n呈指数增长,然后只能用以n²增长的步数来解决它。在这种情况下,对于较小的n,使用量子计算机解决问题实际上要比经典计算机更慢且成本更高。只有随着n的增长,才会首先出现量子加速,然后最终占据主导地位。
但是我们怎么知道经典计算就没有捷径,难道就没有一种与量子算法具有相似标度行为的传统算法?虽然在主流的说法中通常被忽略,但这个问题是量子算法研究的核心,其中的困难往往不是证明量子计算机可以快速做某事,而是令人信服地论证经典计算机不能做。事实表明,要证明问题是困难的,正如著名的P与NP问题所描述的那样是非常困难的。这不仅仅是一个学术问题,在过去的几十年里,当发现经典算法具有相似的性能,量子加速的推测就一再消失。
请注意,在解释了所有这些之后,我仍然没有提及构建量子计算机的实际难度。简单来说,最大问题在于退相干,这意味着量子计算机与其环境之间不能起相互作用,例如附近的电场、有温暖的物体以及其他可以记录有关量子比特信息的东西。这些可能导致量子比特被过早的“测量”,从而将它们塌缩为肯定是0或肯定为1的经典位。
此问题的唯一已知解决方案是量子纠错,一个在20世纪90年代中期提出的方案,它巧妙地将量子计算的每个量子比特编码成数十个甚至数千个物理量子比特的集体状态。但研究人员现在才开始在现实中进行这种纠错工作,实际投入使用需要更长的时间。当你看到有关50或60个物理量子比特的最新实验时,重要的是要知道这些量子比特未经过纠错。在此之前,我们不指望能获得几百个以上的量子比特。
一旦有人理解了这些概念,我会说他们已经准备好开始阅读甚至可以写一篇关于量子计算最新进展的文章。因为他们会知道怎么去区分现实与炒作。理解这些东西真的是可能的,毕竟这不是火箭科学,这只是量子计算!(编译:Qtech)