雷奕安的个人博客分享 http://blog.sciencenet.cn/u/leiyian 关于未来的长远可持续发展技术方案,能源,量子力学,人工智能,等

博文

究竟什么是量子计算

已有 4714 次阅读 2018-12-31 20:31 |个人分类:量子力学|系统分类:科研笔记| 量子计算, 量子信息, 量子力学

究竟什么是量子计算

雷奕安

 

     如果世界是理想的,简单线性的,光速无穷大的,测量都是无限精确的,量子计算机就能像宣传的那么好。如果世界是真实的,非线性的,光速有限的,测量是有误差的,量子计算机就会特别傻,不如没有。太不幸了,世界是真实的。

量子计算的理论基础

量子计算的理论基础是量子力学,相比传统计算,它声称的巨大性能提升来自于量子态的叠加性。

我发现很难跟量子计算(量子信息)的研究者解释清楚,他们说的量子力学实际上是非相对论量子力学,而非相对论量子力学只是一套近似理论,并不代表真实的物理。在量子信息研究者的眼中,只有一套神奇的理论叫做量子力学,谁也说不清楚怎么回事,但是它就是对的。谁反对都没有用,爱因斯坦也不行。无论爱因斯坦有多么伟大,在与量子力学的交锋中全都败下阵来。

其中最重要的一个争论,爱因斯坦认为世界是局域实在的,局域意味着满足相对论,不能超光速,实在意味着客观世界独立于人的意识而存在。而量子力学认为,世界(量子)是非局域的,量子现象可以超光速;世界(量子)在测量之前讨论它是不是客观实在是没有意义的;量子的非局域性已经得到了众多实验的严格证明。(这里说的量子力学观点存在重大争议,量子非局域性的实验证明,也没有得到广泛的认可。)

在非相对论量子力学中,作用势是唯象的,作用量传播速度无穷大;反应粒子行为的波函数充满全空间;薛定谔方程是一个线性方程,满足一定边条件的本征函数的任意叠加也是方程的解;量子状态的变化,也就是测量引起的波函数坍缩,瞬时在全空间发生,不需要时间,也就是波函数的坍缩速度无穷大。这些特点,在低能低速的情况下并不是什么问题,波函数足以描述系统的主要性质。但不能用来描述光子。

量子力学波函数或其它物理量的线性叠加性,同样是非相对论条件下近似满足的性质,不能无限外推。实际上,真实的物理一定是非线性的,哪怕只涉及一个客体,比如一个光子或者一个电子。

量子信息的所有理论推导,都基于非相对论的量子力学,都需要严格的线性条件。这些假设只在特殊条件下近似成立。所以,在数学前提下成立的理论推导,只能是一个数学的结果。也就是说,量子信息的所有理论都是数学,而不是物理,不是我们的真实客观世界。在真实世界中能不能实现量子信息理论推导出来的数学结果,完全是另外一个问题。而这个问题量子信息研究者似乎并不关心。

把一些在特殊条件下才能近似成立的前提,当成全部的真实物理,并无限外推出各种惊人的结论,这就是量子信息所有研究包括量子计算的实质。

无论如何我强调非相对论量子力学并不是最终理论,应用范围有局限,量子信息中的所有表达式都是非相对论的,我的批评者们总是拿出更多的非相对论表达式来证明我的“不懂”和“错误”。

还有一类错误,干脆认为量子力学就是数学,是从某些公理出发推导出来的各种定理或推论。

量子计算的工作原理还决定了它无法调错,中间过程无法测量,无法判断计算结果是否正确。

再说一遍,量子信息所有研究的理论基础是线性非相对论量子力学。研究中的所有推导,都是数学,不是物理,说得更确切一点,是线性代数。

精度问题

在量子信息的理论推导中,不存在精度问题,所有的量子位都是严格无限精确的。但在实验中能够实现的精度却很低,经常连两位有效数字都达不到。

根据测不准原理和量子力学的测量理论,量子位保存信息的脆弱性,不确定性是本质的。独立的量子位保存的信息是没有精度的,或者说,误差和读出的值一样大。通过改变环境,即限制条件,增加量子位保存信息的可信度(保真度),一定会影响其它需要的量子属性。这是由玻尔的互补原理决定的。在实践中,虽然量子信息研究提出了很多量子纠错方案,和逻辑量子位概念,但这些方案和概念都是理论性的,也就是我们上面说的数学性的。实验上,要不量子位的精度非常有限,要不纠错效果不好,要不变成了一个经典模拟信号。

很多纠错方案,其实就是一个多数表决,如果有一个量子位跟别的不一样,就把它反过来。但是这种方案只对量子位正好处于0,或1才有效,在任何中间位置(叠加态)都是无效的。在量子态非常脆弱的情况下,即使前提成立,多数表决理论上仍然无法避免错误。

精度问题是量子计算特有的问题。传统计算中,由于信息数字化,离散化(实际上这才是真正的量子化),数据在设计的精度内(比如双精度数,15位十进制有效数字)是保证精确的,对于整数操作,无论多少位都是精确的(需要用数据结构实现)。

而量子计算的每一位都是不精确的。这种不精确有极为荒唐的后果。比如,把一个数保存到量子计算机上,这个数就再也读不出来了。如果没有原始的,由传统计算和存储方式保存的数据,根本无法知道写进去的是多少。连输入数据都无法保证正确,如何保证计算的结果正确?

量子计算原则上是一种模拟计算,其计算精度由模拟信号的精度决定。要增加模拟信号的精度或者可信度,只有尽量增强信号,而量子计算的概念正好相反,用到的信号很弱。为了改善信号的可信度,只好拼命加纠错。纠错的实质,就是增强信号。利用量子属性计算和增强信号,是逻辑相反的两个操作。

对于一些特殊的算法,如Shor大数分解算法,理论上要求无穷大的精度。要对现有传统加密算法构成威胁,需要至少150位十进制精度(常用RSA1024加密算法对应一个309位的十进制数)。如果量子计算机的大小是从太阳到比邻星那么大(40万亿公里),那么测量精度要达到10-134米,即比量子理论一般认为最小的尺度,普朗克尺度(10-34米),还要小100个量级!这是物理上绝不可能实现的。可观测宇宙的大小才1026米,比普朗克尺度只大60个量级。对于连续量,任何大于60个量级的测量精度都是不可能实现的,无论什么样的物理量。迄今为止,人类实现的最精确测量,是引力波的10-21

注意以上精度跟阈值定理等概念中量子位的保真度无关,必须测量上达到上面说的精度。

Shor算法已经提出来25年了,因为跟传统数据加密有关,是量子计算中最热门的研究方向,2001年实验演示了3x5的分解,2012年演示了3x7,11x13,然后,就没有然后了。有人认为实际上演示了233x241,但只是理论推导。25年的重点研究只演示了一个小学一年级学生都很容易做出来的两位数乘法,谈论一个150位的数乘以一个150位的数是不是太乐观了一点?知不知道会存在多少原则困难?且不说传统加密方案把150位x150位改为300位x300位是非常简单的一件事情。所以量子计算要破解传统RSA加密方案,No!Never!(不可能!永远不可能!)

2012年之后再没有新的实验结果,是非常奇怪的。考虑到Shor算法那么重要,任何一个新的进展都应该是激动人心的。一个原因也许是,当人们尝试更大的素数分解的时候,看到了问题所在,知道即使勉强分解了一个更大的素数,但要发展到挑战传统加密方案程度,是不可能的。

量子多体问题

量子计算中必然有多体纠缠,也就是多粒子相互作用。量子计算认为,同时纠缠的粒子数越多,计算和存储信息能力就越强。

在物理上,一般来说,多体相互作用不能分解成两两相互作用的叠加。但是线性系统可以。由于量子信息已经假定了系统是严格线性的,所以相关的理论和推导是成立的。但是这一假定是不成立的。有多个粒子参与的多体相互作用,并不能干净地分解为两两相互作用的叠加,会出现一些额外的效应,如奇怪的对称性,及其它一些非线性现象,等。现实的例子是化学键。多体相互作用还会带来复杂性,从而受到热力学的影响,而不是希望执行的操作。

50个相互作用的粒子,没有非线性的多体相互作用是不可想象的。仅仅它们相互之间位置的微小变化,就会造成整体相互作用发生很大变化,而这种变化在线性表达中不会出现。

任何做过量子多体(少体,N-body)作用研究的人,如原子核物理,量子化学,原子分子物理,凝聚态,场论等学科方向,都很难接受多体问题可以完全线性分解为两体相互作用的说法。但这是量子信息研究的基本假定。

模拟计算(analog computing)

与离散的传统数字化计算相比,还有一类计算叫模拟计算。例子有早期的计算尺(数学用表),尺规作图,指南车,甚至是动物动作精确度的计算,比如弓箭鱼对昆虫的瞄准,变色龙舌头的对准等。模拟计算在自然界无所不在。量子计算研究者讨论的量子计算,是模拟计算的一种,是自然界无所不在的真正量子计算的一种线性简化。

clip_image001.png

尺规5等分圆形,或正五角星画法

 

尺规作图原理在平面几何中是精确的,但是实际作图中,总会有误差,因此不会是完美的五角形。

再比如求圆周率,模拟计算的做法是画一个圆,用各种办法量出周长,再量出直径,周长除以直径得到圆周率。

模拟计算的精度有限,如果要提高精度,需要付出很大的努力,但是不太清楚精度的极限在哪里。对于圆周率的例子,七八位十进制有效数字就非常困难了。非常特殊的情况下,一些物理测量可以达到12,13位有效数字。穆斯堡尔效应可以用来作非常精确的测量,精度能达到13到15位有效数字,甚至原则上可以达到22位(银107)有效数字,但是别的困难将开始出现。物理上要实现精确测量,目前只有激光干涉和穆斯堡尔效应这两种方法。它们的精度极限,就是物理测量的精度极限。但是它们是宏观现象的测量,虽然最后的精度仍然由量子效应决定,但是对于宏观现象,量子效应相对很小。量子计算机原则上要利用量子效应,所以量子效应(不确定性)必须很显著,因而测量精度非常有限。

但数学的方法不一样,有很多算法可以得到任意精度的圆周率值。

这就是物理与数学的差别,也是传统计算机与量子计算机(模拟计算)的差别。量子计算机的计算结果必须通过测量来表达。模拟计算可能很快,但是不精确。

很多模拟计算其实就是做实验,比如上面说的测圆周率。一些尺规作图方案也可以得到严格证明。

再举一个量子计算演示叠加性,或并行性的例子,说明为什么量子计算就是模拟计算,或者实验。

迷宫问题:

迷宫问题是传统计算中用演示递归算法的一种基本问题。在传统计算中,从迷宫内任何一点能不能走出去的算法是:先从一个选定的方向走,如果碰到分支(缺口),则按固定的次序选择转弯方向,如果走不下去了,则回到上一个转弯点,走另一个分支,用穷举的方法将所有可能的路线都走一遍,可以找到所有的路线。这种算法看起来效率不高,特别是对很大的迷宫,可能会因为分支太多导致堆栈溢出无法完成。

量子计算的说法是,一个量子的波函数会自动地、并行地寻找所有的路径,因此一下就找到出路了。但是问题没有那么简单。首先我们假定迷宫是2维的,或者上下封闭,否则粒子会直接从上面或者下面出来。其次,粒子的波函数必须覆盖全部迷宫,因此我们无法知道粒子究竟在哪里。如果我们在粒子出来之前不测量粒子,那么我们只知道存在出来的通道,但是不知道是哪一条通道。如果我们想知道粒子是怎么出来的,就必须不停地测量粒子,这样粒子波函数的叠加性就无法充分表达出来。因为我们要跟踪粒子,如果粒子每次的位置都变化很大,我们还是不知道粒子是怎么出来的,不知道出来的通道是哪一条。如果每次位置变化很小,就可以跟踪了,但这意味着粒子的波函数相干范围很小,不能有效探测所有的通道,也就是,波函数叠加性带来的并行效益就没有了。那么剩下的办法只有做非常多次数的测量,我们可以相信(?),粒子在通道上的几率会大一些,多次测量结果叠加,密度最大的线路就是通道。

那么我们在看看模拟计算,或者实验的方法:把迷宫平放在玻璃上,在起始点倒水,再加上一些漂浮的碎屑示踪,我们很快就会看到水从哪里流出来,和有水流的通道。

实验才是真正的量子计算。它是所有真实微观量子效应的总和。

量子计算的说法与实验的办法类似,只是需要做非常多次数的测量。显然效率没有实验高。

clip_image002.gif

迷宫中的粒子要走出来需要尝试所有可能的路径

与迷宫问题类似的有最优路径问题。最优路径问题自然界的模拟解法包括蚂蚁,蜜蜂等昆虫的化学信息素浓度梯度算法。

建模与数字化问题

不是所有真实世界的东西都是数字。传统计算中,需要在计算机中处理的所有问题和客体都要数字化,变成计算机可以处理的二进制数。已经有各种方案将客体抽象化,数字化,如各种抽象数学概念,物理实体,等。复杂的,数据量大的系统有不同的描述方式,比如图像的不同格式,流媒体格式,等等。更复杂的系统需要更多的描述和数字化方案。

传统计算对真实物理世界客体的描述,在采用各种数据结构之后,可以根据应用的需要,用少量,或者非常大量的数据,来描述该客体。

量子计算中,还不知道怎么将客体变成计算中的数据。比如最简单的概念,自然数,在量子计算中就很难表达。自然数是精确的,离散的,而量子计算中的数据或者信号是连续的,无法准确表达一个整数。而整数是构成计算最基本的概念和数据类型。

关于算法的一些问题

叠加性、数据标定、基本计算

为了尽量利用量子位的叠加性,获得自然并行处理能力和存储能力,很多数据要叠加放置在一些量子位上,这些数据无法标定位置(indexing),也就是,数据没有存储地址的概念。这对集合类数据(数组,链表,队列,等)的处理是致命的,不仅基本的算法如排序无法实现,就算找到了,也无法知道是哪一个数据。

只要用到叠加性,就无法对数据定位,因为叠加是线性的,满足交换率,跟次序无关,完全没有办法知道哪个数据什么时候添加上去的。

如果不用叠加性,就回到了经典计算。

连续的数据还无法比对。数据比对(大小,相等)是基本的运算。量子计算数据的连续性和不确定性,导致比对必须采取一定的范围。比对关系就模糊了,不等的可以判断为相等,大可以变成小,……。比对的标准(相差阈值)是一个自由参数,或者经验参数。

量子计算的最终目标是通用计算,当然需要实现基本数据类型和算法。也需要有办法将真实世界的各种概念和客体变成相应的量子数据。但现在量子计算的做法是,需要解决一个问题,就必须设计一个算法,然后做一台实现该算法的计算机。一个算法只能解决一个单一的问题。到目前为止,只能做概念验证,不能实际应用。问题是,量子算法的种类非常少,很多设想中的算法未必能按照设想工作。

 

Shor算法

即大数分解算法,关键步骤是量子傅里叶分解,其实就是模拟傅里叶分解。动物对声波的傅里叶分解能力非常强大,有些昆虫的触角对红外线也能做傅里叶分解。Shor算法的精度问题上面已经专门说了。

 

Grove算法

即无序数据搜索算法。首先,传统计算中,排序很快,搜索也很快,数据集的存放一般是排好序的。看不出来为什么需要无序的数据集。

无序数据搜索在量子计算实现中,会有上面说的数据无法标定,比对无法精确等问题。

如果匹配的定义是允许误差的话,对于大的数据集,该算法必然搜出大量近似数据,并且无法判断哪个数据是想要的,除非回到传统计算再比对,因为传统计算数据是离散的,可以精确匹配。

 

退火与优化

退火与优化也是量子计算最能发挥优势的算法之一。因为退火过程和搜索最优值(最低能量态)是自动全局而且并行的。

但是,这种算法无法通用,只能case by case,一个具体应用一次计算,甚至一次量子计算机设计。除非非常简单的结果,计算结果很难应用到别的案例中,这是由函数的解析性,微分方程对边条件和初条件的依赖性决定的。

如果优化值很不明显(一些最优解差别很小,或者需要高的空间分辨率),量子算法同样不可靠。由于量子态的不确定性,空间和能量的分辨率都有限。

 

复杂分子计算

同样有上面说的优化问题。而且,复杂分子是无法用另一个架构的量子计算来模拟的。例如想知道某种药物分子的性能,必须做出这种药物分子,并且放在真实的生物体内环境中,才能分析相关的效应。这就是动物实验或者临床实验。

要想通过量子计算分析该分子的性能,根据上面说的函数解析性和微分方程对边条件和初条件的依赖性,看不出有理论根据。

 

量子计算与大脑工作方式的类似性

都可以很快,但结果都不太精确。

大量重复可以提高精度(训练,学习)。很多人争论或投票,答案或解决方案可以更合理(重复取样平均),但是不能保证正确。

人脑也可以分解一个素数,但普通人就是几十乘以几十的水平,经过心算训练也许可以几千乘以几千,但这基本是极限了。同样跟量子计算类似。

人脑是不可能分解一个150位x150位的素数的。当然可以随口蒙两个150位的数字,但是这个数字究竟是不是素数是不知道的,但的确有很小的可能就是需要找的那个数字。

量子计算研究的意义

量子计算研究当然是有意义的,即使理论基础有问题。但最好先把理论基础搞清楚,知道理论的局限和问题,才有助于更好地理解研究的内容。在开发量子计算算法的时候避开许多陷阱,少走一些弯路。

任何对未知的探索都是有益的,任何没有做过的研究都值得尝试。

量子计算还是可能取得很多研究成果,解决一些传统计算无法解决的问题,或者提供新的思路和解决方案。完全基于物理而不是计算而提出来的很多量子算法也很有意思。

一些特定的量子算法与传统计算的结合应该会有一些应用前景。包括优化,快速傅里叶分解,随机数产生,机器学习的回归算法,等等。

一开始就定位为通用计算是危险的。应该是先有基本计算的实现方案,再讨论通用计算。量子逻辑门的概念恐怕出发点就有问题。传统电路的逻辑门只有分立值。

在理论不清楚的情况下,挑战公认的数学定理(比如大数分解)也是危险的。

在科学技术发展史上,被主流看好最后被证明错误或无用的理论或者技术,比比皆是。量子计算最后应该不至于被放弃。

脚踏实地,一步一个脚印,解决一个一个问题,比提前宣布超过传统计算,实现量子霸权,破解传统加密,……,要实在得多。

如果不是对量子计算虚无缥缈神奇功能吹嘘的怀疑,我也不会质疑量子计算。

后记

1989年我考取了北京大学物理系理论物理专业的研究生,导师是曾谨言先生,研究方向是量子力学。曾老师带两个方向的研究生,一个是量子力学,一个是原子核结构。研究生期间,曾老师说,量子力学方向不好出成果,需要等机会。为了毕业的需要,我做的是原子核结构理论。博士期间(那时候直博还很少),两个方向都在做,发表的论文主要是核结构理论方向的,但毕业论文是量子力学方向的,是关于Berry位相的一些讨论。

应该是94,95年开始,量子计算的研究开始热起来,曾老师和北师大的裴寿镛,清华的龙桂鲁,中科院理论所的孙昌璞等老师开始举办量子计算方面的讨论会,后来出了好几本《量子力学新进展》专辑。

我一直对量子力学的基本问题很感兴趣,希望能搞清楚那些很难说明白的概念。但我知道这是一个长期的工作,不太可能计划到什么时候得到什么成果,因此也无法申请基金或者带学生做这方面的工作,我只能搭上自己的前途。

接触量子计算之后,开始也觉得很有意义,但是很快就困惑了。我自己对传统计算也比较熟悉,从1991年起,就协助管理系里的计算机室。最早接触的量子算法,当然都是Shor算法。我的直觉是,量子测量都是不精确的,Shor算法本质上要求无穷精确的测量啊,这怎么可能?当然,还有别的一些困惑,当时也说不清楚。这时候我已经博士毕业了,随后的工作安排并不需要专门从事量子计算研究,但我一直没有放下这些问题。毕竟,我留在了北大物理系理论物理教研室,而后来也没有再做原子核结构,怎么也应该把量子力学的一些基本问题搞清楚。

2002年到2003年在美国访问,做的是计算物理,高性能计算方面的工作。2003年回国,当时量子计算非常热门,我在述职的时候也讲过我对量子计算有疑问,觉得它的理论基础好像有问题,因此我不会做量子信息方面的研究。后来北大要做聚变,我就参加了聚变研究团队。

一直都没有停下对量子信息方面的关注,中间还带过几个本科生和研究生,但最后不敢碰这个题目,只是做了一些讨论。

到了四五年前,我觉得应该可以讲清楚了,就在三年前招了一个研究生,正式讨论量子信息领域的一些基本物理问题。我知道批评性看法是无法发表的,所以选择量子纠缠概念为突破口。这一概念历史上的争论就很多。我们发现,量子非局域性的实验验证有很多问题,这些问题完全可以在现有的理论框架内说清楚,但结论却和量子信息界普遍接受的概念完全不同,而是与爱因斯坦,薛定谔,德布罗意,甚至包括约翰贝尔等人的物理直觉相同,同时也是现代物理的实际理论基础。但是没有想到我们的文章发表非常困难。虽然多数不做量子信息的研究人员支持我们的看法,但是量子力学这个方向已经是量子信息的天下。

2017年底的时候,我在我们所的工作群里,信心满满地宣布,最迟到2018年底,我要说清楚量子计算究竟是怎么回事。于是2018年间,先写了好几篇文章作铺垫,强调物理与数学的差别,量子位定义的问题,量子纠缠概念的问题,非相对论量子力学的问题,等等。快到年底的时候,我准备总结一下,顺便把几个量子算法和我认为存在的问题说一下。但2018年年底,国际上也出现了对量子信息特别是量子计算的重磅批评声音。美国科学院等也写了一个评估报告,明显比本世纪初的类似报告务实,虽然还是有很多猜测性的乐观展望。我不太喜欢赶热闹,事情有人做,我一般就不做了。我觉得经过我的铺垫之后,明眼人也应该能看出来量子计算的问题所在了,就不太想写这篇文章了。但是,还是把事情做完吧。

至于量子通讯,因为一直有批评的声音,我不是很关注。如果我们对量子纠缠的理解确立的话,量子通讯的理论基础就没有了。

 




http://blog.sciencenet.cn/blog-268546-1154610.html

上一篇:对量子计算的反对
下一篇:为什么真实的物理系统一定是非线性的?

6 李维纲 刘全慧 魏焱明 陈晨星 王安良 马红孺

该博文允许注册用户评论 请点击登录 评论 (3 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2020-8-15 19:34

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部