(图片来源:网络)
1994年,数学家Peter Shor还在新泽西州贝尔实验室工作。他发现,理论上,量子计算机在解决某些问题上的速度是可以比经典机器快得多得多的。
问题是:能造出量子计算机来吗?
怀疑论者认为,量子态过于脆弱,错误是不可避免的。因为环境将不可避免地干扰量子计算机中的信息,使其脱离所表征信息的特定量子态。传统的纠错方案通过测量单个比特以检查错误,但该方法不适用于量子比特,因为任何测量都会破坏量子态,从而破坏计算。
一年后,Shor给出了回应。Shor提出了一种方法来检测是否发生了错误,并且无需测量量子比特的状态。Shor纠错算法的出现,标志着量子纠错领域的开始,从此以后,该领域得到了蓬勃发展。
很多物理学家将量子纠错视为构建功能强大的量子计算机的唯一途径。加州理工学院物理学家John Preskill说:“没有量子纠错,我们将无法将量子计算机扩大到能够解决真正难题的程度。”
与建造量子计算机一样,在理论上研究纠错码是一回事,在实体机器中实现它是另一回事。但在2021年10月初,由马里兰大学物理学家、离子阱量子计算领导者IonQ创始人兼首席科学家Chris Monroe领导的研究人员发表在《Nature》上的一篇论文表示:他们已经实现了Shor那样的纠错电路所必需的许多部分,还实现了纠错量子比特的容错控制。
那么,Shor是如何破解他所面临的难题的呢?他利用量子力学增加的复杂性来发挥自己的优势。
数学家Peter Shor(图片来源:网络)
重复 重复 再重复
假设我们要发送一条消息。在这个过程中,信息可能会发生丢失、损坏或乱码等错误。而当错误的可能性太高时,我们就需要以某种方式来保护消息,这就是纠错的概念。
让我们考虑一个例子:当你和朋友通电话时,他问你是否愿意过来吃晚饭,你说“是”。但这时电话线受到了一点点干扰:有百分之一的概率你的“是”听起来像“否”。等你去他家的时候,就没有晚饭了。这会有点尴尬,但不是非常糟糕。因为1%的概率对于朋友之间有点尴尬的风险来说并不算太高。
但如果你聊的是核武器时,纠错就变得重要了!假设你问上级是否该发射核武器时。如果他说“不”而你听到了“是”,那将是非常糟糕的——有百分之一的概率将让世界处于危险之中!
这时一个简单的纠错编码方案就是重复。假设你的上级说了五次:“不!不!不!不!不!”。也许其中某一个词会出现乱码,我们会听到类似“不!不!不!是的!不!”。听到的是比“是”更多的“不”,所以不会发射核武器,世界是安全的。如果两个出现乱码,“否”仍然比“是”多。所以信息还是很清楚的。
只有当三个或更多出现乱码时,才会有更多的“是”而不是“否”从而改变结果,但是这种错误的概率是多少?一个单词出现乱码的概率是一百分之一,三个或更多的概率就是一百万分之一,如此来看,这个可能性要就要小得多。如果你觉得这个概率仍然太高,再假设上级进行了七次重复,那么在你不小心毁灭世界之前,则需要发生有四个或更多的乱码。发生这种情况的概率就更小了。这就是经典的通信中继代码的基础。
Shor以此为模型构建了量子纠错协议,其中包括重复每一比特的信息,然后核查所有这些副本。在这个量子版本的纠错代码里,用于多次重复计算的量子比特,也就是实际上计算中用到的量子比特,我们称之为“物理量子比特”;而在计算中代表实际信息的量子比特,称之为“逻辑量子比特”。
位翻转错误
Shor的量子中继代码不可能与经典版本完全相同。因为量子计算的力量来自于叠加态,即量子比特可以同时存在于 0 和 1 组合的“叠加”中。由于直接测量会破坏叠加态,因此不会一种直接的方法来检查是否发生了错误。相反,他找到了一种方法去判断三个物理量子比特是否处于相同状态。如果其中一个量子比特不同,则表明发生了错误。
这项任务以类比于解决一个简单的逻辑难题:三个看起来相同的球,但其中一个球的重量可能不同。你拥有一个简单的天平,你会采取怎样的方式去测量是否存在重量不同的小球?又是如何测量出该球?
Samuel Velasco(图片来源:广达杂志)
答案是先挑两个球并比较它们的重量,然后用剩下的球替换其中一个球并再次检查。如果秤两次都是平衡的,说明所有的球都是相同的;如果只平衡过一次,那么其中一个被替换的球就是有问题的;如果两次都不平衡,那么没有被替换过的球就是不一样的。
在Shor的纠错方案中,用两个额外的“辅助”量子比特代替了天平的作用。其中第一个比较第一个和第二个物理量子比特;另一个比较第二个和第三个。通过测量这些辅助量子比特的状态,您可以了解三个包含信息的量子比特是否处于相同的状态,而不会干扰其中任何一个物理量子比特的状态。这种纠错方案可防止“位翻转”(这是在经典计算中唯一可能发生的错误原因)。
相位翻转错误
但是,量子比特还有一个潜在的错误来源。
叠加是量子计算的关键,但重要的不仅仅是量子比特的值。量子比特之间的相对“相位”也很重要。你可以把相位状态想象成一个波浪,具有特定波峰和波谷位置的波浪。当两个波同“相”时,它们的波纹一定是同步的;如果它们发生碰撞,则会进行“相长干涉”,从而合并成一个两倍大小的波。但是,如果波是异“相”的,即当一个波处于峰值时,另一个波处于最低点,在碰撞时,它们将会相互抵消。
量子算法也利用了量子比特之间的这种“相位”关系。即在算法中设置一种机制,如果计算答案正确,则会产生“相长干涉”并因此被放大,相反就会被“相消干涉”抑制。
但如果错误或噪声导致量子比特的“相位”也发生了翻转,那么“相消干涉”可以将会转换为“相长干涉”,量子计算机就会去放大错误的答案。
Shor发现,能够纠正位翻转错误的原理也能用于校正相位错误:每个逻辑量子比特被编码成三个量子比特,辅助量子比特检查其中一个阶段是否发生了翻转,如果有就将这两组纠错代码组合在一起。
其结果是,在Shor的整体纠错方案中,九个物理量子比特可以合成一个逻辑量子比特,同时提供位和相位的纠错。
容错计算
Shor的纠错方案原则上可以保护单个逻辑量子比特免受错误影响。但是,如果误差测量本身存在错误怎么办?
在你试图纠正不存在的错误时,可能会引入一个真正的错误。在某些情况下,这将可能导致一连串错误通过代码传播。事实上,在Shor的纠错方案中并没有考虑将如何操作这些九合一的逻辑量子比特,以及构建出量子计算机。
马里兰大学理论计算机科学家Daniel Gottesman评论说:“我们需要一些方法来对这些逻辑量子比特进行计算,而不会失去这种保护。这并不简单。”
因此,在1996年,Shor提出了容错的概念。容错代码可以处理环境引入的错误、对这些量子比特的不完善操作引入的错误,甚至是纠错本身所引入的错误——只要这些错误的发生率低于某个阈值。
2021年,Monroe和他的团队宣布,他们已经使用了一种称为Bacon-Shor代码来演示几乎所有完全容错量子计算机所需的工具。他们将一个逻辑量子比特编码为九个离子的量子态,然后,使用四个辅助量子比特,他们声称可以容错地执行量子计算所需的所有单量子比特操作。这一研究结果表明,容错量子计算是可能的。
不过在工程上实现目标仍然很遥远。Monroe认为,在量子计算机达到大约 100个逻辑量子比特之前,不会看到纠错带来的优势。而这样的机器至少需要大约1,300个物理量子比特,这是因为1个逻辑量子比特需要9个物理量子比特加上4个附加量子比特。而目前最大的量子处理器,IBM新发布的Eagle仅仅拥有127个物理量子比特。
参考链接:
https://www.quantamagazine.org/how-quantum-computers-will-correct-their-errors-20211116/
欢迎关注微信公众号:量子前哨
编译:王凯/王衍
编辑:慕一