众所周知,计算机在科学、教育、经济和日常生活中执行着广泛的任务。匈牙利物理学家和数学家约翰·冯·诺依曼受英国数学家艾伦·图灵的启发,提出了基于程序存储的同名体系结构,奠定了计算和现代计算机科学的逻辑数学基础。
一个传统的数字计算机系统有四个基本部件:输入/输出端口、主存储器、控制单元和算术逻辑单元(ALU)。对于目前的超级计算机,受传统计算结构限制,在处理最困难任务方面存在着诸多局限性,因此研究人员眼光投向了量子计算机。量子计算与人工智能一起,代表着近期主要技术和科学挑战。
实际上,第一台计算机是机械式的,由法国的布莱斯·帕斯卡和德国的戈特弗里德·威廉·莱布尼茨在17世纪发明。而第一台电子数字计算机则被认为是由美国科学家约翰·文森特·阿塔纳索夫建造的,1939~1942年间,他在一名研究生的帮助下,建造了这台计算机。1946年,在阿塔纳索夫的机器基础上,宾夕法尼亚大学的J. Presper Eckert和John W. Mauchly建造了ENIAC(电子数值积分计算机)。这两台计算机都使用真空管代替继电器作为有源逻辑块,这一特性使处理速度显著提高。实际上,在数字计算机路线图上,还点缀着其他重要创新,包括从晶体管到集成电路,最后到20世纪80年代的微处理器和超大规模集成电路。
尽管微电子技术的进步推动了处理技术的惊人进步,但实际上,计算机架构却基本上没有什么变化。
量子计算新概念
1959年,一种描述光与物质相互作用的量子电动力学(QED)新公式,由美国物理学家、诺贝尔奖获得者理查德·费曼提出。他认为,随着电子器件接近微观尺寸,量子物理学预测的奇特效应就会出现,而这些效应可以用于设计更强大的计算机。仅在原子或粒子尺度上才会发生的这种神秘现象,是量子计算硬件的基础。
量子计算利用了三种关键量子原理:叠加、纠缠和干涉。这些概念在量子计算机中发挥着根本作用,从而使得量子计算机与传统计算机有很大不同。
叠加
在量子力学世界,粒子等物体不一定具有明确定义的状态,正如著名的双缝实验所证明的那样。在该实验中,当单个光子通过具有两个小狭缝的光敏屏幕时,将会产生一个干涉图案,这与光波所产生的结果相类似,这被视为所有可用路径叠加的结果。如果利用探测器来试图确定光子穿过的是两条狭缝中的哪一条时,干涉图案就消失了。对这一奇怪结果的解释是,在测量之前,量子系统“存在”于所有可能的状态中,当引入致命的微扰后,系统崩溃为一种状态,这被称为退相干。如果在计算机中再现这一现象,就有望以指数级扩展其计算能力。
传统的数字计算机采用二进制数字或位,可处于两种状态之一,表示为0和1。这样,对于4位计算机寄存器,可以保存16(24)个可能数字中的任何一个。而量子比特(量子位)存在于0和1值的波状叠加中,因此,一个4量子位的计算机寄存器,可以同时处理16个不同的数字。理论上,量子计算机可以并行处理超多的值,一台仅有30个量子位的量子计算机,就可以与每秒执行10万亿次浮点运算(TFLOPS)的数字计算机相媲美,即可与超级数字计算机相比拟。
当今最快的数字计算机是“前沿”(Frontier),安装在美国能源部的橡树岭国家实验室(位于田纳西州),速度达到1018FLOPS。建立在经典体系结构上的超级计算机是非常复杂和笨重的机器,需要大量的并行器件和处理器。以Frontier为例,其内含9408个CPU、37632个GPU和8730112个内核,所有这些都通过长达145km的电缆连接在一起。该计算机占地372m2,功耗为21MW,峰值时高达40MW。
纠缠
叠加是量子位同时存在于多个状态(0、1或两者的任何组合)的能力,而纠缠则是两个或多个量子位相互关联的量子现象。换句话说,一个量子位的状态描述不能独立于其伴侣的状态。这种相互依赖性,允许相互纠缠的量子位之间进行信息即时共享,无论它们相距多远。爱因斯坦将这种现象称为“鬼魅般的超距作用”(spooky action at a distance),以凸显他对量子力学的不确定性和非局部性的厌烦。然而,纠缠却是许多量子算法的支柱,可以更快、更高效地解决问题。
干涉
当两个或多个量子态结合在一起形成一个新态时,就会发生干涉,从而产生相长干涉或相消干涉。相长干涉放大获得正确输出的概率,而相消干涉则降低错误输出的概率。通过操纵干涉模式,量子计算机可以快速解析潜在的解决方案,比经典计算机更快地得出正确答案。
但是量子位是如何建立起来的呢?
考虑单个电子及其角动量,即自旋。被量化的自旋可以是向上的,也可以是向下的。通过将0定义为自旋上升态,将1定义为自旋下降态,电子可以用作量子位。在这里,使用理论数学家和物理学家保罗·狄拉克的bra-ket表示法是有用的。量子态可以用“ket”(基本上是许多列向量)来表示,因此这两个态可以写成|0>和|1>。因此,自旋的作用与晶体管在标准布尔逻辑中实现一个比特/位的作用相同。
叠加原理指出,与传统数字比特完全不同,量子位可以同时用0和1的叠加来表示。在数学表示法中,如果|ψ>被视为量子位的状态,则可表示为:
|ψ>=W0|0>+W1|1>
式中,W0与W1为两个数字,分别表示|0>和|1>在叠加中的相对权重。更正式地说,这些数字是量子位的复概率幅度,决定了在测量量子位状态时得到0或1的概率。当然,它们必须服从如下的归一化条件,即:
|W0|2+|W1|2=1
当W0=1且W1=0时,量子位处于其|0>状态,对应于晶体管的截止状态;相反,若W0=0且W1=1,则量子位状态对应于晶体管的导通状态。对于W0和W1的任何其他值,就好像晶体管,用经典的术语来说,既不是“关”也不是“开”,而是同时“开”和“关”,这就像量子力学创始人之一埃德温·薛定谔构想的著名思想实验那样,猫既是死的又是活的。
叠加可以让一个量子位同时进行两次计算,如果两个量子比特通过纠缠连接,则可以同时进行22即4次计算:
|ψ>=W00|00>+W01|01>+W10|10>+W11|11>
三个量子位则可以并行处理23即8次计算,以此类推。
原则上,一台拥有300个量子位的量子计算机,可以在瞬间执行比宇宙中可见原子还要多的计算。如今,拥有如此多量子位的量子计算机已经出现,那就是IBM的鱼鹰量子计算机(433位),拥有迄今最强大的量子处理器,该机器已可在IBM云上进行探索性技术演示。
在对量子位中的数据进行编码之后,有必要修改和操纵量子位的状态。在数字计算机中,这是通过诸如AND、NAND和NOR之类的逻辑门执行的基本操作来实现的。而量子计算机中的相应操作,则由量子门来实现,量子门可以根据所涉及的量子位数量进行分类。与传统逻辑门相反,量子门可以创建和操纵纠缠和叠加,这对提高量子计算机的计算能力至关重要。
图1:IBM鱼鹰量子处理器。(来源:IBM)
通过一组量子逻辑运算对量子位执行运算的一些量子门是Pauli-X、Pauli-Y、Pauli-Z、Hadamard和CNOT(受控NOT)。例如,Pauli-X是传统NOT逻辑门的量子模拟。Hadamard门将单个量子位转换为|0>和|1>状态的完美叠加。这样,由该门“转换”的单个量子位数的度量值,将以相同的概率产生|0>或|1>,即:W1=W2=1/√2。实际上,(1/√2)2+(1/√2)2=1。
量子处理单元
量子计算硬件的核心组件,即量子处理单元(QPU),通过一系列量子门来处理量子位,从而执行量子算法。广泛用于数据中心数据处理单元的CPU、GPU和DPU等传统处理器,利用的是经典物理原理,而QPU通过处理量子位,使量子计算机能够执行比传统计算机更快的复杂计算。QPU的底层技术可能各不相同,如核磁共振、捕获离子、超导量子位和光子芯片,每种方法都具有独特的优势和挑战。由于实现和体系结构的不同,故不能简单地通过看所处理的量子位数量的多少来比较QPU。
量子计算正在成为世界上最具变革性的技术之一,但约束条件是严格的。量子计算机必须在足够长的时间内,保持量子位之间的相干性(或量子纠缠),才能运行完整的算法。然而,由于几乎不可避免地与环境相互作用,可能会发生退相干。因此,需要制定稳健的误差检测和校正方法。最后,由于测量量子系统的行为也会干扰其状态,还必须设计出可靠的信息提取方法。
无论如何,可以肯定的是,我们将享受计算科学的另一场革命。当今许多棘手的问题,都可以用新机器来解决。实际上,量子计算令人印象深刻的能力,已引发相关公司之间的激烈竞争,以实现“量子霸权”。
(原文刊登于EE Times欧洲版,参考链接:Physical Principles Underpinning Quantum Computing,由Franklin Zhao编译。)
本文为《电子工程专辑》2024年4月刊杂志文章,版权所有,禁止转载。免费杂志订阅申请点击这里。
- 完全超出理觧