本文来自微信公众号:悦智网(ID:gh_ad4cb8f6a543),作者:Mikhail Dyakonov,头图来自:视觉中国


量子计算如今十分流行。几乎每天都有新闻媒体发布相关新闻。其实人类研究量子计算已经长达几十年,却未得出任何实用的结果,大多数评论员都忘记或者掩饰了这一事实。


IBM指出量子计算机能够“使很多学科领域取得突破性进展,包括材料和药物研发、复杂系统的优化以及人工智能”。微软则保证,量子计算机将“永久性地改变我们的经济、工业、学术和社会领域”。新闻记者也多次指出,量子计算机也许很快就会破解保护互联网的加密技术。这使得物理学各领域的很多研究人员都觉得,必须证明自己的在研工作与量子计算存在一定的相关性。


同时,政府研究机构、学术部门(很多由政府机构出资组建)和企业的实验室也在努力开发量子计算机,每年的花费高达数十亿美元。华尔街的摩根史坦利投资公司以及其他金融巨头都期待量子计算能够尽快成熟,渴望了解这项技术能给他们提供怎样的帮助。


从某种意义上来说,这演变成了一种似乎能够自我存续的军备竞赛,而很多组织参与这场竞赛,仅仅是为了不落后于人。谷歌、IBM和微软等公司的一些世界顶尖技术人才正在现代化的实验室里,利用大量资源,想要实现量子计算的未来愿景。


有鉴于此,我们自然会产生疑问:什么时候才能制造出实用的量子计算机?最乐观的估计也认为要再花上5至10年。更多人的预测则较为谨慎,认为需要20至30年的时间。(其实在过去20年间就已经有人做出了类似的预测。)而我的观点属于极少数,我认为量子计算机“在可预见的未来不会实现”。经过对量子论和凝聚态物理学的数十年的研究,我得出了非常悲观的结论。因为我深知,要使量子计算发挥作用,需要克服的技术挑战是多么艰巨。



量子计算的概念诞生于近40年前,1980年,量子计算由如今就职于德国波恩马克斯·普朗克数学研究所(Max Planck Institute for Mathematics)的俄国数学家尤里·曼宁(Yuri Manin)首次提出,不过当时它还是一个模糊的概念。次年,加州理工学院的物理学家理查德·费曼(Richard Feynman)正式提出这一概念后,它才真正出名。


当意识到审查之下的量子系统太过复杂而无法进行计算机模拟时,费曼进一步提出“计算机本身应该在量子模式下运行”这一观点,他指出:“自然不是古典音乐,如果你想模拟自然,最好是从量子力学方面入手,这是一个奇妙的问题,因为看上去并没有那么简单。”几年后,牛津大学的物理学家戴维·多伊奇(David Deutsch)正式提出了通用量子计算机这一概念,与通用图灵机相对应。



这一概念在当时并未引起太多注意。直到1994年,数学家彼得·舒尔(Peter Sho,当时供职于贝尔实验室,现在就职于麻省理工学院)提出了一种适用于理想量子计算机的算法,这种计算机能够对非常大的数字进行因数分解,速度比传统计算机快很多。这一杰出的理论结果引发了人们对量子计算的浓厚兴趣。自此,有成千上万与该理论相关的研究论文(主要是理论研究)发表,而且增长速度越来越快(参见本文图表“一飞冲天”)



量子计算的基本概念是基于经典物理学,采用完全不同于传统计算机的方式储存和处理信息。总而言之,可以认为传统计算机的运行是通过操纵工作原理与通断开关类似的大量微小晶体管而实现的,通断开关可改变计算机时钟周期的状态。


传统计算机在任何既定时钟周期的起始状态,均可视为在物理上与单个晶体管状态相对应的二进制数字的一个长序列。如果有N个晶体管,那么计算机就可能存在2N种状态。在这样一台机器上进行的计算主要包括根据既定程序切换晶体管的开关状态。


在量子计算中,传统的双态电路元件(晶体管)被量子元件代替,这种量子元件称为量子比特或量子位。和传统比特一样,量子位也有两种基本状态。许多物理对象都可以作为合理的量子位,最简单一种就是电子的内部角动量,即自旋,其具有特殊的量子属性,即在任何坐标轴上都只有两种可能的投影:+1/2或-1/2(用普朗克常数表示)。无论选择哪个坐标轴,你都可以将电子自旋的两种基本量子状态表示为↑和↓。


这正是奇怪之处。对于量子位而言,上述两种状态并非仅有的可能状态。因为电子的自旋状态通过一个量子力学波动函数来表示。这一函数涉及两个复数——α和β(称为量子幅值),这两个复数都含有实数部分和虚数部分。α和β这两个复数各自都有一定的量级,根据量子力学的规则,二者的平方之和必须等于1。


这是因为二者的平方与测量时电子量子自旋基本状态↑和↓的概率相对应。这是可能存在的唯二结果,所以两个相关概率相加必须等于1。例如,找到状态为↑的电子的概率为0.6(60%),则其为↓状态的概率必须为0.4(40%)——其他结果皆无意义。


相较而言,传统比特只能为两种基本状态中的一种,而一个量子位的状态可以是一系列连续状态中的任何一种,该连续状态由量子幅值α和β的数值定义。对于这一特性,有这样一种神秘而令人生畏的描述:一个量子位可同时以↑和↓两种状态存在。


是的,量子力学通常会违反直觉,但也不应该用这种令人费解的语言来表达这一概念。可以改为使用位于x-y平面并向x轴倾斜45度的一个向量来表示。有人可能会说,这个向量同时指向x轴和y轴方向。从某种意义上来看,这种说法是正确的,但并非真正有用的描述。我认为,说量子位同时存在↑和↓两种状态也没什么用。不过记者以这种方式进行描述已经司空见惯。


在具有两个量子位的系统中,存在22即4种基本状态,可分别写为(↑↑)、(↑↓)、(↓↑)和(↓↓)。当然,这两个量子位也可以使用一个含有4个复数的量子力学波动函数来表示。在通常情况下,包含N个量子位系统的状态用2N个复数来表示,前提条件是这些复数的平方之和必须为1。


N比特的传统计算机在任何时刻的状态都必须是其所有2N种状态中的一种,N量子位的量子计算机的状态则以2N幅值的各数值表示,是一系列连续参数(可取任何值,不只有0或1)这是人们认定量子计算机具有强大能力的来源,但也正是量子计算机具极强易损性和安全隐患的原因所在。


那么这种机器如何处理信息呢?它是通过应用某些类型的转换来实现的,这种转换称为“量子门”,能够以精确可控的方式变更这些参数。


据专家估计,如果一台实用性量子计算机要像笔记本电脑一样解决某些既定问题,它所需的量子位数量为1000~10万。因此,用于表示这台实用性量子计算机在任何时刻之状态的连续参数的数量必须至少为21000个,也就是10300左右个。这是一个非常大的数列。究竟有多大呢?它比可观测宇宙中的亚原子粒子的数量还大得多。


再强调一次:一台实用性量子计算机“需要处理的一组连续参数比可观测宇宙中亚原子粒子的数量还多” 。


这样来看这项可能的未来技术,即便是脚踏实地的工程师也会失去兴趣。不过,让我们继续往下讨论。对于现实世界的任何一台计算机,都必须考虑误差的影响。在传统计算机中,如果一个或多个晶体管应该开启却被关闭,就会出现误差,反之亦然。如果出现不必要的误差,可运用相对简单的误差校正方法进行处理,这需要利用硬件中内置的一定冗余。


而你绝对无法想象实用性量子计算机处理10300个连续参数时,要怎样使相关误差始终处于可控状态。不过,量子计算理论家已经成功让大众相信这是可行的。他们称,所谓的阈值定理能够证明这是可行的。他们指出,一旦每个量子门中每个量子位的误差都小于某数值,就可能实现无限长度的量子计算,代价是这时需要的量子位数量会大大增加。他们认为,有了那些额外的量子位,就可以使用多个物理量子位构成逻辑量子位来处理误差。


没有人知道每个逻辑量子位需要多少物理量子位,但是估值一般为1000~10万。结果就是,一台实用性量子计算机需要100万或更多的量子位,而用于定义此假设量子计算机状态的连续参数的数量也就更加荒唐了(1000量子位所需要的参数数量就已经是天文数字了)


即使不考虑这些令人难以置信的庞大数字,如何将多个物理量子位合并成实用性计算所需的较少逻辑量子位,也还没有明确的方法。这一事实发人深省,毕竟这可一直是研究领域的一个关键目标。


21世纪初期,应先进研发活动(ARDA,美国情报局的一个基金资助机构,现已并入美国情报高级研究计划局)的要求,一个由量子信息领域杰出专家组成的团队制定了量子计算路线图。该路线图确定的目标是2012年“实现50个物理量子位的计算”和“通过容错量子计算所需的所有运算来运行多个逻辑量子位,从而执行一个量子算法相关的简单实例……”。现在(此文写作时)已经是2019年,上述目标仍未实现。



量子计算的大量相关学术文献显然仅停留在研究如何运用实际硬件进行实验上,已报道的少量实验也极难实施,值得尊重和赞赏。


这种原理验证实验的目标是展示基本量子运算的可能性并证明已提出的量子算法的某些原理。用于实现这个目标的量子位数量不足10,通常为3~5。很明显,从5个量子位上升到50个量子位(先进研发活动专家小组确定的2012年目标)的实验难度难以攻克,相当于使数量从25=32,增大到250=1 125 899 906 842 624。


相比之下,在处理数以百万计的量子位方面,量子计算的理论似乎并无任何实质性困难。例如,误差率的研究中考虑了诸多噪声模型。“局部”噪声产生的误差可通过精心设计和非常巧妙的方法校正,包括大规模并行处理(将成千上万的量子门同时应用于不同的量子位对,以及同时完成成千上万的测量)等技巧,这已得到证实(在一定的假设条件下)


15年以前,先进研发活动专家小组指出:“在一定的假设条件下,可得出如下结论:如果每次量子门运算都能够得到精确的临界值,则量子误差校正将允许量子计算机进行模糊计算。”这里的关键词是“在一定的假设条件下”。可惜杰出专家组成的小组也未说明这种假设条件能否得到满足。


我认为他们解答不了。在现实世界中,连续量(电压值或定义量子力学波动函数的参数)既无法精确测量也无法准确处理。也就是说,任何连续变量都不可能是一个确切的数值,包括0。对数学家而言,这也许非常荒谬,但是,任何工程师都知道,这在现实世界中是毫无疑问的事实。


当然,类似一个教室内学生的数量或处在“开启”状态的晶体管数量等离散量是可以确切得知的,但不断变化的量却无法得知。同时,这也正是传统数字计算机和假设的量子计算机之间存在巨大差异的原因。


事实上,理论家提出的使量子位处于某种既定状态所做的准备、量子门的运算、测量的可靠性等所有假设条件都无法精确地满足。实际上只能做到以某种有限精度来接近这些假设条件。因此,真正的问题在于:所需精度是多少?例如,在何种精确度条件下可以通过试验方法算出2的平方根(很多相关量子运算中都会涉及的一个无理数)?应该取近似值1.41还是取1.414 213 562 37?又或者需要更精确的取值?对于这些问题以及其他类似的关键问题,尚无明确的答案。



现在人们正在研究各种制造量子计算机的策略,其中很多人认为最有前景的方法是使用将互连约瑟夫逊结(Josephson junctions)冷却至极低温度(大约为10毫开尔文)的量子系统,这一方法最初由加拿大D-Wave Systems公司采用,现在IBM、谷歌、微软以及其他公司都在使用这一方法。


终极目标是制造一台优于传统计算机的通用量子计算机,其能够运用舒尔算法对大数进行因式分解,运用格罗弗算法(洛夫·格罗弗于1996年在贝尔实验室研发)执行数据库检索,以及运行专门的量子计算机应用程序。


硬件方面正在进行进一步的研究,最近已研制了一个49量子位芯片(英特尔)、一个50量子位芯片(IBM)和一个72量子位芯片(谷歌)。研究活动的最终结果目前并不清楚,因为这些公司尚未透露研究工作的相关细节。


虽然我认为这种实验研究益处颇多,可能会让人们更好地理解复杂的量子系统,但是对于这些工作能否制造出实用性量子计算机,我仍然持怀疑态度。这样一台计算机必须能够在微观层面上以极高的精度来处理参数多到难以想象且各参数可取连续数值的物理系统。我们能学会控制定义系统量子状态的超过10300个连续变量参数吗?


我的答案很简单——不,永远都不行。


我相信,与表象相反,人们对量子计算的热情即将消退。这是因为,在技术或科学领域,任何理想的大泡泡最多只能存在区区几十年。一段时间之后,会有太多无法兑现的诺言,一再宣布即将取得突破性进展却无实质性进步的事实,会让关注这一话题的人感到气恼。此外,经过这段时间以后,该领域内的所有终身制教职工职位也已经被占满。支持者年事已高,热情减退,而年轻一代会追随全新且更容易成功的事物。


以上问题和我未在此提及的其他问题,会导致人们对量子计算的前景产生严重质疑。只实现了几个量子位、实施难度极高的基本实验与非常成熟、需要处理数千至数百万量子位来进行有用计算的量子计算理论之间,存在着巨大差距。这一差距在短期内不可能消除。


几十年前量子计算首次大热时,IBM物理学家罗尔夫·兰道尔(Rolf Landauer)就提出了警告,我认为相关研究人员仍然应该听从他的警告。他曾敦促量子计算的支持者在他们的出版物中加入一则免责声明:“该方案与所有其他量子计算方案一样,依赖于推测技术的发展,其目前的形式尚未将所有可能的噪音源、不可靠性和制造误差考虑在内,将来也可能不会成立。”


本文来自微信公众号:悦智网(ID:gh_ad4cb8f6a543),作者:Mikhail Dyakonov