近一年来,由于工作的原因参观访问了一些量子产业园,接触了量子加密计算机、量子云计算等非常炫酷的概念性产品,这与自己一直认为的“量子技术仍然处于实验室研究阶段”的基本判断与认知产生了强烈的冲突,一刹那间,心中涌出了很多疑问与怀疑:难道自己一直以来的认识是错误的,难道量子技术的发展如此之迅速,难道量子技术都发展到如此实用的程度了?本着对科学负责,对技术负责,对自己负责的态度,花了点时间学习了解一下量子计算与量子通讯,接下来就说说自己的一些心得与体会。
一、“量子”的理解
提到量子,大多数公众都“不明觉厉”(因为不明白,所以觉得很厉害),提到量子力学,对于很多即使受过理工科高等教育的人都感到头晕目眩。事实上,大多数人第一次真正意义上接触量子一词,是在高中物理课本中。还记得高中物理学习原子结构的时候讲到,原子由原子核与核外电子构成,核外电子环绕在原子核的周围做高速运动,再后来我们学到电子只能分布在不同的轨道上的,而这些轨道的半径是不连续(请注意这个词:不连续)的,也就是说,电子只能在距离原子核特定距离的轨道上运行,这些轨道代表了原子的不同能量能级,如果电子吸收了特定的能量,它就能够从低能级轨道上跳跃(跃迁)到高能级轨道,反之,当电子从高能级轨道跳跃回低能级轨道的时候就会放出能量。这里的“不连续”特性,就是大多数人对量子一词的最初印象。
上了大学以后,随着学习的不断深入,很多理工科大学生逐渐接触到了量子的第二个重要内涵“不确定“或者”概率“。仍然以核外电子为例,随着科学家对微观世界研究的不断深入,人们发现在某一个特定的时刻,电子到底在哪条轨道上是不确定的,到底在轨道上的哪个位置也是不确定的,也就是说,人们无法使用数学的方法准确的描述和预测核外电子的位置,人们唯一能做的是寻找到一个概率分布函数,用来描述电子出现在不同轨道,不同位置的概率大小,这就是大名鼎鼎“薛定谔方程”。量子科学认为,我们不观察电子位置的时候,电子无处不在,可以想象成电子向一团云雾(电子云)一样出现在核外的任何位置上(注意,现在我们知道传统科学认为的电子在绕核高速运动的假说是错误的),电子在在某个位置上出现的概率由薛定谔方程描述,科学家还给这种状态起了个名字叫叠加态;当我们观察电子位置的时候,电子才出现在一个具体的位置上,位置确定的状态叫做“坍缩态“,从叠加态到坍缩态的过程称之为“坍缩“。
最后,量子还有第三个重要内涵“纠缠“,纠缠一词经常出现科幻文学作品中,所以很多人都或多或少的有所耳闻。人们发现,可以通过一些特殊的手段,让两个(或者多个)量子在某些特殊的物理属性上处于一种相关联的状态中,例如,一个光子经过某个特殊的装置以后会变成两个偏振方向完全正交的光子,在测量光子的偏振方向之前,两个光子的偏振方向都是不确定的,但如果我们测量了其中一个光子的偏振方向,则对另一个光子的偏振方向测量的结果一定与前一个光子的偏振方向正交,这听上去似乎并没有什么魔幻,量子纠缠魔幻在于它不属于两个量子之间的相互作用,换句话说两个量子之间状态的关联可以超光速存在或传递。现在让我们假象一个场景,假如人类掌握了长时间保持量子纠缠状态的技术与量子状态控制的技术,人类就可以首先通过加速器将两颗纠缠量子中的一颗,加速到无限接近光速的速度,然后将其发送给几光年之外的外星文明,当然这个过程需要好几年的时间,但是在外星文明接收到这个量子以后,两个文明之间就建立起了一个超光速的通信信道。例如人类将信号编码成二进制串,然后将其调制成量子对应的状态,几光年之外的外星文明通过不断地测量手中量子的状态就可以接收到信息,从而实现超光速通信。事实上,上述超光速通讯的想象就是《三体》中质子的情节。
二、计算的本质与传统计算机的理论根基
在介绍完量子之后,再让我们来思考另一个问题“计算的本质”是什么?关于这个问题,不同的人会可能有给出截然不同的回答,正所谓仁者见仁智者见智,这里我们仅从便于类比“量子计算”与“传统计算”的角度给出一个回答:计算是将一组状态按照一定的规则转换到另一组状态的过程。举例说明如下,假如我们要计算1+1=2,我们首先需要将两个1转化为一组状态,然后构造一组加法规则,最终得到结果2的状态表示。这里我们用一位二进制表示一个1,所以初始状态就是11;为了实现加法运算,我们基于布尔代数(也就是与、或、非、异或等逻辑运算)构造一组运算规则,具体逻辑编排如下:
C0 = A xor B
C1 = A and B
实施具体计算的时候,使用1替换上面式子中的AB,就能得到结果C1C0=10,正好对应结果2的二进制表示。截至目前,上述设计仍然停留在逻辑的层面上,并没有制造出具体的可以实施计算的“机器”。为了制造一台可以计算的机器,人们还需要解决两个问题:一个是找到0和1的适当物理表示;另一个则是在前述的状态表示的前提下,造出能够实现逻辑门功能的电路。幸运的是,上述两个问题在十九世纪40年代前后都得到了有效的解决,人们使用电压的高和低或者电流的强和弱表示0和1,使用电子管或者半导体三极管构造出了逻辑门电路,于是电子计算机就诞生了。电子计算机自诞生以来得到了持续的发展与进步,以至于后来人们陆续提出存储程序的思想,编译的思想,操作系统的思想,发明了数据库技术,网络技术、多媒体技术、人工智能技术等,但万变不离其宗,其基本的工作原理并没有发生根本性的改变,布尔代数理论与电子技术仍然是其灵魂之所在。
三、量子计算与量子计算机
不同于现在的电子计算机,量子计算目前还处于理论基本成熟,但技术实现上仍然面临巨大挑战的低级发展阶段,所以出现在新闻媒体上的量子计算机看上去更像是一堆复杂的科研装置,而不是人们脑海中固有的显示器+键盘的形象(下图是我国的九章量子计算原型机)。人类对量子计算机的研究仍然停留在如何实现“计算”这一基本问题上,根本无暇顾及体积、功耗、易用等高级需求。
目前的量子计算机之所以被叫做“计算机”,仅仅是因为他们符合我们前文中对计算本质的描述与定义。与电子计算机当年的发展一样,要解决计算的问题,量子计算机同样面临两个类似的挑战:一个是逻辑状态的适当物理表示;另一个则是在前述的逻辑状态表示的前提下,造出能够实现逻辑转换功能的器件,前者成为量子比特,后者成为量子门。
在传统的电子计算机中,比特是一个二进制位,其值非0即1。量子比特虽然也用来表示一个二进制位,但其值是不确定的,它以一定的概率p为0,以剩余概率1-p为1,或者更加专业说法是量子比特处于0与1的叠加状态。所以,在逻辑上量子比特的值是一个概率分布,这一点是量子计算机与传统计算机的一项重要特征。因为量子比特处于叠加态,每个量子比特都是01两种状态的叠加,所以n个量子比特就是2^n(2的n次方,下同)个二进制值的叠加。如果我们对n个量子比特进行了一次运算(注意运算的定义,运算就是状态的转换),也就意味着我们一次(或者说同时)对2^n个可能的取值都进行了一次运算,2^n个结果按照一定的概率分布叠加在运算后的n个量子比特中,这就是为什么人们认为量子计算机或许可以在性能上对传统电子计算机形成降维打击的原因。理论上,我们可以选择特定的展现出量子特性的粒子作为量子比特的具体物理实现,例如:氢原子、电子、光子等。
量子比特解决了逻辑状态的物理表达问题,而量子门则解决逻辑状态变换的具体物理实现问题。最简单的量子门是量子非门,它将一个“以概率p为0以剩余概率1-p为1的量子比特”转换为“以概率1-p为0以剩余概率p为1的量子比特”,换句话说,它实现了两种逻辑状态概率的交换。
除量子非门外,还有受控非门等数种量子门,他们都按照一定的规则,改变一个或者多个量子比特中逻辑状态的概率分布。幸运的是,尽管在实现逻辑与、逻辑或、逻辑非门的过程中,遇到了一些问题与挑战,人类还是基本构建起了完备的量子门集合。这意味着,我们可以使用量子比特与量子门实现功能上与电子计算机等价的计算系统。这也是为什么我们认为量子计算理论基本完备的原因。
因为对不同量子实施状态改变的物理原理可能是不同的,所以量子比特的具体实现方法决定了量子门的具体实现方法。另一方面,有些量子是可以空间位置固定的,例如氢原子、电子等,而另一些量子则是无法空间位置固定的,例如光子,因为宇宙中不存在静止的光子。因此量子比特的具体实现,也注定了量子门的时空排布方式。例如对电子或者氢原子做两次量子门操作时,我们只能先应用第一个量子门,再应用第二个量子门,也就是在时间上排布两个量子门。而如果我们选择光子作为量子比特,则我们就可以在光路上依次布置两个量子门,也就是在空间上排布量子门。
不同的量子比特实现,对应着不同的量子门的实现难度与可靠性,可能一些量子实现量子非门较为容易,而另一些量子实现受控非门(或其他量子门)较为容易,因此如何集合不同量子比特实现的优势,构建更稳定可靠、经济实用的量子计算系统也是目前量子计算领域一个重要的研究方向。
目前,量子计算的基本理论已经基本成熟,但在具体物理实现的层面仍然面临着诸多困难挑战,量子计算机基本相当于十九世纪40年代左右电子计算机的发展水平,人类对量子计算机的研究仍然停留在打通关键技术的阶段,距离大规模应用与通用应用还有相当长的一段距离。
另一方面,尽管量子计算机的基本原理决定了其在某些方面对传统计算机具有压倒性的优势,但这并不意味着量子计算机可以对传统计算机形成全面的碾压,事实上很多传统计算的问题,量子计算机甚至还无法给出具体可行的解决方案,或者无法从性能上与传统计算机向对标。
四、总结
综上,目前量子计算机的发展尚处于非常早期的阶段,距离大规模应用还非常之遥远。几乎所有所有号称使用了量子计算技术制造的电子设备,包含所谓的量子加密PC、量子加密耳机等其他电子设备,都是智商税。