量子计算机论文.docx
《量子计算机论文.docx》由会员分享,可在线阅读,更多相关《量子计算机论文.docx(31页珍藏版)》请在冰点文库上搜索。
计算机系统结构
量子计算机论文
量子计算机论文
目录
1.量子计算机的介绍 2
1.1概念起源 2
1.2 需求来源 2
1.2.1举例说明 4
1.3预备知识 7
1.3.1态叠加原理 7
1.3.2量子纠缠态 8
2.量子计算机的特点 9
2.1经典计算机的运算过程 9
2.2量子计算机的储存 9
2.3量子计算机的逻辑门 11
2.3.1量子逻辑门也是由三种基本逻辑门构成 11
2.3.2量子逻辑门都是可逆的 12
2.4量子计算过程 13
2.4.1量子并行运算 13
2.4.2量子测量:
输出结果 14
2.4.3量子纠缠态和相干性 15
2.5量子计算机性能特点小结 16
3量子计算的编码与纠错 17
3.1消相干 17
3.2量子编码与纠错 17
3.2.1量子纠错的困难 17
3.2.2量子纠错码 18
4.量子计算机应用展望 20
4.1前景简介 20
4.2商业化的道路 23
4.3科研道路 28
1.量子计算机的介绍
1.1概念起源
量子计算机,顾名思义,就是实现量子计算的机器。
量子计算机(quantumcomputer)是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。
当某个装置处理和计算的是量子信息,运行的是量子算法时,它就是量子计算机。
量子计算机的概念源于对可逆计算机的研究。
研究可逆计算机的目的是为了解决计算机中的能耗问题。
1.2 需求来源
现在我们的生活离不开数字计算机。
桌面电脑、笔记本以及智能手机能够制作表格,观看流媒体视频、网络聊天以及3D虚拟现实。
但是从它们的核心来看,所有的数字计算机都有共性,那就是它们仅仅都在按照特定的算法来进行计算。
它们具有十分强大的运算能力(计算机能在一秒内完成几十亿次的运算)。
正是由于计算机的强大的计算能力,我们才能够使用它们来完成一些非常复杂的问题。
一个经典计算机的计算过程可以简单的用下图来表示:
图片来源
但是尽管经典计算机的计算能力非常强大,但是仍然有一些领域让经典计算机力不从心。
比如图像识别,自然语言理解等。
尽管近些年计算机科学家们在这些方面做了大量的研究工作,但是目前为止所有的方案都需要巨大的运算量,即使依赖于经典计算机的运算速度也显得力不从心,而且对于能源和空间的消耗也是客观的。
基于上面的考量,有必要设计一种新的计算机能够适应这种需要巨量运算任务。
而源于可逆计算机研究的量子计算机的概念应运而生。
由于量子计算机实现了真正意义上的并行运算和随机计算,摆脱了经典计算机的冯诺依曼结构,所以在某一些领域相比较经典计算机有着无可比拟的优势。
但是量子计算机无法取代经典计算机,因为在另外一些领域,量子计算机的表现并不好,甚至计算速度要低于经典计算机。
量子计算机的概念源于对可逆计算机的研究,而研究可逆计算机是为了克服计算机中的能耗问题。
因此,相比经典计算机,量子计算机还具有能耗低的优点。
但是正如上面所说的,量子计算机的产生的目的并不是要替代经典计算机,而是为了弥补经典计算机在某些领域的不足。
1.2.1举例说明
我们来举一个例子,关灯游戏。
这个游戏可以告诉我们为什么我们不能在一些领域使用经典计算机来求解。
关灯游戏的规则就是找到最佳的一组开关状态,下面是一张描述这个游戏的图示:
假设每个开关都有一个数字与之相联。
我们称这个数位“偏爱值(biasvalue)”。
你需要对每个开关选择开或者是关,我们规定开代表1,关代表-1。
你需要选择每个开关的状态(开/关)来使得每个开关的状态值乘以偏爱值的积的总和最小。
hi代表开关i的偏爱值,Si代表开关i的状态值,我们的目标就是使E最小
显而易见,当偏爱值是负数时我们应该选择开,当偏爱值是正数时我们应该选择关。
现在我们来使这个问题更复杂一些。
在这些开关中某两个开关之间会有一个附加条件:
在这两个开关中新加入一个偏爱值j,计算过程是将所有的开关的h*s的值相加然后再加上所有具有j的两个开关的状态值与j相乘的总和,使得总结果最小。
现在就变得非常复杂了。
因为我们影响结果的因子不光是每个开关自身还包括了他的相邻开关。
随着开关网络的扩大,这个任务会迅速变得非常复杂。
我们所能想到的唯一的解决办法就是穷举法。
穷举出所有的可能结果。
如果只是两个开关的话,情况非常简单,只有四种情况[ONON],[ONOFF],[OFFON]和[OFFOFF]。
但是如果有更多的开关加入的话,可能的情况会呈指数增长:
可以看到,当达到100个开关时,情况就已经非常的多了。
即使是对于现在的超级计算机,也是一个非常有挑战的任务----需要将所有的可能存储并将它们送到CPU运算-----这会花费非常多的时间。
仅仅500个开关,恐怕在你有生之年是看不到结果了。
但是量子计算机却特别适合这种穷举算法。
凭借着量子力学的理论,量子计算机不仅可以花费极小的空间来存储所有的可能情况,情节也会花费极少的时间来得到所需的结果。
1.3预备知识
在详细介绍量子计算技术之前,首先需要具备一些基本的量子力学的知识。
了解它们会更好的理解量子计算机的工作原理。
1.3.1态叠加原理
态叠加原理是量子力学中的一个基本原理它说明了,波函数的性质。
如果ψ1如果是体系的一个本征态,对应的本征值为A1,ψ2也是体系的一个本征态,对应的本征值为A2,根据薛定谔方程的线性关系,ψ=C1ψ1+C2ψ2也是体系一个可能的存在。
在这个状态下对A进行测量,测得的A值既可能是A1也可能是A2,相应的概率之比为 |C1|2/|C2|2。
在这里有一个经典的假设:
薛定谔的猫的实验。
实验内容是:
一只猫被封在一个密室里,密室里有食物有毒药。
毒药瓶上有一个锤子,锤子由一个电子开关控制,电子开关由放射性原子控制。
如果原子核衰变,则放出α粒子,触动电子开关,锤子落下,砸碎毒药瓶,释放出里面的氰化物气体,猫必死无疑。
这个残忍的装置由奥地利物理学家埃尔温·薛定谔所设计,所以此猫便叫做薛定谔猫。
量子理论认为:
如果没有揭开盖子,进行观察,我们永远也不知道猫是死是活,它将永远处于非死非活的叠加态。
这虽然违反现实世界的经验,但是却是量子力学中的一个性质。
1.3.2量子纠缠态
假设一个不稳定的大粒子衰变成两个小粒子的情况,两个小粒子向相反的两个方向飞开去。
假设该粒子有两种可能的自旋,分别叫“左”和“右”,那么,如果粒子A的自旋为“左”,粒子B的自旋便一定是“右”,以保持总体守恒,反之亦然。
我们说,这两个粒子构成了量子纠缠态。
量子纠缠态有许多在宏观世界里看起来很不可思议的特点。
比如说,上面的两个粒子已经到了相距几万光年的两个地方。
这时候如果A的自旋变为“右”,那么同时刻B的自旋会立即变为“左”。
它们之间的信息传递是超距的!
这也就是EPR佯谬。
但是量子力学证明了这种现象是合理的并且是不违背广义相对论的。
2.量子计算机的特点
为了方便显示出量子计算机的特点,以下先简介下经典计算机的运算过程
2.1经典计算机的运算过程
从广义上讲,计算是一个物理操作,它可以看作是作为计算仪器的物理系统按照设计好的的步骤执行的过程。
因此,可以把这一过程总结为:
首先输入原始数据,然后执行计算(按照预先设计的算法规定的步骤),最后输出结果。
从物理的角度这可以解释为:
首先在计算系统内制造出一个初始物理态,然后按照算法规定的步骤将给定的初始物理态演化成对应输出物理态的过程。
最后输出结果,可以看成对演化的物理末态进行测量得到所需信息的过程。
2.2量子计算机的储存
我们都知道经典计算机存储的基本单位是比特,一个比特可以用来表示1或者是0。
由于一个比特只可以表示两个数,所以在经典计算机的内部数据表示都是以二进制来表示的。
当存在N个这样的存储单元,就可以存放一个N位的数据。
在量子计算机中,也存在类似的一个信息存储单元,叫做量子位(Qubit),量子位是量子计算机内部数据的基本单位。
量子位与传统的比特有着很大的区别。
首先,量子位是根据量子力学理论的叠加态所演化出来的。
在经典计算机中,一个比特位可以代表着0或者是1,但是在同一时刻只能代表一个状态。
用量子理论的观点来看,就是一个比特位要么处于0态要么处于1态。
由于量子力学中的态允许叠加,所以一个量子位可以同时代表着0和1,我们说它处于0态和1态的叠加态。
(正如薛定谔的猫处于死亡和存活的叠加态一样,只要你不去观测它,你就无法正确的判断这只猫是生还是死)。
这样一来,量子计算机可以使用相对于经典计算机小好几个数量级的存储空间来存储相同信息。
举例来说:
在经典计算机中,需要存储4个char类型,每个char占8个bit
00110000数字0
00110001数字1
00110010数字2
00110011数字3
使用经典计算机存储这四个数字字符需要使用4个byte的空间。
但是在量子计算机中,只需要使用8个量子位即可。
(因为每个量子位可以既代表着0态又代表着1态)。
实际上,仅仅使用8个量子位能够存储的2的8次方条信息,而在经典计算机中,则必须使用2的8次方个byte才可以。
在量子计算机中,处于叠加态的N位量子寄存器(存储器)中的数是从0到2N-1的所有的数,它们各以一定的概率同时存在。
因此,一个N位量子寄存器就可以同时保存2的N次方个N位二进制数。
量子寄存器(存储器)位数的线性增长是存储空间呈现指数增长。
这是量子计算机存储单元的基本特征,也是量子计算机在并行计算领域的计算速度能大大超越经典计算机速度的前提。
2.3量子计算机的逻辑门
正如经典计算机中所有信息的处理和计算都是通过逻辑门来实现的。
十九世纪爱尔兰逻辑学家GeorgeBoole证明了任何复杂的逻辑任务和算数任务都可以通过非(NOT)门,复制(COPY)门和与(AND)门这三种简单操作的组合来完成。
2.3.1量子逻辑门也是由三种基本逻辑门构成
量子逻辑门(以下简称量子门)也是以这三种简单逻辑门(非门,复制门和与门)为基础。
我们将对量子寄存器的叠加态进行变换以实现一些逻辑功能的幺正变换操作称为量子逻辑门。
用算符表示,它将一个态演化成另一个态。
量子逻辑门有两种相互作用的量子位:
控制位和目标位。
控制位保持不变,但它的状态决定目标位的演化。
如果控制位是0,则目标位不发生任何改变;如果控制位是1,则目标位将经历一个确定的变换。
同时,量子力学允许更多的选择。
如果控制位是0和1的叠加态,量子门的输出则是缠绕的态(纠缠态)。
输入的量子位的叠加和输出态的缠绕是量子门区别经典逻辑门的基本特征。
2.3.2量子逻辑门都是可逆的
量子计算机的概念源于对可逆计算机的研究,而研究可逆计算机是为了克服计算机中的能耗问题。
早在六七十年代,人们就发现,能耗会导致计算机芯片的发热,影响芯片的集成度,从而限制了计算机的运行速度。
Landauer最早考虑了这个问题,他考察了能耗的来源,指出:
能耗产生于计算过程中的不可逆操作。
例如,对两比待的异或操作,因为只有一比特的输出,这一过程损失了一个自由度,因此是不可逆的,按照热力学,必然会产生一定的热量。
但这种不可逆性是不是不可避免的呢?
事实上,只要对异或门的操作如图1所示的简单改进,即保留一个无用的比特,该操作就变为可逆的。
因此物理原理并没有限制能耗的下限,消除能耗的关键是将不可逆操作改造为可逆操作(见图1)
---图片引自
经典计算机中的基本逻辑门是不可逆运算。
由于量子力学的个过程是可逆的,对于量子计算机,所有的操作也必须是可逆的,因此基本的逻辑门也应该是可逆的。
已经知道在量子逻辑门所实现的变换均是幺正变换。
科学家已经证明量子计算机中任何的幺正操作都可以由一位旋转门运算和两位异或门运算组成。
也就是说,幺正操作同时作用在一个或者两个量子位上。
可以看出,由于量子逻辑门的可逆性,量子计算机相比经典计算机还具有能耗低的特点。
2.4量子计算过程
量子计算中的运算是通过幺正变换来进行。
幺正变换指当一个线性变换的变换矩阵满足该矩阵与其共轭转置相乘等于单位矩阵则这个变换为幺正变换,就是说幺正变换和它的复共轭转置是互逆的。
2.4.1量子并行运算
量子并行运算是量子计算机的最大的特点,同时也是量子计算机为什么能够比经典计算机在某些领域速度快的原因。
由于在量子计算机量子位的态的叠加,幺正变换也是线性变换。
此外,幺正变换还是局域变换,即只对一定的量子位起作用。
例如
经量子逻辑门演化后的态位叠加态。
设4位的量子寄存器初始都处于|()>态,对每一个量子位实行量子逻辑们的幺正变换的演化,则
4次操作得到16项(2^4),那么N次基本操作得到包含2的n次方个数值的寄存器的态。
而在经典计算机中,一次操作只能得到一个数值的寄存器的态。
若在量子寄存器中存在一个若干个数的相干叠加态,接着进行线性、幺正运算,则计算的每一步将同时对叠加态中的数同时进行。
这就是量子并行运算。
简单的说,就是量子计算机量子存储器中的内容进行一次操作,即同时对所存储的2^N个(最大上限)数据进行数学运算,这等效于经典计算机重复实施2^N次操作。
很明显,这对于计算速度的提高无疑是巨大的。
2.4.2量子测量:
输出结果
尽管依靠量子的叠加性和量子并行运算,量子计算机的并行运算速度大大超过了经典计算机,但是由于需要输出结果,必须要找到一种方法能够从一连串的叠加态中得到所需要的结果。
量子测量的过程是量子计算机实现并行运算的关键。
由于量子寄存器中所存储的数据是叠加的,也就是处于一种未知的状态。
各个状态有相应的几率出现。
由于之前说明的量子的退相干性,量子位的叠加态会因为观测而坍缩成一个基本态。
因此,N位的量子寄存器中的所有可能数据会坍缩到一个确定的N位二进制数,这个就是我们想要输出的结果。
举例说明,以一个两位的量子寄存器为例,在测量之前为叠加态:
在测量之后将会坍缩到|00>、|01>、|11>或|10>中的任何一个,其概率分别为、、、。
量子的退相干性是随机的。
也就是说,坍缩的结果是随机的,是不能选择的。
为了能得到我们想要的结果,就需要设计一个量子算法和观测函数,利用量子态的相干性,使所需的结果出现概率增强,同时使不需要结果出现的概率减小,从而使所需的结果在测量时能够以相当高的概率出现。
2.4.3量子纠缠态和相干性
因为量子计算机的计算关键是依靠量子的叠加态和量子纠缠态两种理论基础,所以有必要在这里简单的介绍一下量子的纠缠态。
假设一个不稳定的大粒子衰变成两个小粒子的情况,两个小粒子向相反的两个方向飞开去。
假设该粒子有两种可能的自旋,分别叫“左”和“右”,那么,如果粒子A的自旋为“左”,粒子B的自旋便一定是“右”,以保持总体守恒,反之亦然。
我们说,这两个粒子构成了量子纠缠态。
量子纠缠态有许多在宏观世界里看起来很不可思议的特点。
比如说,上面的两个粒子已经到了相距几万光年的两个地方。
这时候如果A的自旋变为“右”,那么同时刻B的自旋会立即变为“左”。
它们之间的信息传递是超距的!
这也就是EPR佯谬。
但是量子力学证明了这种现象是合理的并且是不违背广义相对论的。
而相干性是指处于纠缠态的量子之间所具有的性质。
具体来讲,在量子计算机中的结果观测过程中,通过对一位量子位的操作,会影响到其他的量子位。
正是依靠这一性质,我们才有可能使得正确的结果出现的概率增大,而不需要的结果出现的概率减小。
2.5量子计算机性能特点小结
通过对量子计算机原理的探讨我们知道,量子计算机并不一定比经典计算机快。
量子计算机的优势在于并行运算。
然而经典计算机同样也是可以实现并行运算的,那么为什么说量子计算具有超越经典计算的运算速度呢?
在经典计算中,并行性的核心是将一个计算任务分配给多个处理器同时运行(或者说多指令并行),这样要快于使用一个处理器来运行。
在理想情况下,将工作分配给K个处理器就应该使计算时间缩短为原来的1/K。
但是“Amdahl在1967年发现这种加速性有一个极限,当达到这个极限时,即使再增加
处理器的数量,也不能使计算速度有所提高。
”这是因为在经典计算中并不是所有的运算都可以分给多个处理器来做,因为这些运算是具用连续性的,必须在得到上一个运算的结果之后才能开始下一步的运算。
因此,可以将经典计算分为可并行计算和不可并行计算的两部分。
与经典计算中的并行性不同,由于量子计算机的特点就是数据的可叠加性和操作的幺正变换本质,从而决定了量子计算是完全意义上的通过一次操作即可改变全部数据的并行运算。
3量子计算的编码与纠错
3.1消相干
虽然量子计算机相比传统计算机存在很大优势,也有很多实验证实了量子计算的可行性,但是目前研制量子计算机仍然面临着一个主要的困难——消相干。
在实际环境中,量子系统无法完全与所处的环境完全隔离,消除系统和外界环境的相互作用。
因为在量子计算机中,执行运算的量子比特不是一个孤立系统,它必然要与外部环境发生相瓦作用,这种作用实际上是对量子体系的一种干扰。
这种干扰的长期存在可能引起量子体系状态的改变,破坏量子体系的相干性,即导致消相干。
消相干会使存储在量子计算机内的量子信息遭到破坏,从而引起计算出错.在量子系统中,消相干效应发生得很快,这也是我们为什么从没发现宏观态叠加的原因.除了消相干会导致量子错误外,其他一些技术原因,例如量子门操作中的失误等,也会导致量子错误。
如果让量子计算机有能力解决难题,我们必须找到控制消相干效应和其他潜在错误源的方法。
3.2量子编码与纠错
3.2.1量子纠错的困难
由于量子位不同于经典位,量子纠错存在许多的困难。
首先就是一个未知的量子态不能被完整的复制.因为复制是用测量的办法读出状态参数,由于不确定关系,测量后的状态已不是原来的状态,即不能直接套用经典的办法,通过运算期间的检测判定中间数据的正确性来保证量子计算机不出错。
其次,对于量子信息,存在着比破坏经典信息更多的因素.除了位翻转错误:
|0>变成|1>,|1>变成|0>,还有可能发生相位错误|0>变成-|0>,|1>变成-|1>。
相位错误是很严重的,因为它会使状态从12|0>+|1>翻转到其正交态12|0>-|1>。
第三,经典信息的错误是分立的,而量子信息的错误是连续的.如果一个量子位处于状态错误的发生致使a和b改变一个小量E,但随时间的推移,这些小错误会慢慢积累起来,最终变成大错。
最后,为了诊断和纠正错误,必须观察几个量子位,但是量子测量必然会扰乱被测量子态,从而会引入新的错误.尽管量子纠错存在着许多困难。
3.2.2量子纠错码
在经典计算机中,已经有一套发展很完善的纠错理论,如冗余码纠错的方法(即除有效信息位外,按不同的校验方式引入冗余码,如增加奇偶校验位,crc冗余位)。
我们可以借鉴他们进行校验的原理:
即认为出现错误的总是小部分,增加冗余位,如果出现不一致则认为小部分的是错误。
量子纠错码就是应用这个原理进行纠错。
量子纠错码可以看成是m个量子位到n个量子位的映射,这里n>m.我们要保护的信息就是存储在这m个量子位中,被称做逻辑量子位或编码量子位.附加的n-m个量子位以冗余的方式存储这m个逻辑量子位,用来保护编码信息。
根据Shor的理论,我们可以使用9个量子位(n=9)的一组量子位来表征一个(m=1)量子位编码。
基态|0>和|1>分别被称做/逻辑0和逻辑1。
其中
|0>≡123(|000>+|111>)3
|1>≡123(|000>-|111>)3
每个都包括3个三量子位的团簇,每一个团簇都置于相同的量子态,每个团簇都有三重位的冗余.利用这个冗余编码,我们不仅可以纠正位翻转错误,还可以改正相位错误。
9位冗余校验的设计思路如下:
1.对于位翻转错误:
|0>变成|1>,|1>变成|0>。
我们给每一个位增加2个冗余位。
|000>来编码|0>,|111>来编码|1>
这样,在进行纠错的时候,要对这个量子位的状态进行集体测量。
测量任意两个量子位的值,与剩下的一个位进行比较。
如果测得的值均相同,则没有发生位翻转,否则,则认为3个量子位之一发生了翻转。
通过比较,便可以知道哪一个出了错,并将它及时纠正过来.这样就纠正了位翻转错误。
2.对于相位错误:
|0>变成-|0>,|1>变成-|1>。
借鉴位翻转的纠错原理,我们给每个相位增加两个冗余。
123|0>+|1>3编码12|0>+|1>
123|0>-|1>3编码12|0>-|1>
这样,在进行检错的时候,我们通过比较三个团簇中的相位,如果有一个团簇中的相对相位就不同于其它两个团簇中的相对相位。
就可以找出相位改变的团簇,检测的结果允许我们断定哪一个团簇中的符号不同于其它两个团簇,从而,我们可以把幺正相位变换应用到那个团簇中的量子位之一,改变其符号,纠
正错误。
把上面的两个思路进行综合,就是量子计算机的9位冗余校验方法。
|0>≡123(|000>+|111>)3
|1>≡123(|000>-|111>)3
4.量子计算机应用展望
4.1前景简介
77年前一个伟大的科学家在普林斯顿大学发表了一篇论文,从此诞生出了20世纪最伟大的(计算机)工业。
这个伟大的设想在经典物理理论的指导下不断取得突破,将人类从脑力计算的深渊中解脱出来,从此衍生出了一系列学科和理论并再次指导者计算机产业取得更大的突破和胜利。
但是随着传统的硅晶体管集成芯片制造业的发展,不可避免的走向了微型化的道路,当2008年Intel公司发布关于正式进入多核时代的时候,预示着整个传统计算机行业触碰到了发展的瓶颈:
量子影响。
计算机集成度的迅猛增长,制造工艺的不断提升,使得人们能制造的晶体管直径一度小到22nm(Haswell架构)。
众所周知,一个普通硅原子的直径达到了5nm。
也就是说,当技术精湛达到极限的时候,最小也只能够到5nm。
当然,在最近几十年内是不可能实现的。
在这个技术难题面前,科学家和学着们分为了两派,保守派认为传统计算机体系结构可以经过适当改进可以对计算机有相应提高。
而创新派则力图寻找一种新的计算机结构,从根本上改变当前计算机的计算方式,从而诞生出了量子计算机的想法。
当费曼这个设想公布时,全场一片哗然。
所有人都嗤之以鼻,认为这是一个纸上谈兵的空想对传统计算机行业的挑战。
这个场景似乎历史上就出现了三次,一次是哥白尼公布日心说,一次是达尔文发表《进化论》。
当人们在想办法改进问题的时候,总是会被记忆或者惯性思维困扰住。
30年前的人们对现在的预估或许并没有那么准确,人们想不到几十年后,将能够把一个计算能力超过实验室里的计算机的小家伙放进口袋,人们想不到世界每个地方每个城市的地图都可以被访问,人们也想不到,可以在眼镜上带一个小计算机,并帮助我们完成不可思议的事。
所以当现在人们认为量子计算机就是躺在实验室里的蜉蝣科学的时候,他们再一次错了。
其实早在爱因斯坦的相对论享誉全球的时候,这位时代为人就淡出人群开始研究微观世界的奥秘,当然,那时的实验条件不允许他发现更多宇宙