查看原文
其他

量子计算远没到可收割的时候 | 袁岚峰

2017-12-25 袁岚峰 风云之声

                   

关注风云之声提升思维层次

解读科学,洞察本质

戳穿忽悠,粉碎谣言

导读

我们重视量子计算,是因为它的潜力,而不是它的现状。它确实有革命性的潜力,只是还需要艰苦的努力,绝不是一蹴而就的,更不是已经处在商业盈利的边缘,等着大家一哄而上。建议大家对量子计算采取这样的态度:积极关注;冷静分析;以及作为基础的,认真学习。


随着量子信息科技的发展,公众对这个领域的关注与日俱增。一个例子是,最近不少企业界人士在转发这样一篇文章《太快了!真的,太快了!》,里面说:


“新消息纷至沓来,指向了一个中心思想:IBM量子计算机的商业化时代,正式宣告开始了。


……奇点正在迅速到来。量子计算机+人工智能,将不断迭代出更高级的量子计算机+人工智能,发展的斜率将一下子陡峭起来。


很可能,在不远的将来,人类在量子计算机+人工智能面前,就可能像蚂蚁面对人类一样无力和脆弱。”


如何看待这类文章?正确的态度是:量子计算确实很重要,但在引申它的意义之前,应该先搞清楚它是什么,以及不是什么。


最基本的问题是:量子计算为什么有用?


这要从量子力学说起,即描述微观世界的基本物理理论。


狄拉克《量子力学原理》


在传统的信息科学中,基本单元叫做“比特”,即一个体系有且仅有两个状态。我们现在用的计算机、手机等等,内部都是大量的比特,即大量的两状态系统。


而在量子力学中,有一条原理叫做“叠加原理”,它说的是:如果有两个状态是一个体系可以处于的状态,那么这两个状态的任意“线性叠加”也是这个体系可以处于的状态,这样的体系称为“量子比特”。两个状态的线性叠加有无穷多个,因此一个量子比特就是一个有无穷多个状态的体系。


打个比方,传统的比特相当于“开关”,只有开和关两个状态,而量子比特相当于“旋钮”,是连续可调的,有无穷多个状态。显然,旋钮包含的信息量比开关大得多。用这样的量子比特组合成量子计算机,它肯定可以做到所有的传统计算机能做到的事,还有可能做到一些传统的计算机做不到的事。这些传统计算机做不到的事,就是量子计算机的价值所在。


量子比特


然而,在这里需要做一个理论说明。量子计算机能做的事是不是真的比传统计算机能做的事多?在数学上还没有确定。这涉及到计算机科学中最大的未解之谜“P对NP问题”,即“能够快速验证的问题是不是都能快速求解”。(快速的意思是,计算量随着问题的规模只是多项式增长,不是指数增长。)


举个例子,一个填数字游戏(例如“数独”)的解是很容易验证的,你把这个解填进去看看对不对就知道了。但找到这个解却可能是非常困难的,目前没有快速的解法。


一个典型的数独游戏


上述数独游戏的解(红色的数字)


所有的能够快速求解的问题(也就是传统计算机能处理的问题)的集合叫做P,所有的能够快速验证的问题的集合叫做NP。显然,属于P的问题都属于NP,但NP是不是大于P呢?


P对NP问题的两种可能答案


大多数计算机科学家都认为NP大于P,因为这符合直觉。但这个问题意外的复杂,至今还没有得到证明。如果NP大于P,我们就能证明量子计算机能处理的问题比传统计算机能处理的问题多。


但如果最终发现答案是P等于NP,即“所有能够快速验证的问题都能快速求解”(虽然这看起来很不可思议),就会在许多领域产生颠覆性的后果。其中一个后果,就是量子计算机会失去意义,因为它能处理的问题就跟传统计算机能处理的问题完全重合了,都是P。另一个例子,是密码学也会被颠覆,因为基于数学问题困难性的密码也都会失效,这样的密码我们上网时一直在用。


目前大家认为的量子计算机做到的超过传统计算机的事,都是在实践意义上,即传统计算机没有发现快速的算法,而量子计算机发现了。但是,对这些问题将来会不会发现快速的传统计算机算法?谁也不知道。所以,这类成果的数学基础还不够牢靠。


在这些前提下,我们可以明白一个要点:量子计算机也是需要算法的,而算法与问题有关。因此,量子计算机并不是对什么问题都比传统计算机快,而是只对一些特定的问题比传统计算机快。对特定的问题设计出快速的量子算法,是一件非常需要创造力的事,发明出这些算法的科学家都受到了很高的崇敬。


《太快了!真的,太快了!》一文中,对于量子计算机为什么比传统计算机快,解释是:“它可以像孙悟空变出很多个小孙悟空走不同的路一样,搞平行计算。”这其实是一种粗浅的比喻,看了上文你就知道这种比喻的缺点了:没有表现出,这种加速只对特定的问题才能实现。


在这些特定的问题中,最著名的一个是“因数分解”,即把一个合数分解成两个质因数的乘积,类似于21 = 3 × 7。


在传统的算法中,分解一个n位数的计算量是n的指数函数,增长得极快。因此,当n达到上千的时候,分解因数就成了一件非常困难的事。现在最常用的密码体系之一叫做RSA,就是建立在因数分解困难性的基础上的。


RSA密码体系的三位发明者


但是,1994年,美国数学家肖尔(Peter Shor)提出了因数分解的量子算法,可以把这个问题的计算量减少到n的平方。这意味着什么呢?在原理上,分解300位和5000位的数字,量子算法会把所需时间从15万年减到不足1秒钟,从50亿年减到2分钟!


因数分解是量子计算机威力的一个最显著的例子,这也是《太快了!真的,太快了!》一文中举的例子。不过,目前这只在理论层面成立。迄今为止在实验上用量子算法分解的最大的数是一个六位数,291,311 = 523 × 557,是由中国科学技术大学的杜江峰院士和彭新华教授等人在2017年实现的。这离分解上千位的数,还有很远的距离。


在这些背景下,你就可以理解,《太快了!真的,太快了!》一文中提到50个量子比特的量子计算机等等,都是很好的学术成果,但这些离解决文中提到的金融、汽车、半导体、化工等行业的实际问题还差得很远。奇点云云,更是纯属脑洞,贩卖恐慌。


不过,这是不是说量子计算不值得重视,甚至是个骗局呢?当然不是。


我们重视量子计算,是因为它的潜力,而不是它的现状。它确实有革命性的潜力,只是还需要艰苦的努力,绝不是一蹴而就的,更不是已经处在商业盈利的边缘,等着大家一哄而上。


关于量子计算的远景,我觉得比尔·盖茨的格言很有启发性:“我们总是高估未来两年的变化,而低估未来十年的变化。”


比尔·盖茨


如果你问我:量子计算属于一种爆炸式科技进步吗?会持续不断加速度爆炸吗?


回答是:它如果成功了,即造出了超越最强的传统计算机的量子计算机,效果就是爆炸式的。但在当前的技术条件下,我们不知道它什么时间能成功,甚至不知道能不能成功。这跟社交媒体、网购等产业不一样,那些是原理早已清晰了,一切技术条件都可以实现,所以一定会爆炸式发展。而量子计算,还远远不到收割的时候。

马云


因此,我建议大家对量子计算采取这样的态度:积极关注;冷静分析;以及作为基础的,认真学习。



背景简介:本文作者为袁岚峰,中国科学技术大学化学博士,中国科学技术大学合肥微尺度物质科学国家实验室副研究员,科技与战略风云学会会长,微博@中科大胡不归,知乎@袁岚峰(https://www.zhihu.com/people/yuan-lan-feng-8)。2017年12月22日,本文应邀发表于《环球时报》(http://hqtime.huanqiu.com/share/article/a-XCXVR4940B6F862B5A142E),由于篇幅限制有较多删减,此为全文。
责任编辑:郭尖尖



欢迎关注风云之声


知乎专栏:

http://zhuanlan.zhihu.com/fengyun

一点资讯:

http://www.yidianzixun.com/home?page=channel&id=m107089

今日头条:

http://toutiao.com/m6256575842



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存