计算的新纪元:量子计算概述
第1章:计算的新纪元:量子计算概述
想象一个场景:你站在一片巨大的图书馆前,这座图书馆的书架从地面一直延伸到天空,延伸到大气层之外,延伸到月球轨道之外——事实上,这些书架可以延伸到可见宇宙的边缘。每一本书代表一种可能的答案,每一个书架代表一种可能的组合。这听起来像是科幻小说的场景,但实际上,这正是量子计算试图解决的问题的本质。
在过去的七十年里,我们见证了经典计算机从占据整个房间的庞然大物,缩小到能够握在掌心的智能手机。摩尔定律——这个描述晶体管密度每两年翻一番的经验法则——在过去半个世纪里基本准确。然而,当我们深入探索自然界的更深层次时,我们发现有些问题即使是世界上最大的超级计算机也无法在合理的时间内解决。模拟一个包含几十个原子的分子的行为,可能需要消耗比宇宙年龄还要长的时间。这不是因为我们缺乏努力,而是因为经典计算的范式本身存在根本性的限制。
量子计算的出现,正是为了打破这些限制。它不是经典计算机的简单升级,而是一种全新的计算范式,利用量子力学中最神秘的两个特性——叠加态和纠缠态——来实现计算能力的指数级提升。在接下来的内容中,我们将踏上这段从经典计算的尽头到量子计算起点的旅程,探索这项可能重塑人类文明的技术。
经典计算的边界:为什么我们需要新的计算范式
摩尔定律的黄昏与登纳德缩放比例的终结
要理解量子计算的必要性,我们首先需要审视经典计算面临的根本性挑战。自1947年贝尔实验室发明晶体管以来,经典计算遵循着一条令人惊叹的增长轨迹。1965年,英特尔联合创始人戈登·摩尔提出了著名的观察:芯片上的晶体管数量大约每两年翻一番。这一预测后来被称为摩尔定律,成为整个半导体行业的技术路线图和商业预言。
然而,摩尔定律并非永恒的物理定律,而是一个关于工程实践的经验观察。随着晶体管尺寸不断缩小,我们正在逼近物理学的极限。2021年,台积电和三星开始量产3纳米制程的芯片,而一个3纳米晶体管的栅极宽度仅相当于约10个硅原子。这意味着我们正在进入一个领域,在那里,经典物理学的定律开始让位于量子力学的奇异规则。量子隧穿效应——粒子穿越经典不可逾越的势垒的现象——开始变得显著,电子不再乖乖地停留在它应该待的地方。
物理学家罗达尔·登纳德在1974年提出的缩放比例理论描述了晶体管尺寸缩小带来的好处:更小的晶体管意味着更低的功耗、更快的速度和更高的密度。然而,当晶体管进入纳米尺度时,登纳德缩放比例也失效了。泄漏电流(leakage current)急剧增加,功耗不再随着尺寸缩小而降低,而是急剧上升。这就是为什么现代高性能处理器的散热问题变得如此棘手,以至于单个处理器核心的时钟频率在过去十五年里几乎没有增长——我们已经被热力学第二定律卡住了。
让我们用一个具体的例子来说明这个问题。考虑一个运行频率为4吉赫兹的现代处理器,其时钟周期为0.25纳秒。在这短暂的时间里,光只能传播约7.5厘米。当晶体管的尺寸缩小到几十个纳米时,电子在单个时钟周期内可能无法完整地穿过一个晶体管。我们面临着不仅仅是工程上的挑战,而是基本物理原理施加的限制。
指数级复杂度的诅咒
经典计算面临的另一个根本性挑战是问题的指数复杂度。这类问题有一个令人不安的特性:每增加一个变量,问题的难度就会翻倍。理解这个问题对于理解量子计算的革命性意义至关重要。
让我们以密码学中广泛使用的RSA加密算法为例来说明。RSA的安全性基于大数分解的困难性:给定一个由两个大质数相乘得到的数,找出这两个质数。表面上这似乎是一个简单的问题,但实际求解却异常困难。目前,对于一个250位数(大约830个二进制位)的数的分解,即使使用已知最好的算法和世界上最快的超级计算机,也需要耗费天文数字的时间。
具体来说,分解一个250位十进制数字需要大约$10^{25}$次操作。即使我们使用一台每秒能够执行$10^{18}$次操作的超级计算机(这已经远超当前最强大计算机的能力),也需要约$10^7$秒,大约115天。这还只是一个中等规模的问题。对于实际应用中常用的2048位RSA密钥,所需时间将增长到令人绝望的程度。
旅行商问题(Traveling Salesman Problem)是另一个典型的指数复杂度问题。假设一个推销员需要访问$n$个城市,求解最短路径。可能的路径数量是$(n-1)!$,这是一个阶乘函数,增长速度比指数函数还要快。对于15个城市,路径数量约为$8.7 \times 10^{11}$;对于20个城市,这个数字膨胀到$1.2 \times 10^{16}$。即使我们能以每秒10亿条路径的速度进行检查,20个城市的问题也需要超过38万年的时间来解决。
化学模拟是另一个经典计算难以企及的领域。咖啡因分子(C8H10N4O2)由24个原子组成。模拟这样一个分子中所有电子的量子行为,经典计算机需要存储一个规模为$2^{24}$的复数矩阵——这是一个包含数百万个元素的矩阵。看起来似乎可以处理?让我们将问题放大到更实际的场景。生物体内的重要分子——如血红蛋白或DNA聚合酶——包含成千上万个原子。对于这些分子,即使是最强大的超级计算机也无法进行精确的量子化学模拟。
这就是量子计算被提出的根本原因。理查德·费曼在1982年的一篇著名论文中指出,模拟量子系统需要量子计算机,因为经典计算机处理这类问题的复杂度是指数级的,而量子计算机可以自然地处理量子系统的指数级状态空间。
经典计算的并行性限制
现代经典计算机通过多种方式实现并行计算。在硬件层面,我们有超标量架构、多级流水线、多核处理器、图形处理单元(GPU)以及专用加速器。在软件层面,我们使用多线程、分布式计算、MapReduce等并行编程模型。这些技术确实带来了显著的性能提升,但它们都受到一个根本性的限制:它们都是经典并行,本质上是多个经典比特同时处理不同的计算任务。
经典并行的效率受到可用硬件资源的限制。一台拥有1000个核心的处理器,理论上最多只能同时执行1000个独立的计算任务。这就是阿姆达尔定律(Amdahl's Law)告诉我们的:程序的并行化程度存在一个上限,由程序中必须串行执行的部分决定。当我们试图并行化一个本质上难以并行化的问题时,我们很快就会遇到收益递减的困境。
更重要的是,经典并行仍然是线性扩展。如果我们有$N$个处理器,我们可以期望获得接近$N$倍的性能提升(假设问题可以完美并行化)。但对于指数复杂度的问题,我们需要的是指数级的性能提升——不是2倍、10倍、100倍的提升,而是能够将数十年缩短为几秒、数秒缩短为瞬间的指数级提升。经典并行无法提供这种量级的改进。
量子力学的奇迹:叠加与纠缠
量子计算的力量源泉来自量子力学中最反直觉的两个现象:叠加态和量子纠缠。它们违反了我们在日常世界中建立的所有直觉,却支配着原子、分子和光子尺度上的一切。
叠加态:从硬币到概率云
在经典世界中,一个比特(bit)只能是0或1中的一个。这就像一枚硬币:当我们观察它时,它要么正面朝上,要么反面朝上。在任何给定时刻,经典比特都有一个确定的状态。
量子比特(qubit,quantum bit的缩写)是量子计算的基本单元。与经典比特不同,量子比特可以处于一种称为叠加态的状态。理解叠加态的最佳方式是通过双缝实验——这个实验被称为量子力学的心脏。
想象我们有一挺电子枪,向带有两条狭缝的屏障发射电子。大多数人会直觉地认为电子会像子弹一样穿过其中一条狭缝,在后面的探测器上形成两条条纹。但实验结果却完全不同:单个电子能够同时穿过两条狭缝,并与自己发生干涉,在探测器上形成明暗相间的条纹图案。这意味着每个电子在穿过狭缝时都处于一种“既穿过这条缝、又穿过那条缝”的叠加态——直到我们实际观察它为止。
量子比特的状态可以用一个称为波函数的数学对象描述。更准确地说,量子比特的状态可以表示为: $$|\psi\rangle = \alpha|0\rangle + \beta|1\rangle$$
这里,$|\psi\rangle$是量子比特的状态,$|0\rangle$和$|1\rangle$被称为计算基态,它们对应于经典比特的0和1。$\alpha$和$\beta$是复数,称为概率振幅。根据量子力学的规则,$|\alpha|^2$给出测量结果为0的概率,$|\beta|^2$给出测量结果为1的概率。这意味着: $$|\alpha|^2 + |\beta|^2 = 1$$
这就是叠加的本质:量子比特可以同时处于0和1的状态,但当我们测量它时,它会“坍缩”到确定的0或1状态。就像那枚在旋转中的硬币——在空中旋转时,它既不是正面也不是反面,而是同时是两者;当它最终落地时,它才选择了一个确定的状态。
纠缠态:幽灵般的关联
量子纠缠是量子力学中最著名、也最令人困惑的现象之一。当两个或多个量子比特发生纠缠时,它们的状态变得相互关联,以至于不再能够单独描述其中一个粒子的状态。无论它们在空间上相距多远——一米、一公里、一光年——对其中一个粒子的测量会立即影响另一个粒子的状态。
爱因斯坦曾将这种现象称为“幽灵般的超距作用”(spooky action at a distance),他坚信这是量子力学不完整的表现。然而,无数实验——包括2015年无漏洞贝尔不等式实验——已经确凿地证明,量子纠缠是自然界真实的、无法用任何经典理论复现的现象。
用数学术语来说,两个纠缠的量子比特可以处于如下状态: $$|\Phi^+\rangle = \frac{1}{\sqrt{2}}(|00\rangle + |11\rangle)$$
这个状态被称为贝尔态(Bell state)之一。注意它与叠加态的区别:在叠加态中,每个量子比特单独来看都处于不确定状态;但整个系统作为一个整体有确定的状态。无法将这个状态分解为两个独立量子比特状态的乘积——这就是纠缠的本质:整体大于部分之和。
纠缠在量子计算中扮演着至关重要的角色。通过纠缠,量子计算机可以实现量子比特之间的关联和协调,使得量子算法能够利用这些超越经典的相关性来获得计算优势。量子纠错、量子隐形传态和量子密钥分发等协议都依赖于纠缠的存在。
量子测量的坍缩与退相干
理解量子计算还需要了解两个重要的现象:测量坍缩和退相干。
测量坍缩是指当我们对一个处于叠加态的量子系统进行测量时,叠加态会不可逆地转变为确定的状态。用概率的术语来说,测量前系统处于$\alpha|0\rangle + \beta|1\rangle$的叠加态;测量后,系统以概率$|\alpha|^2$变为$|0\rangle$,以概率$|\beta|^2$变为$|1\rangle$。这个过程是不可逆的——我们无法从测量后的状态倒推出测量前的叠加态。
退相干是指量子系统与其环境相互作用时,叠加态被逐渐破坏的过程。由于环境的复杂性(温度波动、电磁噪声、振动等),量子系统极其脆弱——它们倾向于失去其量子特性,转变成经典的确定状态。维持量子比特的相干性是量子计算面临的主要工程挑战之一。
退相干时间(decoherence time)是衡量量子比特质量的关键参数。它表示量子比特保持其叠加态和纠缠态的平均时间。当前最好的超导量子比特具有约100微秒的退相干时间,而离子阱量子比特可以达到数秒甚至更长。这听起来很短,但考虑到现代处理器每个时钟周期仅需0.25纳秒(对于典型的量子操作需要数十到数百纳秒),这些时间在量子计算的时间尺度上其实是相当可观的。
量子计算:从费曼的设想到全球竞赛
1980年代:理论的种子
量子计算的历史可以追溯到1980年代初期。1980年,苏联数学学家尤里·马宁(Yuri Manin)在一篇苏联期刊的论文中提出了量子自动机的概念,这可能是量子计算思想的首次出现。两年后,美国物理学家理查德·费曼在麻省理工学院的演讲中提出了一个深刻的问题:经典计算机能够模拟量子物理系统吗?
费曼的答案是否定的。他指出,模拟量子系统需要指数级的资源,因为量子系统的状态空间随粒子数指数增长。对于一个包含$n$个粒子的系统,其状态空间是$n$的指数函数。一个由50个粒子组成的量子系统,其状态空间包含超过$10^{15}$个状态——这已经超出了任何经典计算机的能力。
费曼的洞见引发了一个根本性的思考:既然模拟量子系统如此困难,也许我们应该用量子系统来模拟量子系统。这个看似简单的想法播下了量子计算时代的种子。费曼在1982年的论文《用计算机模拟物理学》(Simulating Physics with Computers)中详细阐述了这一观点。
紧随其后,1985年,牛津大学的物理学家大卫·多伊奇(David Deutsch)发表了论文《量子理论是物理学的通用理论》(Quantum Theory is the Universal Theory of Physics)。在这篇论文中,他提出了通用量子计算机的概念——一种能够模拟任何有限量子物理系统的设备。多伊奇还定义了量子图灵机的形式化模型,这是经典图灵机在量子领域的对应物。
更重要的是,多伊奇意识到量子计算不仅仅是经典计算更快版本,而是一种根本不同的计算范式。他提出了一种利用量子并行性的思想——量子比特可以同时处于多个状态的叠加,这意味着一台量子计算机可以同时探索问题的多个可能解。
1990年代:算法的黄金时代
如果说1980年代播下了量子计算理论的种子,那么1990年代就是这些种子破土而出、茁壮成长的时期。这一十年见证了量子算法领域最激动人心的突破。
1992年,多伊奇与理查德·乔萨(Richard Jozsa)合作提出了多伊奇-乔萨问题(Deutsch-Josza Problem)。这是一个人为构造的问题,展示了量子计算相对于经典计算的指数级加速。虽然这个问题本身没有实际应用,但它证明了量子计算的优势是真实的、可数学证明的。
然而,真正改变游戏规则的是1994年。彼得·肖尔(Peter Shor),当时在贝尔实验室工作的一位数学家,提出了一个能够在量子计算机上高效分解大整数的算法。这个算法后来被称为肖尔算法(Shor's Algorithm),它将在本章后面详细讨论。肖尔的算法意味着,一台足够强大的量子计算机可以破解RSA加密——这是整个现代互联网安全体系的基础。
肖尔的发现引发了轩然大波。它不仅在技术界引起关注,更引起了政府机构和情报部门的高度重视。密码学的整个基础都需要重新审视。更重要的是,肖尔的算法向世界展示了量子计算不是纯粹的理论游戏,而是具有改变世界的实际潜力。
在肖尔算法提出的同一年,贝尔实验室的另一位计算机科学家洛弗·格罗弗(Lov Grover)提出了另一种重要的量子算法——格罗弗算法(Grover's Algorithm),也称为量子搜索算法。格罗弗算法可以在无序数据库中以平方根级别的加速搜索目标项。对于一个有$N$个条目的数据库,经典算法平均需要$N/2$次查询,而格罗弗算法只需要约$\sqrt{N}$次。
1996年,格罗弗证明了这一算法的最优性——任何量子搜索算法都不能比格罗弗算法更快。这一结果很重要,因为它告诉我们并非所有经典问题都能从量子计算中获得指数级加速。对于许多问题,平方根级别的加速可能就是我们能达到的最好结果。
2000年代:实验的突破
进入21世纪,量子计算研究开始从理论走向实验验证。各个研究团队竞相制造出能够展示量子优势的物理设备。
2001年,IBM的研究团队与斯坦福大学合作,在核磁共振量子计算机上首次实现了肖尔算法的演示。尽管这个演示只能分解数字15($3 \times 5$),而且使用的是一种特殊的量子计算实现方式,但它证明了量子算法确实可以在实验中实现。
同年,一个由多家机构组成的国际团队宣布了量子点(quantum dot)研究的突破,为实现固态量子比特提供了新的可能。量子点是一种人造纳米结构,可以限制电子在三个维度上运动,从而模拟原子般的量子行为。
2005年是个重要的年份。科罗拉多大学和NIST的团队首次实现了由单个比特到两个纠缠比特的关键跃进,展示了两个量子比特之间可控的纠缠。这为实现更复杂的量子算法奠定了基础。
2007年,耶鲁大学的研究团队宣布成功制造了第一个基于超导电路的固态量子比特——transmon qubit。这种量子比特使用超导材料在接近绝对零度的温度下工作,具有可扩展性的优势,因为它可以使用标准的微纳加工技术制造。这一突破为后来IBM和Google的量子处理器奠定了基础。
2010年代:从理论到现实的跨越
2010年代见证了量子计算从实验室走向商业化的关键转变。企业和政府开始大规模投资量子计算研究,量子设备的能力开始接近实现实用量子算法的门槛。
2011年,加拿大公司D-Wave推出了世界上第一台商业量子计算机D-Wave One,使用了128个量子比特(后来的型号扩展到2000+量子比特)。尽管D-Wave的设备采用了一种特殊的量子退火架构,与通用量子计算机有所不同,而且学术界对其量子加速的性质存在争议,但D-Wave的成功标志着量子计算开始成为商业现实。
2012年,谢尔盖·布林(Sergey Brin)、马克·扎克伯格(Mark Zuckerberg)等知名企业家参与创建了量子飞跃基金会(Quantum Leap Foundation),支持量子技术的发展。物理学家约翰·普雷斯基尔(John Preskill)在那一年提出了“量子霸权”(Quantum Supremacy)这个术语,用来描述量子计算机在某个特定任务上超越所有经典计算机的时刻。
2014年,Google在加州大学圣巴巴拉分校建立了量子人工智能实验室,宣布与NASA合作研究量子计算。这一合作持续多年,并在此后取得了多项重要突破。
2016年,IBM推出了量子体验(IBM Quantum Experience)平台,首次将5量子比特的量子计算机通过云端向公众开放。这是量子计算民主化的重要一步,任何人都可以在这个平台上编写和运行量子程序,即使是没有任何量子物理背景的人也能参与量子计算的探索。
2017年,IBM宣布取得重大突破,制造出了50量子比特的量子处理器,同时保持了对量子相干性的良好控制。量子相干性是执行复杂量子算法所必需的。同年,Google也在这个领域取得进展,宣布了72量子比特处理器Bristlecone的计划。
2019年是一个里程碑年份。Google在《自然》杂志上发表了具有历史意义的论文,宣称实现了“量子霸权”(Google称之为“量子优势”)。他们的53量子比特处理器Sycamore在200秒内完成了一个特定的随机量子电路采样任务,而Google估计这项任务即使使用世界上最快的经典超级计算机也需要约10,000年。当然,IBM很快发表论文反驳,声称经典计算机实际只需要2.5天而非10,000年。尽管存在争议,Google的实验仍然是量子计算史上的重要时刻,展示了量子处理器在某些特定任务上确实可以展现出惊人的能力。
2020年,中国科学技术大学的研究团队使用光子量子计算机“九章”实现了另一个量子优势里程碑。他们的高斯玻色采