2
量子计算机简介
量子计算机、设备和软件,使用第一章中讨论的量子力学的独特特性来操作、创建和处理数据。所有这些奇怪而奇妙的量子特性,如叠加和幽灵纠缠,在量子信息科学中都得到了充分的展示。第二章将讨论量子计算机,包括它们与传统计算机、不同类型的量子计算机体系结构以及许多制造量子计算机的公司的不同之处。
量子计算机有何不同
本节将讨论量子计算机与传统的二进制经典计算机的不同之处。将从探索比特和量子比特之间的主要区别开始。
传统计算机的位/比特
传统计算机使用二进制数字(0或1),来存储、传输和操作数据。位(二进制数字)可能只是两种状态中的一种:它要么是1,要么是0。它不是开着就是关着。在同一时间,它只能是一件事(即状态)。潜在的二元性质是因为被操纵的粒子(例如,通常是电子,但它们可以是光子和其他粒子)被操纵为完整的粒子。从数字计算机开始,到量子计算机的发明,它是我们操纵数字信息的唯一途径。量子计算机允许我们利用粒子的量子特性,以非二进制的方式操纵粒子。
传统的计算机芯片的工作仅仅是因为基本的量子力学,它们只能在各种逻辑门和受影响掺杂的位置(即有意嵌入所需杂质)之间,以二进制方式操纵和移动整个电子。他们操纵的测量的底层电子处于两个完整的状态之一,这等于1或0。传统的计算机不能测量自旋、偏振或任何其他可能的量子特性。
因为一个位在任何时候只能表示两种状态中的一种,所以,我们可以很容易地计算出表示特定信息量所需的位数。例如,1位可能是两个不同的信息位(即0或1),但它只代表被测量之前、期间和之后的1位信息。两个比特可以是四个不同的可能的信息片段(即00或01或10或11),但在测量时将仅代表2个比特的信息。三位可以是八个可能的不同信息片段(即000或001或010或100或010或011或110或111),但在测量时仅代表三位信息,以此类推。每增加一个二进制数,可能性就呈指数增长(二的四次方、二的五次方、二的六次方等)。
早期的计算机是通过使用物理操作打开或关闭单个位来直接编程的。它们有物理的、电子的“跨接”电缆,这些电缆插入或不插入计算机,以建立或不建立特定的路径连接。关于计算机的一个由来已久的故事是,计算机错误这个词的出现,是因为真正的错误吃掉了电缆的一部分,导致了编程错误。
长长的软盘跨接电缆被内置的机械开关和纸张编程“穿孔卡”所取代,后者本质上是操纵内部的机械开关,来改变计算机的二进制路径。即使在今天,许多计算机设备仍有剩余的“跳投”开关,用户可以实际操作这些开关,来确定二进制选项,如“打开”和“关闭”,用于特定的计算机路径和决策。
机械开关被电子开关所取代,这最终导致了晶体管、电阻和微处理器的出现,它们在最简单的水平上,只是把尽可能多的二进制“逻辑门”塞进尽可能小的空间。但无论我们能在一个电路板或一块硅片上塞进多少个二进制开关,所有的事情都是以二进制的方式进行的。只是更多的二元路径适合更小的空间。
最低级的计算机语言,如汇编语言,只是计算机微处理器中移动位的一个抽象层。例如,汇编语言指令MOV AH,1,指示计算机的微处理器将二进制值1移入AH寄存器(寄存器是微处理器存储区域,用于存储和帮助操作数据)。
每一种二进制计算机程序设计语言最终都被分解成二进制指令,然后这些指令在预定义的布尔逻辑门(AND、OR、NOT等)之间,对计算机微处理器的电子进行物理操作。经典的计算机系统从上到下,都建立在二进制操作和二进制数据存储的基础上,它们以不可估量的非凡方式,推动了世界的发展。在所有的二进制行为之下,是量子粒子和行为,但它没有被用来存储和传输信息或计算。
然而,二进制计算机所能做的是有限的。有些事情是二进制计算机根本做不到的,或者做得不够好。或者它们的速度不够快,不像我们需要的那样有用。例如,二进制计算机在分解包含大素数的数学方程时速度并不快。大素数经常用在数字密码学中(这在第三章“量子计算如何打破今天的密码学?”中有更多的解释)。质数是指大于1且不能被除其本身或1以外的任何数整除且等于整数(没有余数)的任何整数。从1开始的连续质数是2、3、5、7、11、13、17、19、23等等。
二进制计算机可以分解包含素数的方程,甚至可以分解人类不会考虑去做的包含大素数的方程。但是,要分解包含非常大的素数的方程式,比如计算机密码学中涉及的方程式,二进制计算机将需要数百至数百万年。
在早期,为了确定一个素数候选者,二进制计算机基本上必须检查每一个可能的数字,然后与候选者之前的每一个数字进行核对,以确认这个素数是否是素数。一些计算机科学家称之为“猜一猜。”这不是一个很有效的确认质数的方法。有一些伟大的数学进步和算法允许经典计算机用比“猜测和检查”更少的努力来确认素数,但即使它们的强大程度也不足以让传统的计算机很容易地将一个由两个非常大的素数组成的方程进行分解。
其他时候,二进制计算机根本不能做要求它们做的事情。一些看起来很简单的事情,如生成一个真正的随机数或字符串,对于一台经典的电脑来说,在物理上是不可能的(这在第3章中也会讨论)。它们构造的方式和计算的能力使它成为不可能。经典计算机试图模拟非常随机的数字,但这是他们所能做的最好的…模拟。它们不是真正的随机数,这会导致依赖于真正随机数的程序出现问题。更多内容请参见第7章“量子密码学”。
有无数的问题,传统的二进制计算机在任何可能的速度运行不能很容易地在一个合理的时间框架内解决或根本无法解决。这只是物理学……嗯,量子力学和量子计算机出现之前的物理学。
量子计算机的量子位/比特
量子计算机使用的是量子比特,而不是比特。量子比特(也简称为qbits),具有近乎奇迹的量子叠加特性。一个量子位元仍然是一个两态系统(1和0),但由于叠加,它可以在测量之前同时是所有可能的状态。在量子计算机中,一个量子位既可以是0,也可以是1,或者是0和1。这是由于量子粒子的波函数,及其固有的一组可能的可能性。
一个常见的比喻是将一个量子位元比作一枚硬币,用来决定足球比赛中哪一队先开球。当裁判定义硬币的正面和反面时,他们告诉“叫牌”的人,如果看到正面,就叫正面;如果看到反面,就叫反面。但当裁判将硬币抛向空中时,硬币并没有平放在正面或反面,它正好落在它的薄边缘上,在那里摇晃几秒钟。在硬币被称为(即,测量)之前,有一个潜在的可能性,在硬币掉到一个平坦的一边之前,呼叫者可以看到所有的三个面。当硬币最终落下时,它的最终答案可能是正面或反面,但在其边缘树立的那一刻,它可以同时被解读为正面和反面(即叠加)。这不是一个完美的寓言,但它确实传达了叠加的思想,与最终的,有分寸的答案。
位是1或0。一个量子位在最终测量之前既是1又是0,正因为如此,它的位态对它自己和每一个附加的量子位都是指数的。一个量子位可以同时表示两个状态(即0和1),而一个2量子位系统可以同时表示四个状态(即00和01以及10和11)。一个3量子位元系统可以同时表示8个状态(即000、001、010、100、010、011、110和111),以此类推。图2.1所示为3量子比特系统。
[插图]
Figure 2.1: Representation of a 3-qubit system
图2.13-量子比特系统的表示
理解量子位元的一个要点是,在一个二进制系统中,任何相似数量的位元都有相似数量的可能状态,但在任何一个时刻都只有一个状态。可以说,二进制硬币永远不可能落在边缘。因此,一个3位系统一次只能返回一个状态/答案。一个3位量子比特系统可以同时拥有全部8个状态来解决一个问题。3位量子比特系统是3位比特系统的8倍状态改进。4比特系统是4比特系统的16倍状态改进,以此类推。现在想象一下,你有数千个量子位元,每个量子位元都包含一个同时存在的两态系统,由于叠加,它们是数千个量子位元同时存在的所有可能状态。速度和逻辑上的改进,你可以想象,是相当梦幻的。
我能联系到的比特和量子比特之间最好的速度比较例子,是我曾经听过的一个例子(但我不记得是从谁那里听说的)。想象一下,我们要解决棋盘上的每一个可能的移动。一个棋盘有64个方格(32个黑方格和32个白方格)。如果用一粒米来代表每一种可能的走法,那么代表所有可能的走法所需的米粒数将导致一座珠穆朗玛峰大小的米山。而表示2048位素数因式分解所需的大米量,相当于1,985个用大米建造的珠穆朗玛峰。现在,你可以理解这个问题的重要性了。传统的二进制计算机要么需要很长很长的时间来计算答案,要么永远解不出来。一台量子计算机,有几千个量子比特,可以在两分钟内产生正确的答案。这就是量子计算机的威力。
量子位元之所以成为可能,是因为量子计算机使用的基本对象是量子粒子的量子态。传统的二进制计算机可能使用电子(甚至光子),但它们是作为二进制对象或状态来创建、操作和测量的。它们要么是0,要么是1,要么是开着,要么是关着。量子计算机使用量子粒子并测量这些粒子的量子态,看到所有表示的量子态。因此,当测量一个电子的状态时,它看到了所有可能的量子特性的所有可能的状态。当测量一个粒子时,它可以看到所有可能的状态,比如电荷、自旋、极性等等。真正的量子计算机的基态是可以同时表示所有可能的粒子态,而不仅仅是一个二进制态。在量子计算机中,逻辑比较单元被称为量子逻辑门(或量子门),与经典门相对。量子门比经典门具有更多的选择和更复杂的问题。
注:尽管叠加是所有可能的状态,这并不意味着量子计算机可以立即显示所有可能的问题的所有可能的答案。所有的计算机,包括量子计算机,仍然需要计算和运行程序,来解决复杂的问题。它们不会立刻得到所有的答案。有必要的计算和算法,必须遵循,以获得最终的答案。但准确地说,由于量子位叠加,量子计算机解决许多类型问题的速度可能远远快于传统计算机,在某些情况下,与传统二进制计算机相比,解决方案的提供速度将如此之快,似乎是瞬间的。
量子比特随时间的推移而增长
第一台具有1个量子比特的量子计算机于1998年创建并演示。从那时起,我们看到量子计算机中所代表的量子比特的数量随着时间的推移而增长。以下是一个基本的量子位推进时间表,截至本文撰写之时,基于各供应商的说法:
2000: 5- and 7-qubit computers
2000: 5和7位量子计算机
2006: 12-qubit computer
2006年:12位量子计算机
2007: 28-qubit computer
2007年:28位量子计算机
2012: 84-qubit computer
2012年:84位量子位计算机
2015: 1000-qubit computer
2015:1000位量子位计算机
2017: 2000-qubit computer
2017年:2000位量子计算机
注:正如本章后面将要详细讨论的,并非所有的量子位都是相同的。这些大型量子位数的声明中,有一些普遍存在的疑问。
你可以在这里看到一个更完整的列表,按供应商和量子计算机类型列出当前已知量子比特的数量:https://quantumcomputingreport.com/scorecards/qubit-count/.正如你所看到的,随着时间的推移,我们在量子计算机中所代表的量子态的数量呈指数级增长。我们没有理由不相信,这种指数式的增长在未来不会继续下去,就像在传统的二进制计算机中,在一个定义的空间中集成电路的数量每两年翻一番(正如摩尔定律所陈述和预测的那样)。
这并不是说量子比特指数增长是有保证的。随着量子计算机规模的扩大,无论是从近期还是长期来看,都有一些重大问题需要克服。但很可能量子计算机科学家会解决它们,并随着时间的推移,继续增加越来越多的量子比特。当我听到量子位增长的批评者认为,我们已经达到了一些小得多的任意极限,或者认为未来的进步将需要几十年的时候,这让我想起了所有的批评者,他们说,越来越多的经典门不可能被添加到传统的微处理器中。每一年,“专家”都会告诉全世界,我们如何最终达到了在一个给定空间的单个计算机芯片上放置如此数量的经典逻辑门的技术极限,然后第二年芯片却会有更多。芯片制造商开发或改进了一些技术,使他们能够在相同的空间里塞入更多的东西。这始终是批评家在他们的计算中没有考虑到的东西。今天,我们有非常快的32/64 CPU内核,适合运行在一个单一的微处理器芯片内。现在,量子评论家可能有更多的专业知识和数学知识,为什么在同一空间增加越来越多的量子位有朝一日会变得不可能?到目前为止,我们正在相当定期的基础上增加更多的量子位。我们离撞上量子墙还为期尚早。我们才刚刚开始奠定第一个基础层。
并非所有的量子比特都是相等的
重要的是要认识到,仅仅拥有更多的量子比特并不直接与更快更好的量子计算机相关。拥有更多的量子比特绝对是一件好事,但并非所有的量子比特都是平等的,量子计算机解决问题的能力取决于更多的变量,而不仅仅是量子比特的绝对数量。某些类型的量子计算机,我们将在本章后面介绍,在解决某些类型的问题上更好。有些量子计算机,不管它们得到多少量子比特,都不能解决某些类型的问题。
类似的比较可以用赛车来做。我们可以制造出速度非常快的汽车,时速接近500英里,但只能在几分钟内保持一条直线。这些汽车形状像水平火箭,必须在非常平坦、笔直的地面上行驶数英里。他们永远无法在椭圆形赛道上与纳斯卡赛车竞争,并持续数小时。每种类型的车都是为了赢得特定类型的比赛而设计的。
量子计算机也是一样。每一种主要类型的量子计算机都被最大化以解决特定类型的问题。而设计用来解决广泛问题的量子计算机不会像某些类型的量子计算机那样快速地解决特定类型的问题,而某些类型的量子计算机只专注于其他类型的问题。
量子功率不仅仅是量子比特
更高数量的量子位有可能使特定的量子计算机更快,但这并不能保证,就像更高的马力并不总是意味着汽车会赢得比赛。一辆赛车的成功取决于所有的因素,包括发动机、燃油喷射、轮胎、变速箱和扭矩转换。量子计算机也是一样的。增加量子比特的数量不会造成伤害,但许多其他因素可能会限制速度。
IBM长期参与并领导着量子计算领域,很早就意识到了这一点,因为它在自己的量子计算机中增加了量子比特的数量,其他竞争对手也出现了。IBM意识到需要开发一种任何人都可以用来独立比较各种量子计算机的能力和速度的方法。IBM给出的答案是,一个被称为量子体积的度量,它等同于特定类型的量子计算机在给定时间段内所能做的量子功。根据IBM的说法,决定量子体积的因素有很多,包括量子位数、连通性(量子位和其他组件之间)和相干时间,再加上门和测量误差、设备串扰和电路软件编译器效率。
电气和电子工程师协会(IEEE)提出了一个独立的标准,试图测量基准和等同的量子性能:PAR 7131(https://standards.ieee.org/project/7131.html),量子计算性能度量和性能基准的标准。它包括许多在IBM的方法中提到的相同的量子变量,但也在其标准中列出了“门时间,生成和读出能力,以及门保真度”。
在一台正常工作的计算机中,硬件只是性能等式的一部分。量子计算机和传统计算机一样有软件。底层软件(无论是固件还是软件)是找到问题解决方案所必需的,但也会增加整体性能的开销周期。
一些科学家提出创建“量子谜题”,每台相互竞争的量子计算机都可以解决这个问题,然后记录解决问题所用的时间。对于每一种主要类型的量子计算机,这个难题必须是不同的(它们被优化来解决不同类型的问题)。不幸的是,我毫不怀疑,任何供应商与量子计算机在任何基准比较,将有100万个理由提问,为什么他们的量子计算机在比赛中被不公平地做空。同样的事情总是发生在传统的二进制计算机基准测试中。但是,速度基准不应该被完全低估。在某些情况下,它们确实提供了宝贵的服务。
需要理解的关键点是,量子比特的数量本身并不等同于量子计算机有多精彩或多快,尽管拥有更多的量子比特从来都不是一件坏事。就像在我们的赛车例子中,如果你想认真地与其他赛车竞争,那么一定的马力是一个要求。但光靠马力是赢不了比赛的。
量子计算机还没有准备好进入黄金时间
当我在2019年写这篇文章的时候,没有一台现有的量子计算机比任何传统的二进制计算机更快。还差得远呢。您的笔记本电脑可能有更多的原始性能。目前,量子计算机所能做的最好的事情就是在小范围内展示量子特性,这些特性可能在未来解决传统二进制计算机所不能解决的问题。相反,传统的二进制计算机往往可以模拟或模拟量子解决方案,往往比今天的量子计算机更好。但关键是要明白,尽管二进制计算机可以模拟量子力学,但它们不是量子的,有一天它们很可能会被原生量子计算机所超越。问题是什么时候。
量子即将称霸
总有一天,量子计算机将能够解决传统计算机根本无法解决的问题,也能解决传统计算机能够解决但做起来明显更快的问题。这一时刻被称为量子优势(或IBM创造的量子优势)。似乎已经近在咫尺。
许多不同的公司都认为,并公开宣布,他们已经或接近量子霸权。谷歌、英特尔和中国政府/公司已经宣布,他们要么已经实现了量子霸权,要么即将实现。IBM在2017年宣布,它认为,基于量子量每年翻一番的预测,到2020年将达到这一目标。也许在这本书出版之前,世界上的一些量子计算机已经达到了量子霸权。相反,甚至有一种可能性,一些不可预见的技术障碍阻止了量子霸权的实现。或者,二进制微处理器(在比较中未说明分母)将有一个惊人的技术飞跃,使量子计算机所取得的进步黯然失色。
聪明的投资者似乎在几年内取得了量子霸权。多年来,世界上最好的计算机在国际象棋上无法打败人类最好的棋手。直到1996年IBM的深蓝计算机击败国际象棋冠军加里卡斯帕罗夫。很多年来,电脑都无法打败人类冠军<危险边缘>选手。直到2011年IBM的沃森做到了。量子霸权被认为是以同样的方式发生的。有很多营销炒作,但最终还是会发生。不是如果,而是什么时候。
替代量子优势的方案
另一种量子至上的情况是,量子计算机开始解决二进制计算机无法在逻辑上解决的问题,但不一定具有更强的计算能力。理论上,量子计算机可以有效地解决任何经典问题(虽然并不总是那么有效),但反过来就不成立了。经典计算机无法解决量子计算机所能解决的所有问题,至少在任何实际的时间线上。另一种量子至上的可能性出现了,量子计算机并不比二进制计算机“快”;它们只是能够解决二进制计算机不能解决的问题。即便如此,大多数量子观察者仍期望量子计算机在适当的时候变得更有能力和更快。
量子计算机利用纠错技术改进量子比特
从理论上讲,许多量子计算专家说,我们可以用40到50个完美量子比特,或者最多100个完美量子比特来实现量子霸权。据估计,量子计算机“可以绘制宇宙中的所有信息”,自大爆炸迄今,只需用300个完美的量子比特。不幸的是,到目前为止,完美的量子比特还在躲避我们。它们充满了错误,特别是在规模上。本节将介绍量子计算科学家正在尝试制造更好的量子位元的一些方法,包括改进相干时间、过冷、检验量子位元以及提高其他组件的性能。
过早量子比特消相干
毫无疑问,量子霸权面临的最大挑战是,过早的量子比特退相干。正如在第一章中所定义的,退相干是一个量子粒子的状态从它容易看到的叠加态(即多态)到它最终的、可测量的、单一的、经典的状态,在所有最终的纠缠使获得有用的信息变得不可能之前。退相干一旦发生,不管是否过早,都不能轻易逆转。试着把一滴特定的水从海洋中抽出来,或者在一个阳光明媚的日子里挑出一个单一的光子,并计算出它过去纠缠的所有影响。
在“完美”的量子计算机中,退相干只会在需要和测量“答案”的时候发生。永远都是故意的。一个量子位元会停留在它的相干态,直到量子计算所需的时间,然后,也只有这样,当测量时,才会退相干。
注意:假设一个量子比特有一个1状态,计算机必须保持这个状态,才能执行计算或返回结果。量子比特将稳定地维持1的时间,称为它的相干时间。常以毫秒为单位来测量,但有些量子计算机类型可以持续几秒到几分钟。对于大多数量子计算机制造商来说,首要的任务是增加一致性时间。增加的一致性时间意味着更少的错误和更多的时间来计算和返回答案。
今天的量子计算机充满了过早的量子退相干和完全的错误。这两种情况都可能发生,这是因为量子位结构、热、辐射、噪声、振动、错误的门、错误的测量、错误的初始状态准备、背景核自旋和无数其他事件。本质上,任何与外部世界的互动都是一种威胁。减少错误和噪声是量子的头号挑战,并催生了一个有自己名字的领域,量子纠错。纠错是尝试使用一堆不同的方案,包括量子和经典的方法。目前还没有人完善它,但每个量子计算厂商都在尝试。
错误率通常被报告为量子操作时间与退相干时间的比率。量子错误阈值定理认为,任何纠正错误的速度,比产生错误的速度快的量子系统都是可用的。随着量子位数的增加,自然出错率也随之增加。要使量子计算机非常有用,错误率必须小于1%--实际上是低于0.001%。作为对比,一个经典的CPU可以在没有错误的情况下完成数万亿次的计算。在量子世界里,我们只希望把出错率降到千分之一。实现这一点,加上一些良好的纠错,将允许一些严肃的量子系统得以运行。2019年,我们还没有到那一步。
注意:经典的计算机确实会出错。不同的是,在经典世界中,错误通常需要更大的事件才能发生。打个比方,在古典世界里,想象一下要有多大的阵风才能把平放在地上的一分钱(即比特/位)掀翻。但在量子世界里,只要一阵微风就能把一个立在边上的硬币(即量子比特/量子位)翻转过来,让它平躺在地上。
量子计算科学家正试图通过识别和修复最重要的限速组件或问题来减少量子错误。常见的解决方案包括提高相干时间、严格隔离量子组件与外部世界、使用过冷、使用校验量子位、提高其他组件的性能以超越误差以及使用量子纠缠作为纠错。
提高相干时间
纠错的一种方法是,通过改善量子计算机的限错部件(如量子门噪声或连接速度),来提高每个量子比特的相干态的质量和控制,使其比所需的计算时间更长。量子位元能够保持一致的时间越长,它可能产生的错误就越少。
环境隔离
从经典计算机诞生之初,计算机科学家就认识到在受控环境中操作计算机的好处,这种环境将计算机与外部世界的极端环境隔离开来。所有计算机房都是温控的(热量是所有计算机组件的敌人),空气过滤,湿度控制,更清洁的环境。你不会发现有很多电脑在外界长期运行,暴露在正常的天气和事件中。
但今天的大多数经典计算机在物理上已经成熟到可以在正常天气环境下运行,除非它们暴露在真正的极端条件下(掉进水里,被踩到等)。例如,现存的最流行的计算设备每天都在现实世界中工作。大多数笔记本电脑、便携设备和个人电脑在一个非常受控的机房外都能正常工作。
量子计算机还没有出现。他们仍然是非常脆弱的机器,必须加以保护,不仅远离极端天气,还要注意非正常的条件。事实上,它们中的大多数都是在极端天气条件下运行(至少是量子组件)才能最有效地工作,比如极冷的温度。它们必须受到保护,免受无线电波、正常背景辐射、电磁干扰、噪音和振动的影响。但大多数量子科学家确实设想有一天,就像经典计算机一样,量子计算机将以一种更有弹性、更不需要特殊环境隔离的方式建造。
过冷度
大多数量子计算机必须将它们的量子位元(以及附近的其他组件)冷却到接近零度开尔文(零度开尔文在华氏负460度附近),以尽量减少过早的退相干问题。更温暖的温度可以产生更多的错误,并释放更多不必要的杂散量子粒子。几乎所有的量子计算机技术,即使是少数类型,据说不需要超冷的温度。他们可能“不需要”超冷温度,但是他们似乎表现更好,在较低的温度误差较少。要做到这一点,大多数量子计算机(实际上只是他们的量子位芯片和密切相关的设备)是使用外部低温或稀释制冷机进行过冷。
你会看到大多数量子计算机制造商都在吹嘘他们的冷却系统有多冷:“我们的温度比宇宙最远的地方还要冷200倍!”许多人会说,他们的工作温度低于数百至千分之一开尔文(0.02K至0.01K是经常吹嘘的)。其他人,试图谦虚地吹嘘他们的计算机在相对较高的温度下抵抗错误的能力,谈论他们的计算机在室温或稍高的开尔文值下运行,如4K到20K(20K仍然很低,是-424F)。
长期以来,物理学界一直在竞赛,谁能创造出最冷的温度,但还没有人能达到绝对零度(0K),这似乎是不可能的。但如果可能的话,在绝对零度时,所有粒子的能量和动量都将停止到物理上可能达到的最低限度(称为零点能)。在绝对零度时,大多数移动的甚至固态的东西都不能像往常一样工作。也就是说,未来的量子计算机很可能能够承受更高的温度,可能相当于现在的经典计算机的要求,因为要求过冷是昂贵的,并且限制了它们可以使用的地方和方式。
但就目前而言,较低的温度通常会改善相干时间并减少误差。较低的温度也会产生一种被称为超导性的量子特性,在低于临界温度阈值的材料中,超导性是零或接近零的电阻。超导性增加了电子流动,并允许更强的电磁相互作用。许多量子计算机使用超导来创建他们的量子比特,它被用于许多其他应用,如超高速磁悬浮列车,医疗设备和超强磁性,仅举几例。
重复计算
对抗错误的一种方法是,将相同的计算至少运行三次,并将结果存储在经典世界中。多次运行相同的计算后,计算机将查看所有存储的结果,如果有不一致的地方,就取出现次数比其他人多的结果。然而,这种纠错方法也降低了计算机的速度,直接关系到使用了多少重复操作,并且不能保证最有代表性的答案实际上是正确的答案。
利用量子纠缠进行纠错
在传统的计算机世界中,如果预计会出现很多错误,那么一个比特的值可以同时被复制并存储到一个或多个“备份”比特中。如果比特之间有分歧,则取最流行的值。但在量子世界中,由于不可克隆定理和观察者原理,处于量子态的量子比特不能被直接复制。相反,缠结可以用来制造间接的复制品,虽然缠结键是敏感的,很容易因为退相干而失去踪迹。
检查量子位/量子比特
另一种纠错方法,使用额外的量子位作为校验量子位,这类似于经典二进制世界中如何使用校验位。检查量子位是以某种逻辑检查方法来实现的,它可以检测错误并帮助纠正错误。例如,一个额外的校验量子位被用来确保产生的量子字节以特定的方式相加,例如,计算机可以在该量子字节的校验量子位位置上加一个0或1,以确保所有量子位的总和最终为偶数。如果量子计算机检测到从四字节和返回的负和,可以声明一个错误,量子操作可以重复。您可能熟悉二进制计算机世界中一种类似的流行纠错经典技术,称为独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID)。这种简单的奇偶检验的一个大问题是,无法确保错误不会以仅由奇偶值检测不到的方式发生。但总比没有强,也更复杂,但类似的错误检查场景已经被用来让我们现有的二进制世界难以置信地可靠。量子计算机制造商正在使用类似的量子检错方法,使量子计算机更加可靠。
仅仅为了提供容错性而添加到系统中的检错量子位被称为辅助量子位。量子计算机供应商已经在努力最大化量子比特的数量,所以不得不“浪费”一些,来提供错误检查。这不是最优的。目前,许多量子计算机和设备的现状是,它需要很多很多的辅助量子位来确保一个稳定的量子位。创建一个稳定的量子比特所需的辅助量子比特的数量已经被测量从几个到数百万。这是一个非同寻常的范围和尺度问题。尽管如此,有时最好的性能可以实现涉及添加更多的量子比特,并使用它们作为辅助。但所有的供应商都期待着有一天他们可以最大限度地减少辅助量子比特。
注意:重复计算和辅助量子位错误检查方法直到最后才能捕获和纠正错误,这是一个低效的过程。此外,由于量子答案具有概率性质,无论实际错误率如何,每次运行它们都可能产生不同的答案。
提高其他组件的性能
另一种克服退相干误差的实用方法是增加门、连通性、状态准备和读取性能。通过减少计算量子结果和读取量子结果所花费的时间,可以在错误使得量子位过早地退凝之前执行所需的计算和结果值读取。举个例子,假设一台量子计算机在100ms左右开始出现大量的退相干错误。如果计算可以在100毫秒内完成,那么量子计算机就可以避免退相干的最坏影响,并得到更精确的结果。次网站列出并比较了不同量子计算机的相对性能值:https://quantumcomputingreport.com/scorecards/qubit-quality/.
经典计算优势
基于量子力学和量子计算机的挑战,传统的二进制计算机不会很快消失。我们了解二进制计算机如何在基本层面上工作(甚至是因为量子力学才能工作的部分)。经典计算机不需要担心退相干、观察者效应或不可克隆定理,而且它们不像量子设备那样对外部影响敏感。实际上,它们在现实世界中工作得很好。他们不需要超超环境条件下运行。它们相当便宜。任何人都可以花不到300美元买一台新的笔记本电脑,花100美元买一台便携式设备,花25美元买一台火柴盒大小的全功能迷你电脑。
我们已经能够在非常小的掺杂硅片上安装数十亿个集成电路。我们在一个芯片上安装了几十个CPU内核。它们提供的数据和结果在内存和处理器中长期稳定,我们不必担心外部世界会如何影响它们。有一些类型的原始的、死记硬背的计算,二进制计算机做得非常好。量子优势可能很快就会绕过传统的计算机,但很难打败那些价廉物美、马马虎虎、稳定的二进制计算机。
由于这个原因,在未来很长一段时间内,我们的生活中很可能会有古典计算机。更多内容请阅读第五章“后量子世界会是什么样子?”
本书这一部分的最大收获是,理解一个特定量子计算机解决问题的能力,不仅仅是它的量子位数的函数。今天,许多量子比特很可能涉及纠错。整体性能取决于各种其他因素,如栅极准备,栅极之间的连通性,纠错和读取性能。即使量子计算机之间的量子位数和纠错率是相同的,它们也可能是解决不同类型问题的不同类型的量子计算机,所以要小心任何基于量子位的直接比较。不要误以为2000位量子比特的计算机一定比100位量子比特的计算机更好,尤其是对于所有类型的问题。
量子计算机的种类
有几十种不同类型的量子计算机、理论模型、体系结构和应用。量子计算的新兴领域如此之多,在另一个模型出现之前,人们甚至无法就“主要”模型的组成达成一致意见。这未必是一件坏事。它表明,该领域正在竞争性地试图找到最好的解决方案,并对任何可能的新方案持开放态度,以任何方式解决最大的挑战。
随着量子计算世界的成熟和解决其挑战,可以预期,较弱的候选者将退出,一些较强的解决方案(或只有一个卓越的解决方案)将出现。但现在,我们有很多类型和压力山大的竞争。目前没有“最好的”量子计算机,尽管许多供应商会告诉你他们正在开发的是最好的。
注意:当本书中使用量子计算机制造商或供应商这个术语时,需要注意的是,大多数量子计算机开发项目,都是由计算机的实际供应商在大量外部帮助下进行的。大多数供应商与一个或多个大学、商业和私人实验室、公司、军事部门密切合作,并可能在多个国家进行。通常,其他供应商提供量子芯片、制冷系统和量子计算机的其他构建模块等关键组件。“客户”往往是帮助构建正在测试的量子计算机的同一个组织,他们为供应商提供关键的反馈和建议,如果不是某些部分的话。在这个充满希望的量子计算发展时期,大多数项目都是“全员参与”的交易,每个人都在努力尽快获得量子至上和稳定。
让我们来看看一些量子计算机的例子,一些制造量子计算机的厂商,以及每种类型的一些优点和缺点。
超导量子计算机
依靠超导结构的量子计算机是最早的原型之一,现在仍然是最流行的。包括谷歌、微软、IBM、D-Wave Systems、Rigetti Computing和英特尔在内的几十家供应商,都拥有一台或多台超导量子计算机,它们依靠超导体的特殊性质,来创建和管理量子比特。
在超导量子计算机中,两个弱耦合的超导体首尾相连,中间用一层很薄的绝缘体隔开。一组成对或束缚的电子或费米子(称为库珀对)在两个超导体的两端(称为约瑟夫森结的位置)之间传输,通过绝缘体,并使用量子隧穿到另一个超导体。图2.2是约瑟夫森结在两个超导体之间传输两个库珀对电子的示意图。每一对库珀对都是过冷的,当它传输到另一个超导体时,就会产生一个凝聚波函数。这迫使粒子进入其最低的量子能量,并允许在宏观水平上观察它们的属性。可以观察到相位变化和其他量子性质的变化来创建和使用量子比特。许多,如果不是大多数,今天创造的量子计算机使用某种形式的超导量子电路。
[插图]
Figure 2.2: Representation of a Josephson junction with two Cooper-paired quantum particles being transmitted between two semiconductors
图2.2:两个库珀对量子粒子在两个半导体之间传输的约瑟夫森结的表示
For more information on superconducting quantum computers, see the following sites:
有关超导量子计算机的更多信息,请参见以下网址:
https://en.wikipedia.org/wiki/Superconducting_quantum_computing
https://web.physics.ucsb.edu/~martinisgroup/classnotes/finland/LesHouchesJunctionPhysics.pdf
www.nature.com/articles/s41534-016-0004-0
www.ncbi.nlm.nih.gov/pmc/articles/PMC3417795/
https://qudev.phys.ethz.ch/content/courses/ASC04_SCqubits_Review.pdf
量子退火计算机
退火,一般来说,描述加热的东西,以获得另一个理想的状态,如加热玻璃,让它被塑造成另一种形状或过热的金属,并允许它慢慢冷却,以提高其强度或纯度。量子退火计算机开始时,它们的量子位元处于状态的叠加状态,每个状态对最终结果的概率相等。然后计算机应用热辅助(经典)和/或使用称为电磁耦合器的装置对每个量子比特进行量子隧穿退火处理。耦合器将状态从等概率改变为不等概率(从而增加特定状态的可能性)。然后量子态会试图将它们的能量最小化到可能的最低能量态(这在经典世界中也会发生)。能量最低的状态是最终答案的可能性最高。这一过程的一个很好的解释在这些视频中解释:
www.youtube.com/watch?v=UV_RlCAc5Zs
www.youtube.com/watch?v=kq9VqR0ZGNc
www.youtube.com/watch?v=Yy93LMGQbpo
注:退火计算机与绝热量子计算机密切相关。
如果这个技术解释没有意义,一个很好的方式来思考退火过程是,有一个球(状态)在一个起伏的,不均匀的,正弦波状的山的一侧(见图2.3)。起伏的形状根据所涉及的特定(数学)问题而变化。球在没有任何外界影响的情况下,希望静止不动地停留在它当前所持的、周围地面最低的区域。没有任何外部的帮助,它将无法通过任何山丘到任何其他状态,即使其他地区低于现在的球(也就是概率最高的答案)。退火过程有助于球达到较低的区域。如果外部帮助是热的,球被给予额外的能量,这允许它越过初始和其他连续的山丘,直到它达到最低的整体面积(即最低的能量和最终状态)。如果使用量子隧穿,球只需穿过每一个山丘,就像火车穿过隧道一样,直到找到整体最低的状态。
[插图]
Figure 2.3: Graphical representation of the quantum annealing process
图2.3量子退火过程的图形表示
附注:在自然界和更大的世界中,“正确答案”往往是由寻求其最低的,不那么混乱的能量状态的东西找到的。这是山倒塌成沙的方式,也是水总是想达到海平面的方式。许多类型的量子计算机也通过帮助量子粒子达到其最低的自然能量状态来工作。
D波量子退火计算机
退火量子计算机的早期创新采用者是D-Wave系统公司(www.dwavesys.com/home)。D-Wave的研究人员发明了量子计算机,其数量在所有量子计算供应商中都是最高的。截至2019年,他们有一个2048量子位的计算机,并可能有更多的实际客户和应用程序,超过任何竞争对手。D波量子处理器冷却到0.015开尔文(0开尔文接近-460F),包含特殊屏蔽以阻挡所有可能的外部电磁干扰,并且具有相对较小的占地面积。
量子退火计算机的优缺点
量子退火计算机的优点是,它们对外界环境噪声具有相当强的抵抗力,易于扩展,并且不需要接近绝对0开尔文温度(即使它们在较低的温度下仍然表现得更好)。D-Wave证明了这些类型的量子计算机是可以大规模制造的。
不幸的是,缺点可能是任何量子计算机类型中最大的。首先,退火计算机只能解决一种被称为优化问题的特定量子问题。这个问题反映在他们的工作方式,主要依靠最低的能源水平来代表最优解。例如,量子退火计算机不能使用肖尔算法分解包含大素数的方程(在第3章中有更详细的讨论)。
第二,大量的量子物理学家甚至不会认为退火计算机是真正的、足够量子化的。他们还质疑退火计算机是否能在长期运行中胜过经典计算机,或者是否有足够的用处来解决广泛的非经典问题。在这些话题上有很多来回的争论,特别是当它们适用于D-Wave(特别是因为它是最早和最突出的量子计算机制造商之一)。然而,来自各种研究论文的证据似乎越来越多,以支持D-Wave的猜想,即它的量子计算机使用量子隧道退火,并且能够解决比最初理论更广泛的问题。
通用量子计算机
与量子退火的有限使用情形相比,通用量子计算机是量子计算机应用领域另一端的理论圣杯。通用量子计算机不是一种特定类型的量子计算机,而是一般描述为一种不局限于一组有限使用情况的量子计算机。
通用量子更像是一个结果,而不是一个特定类型的量子计算机或架构,只要它可以处理任何量子算法。有些评论家认为这更多的是一个营销术语,但我不同意。我们的目标是创建一个量子计算机,可以完成任何类型的问题,你扔给它,无论是经典的,量子的,或模拟。一台通用量子计算机不仅可以完成各种各样的场景问题,而且还可以模拟所有其他类型的更有限的量子计算机。
IBM的人正在努力制造第一台也是最好的通用量子计算机,它被标记为IBM Q(www.research.ibm.com/ibm-q/). 他们一直在稳步增加IBM Q计算机的量子位数,自2017年以来,他们一直预测并成功实现了量子体积每年翻一番的目标。他们不仅增加了量子比特的数量,现在是50个量子比特(见图2.4),而且提高了稳定性,减少了误差。
[插图]
Figure 2.4: IBM’s 50-qubit universal quantum computer
图2.4:IBM的50量子位通用量子计算机
谷歌的工程师们(https://ai.google/research/teams/applied-science/quantum-ai/)也在研究一台通用量子计算机,目前的量子比特数是72个。图2.5显示了Google的Bristlecone Quantum处理器,它是其72量子比特计算机的主干。谷歌一直预测,它将在2019年达到量子霸主地位,尽管它在2018年也做出了同样的预测。这告诉我们的是,谷歌的工程师们相信他们已经很接近了,他们可能认为量子霸权的门槛是在今天的纠错技术下的100个量子比特左右。
通用量子计算机的优缺点
通用量子计算机制造商可以使用他们想要的任何技术,将量子处理应用到最大、最广泛的处理场景中。缺点是,这些计算机需要的量子位数最多,并且是最难制造的类型之一。
[插图]
Figure 2.5: Google’s Bristlecone quantum processor, the backbone of its 72-qubit computer
图2.5谷歌的Bristlecone量子处理器是其72量子比特计算机的主干
拓扑量子计算机
拓扑是一个数学术语,用来描述一个对象从一个状态到另一个状态的过渡性质,而不会撕裂或破坏该对象。它研究事物之间的联系但它不一定与距离有关。在量子拓扑演示中,你会看到一个常见的例子,一个甜甜圈形状的圆形变成一个咖啡杯,反之亦然。它们看起来完全不同,除了一个事实,即咖啡杯柄的孔来自甜甜圈的孔,它们可以不断地变形为彼此,同时保持相同的数学连接。
量子拓扑量子位元是由相对较新发现的二维“准粒子”(quasiparticles)组成的,这种准粒子被称为非阿贝尔任意子。任意子可以被诱导产生三维(时间加两个空间维度)量子“辫子”单个任意子不能用来创造量子比特。它需要多个任意子的集合来创建一个量子比特。然后,任意子的集合可以在彼此周围移动以创建不同类型的量子操作,它们可以一起移动以创建新的粒子。这些运动和新的粒子创造了缠绕的编织链。
附注:如果这种类型的量子计算机和任意子的讨论似乎很困难,你并不孤单。在任何人能够制造出任意子之前,任意子理论已经存在了很长一段时间,而创造任意子理论则是最近才发生的。即使这样,量子物理学家说,制造它们需要“物质的奇异阶段”,这不是一个他们轻易使用的术语。这是2016年诺贝尔物理学奖授予三位发现量子拓扑学的物理学家:(www.nobelprize.org/prizes/physics/2016/summary/)
这些被包裹的任意子辫,可以用来在硬件水平上创建强大的量子逻辑门,比大多数其他模型更好地对抗退相干和其他量子错误。大多数其他量子量子位类型在几十毫秒或更快的时间内都会发生退相干,而安尼丝辫子则能持续数秒。只有一种量子计算机,离子阱,稍后会谈到,被认为能够有更长的,未经修正的相干时间。
拓扑量子计算机有一个独特的性质,是物理学家特别感兴趣的。拓扑编织经常被比作有结的绳子。你可以移动和改变这根线,但是“结”是量子信息,无论你如何操纵这根线,或者有什么外部影响干扰它,它都会保持不变。因为辫子保留了过去的量子态(即量子资讯的历史),观察者可以看到任意子辫子态的起始点,以及它们如何随时间改变。没有其他类型的量子计算机具有这种特性。
为了更好地理解任意子和量子拓扑计算机,请查看以下视频:
www.youtube.com/watch?v=igPXzKjqrNg
www.youtube.com/watch?v=RW44rIrAZHY
www.youtube.com/手表? v = RW 44 rI raZHY
微软马约拉纳费米子计算机
微软、贝尔实验室和几所大学都在大量研究量子拓扑。2018年,微软使用马约拉纳费米子发明了第一台非常简单的1量子位量子拓扑计算机,它与任意子方法有关,但不完全相同。马约拉纳费米子是通过将电子(基本粒子)分裂成两个更小的纠缠的准粒子而产生的,它们本质上形成了与任何人相似的拓扑量子位元。马约拉纳费米子可以充当他们自己的反粒子,这意味着,如果它们相遇,就可以消灭对方。每个粒子都有反粒子(例如中子和电子),但通常粒子类型也不是它自己的反粒子。您可以找到一篇关于马约拉纳费米子的文章:www.sciencedaily.com/releases/2019/04/190401115906.htm
把选举分裂成更小的准粒子称为电子分馏。由此产生的纠缠准粒子,每一个都有原来电子的一半电荷。这是一篇很棒的关于电子分馏的文章:https://phys.org/news/2015-05-electron.html
微软发布了第一台拓扑量子计算机,震惊了全世界,尽管它只有1个量子位,独立开发者还没有机会接触到它。(在撰写本文时),许多量子计算专家认为,随着这项技术扩展到更多的量子位,它很可能成为未来量子计算机的强有力竞争者。目前全世界有七个微软量子计算实验室在研究量子计算机,他们有一个完整的量子堆栈(稍后讨论)。
量子拓扑计算机的优缺点
拓扑量子计算机是相对较新的,并且已证明的量子位数较少(与其他量子计算机类型相比)。但是,如果微软成功地建立了更多的拓扑量子位,那么潜在的好处是巨大的。最大的优点是量子位元在硬件层面上更稳定,并且量子辫保持了它们的量子历史。
拓扑计算机仍然需要纠错和量子比特控制,但错误可以通过降低温度和增加拓扑粒子之间的距离来控制。正因为如此,需要更少的整体量子比特,这也可能降低成本。
离子阱量子计算机
离子是具有净总电荷的原子粒子。每个稳定的原子都有相同数量的质子(带正电)和电子(带负电),所以在两个方向上都没有净电荷。离子是具有不平衡数量的电子和质子的原子;因此它具有净正电荷或负电荷。为了产生离子,大多数离子阱计算机在密封的真空中使用激光将选定的原子(如钙或镱)加热到非常高的温度。然后,它们向过热的原子发射电子,导致原子失去一个电子并获得净正电荷。
离子阱量子计算机使用电磁场和真空系统将离子悬浮并限制在室温硅芯片上方的自由空间中。然后用激光来控制离子的运动,包括是否纠缠量子比特对。量子信息可以通过离子或纠缠对的集体运动来传递。
有关离子阱量子计算机的更多信息,请参见以下资源:
www2.physics.ox.ac.uk/research/ion-trap-quantum-computing-group/intro-to-ion-trap-qc
离子阱量子计算机
苹果电脑(https://ionq.co/),与桑迪亚国家实验室与其他量子用户和供应商合作,是离子阱技术的主要支持者之一。IonQ一直是在量子计算机中使用室温硅芯片的领导者,尽管它的一些研究表明,它可能需要将离子阱冷却到4开尔文(仍然远高于其他量子计算机类型所需的亚1K温度),因为它增加了超过32个量子位的量子位数。图2.6显示了一个IonQ离子阱量子处理器单元,在QPU上方有一个人工代表性的"被困离子"的爆炸切口。被捕获的离子实际上是在已经很小的QPU中心的那个微小的狭缝中。
离子阱量子计算机的优缺点
捕获离子系统有很多优点,包括它们可以在室温下使用看起来有点传统的硅芯片工作。它们可以有极长的相干时间,测量时间为10分钟或更长;它们有高保真的纠缠;它们可以让所有的量子位元彼此耦合(这对于其他类型的量子计算机是不可能的);与其他量子技术相比,它们有非常精确的测量。
缺点包括增加同时捕获的离子的数量,同时保持单独的控制,并能够以高保真度单独测量它们。设想有人拿着一个2×4的木板,木板上有一条直线的弹珠。早期,弹珠较少,更容易让它们在棋盘上排成一行。但随着弹珠数量的增加,要防止所有弹珠滚落就越来越难了。现在想象一下,有人也单独地来回移动弹珠,并使它们旋转。这是陷阱离子量子计算的核心问题。捕获离子计算机也有更长的执行时间,使它们比其他类型的计算机慢。
[插图]
图2.6示例IonQ离子阱硅芯片,单个线性离子"爆炸",以显示单个离子的特写细节
也就是说,有超过100个被困离子控制的研究项目,其成功程度各不相同。但到目前为止,稳定量子比特的数量还没有接近其他一些量子计算机类型的数量。但是,就像马约拉纳费米子量子计算机的前景一样,如果IonQ和其他离子阱量子计算机供应商能够找出如何扩大被困离子的规模,这种类型的量子计算机从长远来看可能会胜出。
这结束了我们总结的一些最重要的量子计算机体系结构,模型和供应商。有几十个其他真实的和理论的量子计算机类型,描述,架构和实现,将不会在本书中涉及,包括光子,硅量子点,金刚石空位,单向,量子门阵列,噪声-中等规模-量子,图灵,模拟和翻转。我无意轻视任何量子计算机体系结构,也无意表明一个比另一个更重要。这里不只是为了节省空间而讨论它们,因为本章已经太长了。我已经介绍了足够多的不同类型,让您对竞争激烈的量子计算世界有一个大致的了解,以及仍然存在的一些挑战。如果你有兴趣了解其他量子计算机类型和体系结构,一个很好的开始是https://en.wikipedia.org/wiki/Quantum_computing#量子计算模型。