量子计算简史( 二 )


量子计算和传统计算传统计算机的资料最小单位bit , 是单一状态为0或1的位元 , 而量子计算机的资料最小单位quantum bit(简称qubit)则是一个可以同时处于0与1之间叠加态的量子位元 , 当只有单一状态的bit运算太慢我们就可以用叠加态的qubit来平行运算 , 当我们叠加态的qubit去做运算也就是同时运算了0与1这两种可能性 , 如果同时对多个qubits去做运算 , 平行运算的排列组合也将等比级数成长 。
而要描述qubit的状态我们通常会使用狄拉克表示法(接下来一部分可能比较反人类 , 看看就行不用深挖) , 同时为了更容易理解与想象抽象的量子状态 , 我们也会使用两种视觉化表示法来呈现 , 一种是较为直觉的希尔伯特空间表示法 , 另一种更广泛被使用的表示法则是进一步把二维的希尔伯特空间表示法再投影成三维球面形成包含完整相位信息的布洛赫球面表示法 , 以上都是针对单一qubit的表示与呈现方式 。

在两个qubits的情况下叠加态它们所对应的希尔伯特空间的维度也将以等比级数成长下去 , 就像传统计算机使用NOTANDOR等等的逻辑闸来改变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 。
此外 , 还有一些改变相位的逻辑闸TSPgates也包含一开始提到的YZgates , 相位的改变对于单一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等等 , 这些领域在量子运算成熟的未来将很有机会获得跳跃性的成长 。 除了量子运算 , 目前量子物理被拿来使用的量子通讯与量子感测也都是十分令人期待的应用 , 当然这些问题就不是本文要详谈的了 。

推荐阅读