量子计算机是如何实现错误纠正的

产业资讯 量科网 2021-11-22 08:29

1994年,当时在美国贝尔实验室工作的数学家Peter Shor证明了量子计算机解决某些问题的能力比经典机器快得多。但问题是可以建造一个吗?怀疑论者认为量子态太微妙了——环境不可避免地会混淆量子计算机中的信息,使其根本不是量子的。

量子计算机是如何实现错误纠正的

一年后,Shor做出了回应。经典的纠错方案是测量单个比特以检查错误,但这种方法不适用于量子比特(或称量子位),因为任何测量都会破坏量子态,从而破坏计算。Shor想出了一种方法来检测是否发生了错误,而无需测量量子比特本身的状态。Shor的这一代码标志着量子纠错领域的开始。

该领域蓬勃发展。大多数物理学家将其视为构建强大量子计算机的唯一途径。加州理工学院的物理学家John Preskill说:“如果没有量子纠错,我们将无法将量子计算机扩展到它们可以解决真正困难问题的程度。”

与一般的量子计算一样,开发纠错代码是一回事,在工作机器中实现它是另一回事。但是在今年10月初,由马里兰大学物理学家Chris Monroe领导的研究团队报告说,他们已经证明了运行像Shor一样的纠错电路所需的许多要素。

那么Shor是如何破解他面临的难题的呢?他实际上利用了量子力学增加的复杂性来发挥自己的优势。

Shor根据经典计算的中继器代码对他的协议进行建模,经典方法中包括制作每一比特信息的副本,然后定期相互检查这些副本。如果其中一个比特与其他比特不同,计算机可以纠正错误并继续计算。

Shor设计了一个量子版本。他使用三个单独的“物理”量子比特来编码一个信息量子比特,它被称为“逻辑”量子比特。不过,Shor的量子中继器代码不可能与经典版本完全相同。量子计算的力量来自这样一个事实,即量子比特可以存在同时由0和1组合的“叠加”态。由于测量量子态会破坏叠加,因此没有一种直接的方法来检查是否发生了错误。

相反,他找到了一种方法来判断三个物理量子比特是否处于彼此相同的状态。如果其中一个量子比特不同,则表明发生了错误。

这项任务与解决一个简单的逻辑难题没有什么不同。给你三个看起来相同的球,还有一个简单的天平。但其中一个球的重量可能不同,什么测量可以让你确定混合中是否有一个奇怪的东西,如果有,它是哪个?

答案是首先选择两个球并比较它们的重量,然后用剩下的球替换其中一个球并再次检查。如果两次都平衡了秤,那么所有球都是相同的。如果它只第一次平衡过,那么被替换后的球就是奇怪的球。如果两次秤都不平衡,则保持没换的球是罪魁祸首。

量子计算机是如何实现错误纠正的

Shor的代码用两个额外的“辅助”量子比特来代替天平。第一个辅助量子比特用来比较第一个和第二个物理量子比特;另一个辅助量子比特比较第二个和第三个物理量子比特。通过测量这些辅助量子比特的状态,可以了解三个包含信息的量子比特是否处于相同的状态,而没有干扰其中任何一个量子比特的状态。

此代码可防止比特翻转,这是经典计算中唯一可能发生的错误。但是量子比特还有一个潜在的错误来源。

叠加是量子计算的关键,但重要的不仅仅是量子比特的价值。量子比特之间的相对“相位”也很重要。你可以把这个阶段想象成一个波浪,它告诉了你波浪的波峰和波谷的位置。当两个波同相时,它们的波纹是同步的。如果它们相撞则会产生建设性的干涉,会合并成一个双倍大小的波浪。但是如果波是异相的,那么当一个波处于峰值时,另一个处于最低点,它们会相互抵消。

量子算法利用量子比特之间的这种相位关系。它设置了这样一种情况,即计算的正确答案会产生建设性干涉并因此答案被放大,而错误答案会被破坏性干涉抑制。

但是如果一个错误导致相位翻转,那么相消干涉就会转变为相长干涉,量子计算机将开始放大错误的答案。

Shor发现他可以使用与比特翻转原理类似的方法来纠正相位错误。每个逻辑量子比特都被编码成三个量子比特,并且辅助量子比特会检查其中一个相位是否发生了翻转。

Shor然后将这两个代码组合在一起。结果是一个代码将一个逻辑量子比特转换成九个物理量子比特,能提供翻转和相位检查。

Shor的代码原则上会保护单个逻辑量子比特免受错误影响。但是,如果测量本身存在错误误差怎么办?在你尝试纠正不存在的错误时,你会因稍微翻转一下就不知不觉的引入了一个真正的错误。在某些情况下,这可能会导致一系列错误在代码中传播。

Shor的代码也没有考虑他将如何操作由逻辑量子比特构建的量子计算机。马里兰大学理论计算机科学家Daniel Gottesman说:“我们需要某种方法来对编码状态进行计算,同时又不会失去这种保护。这并不简单。”

因此,在1996年,也就是他连续第三年开拓创新的时候,Shor提出了容错的概念。容错代码可以处理由环境、对这些量子比特的不完美操作,甚至是纠错步骤本身引入的错误。但前提是这些错误的发生率低于某个阈值。

上个月,Monroe和他的团队宣布,他们使用了Shor代码的故障保护版本,它被称为Bacon-Shor代码,演示了完全容错量子计算机所需的几乎所有工具。他们将一个逻辑量子比特编码为九个离子的量子态,然后,使用四个辅助量子比特,他们表明可以容错地执行量子计算所需的所有单量子比特操作。这一结果表明,容错量子计算机是可能的。

不过,这个目标仍然遥不可及。Monroe认为,在量子计算机达到大约100个逻辑量子比特之前,我们不会看到任何纠错带来的优势。这样的机器需要大约1300个物理量子比特,因为每个逻辑量子比特需要九个物理量子比特加上四个辅助量子比特。目前最大的量子处理器,IBM新发布的Eagle量子芯片还只有127个物理量子比特。(编译:Qtech)