一提到量子计算机,大家的第一反应就是快,具体能有多快呢,简单来说,现在地表最强的超级计算机在几亿年都运算不完的问题,用量子计算机只需几秒就能搞定。
量子计算之所以可以如此快,其本质在于基层运算逻辑和电子计算机完全不同。
如今我们所处的互联网时代,其底层逻辑都是基于单向运行的二进制来开展的。
传统计算机的核心就是CPU,而CPU的本质就是由无数个晶体管构成的大号控制器,每一个晶体管就像是一个开关,通过开关的打开和闭合表示0和1,而0和1的二进制组合可以表示任何数字,字母以及像素点。所以屏幕上呈现的文字和照片都可以用最基本的0和1的组合表示。
但是0和1的组合是线性过程,要想表示更多的信息,0和1的组合的长度也会更长。
经典的CPU在处理二进制时,一次操作只能处理一次,信息越多,CPU处理的时间就越长。
量子计算机之所以快,是因为不再采用二进制这种看起来简单线性的操作方式,而是采用量子位,也就是量子比特。
可能很多人对量子比特的概念比较陌生,但是经常看我视频的粉丝肯定对量子力学有一定的了解。
量子力学是研究微观世界的一门学科,具体来说,微观世界就是次原子世界,也就是比原子还小的那些粒子构成的时空。
而微观粒子的运动和宏观物体完全不同,微观粒子具有波粒二象性,量子叠加态。
通俗一点说,微观粒子可以同时处于多个位置。而这些位置分布可以弥漫整个宇宙空间,所以微观粒子就特别像是波,而大部分时候波的能量往往会聚集到某一个固定的空间尺度上,从而形成波包,而波包就是我们常常说的粒子状态,如果波包比较分散,这时候微观粒子就更像是一条波。这也就是粒子波粒二象性的体现。
从本质上来说,微观粒子的内禀属性就是模糊,不确定的。这种性质也造就了量子叠加的特异现象。
量子叠加就是量子系统的量子态,可以是几种不同量子态中的任何一种,通俗一点来说,一个粒子在测量之前可以处于多种状态,比如电子的自旋,它是内在角动量的表现,未测量前,电子即可以处于上旋状态,也可以处于下旋状态。而一旦测量电子的自旋,要么就是上旋,要么就是下旋,这时候叠加态就会消失。
量子计算机的本质就是利用微观粒子可以处于叠加态的特性制造的。
然而,微观粒子的量子叠加态很容易受到外界的能量干扰,导致叠加态坍塌,也就是从量子态过渡到经典态,这就是量子退相干。
如果要想量子计算机持续运行,就得一直保证粒子处于叠加态,这就对外界的环境要求极为苛刻。
所以,量子计算机必须待在“冰箱”里,这种冰箱所提供的温度仅仅只能比绝对零度高一点点,以杜绝外界粒子的能量干扰。
只有这样,粒子的叠加态才能持续维持住!
我们可以想象一个量子位的自旋叠加态代表0和1,在没有对量子位操作之前,量子位可以处于0和1的任何状态。
其实量子位可以用任何基本粒子来代替,比如,电子,光子,这是因为微观粒子都具有叠加态,用哪一种粒子都无所谓的。但是考虑到粒子的操作难度和制作成本,我们一般采用光子作为量子计算的基础粒子。
在数学上,我们可以将叠加态写成│ψ>,其中psi代表的是波函数,表示量子位的叠加,α平方表示叠加态处于0的概率,β的平方表示叠加态处于1的概率。但不管如何,0或1的总概率必须为100%,
所以α的平方加上β的平方就必须等于1。在经典计算机中的二进制中,如果我们选择α为1的话,那β就必然就为零。反之亦然。
但是在量子计算机中,只要满足α²+β²=1,α和β就可以在公式成立的前提下,取0到1之间的任何值。比如当α取1/√2,那β的取值也就是1/√2。
正是因为α和β的取值在满足公式的前提下,可以取任何值,所以,理论它们就能处理无数个问题。
比如当输入的量子位为1时,输出对应的一个结果,输入量子位为0的时候,又输出一个结果。除此之外,当输入量子位处于0~1的任何一个数字时,就会输出相对应的结果。所以我们就可以通过量子位的叠加,同时处理介于0到1之间的任何数值的运算。
但要注意,量子计算机在运行的时候是不能测量的,因为测量行为会导致叠加态坍塌,这就会造成一个问题,输出的结果是以概率的形式呈现的。而我们如果要通过量子计算机处理问题,就必须得到确定的,也就是经典的结果。不然的话,量子计算运行的结果就会造成混乱数据的局面。
这就需要量子编程科学家,通过极其复杂且精妙的设计程序,提高精确答案的概率,这就是量子纠错。
那我们应该怎么操作,才能提高量子纠错的能力?
由于叠加态就和波一样,如果要想获得精确的答案,我们就需要对错误的结果进行破坏性的干扰,有目的且精确的干扰,尽可能排除掉所有的错误项,这样就会提高获得正确答案的概率。
如果量子纠错的能力越强,那么量子计算获得正确答案的概率也就越高,这样一来,量子计算机才能真正步入商业化。