量子计算/量子计算机的概念是著名物理学家费曼于1981年首先提出的。
后来大家试了试才知道,原来真的可以这么玩。
【费曼还首先在Tiny Machine的课堂上首先提出了纳米科学这一个概念,他课堂的学生某种意义是人类第一批纳米科学家。然后又一个新领域诞生了。所以现在美国的纳米科学领域的奖叫做费曼纳米技术奖。
类似的,薛定谔有一个一系列讲座叫《What is life》。他在《生命是什么》里用物理思想诠释了自己对生命的理解。他把信息、负熵等思想(食物就是负熵)引入了生命科学,然后分子生物学(生命科学最重要的领域之一)诞生。】
这些行走在人类能力圈边缘的天才物理学家们总是有着这梦幻般的的创作力。所思所想皆对人类做出巨大贡献。
量子计算的原理实际上应该分为两部分。一部分是量子计算机的物理原理和物理实现;另一部分是量子算法。
关于物理部分,我直接上郭光灿院士的文章吧。他是我国量子光学的泰斗级人物。我自认为不会比他讲的更好。
【USTC物理的强大实力差不多有一半来自于潘建伟院士和郭光灿院士领导的量子物理领域。郭院士是一位非常和蔼的老人。我本科期间还向他请教过量子物理相关的问题。:)】
量子计算
量子比特可以制备在两个逻辑态0和1的相干叠加态,换句话讲,它可以同时存储0和1。考虑一个 N个物理比特的存储器,若它是经典存储器,则它只能存储2^N个可能数据当中的任一个,若它是量子存储器,则它可以同时存储2^N个数,而且随着 N的增加,其存储信息的能力将指数上升,例如,一个250量子比特的存储器(由250个原子构成)可能存储的数达2^250,比现有已知的宇宙中全部原子数目还要多。
由于数学操作可以同时对存储器中全部的数据进行,因此,量子计算机在实施一次的运算中可以同时对2^N个输入数进行数学运算。其效果相当于经典计算机要重复实施2^N次操作,或者采用2^N个不同处理器实行并行操作。可见,量子计算机可以节省大量的运算资源(如时间、记忆单元等)。
【这部分就是最基本的原理了。关于基本原理,IT人士看这段应该就够了。】
为开拓出量子计算机巨大的并行处理能力,必须寻找适用于这种量子计算的有效算法。 Shor于1994年发现第一个量子算法,它可以有效地用来进行大数因子分解。大数因子分解是现在广泛用于电子银行、网络等领域的公开密钥体系 R SA安全性的依据。采用现有计算机对数 N(二进制长度为 l ogN)做因子分解,其运算步骤(时间)随输入长度( l ogN)指数增长。迄今在实验上被分解的最大数为129位,1994年在世界范围内同时使用1600个工作站花了8个月时间才成功地完成了这个分解。若用同样计算功能来分解250位的数则要用80万年,而对于1000位的数,则要有10^25年。
与此相反,量子计算机采用 Shor算法可以在几分之一秒内实现1000位数的因子分解,而且操作时间仅随输入数的3次方增长。可见 Shor量子算法将这类“难解”问题变成“易解”问题。在量子计算机面前,现有公开密钥 R SA体系将无密可保!
Shor的开创性工作有力地刺激了量子计算机和量子密码术的发展,成为量子信息科学发展的重要里程碑之一。
【第一个(有实用价值的)量子算法。】
1997年Grover发现了另一种很有用的量子算法,即所谓的量子搜寻算法,它适用于解决如下问题:从 N个未分类的客体中寻找出某个特定的客体。经典算法只能是一个接一个地搜寻,直到找到所要的客体为止,这种算法平均地讲要寻找 N/2次,成功几率为1/2,而采用Grover的量子算法则只需要 Nkk√次。例如,要从有着100万个号码的电话本中找出某个指定号码,该电话本是以姓名为顺序编排的。经典方法是一个个找,平均要找50万次,才能以 1/2几率找到所要电话号码。 G rover的量子算法是每查询一次可以同时检查所有100万个号码。由于100万量子比特处于叠加态,量子干涉的效应会使前次的结果影响到下一次的量子操作,这种干涉生成的操作运算重复1000(即 N √)次后,获得正确答案的几率为1/2。但若再多重复操作几次,那么找到所需电话号码的几率接近于1。
Grover算法的用途很广,可以寻找最大值、最小值、平均值等,也可以用于下棋。最有趣的是可有效地攻击密码体系,如 D ES体系,这个问题的实质是从256=7×1016个可能的密钥中寻找一个正确的密钥。若以每秒100万密钥的运算速率操作,经典计算需要1000年,而采用Grover算法的量子计算机则只需小于4分钟的时间。难怪 G rover以“量子力学可以帮助在稻草堆中寻找一根针”这样的题目在 P RL上公布他的算法。
【非常有用的Grover搜索算法。】
Feynman最先(1981年)指出,采用经典计算机不可能以有效方式来模拟量子系统的演化。我们知道,经典计算机与量子系统遵从不同的物理规律,用于描述量子态演化所需要的经典信息量,远远大于用来以同样精度描述相应的经典系统所需的经典信息量。量子计算则可以精确而方便地实现这种模拟。采用少数量子比特的量子计算机可以进行有效的量子模拟,事实上人们已采用这种方法在简单情况下预言了量子体系的行为。
一般地说,量子模拟可以按下列步骤来完成:①根据所研究的量子体系的哈密顿量,设计出能够实现相应的幺正变换的量子网络;②将 N―量子比特按照要求制备为特定初态;③操作计算机进行模拟运算。计算机的终态就是所需的量子态。因此,一旦人们有了量子模拟计算机,就无需求解薛定谔方程或者采用蒙特卡罗方法在经典计算机上做数值运算,便可精确地研究量子体系的特性。
有许多量子体系可以用这种方法来研究。例如:①高温高密度等离子体;②采用格点规范理论描述的体系,如量子色动力学;③晶体固态模型,包括诸如 H ubbard模型的固体费米系统,其量子对称性使得它们难以采用蒙特卡罗技术来模拟;④固体模型,包括诸如高温超导体的长程关联;⑤分子行为的量子模型等等。
然而,量子计算的实现在技术上遇到严重的挑战。实现量子计算必须解决三个方面的问题:一是量子算法,它是提高运算速度的关键,目前已研究成功 S hor量子并行算法、 G rover量子搜寻算法等;二是量子编码,它是克服消相干的有效办法,目前已有量子纠错、量子避错和量子防错三种不同原理;三是实现量子计算的物理体系(即多个量子比特的量子逻辑网络),目前在腔 Q ED、离子阱、核磁共振、量子点等系统已实现少数量子比特,但距实现有效量子计算的需求相差甚远。各国科学家正从不同途径来探索实现可扩展的量子逻辑网络的方法,虽然不断取得进展,在《自然》、《科学》上每年都有许多重要进展发表,但仍未根本上突破。这个领域仍处于基础性的探索阶段。
【上面是技术上的问题。】
最后我觉得必须要补充的是:人类第一个商用量子计算机Dwave和另一个非常重要的算法——量子退火(说不定是目前为止最重要的量子算法)。
量子退火算法已经在超级计算机上被笨拙地模拟过了,下一步是拿到真正的量子计算机上运行。
Google和NASA合建的量子人工智能实验室用的就是这种计算机。
量子退火算法的提出者是西森教授。
【接下来的两年里应该会和导师经常去拜访他。:)】
但很可惜的是,Dwave并不是通用型量子计算机,只能运行量子退火(Quantum Annealing)算法这一种算法而已。因为它的构造就是为基于量子退火设计的,没办法做其他量子计算。
所以很多人并不觉得这是真正的量子计算机,只认为这是一种具有特定计算功能的量子结构。
不过量子退火算法实在是太有用了。所以Dwave还是很有吸引力的。找global minimum是机器学习等领域绕不开且相当费时一个过程。而量子退火可以极好地提速。
Quantum annealing (QA) is a general method for finding the global minimum of a given objective function over a given set of candidate solutions (candidate states), by a process using quantum fluctuations .
It is used mainly for problems where the search space is discrete (combinatorial optimization problems) with many local minima ; such as finding the ground state of a spin glass employing quantum tunneling (across the barriers separating the global minimum from the local minima or spin configurations).
--------------------------------------------
量子退火算法是模拟退火算法的进阶。模拟退火算法用的是热力学的退火思想找minimum。而量子退火的中心思想是,量子力学的隧穿效应可以在寻找global minimum的时候更快地穿过局域极值点旁的势垒。
原文发布时间为:2017年10月25日
本文作者:Quartz010
本文来源:CSDN,如需转载请联系原作者。