文章首发于「回形针 PaperClip」公众号,作者夕法。
北京时间 12 月 4 日,「九章」横空出世。
这是由中科大潘建伟团队与中科院上海微系统与信息技术研究所、国家并行计算机工程技术研究中心合作,构建出的 76 个光子的量子计算原型机。
今天,我们将用几枚硬币,向你解释量子计算机的基本原理。
我们现在使用的计算机软件,背后是一行行代码,它们最终转化成各种逻辑门,控制底层的一个个二进制数—— 0 和 1。
这个基本单位叫做比特,在经典计算机里,每个比特要么是 0,要么是 1。而量子计算机不同,每一个量子比特既可以是 0 是 1,也可以变成 0 和 1 的叠加态。
什么是叠加态?让我们掏出一枚硬币,看看它表面是什么图案。
抛一万次,五千次看到花,五千次看到字。所以,硬币表面的图案既有花又有字?未必,如果硬币的表面是既有花又有字,为什么一枚硬币的花和字,从未同时出现我们眼前,而是变幻莫测,随机出现?
学者们挠挠头,最终严谨作答:硬币的图案既是花又是字,花态和字态共同存在于硬币中。但不是一般的同时存在,而是由 50% 的花态和 50% 的字态叠加起来的。图案的状态,是花态和字态的叠加态。
是不是觉得很离谱?
事实上,叠加态正是这样一种无奈的描述。当研究者用同样的实验方法,打出来的电子有时在这儿有时在那儿,光子有时走这条缝有时走那条缝,最终只能挠挠头无奈地说,它们的运动方式和最终位置都是由不同的态概率叠加起来的。
看似不能相容的状态,却共生一体,我们描述它为:叠加态——不同态概率叠加的状态。没有人知道为什么会这样。
将上帝的硬币在指尖翻来覆去,在这样的三维空间中,花和字一体两面,同时存在于硬币表面。但单用肉眼去看,或者拍一张二维的硬币照片,我们只能看到硬币的某一个面。
因此学者猜测,也许是因为我们的世界恰恰是更高维世界的投影,所以每次观察和测量到的位置、速度,都只是随机地看到它不同的投影。
不过放心,这种现象只有在微观世界里能够比较明显地观测到。像一元硬币这么大的物体,只要角度和力度不变,抛出的花色都是一样的。
好,让我们继续。再掏出三枚硬币,制作一台计算机。
用三枚硬币的两面分别表示 0 和 1,那么总共有 8 种二进制组合,分别代表 0~7。能力有限,就只做个简单的测试吧,找出其中的偶数。
用人脑简单分析:三位数的二进制转化成十进制,很快发现,只要第三位数是 0,这个数就是偶数,是 1 则为奇数。
如果把这个问题交给经典计算机,它会这么做:
先把硬币按 000 放好,判断第三枚硬币。是 0,就让第四枚硬币显示 1,表示这个数是偶数;反之则让第四枚硬币显示 0,表示奇数。
按 001 放好,判断。
……
按 111 放好,判断。
直到 8 个数都过了一遍,判断结束,得到以下结果:
是不是有点笨?而量子计算机是这么做的:
同样先把硬币按 000 放好,使用一种基本逻辑门操作——阿达马门(Hadamard Gate),让每个硬币变成 50% 的 0 和 50% 的 1 的叠加态。
简简单单的 000,此时就变成了一个长长的叠加态:
这样,仅用三枚硬币,就能同时携带 0~7 这 8 个数字的信息。
第四枚硬币登场,先按 1 朝上放好。
接下来做些事情,让第四枚硬币听第三枚硬币的话。只要第三枚硬币是 1,第四枚硬币就会翻个身,显示 0;反之保持 1 不变。
这里使用了另一种逻辑门操作——受控非门(CNOT Gate),让第三枚硬币的状态影响第四枚硬币,它们就像一正一反缠在一起,形成纠缠态。
到这里,硬币们已经同时携带了完整的 8 个数字以及各自的判断结果:
经典计算机需要运行八遍,而量子计算机只要一遍。这就是量子计算机高速的原因:同时对所有概率进行运算,这是真正的,并行运算。
经过以上操作,量子计算机的四枚硬币得到了一个叠加态:12.5% 的(000 1+001 0+010 1+011 0+100 1+101 0+110 1+111 0)。
设计算法,让第四位为 0 的态消失,得到 25% 的(000 1+010 1+100 1+110 1),此时的叠加态都是我们要找的偶数了。
到此为止,心满意足。正准备输出结果时,问题来了。
四个态,也就是这四个偶数,输出一次只能得到随机的一个偶数。就像抛硬币,拍定后只能随机看到一种花色。
一测量,叠加态就会被破坏,要进行第二次输出只能从头再来。如果运气不好,第二次结果和上次一样就白算了,得运行第三次……不知猴年马月,才能集齐所有解。
回到现实,这就是量子算法面临的问题之一。即便优化算法,让它每次输出不一样的结果,也至少需要四次才能得到完整的答案。比起经典计算机的八次,似乎没有简便多少。
毕竟,量子计算机并非神器,它的算力只在部分问题上一骑绝尘。
在海量的数据里找一两个满足条件的解,比如大数分解质因数(银行密码破解)、数据搜索这样的问题就非常适合使用量子计算机。
反之,仅让它们怼着一个数算加法,量子计算机并不能展现出太大优势。
此外,硬件也是关键。
量子计算机需要找一个量子效应明显的微观物理体系,实现计算机的基本功能。就像用电子的高低能级来表示 0 和 1,实现上面提到的基本逻辑门。
但要找到这样一个能被精准控制的物理体系并不简单。
第一,叠加态并不稳定。外界电场磁场的微小干扰或自身的活泼好动,都会让叠加态从 50% 的 1 + 50% 的 0,变成 40% 的 0 + 60% 的 1。从做好这个态到变质的时长,叫做相干时间。
相干时间不够长,可能连一次运算都做不完。
第二,计算结果可能不精准。尽管设计精妙,但由于运算过程中的环境干扰和操作失误,最终只有 80% 的成功率能算出正确结果。这个 80% 叫做保真度。
保真度不够高,算出的答案也不可信。
如今,正在探索和开发的物理体系有离子阱、超导、半导体等,「九章」使用的是光学体系。不过,「九章」目前只在高斯玻色取样问题上解得飞快,并不属于一般意义上可编码的量子计算机。
每一个物理体系表示 0 和 1、实现逻辑门的方式天差地别,它们在相干时间、保真度、可扩展性这些重要指标上也各有优劣。
因此,与其说研发量子计算机,不如说是学者们百花齐放,在各自的物理体系上开发功能,谁也不知道哪个体系能真正发展出成熟的可商用量子计算机。
封面来源:中国科学技术大学
参考资料:
[1] Nielsen, M. A. & Chuang, I. L. (2004). Quantum Computation and Quantum Information.Cambridge University Press.
[2] Zhong, H. S., et al. (2000). Quantum computational advantage using photons.Science, 370(6523): 1460-1463.
© 本文著作权归作者所有,并授权少数派独家使用,未经少数派许可,不得转载使用。