量子计算简史
admin
2023-06-26 11:01:03
0

最近几年,量子理论与技术蓬勃发展,藉由量子的神秘力量人们将有机会在不同领域当中实现许多以往无法想象的应用,也因此建构完善量子产业链已成为国家与企业之间争相发展的重点项目之一,甚至成为下一个世代必学的重点课题。所以今天就让我带你快速略懂这难以用人话解释清楚的黑科技——量子运算,以及与其息息相关的量子计算机、量子位元、量子闸、量子算法。

量子力学的由来及发展




1900年普朗克发表了《标准光谱之能量分布定律》,指出黑体辐射的电磁波能量有一个最小基本单位——E=hf,其中E是能量、f是频率、h是普朗克常数,而这个能量的最小单位就被称为能量子,简称为量子,量子物理就从这里开始发展起来。

1905年爱因斯坦基于普朗克的想法发表了《光的生成及转化的启发式观点》来解释光电效应,这篇论文指出光束是由一群离散的能量粒子(光子)所组成,而不论光束强弱,光子的频率大小才是光电效应当中电子能否逃逸的关键因素。

1913年为了解释氢原子光谱的现象,玻尔提出由量子化电子能阶所组成的原子模型。

1924年德布罗意提出电子也具有波动性的想法。

1925年海森堡则以矩阵力学的形式给出了等价的解释。

1926年薛定谔以波动力学推导出波函数,从理论的角度解释了玻尔的氢原子模型。

1927年海森堡提出海森堡测不准原理。

同年,玻尔与海森堡将这些重要研究发现做个总结,一同发表哥本哈根诠释,成为今后量子物理界所普遍认可的共识。

然而量子微观世界的概率与不确定性仍然饱受质疑,以至于物理学界分裂为两大阵营,一方是以玻尔为首的哥本哈根学派,另一方则是以爱因斯坦为首的反对派,双方激烈交战,难分难解。

1935年爱因斯坦以EPR悖论重击哥本哈根学派。

同年薛定谔提出《薛定谔的猫》实验,试图将微观世界的不确定性放大到宏观世界。从而产生了猫可能处于生死叠加态这样无法解释的矛盾。

总而言之反对派最过不去的坎就是微观粒子的叠加态与量子纠缠的特性。

所谓的叠加态就是微观粒子的某些物理性质比如位置、偏振、自旋、激发态等等,会以某种机率分布在同一时间处于多重状态,直到被测量的时间点造成波函数塌缩而退相干为本征态,回到古典物理的游戏规则。

而量子纠缠则是粒子与粒子之间跨越时空的连结,例如当一个零自旋粒子衰变为两个自旋叠加态的粒子,为了符合自旋守恒两个粒子的自旋方向必定会呈现相反的状态,也就是说,不管两个粒子距离多远当我们对于其中一个粒子进行测量,假如测量结果为上旋则另外一个粒子也将瞬间塌缩为下旋反之亦然。这样的现象从古典物理的角度来看等于两个粒子之间是以大于光速的速度在进行状态讯息传输。

量子计算的出现

即便如此许多实验结果都证实了这些神奇的量子特性,但是务实的人们也懒得管那么多,虽然无法解释但不影响拿来应用啊。

要把量子的特性拿来应用,首先要找到有量子特性的材料,这一点并不难,拥有量子特性的粒子唾手可得,像是原子、电子、光子等等,然而要如何让这些材料的量子状态稳定受控,同时把成本控制在可以接受的范围内则是一大难题。

目前的量子计算机硬件实作技术百家争鸣,有离子阱 、冷原子、超导电路、量子点、钻石空缺、拓朴线与光量子,而每一种技术都有各自的优缺点,也有各自的金主在支援,最终鹿死谁手还有待时间来见证(为了防止给量子XX交智商税,一律按骗子对待就行,除非你认识图中金主企业的高管,那咱们得聊聊)。




与此同时,量子计算机要能发挥应有的算力是建构在能稳定控制多个量子粒子的前提之上,然而以当今的技术水平要稳定控制一个量子粒子已经十分吃力,偶尔的错误在所难免,要稳定控制多个量子粒子并维持整体错误率在可接受的范围就更是难上加难,即便如此我们还是可以同步发展软件,等有朝一日硬件技术一旦成熟就能直接套用上去。

量子计算和传统计算

传统计算机的资料最小单位bit,是单一状态为0或1的位元,而量子计算机的资料最小单位quantum bit(简称qubit)则是一个可以同时处于0与1之间叠加态的量子位元,当只有单一状态的bit运算太慢我们就可以用叠加态的qubit来平行运算,当我们叠加态的qubit去做运算也就是同时运算了0与1这两种可能性,如果同时对多个qubits去做运算,平行运算的排列组合也将等比级数成长。

而要描述qubit的状态我们通常会使用狄拉克表示法(接下来一部分可能比较反人类,看看就行不用深挖),同时为了更容易理解与想象抽象的量子状态,我们也会使用两种视觉化表示法来呈现,一种是较为直觉的希尔伯特空间表示法,另一种更广泛被使用的表示法则是进一步把二维的希尔伯特空间表示法再投影成三维球面形成包含完整相位信息的布洛赫球面表示法,以上都是针对单一qubit的表示与呈现方式。




在两个qubits的情况下叠加态它们所对应的希尔伯特空间的维度也将以等比级数成长下去,就像传统计算机使用NOT,AND,OR等等的逻辑闸来改变bit的状态,针对qubits的状态我们也能使用一些基本逻辑闸来操作。

其中最简单的例子就是NOT gate也称为X gate,因为它让qubit状态在布洛赫球面上面沿着X轴旋转180度造成qubit值反转的效果,而基于同样的概念也有沿着Y轴与Z轴旋转180度的Y gate和Z gate。

另一个量子运算必用的逻辑闸则是Hadamard gate通常以H来表示,通过Hadamard gate,qubit就会从固定的本征态进入叠加态,我们也才能利用这样的叠加态来进行所谓的量子平行运算。有了以上的NOT gate和Hadamard gate我们就能推出四种常用的基本量子状态|0,|1,|+,|-。

而除了单一qubit的逻辑闸也有针对两个以上qubits操作的逻辑闸,例如SWAP gate是单纯用来交换两个qubits状态。CNOT gate则是针对两个qubits如果第一个qubit是|1就翻转第二个qubit。有了CNOT gate和Hadamard gate我们就能制造出两个粒子之间的量子纠缠,由此延伸还有一种CCNOT gate又称为Toffoli gate针对三个qubits。如果前两个qubits都是|1的状态下就翻转第三个qubit。

此外,还有一些改变相位的逻辑闸T,S,Pgates也包含一开始提到的Y,Zgates,相位的改变对于单一qubit的测量结果没有实质影响,但却会影响多个qubits之间的互动进而产生不同的机率分布,硬件实操方面这些琳琅满目的量子逻辑闸都可以藉由一或多个外力例如微波、雷射、电压等来改变qubit粒子状态,也因此一个量子电路实际上就是把几颗qubit粒子摆在那边依序对它们施加不同逻辑闸,最后观察这些qubit粒子的状态以获得我们期望的结果。

有了qubit和逻辑闸接下来要怎么用它们做出有意义的算法来解决现实应用层面的问题就是软件工程师的事了。

量子计算的实际应用




这里就先简单介绍两个比较著名的量子算法。

首先是Grover算法(用于非结构性的搜寻),对于非结构性的资料传统计算机要从中找出一笔资料必须把所有资料都扫过一遍,这样所需要花费的时间复杂度为O(n),而透过量子运算来跑Grover算法则可以把时间复杂度降到O(√n),也就是说假使某个非结构性搜寻在传统计算机上要跑10000秒,透过Grover算法只需要100秒。它的原理在于透过一个oracle function只有在输入为要找的对象的时候才回传1其余都回传0,然后以这个oracle function来反转这个值得振幅,不断重复之后要找的资料就会渐渐浮出台面,最后得到它的机率将趋近于1。

再来介绍的是可能颠覆现有世界运作的算法Shor算法,Shor算法用于计算质因数分解,也就是密码学当中非对称式加密的重要基石,由于非对称式加密在传统计算机上难以在短时间内破解,所以许多银行、网络系统以及区块链都采用了非对称式加密做为最基础的认证与防护机制,一旦Shor算法解开了这个秘密,这些与人们日常生活息息相关的系统将赤裸裸地被拥有量子运算能力的人完全掌控。Shor算法之所以能大幅提升质因数分解的速度的关键在于它能利用量子运算来快速算出mod周期,进而有效率地猜测与逼近正确答案,以至于能将时间复杂度由指数时间降到多项式时间,也就是说用传统计算机要花上数千年来运算的质因数分解难题透过Shor算法只需要几分钟的时间,这正是量子计算机革命性强大威力的最佳实例展示(反人类问题到此结束)。

结语

当我们深入了解量子运算就知道它并不适合用在上网、看视频、打游戏等等传统计算机擅长的事,然而针对特定适合以0与1排列组合平行运算的复杂问题就是量子计算机拿手的领域了,这些领域包含医疗制药、材料科学、金融、天气预报、AI等等,这些领域在量子运算成熟的未来将很有机会获得跳跃性的成长。除了量子运算,目前量子物理被拿来使用的量子通讯与量子感测也都是十分令人期待的应用,当然这些问题就不是本文要详谈的了。

相关内容