1.1 量子计算历史及量子比特
admin
2023-06-24 03:00:52
0

这节简单介绍下量子计算的历史,从量子力学,计算机科学,信息论讲起,不过笔者阅历尚浅,历史上的内容及学科的发展可能理解的不透彻,可能有的地方总结的不对或不到位,还请指正。

量子力学

20世纪时,物理学存在着两大危机,其中一个就是『紫外灾难』,物理学家们讨论了四分之一个世纪,创造出了量子力学(quantum mechanics)这一现代物理理论。

量子力学是什么?量子力学是物理学中研究微观物质粒子运动规律的学科(说句题外话,据一些史料说,爱因斯坦作为一个反对量子力学学说的物理家,却帮忙证明了这个学说,2333)。量子计算机能否实现,取决于我们对微观颗粒的控制程度,因此,就需要对量子力学进行更加深入的研究。

早在1980年,科学家好奇,我们能够实现对一个量子的状态进行复制,然而事实是,不能!即:

对任意一个位置的量子,其状态不可复制!(从海森堡测不准理论推得)

通过这一基础理论,我们如今推断出了很多的其他定理,随着量子力学的完善,我们也开始思考,能否做出一个完全控制单个量子的系统,20世纪70年代开始,我们做出了很多设备,例如原子阱(atom trap),可以将一个原子分离出来,扫描通道显微镜,可以对原子操作进行排列。

为什么要对对一个量子的操作这么执着?因为,除了纯科学的需要外,对于单个量子的控制,对于量子计算至关重要。

计算机科学

图灵在1936年发表了篇论文,里面的图灵机的概念,就是现代计算机科学的化身,随后,又提出完全图灵机的概念,并声明:

所有的计算和算法,都可以用一台图灵机执行

不久之后,就出现了人类的第一台计算机,1965年,摩尔提出了摩尔定律:计算机的计算能力将大约每两年翻倍,好的,这一预言,连他本人也没想到,会持续到现在(2019年),不过,如今,摩尔定律貌似走到了瓶颈。如何解决这一瓶颈?其中一个方法,就是量子计算,量子计算速度比电子计算机运行速度快很多。

图灵机这一概念在计算理论发展的同时,也遇到一些瓶颈,比如素数检测,至今没有找到一个十分有效的算法(尽管有效率较高的概率算法),1982年,费曼(就是参加过研究原子弹的那个很厉害的物理学家)指出普通的计算机难以模仿量子系统,如果基于量子力学设计计算机,将能克服这个问题,不过,是不是量子计算机会在各个方面优于经典计算机,我们不知道,量子计算上的算法的设计难于经典计算机,一是量子计算机的原理不同于经典计算机,必须要依赖于量子的特性实现,二是设计的算法,要优于经典计算机,否则,设计的算法无意义...

目前,量子计算最引起轰动的算法是1994年,Shor提出的质因数分解的量子算法,它的时间复杂度仅为 ,而我们现在通信中最基础的加密算法之一——RSA,就是基于现代计算机,无法短时间内,对大数进行质因数分解而提出,如果该算法能够实现,则现在的加密系统可以说就瘫痪了,不过放心,有人预言未来至少10年内,不会出现能够实现这个算法的量子计算机,其实这个预言太保险了,十年前就有人预言十年内不会出现了,现在依然没有太多的起色,所以,安心的用移动支付吧~

由于这个原因,如果短时间内造出量子计算机,那么,其带来的危害将远远大于带来的利益,目前,虽然物理学家们在努力的研究,并制造出一些小成品,但何时能够做出能够应用的计算机,前途还很迷茫。


补充章节:图灵机和信息论

(这个章节原书比较冗长,但对于后面阅读没有大影响,不感兴趣可以略过,下面分割线后继续量子比特的讲解)

图灵机中有个断言:任何算法都能在图灵机中高效的实现,这是Church-Turing论题,后来,被证明图灵机的确很有用,然后又加强了这个论题:

任何算法的过程,可以在图灵机中高效的模仿。

然而,1970年,这个论题受到了挑战,一个素数检测算法——Solovay-Strassen test,它有概率的检测一个数可能是素数,或者肯定是合数,这个问题不能被确定性图灵机高效的解决,但是,我们可以稍微改写一下论题,就可以解决这个问题:

任何算法的过程,可以在概率性图灵机中高效的模仿

看起来很不舒服,我们目前也不能确定这个模型是否能够模仿所有的算法过程,于是也有人思考,能不能基于物理的原理,创造一个能够解决所有问题的模型,其中就有人基于量子力学,思考过量子计算机,但至今无果,同时,物理上的弦理论,能否带来启发?也是未知的,但是,我们已经有了比经典计算机更强的量子算法,所以,我们某种程度上可以想想,量子计算机将强于经典计算机。

在质因子分解的算法被提出后,许多人翻起了1982年费曼写的论文,论文中有指出经典计算机很难模拟量子系统,基于量子构造计算将能克服这个困难。

不过,解决其它的问题,量子计算机会不会更快?我们不知道...量子计算机何时会优于经典计算机,对于那些问题试用?解决一系列问题仍然是一个很大的挑战。

然后,我们再谈信息论,1948年,香农发表了一系列论文,构成了我们如今信息论的基础,香农在其中主要解决了两个问题,一是,发送者需要如何把信息发送出去,二是,信息如何能抵抗噪声,香农于是提出了两个定理:无噪声信道编码定理和噪声信道编码定理,为了传输稳定,香农提出了纠错码的概念。

量子信息学随后相似的发展起来,1996年,有科学家发现了一个重要的量子代码的类,被叫做CSS codes,1992年,有人提出了用一个量子比特发送两个经典比特信息的方法,叫做密集编码。

(原书中还有量子信息安全的历史,实在不想看了...毕竟看了对后面的学习也没用,回头再看吧)


量子比特(qubit)

经典计算机中,有比特这一基本单位,量子计算中,我们使用类似的,量子比特(qubit)来表达,后面,我也将用qubit代替量子比特,感觉相比汉字直观点。

这里,我们将qubit作为一个数学上的一个概念物体,就像计算机中,我们不考虑其具体的实现,但注意,qubit不是简单的0或1!

qubit也有状态,它存在两个计算基本状态, 和 , 是狄拉克记号(Dirac notation),我们后面将后面经常用到。

对于一个qubit,它可能为 和 的一种,但也可能不是,而是两个可能状态的线性组合:


其中, 是复数,不过现在先认为是普通的实数也没关系。

特别说明,和普通计算机不同,我们不能测定一个qubit的状态,即,我们无法知道的值,当我们观察这个量子时,它有 的概率结果为0, 的概率结果为1,当然,我们有 ,也因此,我们可以说qubit的状态是一个二维的复数向量空间。

因此,我们可以看出量子计算的不同,它的不确定性导致和我们的认知方式极其不同,虽然很奇怪,但它真实存在,更奇特的是,qubit被观测后,它的状态可能就发生了改变!比如,在测量前,是 ,返回的结果是0,之后后面再次测量,会变成 ,至于为什么这样,我们不得而知,笔者物理知识比较缺乏,再加上Nielsen的第七章有详细说明,更多具体实现原理在此不详细讲述。

(下面涉及到一些复变函数,笔者目前没弄懂,过两天请教下数学院的同学再更新解释下,先抄过来了)

(update,解释过程比较复杂...于是弃疗...)

由于 ,我们可以将 改写为 ,其中 为实数,在第二章,我们将会看到,我们可以忽略 这一项,然后重写为下式:


根据这个式子,我们可以发现,这个式子代表了一个三维的单位球,这个球被叫做布洛赫球(Bloch sphere)。



这个模型使得qubit变得可视化,然而,这个模型有局限性,布洛赫球不能够表达multiple qubit,目前,笔者尚未找到比较官方的翻译,我先把打称为复qubit吧。

如果我们有两个bit,我们可以写成00,01,10,11四种形式,假设我们有两个qubit,我们可以写成 的基本状态,同样的,我们可以有:

类似的,有

最后,我们再提及一个后面会经常用到的一个qubit,希望能够记牢:

Bell state或者叫做EPR pair


相关内容