我为什么不相信量子计算?_java

插画作者:Christian Gralingen

当今,量子计算备受瞩目,风靡一时。每天,各种新闻媒体都争相报道这项高大上的技术能为人类社会带来的神奇改变。然而,大多数评论家都忘记了——或者说有意掩盖了这样一个事实:人们几十年来一直殚精竭虑地进行着量子计算研究,却到现在仍没有什么实质性的应用展示出来。

有人说(相关文章:https://www.research.ibm.com/ibm-q/learn/what-is-quantum-computing/), 量子计算机可以“在许多学科中提供突破,包括材料和药物发现,复杂人造系统的优化和人工智能”。还有人说(相关文章:https://www.microsoft.com/en-us/quantum), 量子计算机将“给我们的经济,工业,学术和社会格局带来天翻地覆的变化”。甚至有人说(相关文章:https://www.meritalk.com/articles/get-ready-for-first-quantum-computer-to-break-the-internet), “量子计算机可以很快攻破保护世界上最敏感数据的加密技术”。量子计算已经火到了这样的程度:许多物理学领域的研究人员必须得想办法声称自己与量子计算有一定关系,才能证明自己所做工作是有价值的。

与此同时,政府研究机构,学术部门(其中许多由政府机构资助)和企业实验室每年花费数十亿美元开发量子计算机。在华尔街,摩根斯坦利和其他金融巨头期待着量子计算很快就会成熟(相关文章:https://www.barrons.com/articles/google-ibm-primed-for-a-quantum-computing-leap-says-morgan-stanley-1503602607), 并且很想知道这项技术如何能够帮助他们。

这已经成为一种永不停歇的军备竞赛。许多组织似乎只是为了避免被抛在后面。 Google,IBM 和微软等的一些顶尖技术人才正埋头在最先进的实验室,利用着最丰富的资源,努力工作,以实现他们对量子计算未来的愿景。

既然事情已经变成这样,你肯定很自然地想知道:人类什么时候才能构建出能够实际应用的量子计算机?最乐观的专家估计需要 5 至 10 年。更谨慎的预测 20 到 30 年。 (顺便提一下,在过去的 20 年里,已经有类似的预言被表达过了。)我属于极少数人——我认为:“不在可预见的未来。”我花了数十年时间研究量子和凝聚态物理,现在我的观点很悲观。但是这悲观的观点不是我为了吸引眼球胡乱造出来的,而是基于我对量子计算工作必须克服的巨大技术挑战的理解。

量子计算的概念 最早出现在近 40 年前,即 1980 年。当时,出生于俄罗斯的数学家 Yuri Manin(现在在波恩的马克斯普朗克数学研究所工作)首先提出了这一概念,尽管形式相当模糊。第二年,加州理工学院的物理学家 Richard Feynman 也独立提出了这个概念。

费曼意识到,当被观察的系统变得过于复杂时,量子系统的计算机模拟变得不可能实现。基于这个观察,他提出了计算机本身应该以量子模式运行的观点:“自然不是经典的,xxx(骂人的话和谐掉)。如果想要对自然进行模拟,你最好把它变成量子力学。这样这个问题的逼格就高了,因为它看起来并不那么容易。”几年后,牛津物理学家 David Deutsch 正式描述了一种通用量子计算机——一种通用图灵机形式的量子模拟器。

当时这个话题并没有引起太多关注。直到 1994 年,数学家 Peter Shor(当时在贝尔实验室,现在在麻省理工学院)提出了一种理想的量子计算机算法(详见:https://en.wikipedia.org/wiki/Shor%27s_algorithm), 可以在传统的计算机上大幅提升大数分解问题的计算效率。这一杰出的理论成果引发了人们对量子计算的浓厚兴趣。自那时以来,已有数千篇研究论文(主要是理论论文)发表在这一主题上,并且相关论文继续以越来越快的速度出现。

量子计算的基本思想是,以一种与基于经典物理学的传统计算机完全不同的全新的方式存储和处理信息。从微观上讲,可以说传统计算机是通过操作大量微型晶体管来工作的。这些微型晶体管相当于开关,用以在计算机的时钟周期之间改变其状态。

因此,在任何给定时钟周期开始时的经典计算机的状态可以通过物理上对应于各个晶体管的状态的长序列位来描述。对于 N 个晶体管,计算机有 2N 种可能的状态。根据给定的程序,在这种机器上的计算本质就是将其中的一些晶体管在“开”和“关”的状态之间切换。


我为什么不相信量子计算?_java_02

插画作者:Christian Gralingen

在量子计算中,经典的双态电路元件(晶体管)被称为量子位或量子比特(qubit)的量子元素所取代。与传统的位一样,它也有两种基本状态。尽管有很多物理对象可以合理地用作量子位,但最简单的做法是利用电子的内部的角动量或自旋。电子自旋有一个特殊的量子特性,即在任何坐标轴上都只有两个可能的投影:+1/2 或 -1/2(以普朗克常数为单位)。无论选择何种轴,都可以将电子自旋的两个基本量子态表示为↑和↓。

事情从这里开始就变得奇怪了。对于量子位来说,这两种状态并不是唯一可能的状态。这是因为电子的自旋态由量子力学波函数描述。该函数涉及两个复数α和β(称为量子振幅)。和一般的复数一样,α和β含有实部和虚部,并有自己的模。根据量子力学的规则,它们的模的平方和必须为 1。

这是因为在测量时,这两个复数模的平方对应电子自旋在基本状态↑和↓中的概率。因为这是唯一可能的结果,两个相关的概率之和必须为 1。例如,如果在↑状态中找到电子的概率是 0.6(60%),那么在↓状态中找到它的概率必须是 0.4(40%)——其他非 0.4 的任何概率都是错误的。

经典位只能取两个基本状态中的一种,而量子位可以取可能状态的连续分布中的任何一个值。连续分布是由量子模α和β的值所定义的。这个属性通常被描述得十分神秘——量子位可以同时处于↑和↓状态。

确实,量子力学理解起来比较困难,常常与人类的直觉相悖。但这个概念不应该用这种令人困惑的语言来表达。比如,对于一个位于 x-y 平面内的、与 x 轴成 45 度倾斜向量,有人可能会说这个向量同时指向 x 方向和 y 方向。这种说法在某种意义上是正确的,但它并不是真正有用的描述。在我看来,将量子位描述为同时处于↑和↓状态同样是没意义的。然而,对于记者来说,这样故弄玄虚的描述才能吸引眼球。

在一个含有两个量子位的系统中,有 2^2(或 4)种基本状态,这四种状态可以记为(↑↑),(↑↓),(↓↑)和(↓↓)。当然,两个量子位可以用含有四个复数的量子力学波函数来描述。在 N 个量子位的一般情况下,系统的状态由 2^N 个复数来描述,这些复数的限制条件是其模的平方和必须为 1。

在任意给定时刻,N 位的传统计算机必须处于其 2^N 个可能状态之一。而对于含有 N 个量子位的量子计算机,其状态由 2^N 个量子模的值描述。该参数是连续的(即可以取其值域内的任何值,而不仅仅是 0 或 1)。这便是量子计算机的强大潜力的起源,但同时也是它的致命弱点。

如何在这样的机器中处理信息?这是通过某些类型的变换——这种变换被称为“量子门”——以精确和受控的方式改变参数来完成的。

根据专家的估计,有实用价值的(即和你的笔记本计算能力差不多的)量子计算机所需的量子位数在 1,000 到 100,000 之间。因此,在任意给定时刻要描述这种实用量子计算机的状态,其所需的连续参数量必须至少为 2^1,000,即大约 10^300。这的确是一个非常大的数字。有多大呢?它远远大于可观测宇宙中亚原子粒子的数量。

再强调一遍:有实用价值的量子计算机需要处理一组连续参数,这些参数的数量大于可观察宇宙中的亚原子粒子数。

讲到这里,对于这项未来技术,一位顽强的工程师失去了兴趣。但是让我们继续吧。在任何真实世界里的计算机中,都必须考虑错误(噪声)可能造成的影响。在传统计算机中,不一定每个晶体管都是正常工作的,有可能会有一个或多个晶体管在应该被接通时被关闭,或在应该被关闭时接通。这种错误事件可以通过某些相对简单的纠错方法来处理,比如在硬件中内置的某种程度的冗余。

相比之下,如何将实用量子计算机中的 10^300 个连续参数的错误控制在一定范围之下,这是绝对不可想象的。然而,量子计算理论家们成功地说服了公众,让大家认为这是可行的。他们说,有一种叫阈值定理的东西能证明该任务可以完成。他们指出,一旦每个量子门中的每个量子位的误差低于某个值,无限长的量子计算就成为可能,代价是大大增加了所需的量子位数。他们认为,利用这些额外的量子位,可以通过将多个物理量子位组合成逻辑量子位来处理错误。

要生成一个逻辑量子位,需要多少物理量子位?没有人能明确地知道,但估计一般在大约 1,000 到 100,000 之间。因此,实用量子计算机现在需要一百万或更多的量子位。定义这个假想的量子计算机器状态的连续参数的数量——现在已经是超过千兆位的天文数字——变得更加荒谬了。

即使不考虑这些不可思议的大数字,实际上也没有人知道如何将多个物理量子位组合成可以进行实用计算的、较少数量的逻辑量子位。这个问题其实也非常关键,是不得不考虑的。

在 21 世纪初,应高级研究与发展活动(美国情报界的资助机构,现在是情报高级研究项目活动的一部分)的要求,量子信息领域的杰出专家团队规划了量子计算路线图。其中有一个目标是到 2012 年“能够操作大约 50 个物理量子位”并“成功操作多个逻辑量子位,并有能力执行可容错的 [量子计算] 所需的全部操作,以便运行相关量子算法的简单实例......”现在已经到了 2018 年底,这一目标似乎还是没有达成。


我为什么不相信量子计算?_java_03

插画作者:Christian Gralingen

绝大多数关于量子计算的学术文献对实际硬件的实验研究轻描淡写。而那些极少数的做了实验的研究,由于其实验极难进行,必须得到尊重和钦佩。

这种验证原理的实验的目的是展示进行基本量子运算的可能性,并演示已经设计出的量子算法中的一些细节。实验中所操作的量子位数低于 10,通常为 3 到 5。显然,从 5 位到 50 位(由 ARDA 专家组为 2012 年设定的目标),是难以克服的实验难题。难以克服的原因很简单:2^5 = 32,而 2^50 = 1,125,899,906,842,624。

相比之下,量子计算理论似乎没有遇到处理数百万量子位的任何实质性困难。例如,在误差率的研究中,正在考虑各种噪声模型。已经证明(在某些假设下)“本地”噪声产生的误差可以通过精心设计的、非常巧妙的方法来纠正,其中涉及大量并行操作,数千个门同时应用于不同的量子位,同时完成了数千次测量。

十五年前,ARDA 的专家小组指出,“在某些假设下已经确定,如果对于每个门操作,可以实现高于一定阈值精度,量子纠错将允许量子计算机进行无限期的计算。”这里的关键词是“在某些假设下”。然而,这一杰出的专家小组并没有解决这些假设是否能够得到满足的问题。

我认为他们做不到。在物理世界中,连续的量(无论是电压还是定义量子力学波函数的参数)既不能被测量也不能被精确地操纵。也就是说,不能使连续可变量具有精确值,包括零。对于数学家来说,这可能听起来很荒谬。但所有工程师都知道,这是我们所生活的世界中无可置疑的现实。

当然,离散量可以被准确地观察和描述,例如教室中的学生数量或“开启”状态下的晶体管数量。对于持续变化的数量不是这样。而这一事实说明了传统数字计算机和假想的量子计算机之间的巨大差异。

实际上,理论家所做的所有假设,包括将量子位置于给定状态、量子门的操作、测量的可靠性等,都无法准确地实现。我们只能以有限的精度接近它们。所以,真正的问题是:需要达到什么样的精度?针对具体问题的实验,比如计算 2 的平方根(与很多量子运算相关的无理数),应该精确到什么程度?它应该被近似为 1.41 还是 1.41421356237?或者需要更高的精度?令人惊讶的是,这些关键问题不仅没有明确的答案,而且甚至从未被讨论过!

虽然人们现在正在探索构建量子计算机的各种策略,但许多人认为最有希望的方法是基于使用相互连接的 Josephson 结的量子系统冷却到非常低的温度(低至约 10 millikelvins)。该项目最初由加拿大公司 D-Wave Systems 承担,现在由 IBM、谷歌、微软和其他公司进行研究。

人们的最终目标是创建一个通用量子计算机,该计算机可以使用著名的 Shor 算法分解大数、击败传统计算机,可以通过同样著名的、由 Lov Grover 于 1996 年在贝尔实验室开发的量子计算算法(详见:https://en.wikipedia.org/wiki/Grover%27s_algorithm) 执行数据库搜索,以及可以运行适用于量子计算机的其他专业应用程序。

在硬件方面,各大企业正在进行着高级研究。最近,Intel 研究制造了 49-qubit 芯片(详见:https://newsroom.intel.com/news/intel-advances-quantum-neuromorphic-computing-research/), IBM 制造了 50-qubit 芯片(详见:https://www-03.ibm.com/press/us/en/pressrelease/53374.wss), Google 制造了 72-qubit 芯片(详见:https://ai.googleblog.com/2018/03/a-preview-of-bristlecone-googles-new.html)。 这项活动的最终结果尚不完全清楚,尤其是因为这些公司尚未透露其工作细节。

虽然我相信这样的实验研究是有益的,并有可能帮助我们更好地理解复杂的量子系统,但我并不认为这些努力能让我们制造出实用的量子计算机。这样的计算机必须能够在微观水平上以极大的精度操纵物理系统,其特征在于具有难以想象的大量参数,每个参数具有连续的值范围。我们能学会控制超过 10^300 个连续变量参数,来定义这种系统的量子态吗?

我的答案很简单。不能,而且永远不可能。

与主流观点相反,我相信,量子计算的热情已接近尾声。这是因为几十年是技术或科学中任何大泡沫的最长寿命。经过一段时间后,由于已经做出了太多未能实现的承诺,任何一直关注这个话题的人都会对宣布即将取得突破的新闻感到厌烦。更重要的是,到那个时候,所有在该领域的终身教职员工职位都已经被占用。支持者年龄越来越大,热情越来越低,而年轻一代寻求全新的东西,更有可能取得成功。

所有这些问题,以及我在此未提及的其他一些问题,都能引发大家对量子计算未来的严重怀疑。用少量量子位进行的基本但非常艰苦的实验与极度发展的量子计算理论之间存在着巨大的差距,用这种理论做任何计算都依赖于操纵数千到数百万的量子位。这个差距不太可能很快就缩小。

在我看来,量子计算研究人员应该听从 IBM 物理学家 Rolf Landauer 几十年前在该领域首次升温时所做出的警告。他敦促量子计算的支持者在他们的出版物中包括这些方面的免责声明:“这种方案与所有其他量子计算方案一样,依赖于投机技术,不以其当前的形式考虑所有可能的噪声源,具有不可靠性,容易制造错误,可能不会奏效。“