与量子比特共舞

978-7-115-58124-2
作者: [美] 罗伯特·S.苏托尔(Robert S. Sutor)
译者: 吴攀
编辑: 郭泳泽

图书目录:

详情

本书介绍量子计算的理论基础、基本原理和工作机制,帮助读者了解量子计算的基础和概况。全书共12章,首先介绍为什么要使用量子计算,然后分基础知识和量子计算两个部分,介绍量子计算所依赖的经典计算的相关知识,以及量子计算的工作机制,并展望量子计算的发展前景。 本书适合对量子计算感兴趣,并且想要学习和了解与量子计算相关的物理学、计算机科学和工程开发等知识的读者。

图书摘要

版权信息

书名:与量子比特共舞

ISBN:978-7-115-58124-2

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。


著    [美] 罗伯特•S.苏托尔(Robert S. Sutor)

译    吴 攀

责任编辑 王峰松

人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

读者服务热线:(010)81055410

反盗版热线:(010)81055315

读者服务:

微信扫码关注【异步社区】微信公众号,回复“e58124”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。


Copyright ©Packt Publishing 2019. First published in the English language under the title Dancing with Qubits(ISBN 978-1-83882-736-6). All rights reserved.

本书由英国Packt Publishing公司授权人民邮电出版社有限公司出版。未经出版者书面许可,对本书的任何部分不得以任何方式或任何手段复制和传播。

版权所有,侵权必究。


本书介绍量子计算的理论基础、基本原理和工作机制,帮助读者了解量子计算的基础和概况。全书共12章,首先介绍为什么要使用量子计算,然后分基础知识和量子计算两个部分,介绍量子计算所依赖的经典计算的相关知识,以及量子计算的工作机制,并展望量子计算的发展前景。

本书适合对量子计算感兴趣,并且想要学习和了解与量子计算相关的物理学、计算机科学和工程开发等知识的读者。

献给朱迪思、凯蒂和威廉

我对你们的感激无法计算


一切所谓的真实皆由我们视为不真实之物构成。

尼尔斯·玻尔(Niels Bohr)[1]

说到计算机,大多数人想到的都是笔记本电脑,也有人可能会想到更大型的机器,比如支撑网络的服务器、互联网和云等。环顾四周,你也许还能在其他地方看见计算机。举个例子,现在的大部分汽车装有20~100台计算机,这些计算机控制着汽车的运动和制动系统、监控着汽车空调和车载娱乐系统等。

智能手机也是计算机,很多人每天在智能手机上花的时间比在其他许多东西上花的时间都多。现代手机内部使用了64位[1]处理器,但这里先不谈“64位处理器”是什么意思。运行所有应用程序所需的内存空间约为3 GB,也就是3吉字节[2]。“吉”是什么,“字节”又是什么?

[1] 位,即bit,也译作“比特”,本书在不同的语境中会使用不同的译法。—译者注

[2] 吉字节,即gigabyte,也常称为“千兆字节”。—译者注

所有这些计算机都是经典计算机classical computer),其最初的设计思路可以追溯到20世纪40年代。用更科学的说法,我们说这些计算机具有冯·诺依曼架构von Neumann architecture),其得名于数学家兼物理学家约翰·冯·诺依曼(John von Neumann)。

当然,现在早已不再是20世纪40年代,但直到今天,我们日常生活中很多地方使用的计算机都仍旧是这种机器的现代版本。计算机中负责“思考”的组件是处理器。近年来,处理器的运行速度越来越快,计算机的内存空间也越来越大,这让我们可以运行更多、更大的应用程序,这些程序可以完成相当复杂的任务。图形处理器的发展为我们带来了越来越好的游戏体验。过去20年来,存储器的规模迎来爆发式增长,让我们可以将越来越多的应用、照片和视频存储在我们日常携带的设备中。说到经典计算机及其发展方式,其趋势总结起来就是在追求“越多越好”。

对于支撑全世界的企业运营和互联网应用的计算机服务器,也可以得出类似的结论。你是否在云中存储过自己的照片?这个云究竟在哪里?你在云中保存了多少照片?成本如何?你能以多快的速度从那个“说不清、道不明”的地方存取你的照片和其他数据?

着实惊人,这都是计算机的力量。看起来每一代计算机都会变得越来越快,它们能为我们做的事情也将越来越多。在为我们提供娱乐方式、方便我们与朋友和家人的联系,以及解决其他重要问题方面,这些或大或小的机器似乎还将继续变强,没有尽头。

但……事实并非如此。

尽管还会继续出现一些进步,但始于20世纪60年代中期的“每两年处理器能力倍增”的趋势将难以为继。这种倍增趋势被称为摩尔定律Moore’s Law),其大致意思是:“每两年,处理器的速度会翻倍,尺寸会减半,能耗也会减半。”

这里的“翻倍”和“减半”都是近似的,但物理学家和工程师在这几十年中确实取得了非凡的进步,也因此,现在你的腕表几乎可以装下比最初需要占满一个房间的计算机更强大的计算机。

关键的问题在于处理器尺寸会减半的部分。我们无法无限地缩减晶体管和电路的尺寸。当我们将其尺寸缩减到接近原子大小时,电子器件将变得非常拥挤,以至于当我们想让处理器的某部分执行某项任务时,其相邻的部分也会受到影响。

另外还存在一个更深层、更涉及基础本质的问题:我们多年前创造了一种架构并对其进行了极大的改进,就一定意味着使用这种架构的计算机最终可以成功解决每种类型的问题吗?换句话说,我们凭什么认为我们现在拥有的各种计算机能够解决每个可能出现的问题。如果我们一直坚持使用同一种计算机技术,“越多越好”的趋势是否将后继无力?我们的计算方式是否存在错误或局限,让我们无法取得我们所需或想要的进步?

对于最后一个问题,不管你思考的是这个问题的哪个方面,都可以合理地认为其答案介于“可能是”或“确实是”之间。

真是让人沮丧的答案。好吧,其实只有当我们想不出一种或多种有望突破这些局限的新型计算机时,这样的答案才让人沮丧。

而这就是本书要谈的东西。量子计算的思想至少可以追溯到20世纪80年代早期,是一种基于量子力学原理而提出的全新类型的计算机架构。而量子力学的思想可以追溯到约一个世纪前,尤其是20世纪20年代—那时候物理学家开始注意到实验结果与理论预测不符的现象。

但是,本书关注的不是量子力学。自2016年以来,已有数万用户能通过云服务使用量子计算硬件了。这种云被称为“量子云服务”。人们开始为新型的量子计算机编写程序,不过为量子计算机编程的方法与为经典计算机编程的方法完全不同。

为什么量子计算吸引了如此之多的人?我确信一部分原因是好奇心。来看看科幻领域吧!“量子”这个词在科幻电影中出现的次数实在太多了,以至于观众也很好奇这个词的实质是什么。

一旦我们度过了觉得量子计算新颖、有趣的阶段,我们就会问“好吧,这究竟有什么用呢?”,以及“这将在什么时候以怎样的方式改变我们的生活?”。我将介绍专家认为的未来几年和几十年里最可能实现的用例。

是时候了解量子计算了。是时候停用经典的思维方式,开始量子地quantumly)思考了(尽管我相信,在英语中,quantumly并不是个真实存在的词)!

本书的目标读者是对数学非常感兴趣并希望学习与量子计算相关的物理学、计算机科学和工程开发等知识的人。我将介绍有关量子计算的基础数学知识(这部分会很快完成),然后深入介绍操作和使用量子比特与量子算法的方式。

虽然本书包含大量数学内容,但它们都未以“定义-定理-证明”的形式呈现。我更想做的是把这些内容蕴含的思想呈现给读者,让读者理解这些思想之间的关系,而不是用严谨的形式推导所有结果。

我的另一个目标是让读者做好准备,以便进一步阅读有关量子计算的更高阶材料,而读者在阅读那些更高阶的材料时还可能会回到本书来帮助自己理解某些核心主题。要阅读本书,读者不必是一位物理学家,也无须事先了解量子力学。

我将在本书的某些位置给出一些使用Python 3编写的代码示例。这些都是附加内容,并不需要掌握,但如果读者能读懂Python代码,可能有助于读者更好地理解本书。

本书的很多示例都来自IBM Q量子计算系统。我在编写本书时是IBM Q管理团队的成员。

在我们开始理解量子计算的工作机制之前,我们需要花点时间了解一下经典的计算方式。事实上,这不仅仅是为了进行比较—我相信,未来的计算将是经典计算与量子计算的混合形态。

学习某种事物的最佳方法通常是从基本原理开始,然后逐步深入,这样才能知道如何进行推理,而不必依赖死记硬背或错误的类比。

第一部分 基础知识

本书第一部分涵盖理解量子计算概念所需的数学知识。虽然我们最终会在非常高的维度上使用复数来进行计算,但通过分析传统的二维和三维上的操作就足以获得很多见解。

第1章 为什么要使用量子计算?

第1章将提出本书最基本的问题:我们为什么要使用量子计算?我们为什么关注量子计算?我们的生活将因此而发生怎样的改变?我们希望将量子计算应用于哪些用例并取得重大进展?“重大进展”究竟是什么意思?

第2章 经典并不是老旧

经典计算机已无处不在,但知道其内部构造和了解其工作原理的人却相对较少。为便于后面将其与量子计算机进行比较,在第2章中,我首先会介绍经典计算机的基础知识,然后说明它们为什么难以完成某些类型的计算。我将简单地介绍“比特”(bit,也称“位”)的概念,也就是单个0或1,并说明这样的观点:使用大量比特可以组建出你如今使用的所有软件。

第3章 超越想象的数

人们日常使用的数被称为实数,其中包括有理数和无理数。但是,现实生活中还存在其他类型的数以及具有大量相同代数学性质的结构。在第3章中,我将介绍这些数,它们是我们理解量子计算机所做的“计算”的基础。

第4章 平面、圆和球面,都是啥?

在第4章中,我们将从代数转入几何,并了解两者的关联。究竟什么是圆?当我们从二维升入三维时,圆与球又有什么共同之处?很显然它们有三角函数上的关系,但这并非一个有法律约束力的声明。平面是理解复数的基础,而复数正是量子比特定义的关键。

第5章 维度

有了代数和几何的基础知识之后,在第5章中,我们将脱离我们熟悉的二维和三维世界。向量空间可以延伸到很多维度,这也是我们理解量子计算机实现指数级计算能力的关键。使用许多维度能做什么?你又该怎样思考此时的运算?另外,我还会花些篇幅来介绍量子计算将如何助力人工智能的开发。

第6章 “可能”是什么意思?

阿尔伯特·爱因斯坦(Albert Einstein)曾说过:“上帝不和宇宙玩掷骰子。”

这句话与宗教无关,而是表达他对大自然运作方式中发挥作用的随机性和概率思想的不安。好吧,他其实是没有正确地理解概率的思想。量子计算的根基(即量子力学)是物理学领域中一个艰深又神秘的部分,其核心正是概率。因此,为帮助你理解量子过程和行为,在第6章中,我将介绍概率的基础知识。

第二部分 量子计算

本书第二部分涵盖量子计算工作机制的核心。我将介绍单个和聚集在一起的量子比特,然后用其创建线路以实现算法。其中大部分都是理想情况,即量子比特的容错能力是完美的。当我们真正构造量子计算机时,我们必须处理物理现实中的噪声问题并满足降低误差的需求。

第7章 一个量子比特

到第7章,我们将以非平凡的方式探讨量子比特。我将介绍量子比特的量子态的向量表示与布洛赫球面表示,并给出叠加的定义,这能为量子比特“同时为0和1”这样常见的说法提供解释。

第8章 两三个量子比特

当有两个量子比特时,我们需要具备更多的数学知识,因此我将在第8章引入张量积的概念,以帮助我们解释纠缠。纠缠的作用曾被爱因斯坦称为“幽灵般的超距作用”,这种作用能将两个量子比特紧密关联在一起,使两者的行为不再相互独立。通过叠加,纠缠能为量子计算带来巨大的运算空间。

第9章 连接成线路

给定一组量子比特,你该如何操纵它们来解决问题或执行计算?答案是用与可逆运算相对应的门来构建量子比特的线路。现在,可以想一想“电路板”这个经典术语。在第9章中,我将使用电路的量子模拟来实现算法,而算法正是计算机完成任务的秘诀。

第10章 从线路到算法

讨论并了解了一些简单的算法之后,在第10章中,我将介绍一些更复杂的算法。将这些算法组合到一起,能实现彼得·舒尔(Peter Shor)于1995年提出的快速整数分解算法。本章包含大量数学内容,但我们已在前文学过了所需的数学知识。

第11章 走向物理实在

当构建物理实在的量子比特时,其行为模式并不与数学和教科书所描述的完全一致。误差总是存在的,产生误差的原因可能是量子系统所处环境中的噪声。这里的噪声不是指某人大喊大叫或大声播放音乐的声音,而是指波动的温度、辐射、振动等。在第11章中,我将介绍在构建量子计算机时必须考虑的几个因素,描述可作为全系统性能指标的量子体积,最后以探讨著名的量子猫科动物—薛定谔的猫作结。

本书的收尾章将概述有关未来的问题。

第12章 有关未来的问题

在第12章中,如果我说“我认为量子计算将在10年内做到……”,那么我将描述在那之前需要实现的3或4项重大科学突破。我将按领域细分,讲解我们正在量子计算科学和工程方向努力寻求的创新并解释原因。我还会给出一些用以区分“炒作”与现实的指导原则。这里所描述的内容都旨在激发你提出自己的问题。

对于一些我认为需要读者记住的重要内容,我将使用这种文本框:

这非常重要。

本书没有练习题,但会有一些问题。有些问题的答案在正文文本中,有些则留给读者去思考。在学习过程中尝试解答它们吧。这些问题按章进行了编号:

问题0.0.1

你为什么要问这么多问题?

本书还会用以下形式给出代码示例和输出,以便让读者了解如何使用现代编程语言 Python 3 来实现量子计算。

def obligatoryFunction (): 
    print (" Hello quantum world !") 
 
obligatoryFunction () 
 
Hello quantum world!

加方括号的数字(比如 [1])指向参考资料。这些参考资料罗列在各章的最后。

了解更多

你可能会在这样的地方看见一些参考资料,它们能帮助你对某一主题有更多了解。

现在,我们开始吧!首先来看看我们为什么应该使用量子计算系统,这样我们才能解决经典计算系统无力解决的一些问题。

[1] Karen Barad. “Meeting the Universe Halfway”. Quantum Physics and the Entanglement of Matter and Meaning.2nd ed. Duke University Press Books, 2007.


罗伯特·S. 苏托尔拥有30年以上的信息技术行业从业经历并一直担任技术领头人和技术高管。在他的职业生涯中,有20多年时间都在IBM研究院纽约实验室度过。在这期间,他从事或领导着符号数学计算、优化、人工智能、区块链和量子计算方面的工作。他参与完成了许多研究论文并与已故的理查德·D. 詹克斯(Richard D. Jenks)合著了《Axiom:科学计算系统》[1]一书。

[1] Axiom是一套免费的通用型计算机代数系统,也称符号代数系统,这是一类用于处理数学表达式的软件,旨在实现代数运算的自动化。Axiom的最早版本名为Scratchpad II,于1977年在理查德·詹克斯的领导下开发成功,之后在1990年左右更名为Axiom。

他也曾领导过该企业在新兴行业标准、Linux软件、移动和开源等领域的软件方面的工作。他是一位经过训练的理论数学家,拥有普林斯顿大学博士学位和哈佛学院本科学位。他的编程生涯始于15岁时并已使用过一路出现的大多数编程语言。

感谢我的妻子朱迪思·亨特以及我的孩子凯蒂和威廉,感谢他们在本书写作期间带来的爱和乐趣。

感谢John Kelly、Arvind Krishna、Dario Gil、Jay Gambetta、Jamie Thomas、Tom Rosamilia和Ken Keverian,感谢他们对IBM Q项目的领导工作和他们个人的支持。

感谢以下人士,感谢他们在量子计算的科学、技术、商业和生态系统等方面所提供的对话、见解和灵感。

Abe Asfaw、Alexis Harrison、Ali Javadi、Amanda Carl、Andrew Cross、Anthony Annunziata、Antonio Corcoles-Gonzalez、Antonio Mezzacapo、Aparna Prabhakar、Bill Minor、Brian Eccles、Carmen Recio Valcarce、Chris Lirakis、Chris Nay、Christine Ouyang、Christine Vu、Christopher Schnabel、Denise Ruffner、Doug McClure、Edwin Pednault、Elena Yndurain、Eric Winston、Frederik Flöther、Hanhee Paik、Heather Higgins、Heike Riel、Ingolf Wittmann、Ismael Faro、James Wootten、Jeanette Garcia、Jenn Glick、Jerry Chow、Joanna Brewer、John Gunnels、Jules Murphy、Katie Pizzolato、Lev Bishop、Liz Durst、Luuk Ament、Maika Takita、Marco Pistoia、Mark Ritter、Markus Brink、Matthias Steffen、Melissa Turesky、Michael Gordon、Michael Osborne、Mike Houston、Pat Gumann、Paul Kassebaum、Paul Nation、Rajeev Malik、Robert Loredo、Robert Wisnieff、Sarah Sheldon、Scott Crowder、Stefan Woerner、Steven Tomasco、Suzie Kirschner、Talia Gershon、Vanessa Johnson、Vineeta Durani、Wendy Allan、Wendy Cornell 和 Zaira Nazario

感谢我在这本书中提到的人。

感谢Packt出版商和包括Andrew Waldron、Tom Jacob和Ian Hough在内的编辑团队。

本书中出现的任何知识或理解错误都是我个人造成的。

乔纳森·罗梅罗(Jhonathan Romero)是一位量子计算科学家和企业家。他出生于哥伦比亚巴兰基亚市,在哥伦比亚国立大学获得化学学士和硕士学位后又在哈佛大学获得了化学物理学博士学位。他的研究重心是在近期的量子设备上开发用于量子模拟和人工智能的算法。乔纳森是Zapata Computing公司的一位联合创始人和研究科学家,该公司是商用量子算法和软件开发的先驱之一。他发表过许多计算化学和量子计算领域的论文。

吴攀,资深科技内容译者和编辑。出生于四川省广安市,拥有南京理工大学工学学士学位。已翻译和编写大量科学、技术及相关产业文章,涵盖人工智能、机器人、量子计算、区块链、网络安全、半导体、人造语言等诸多领域。曾先后在半导体媒体《电子发烧友》、科技媒体《雷锋网》和人工智能媒体《机器之心》担任编辑。已出版的译著包括《捍卫隐私》《超级转化率》《人人都该懂的能源新趋势》等。另外,他还是一位科幻小说作者和译者。

尹璋琦,北京理工大学物理学院量子技术研究中心教授。1999年到2009年,在西安交通大学应用物理系学习,先后获物理学学士、硕士和博士学位。2007年至2009年在美国密歇根大学公派联合培养。2010年到2019年先后在中科院武汉物理与数学研究所、中国科学技术大学和清华大学工作,2019年调入北京理工大学。

研究兴趣为量子信息与量子精密测量、宏观系统量子效应等,发表论文六十余篇。入选教育部青年长江学者(2020),任《中国科学:物理学力学天文学(英文版)》青年编委。主持自然科学基金委青年项目和面上项目各一项。


本书由异步社区出品,社区(www.epubit.com)为您提供相关资源和后续服务。

您还可以扫码右侧二维码, 关注【异步社区】微信公众号,回复“e58124”直接获取,同时可以获得异步社区15天VIP会员卡,近千本电子书免费畅读。

作者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎读者将发现的问题反馈给我们,帮助我们提升图书的质量。

如果读者发现错误,请登录异步社区,按书名搜索,进入本书页面,单击“提交勘误”,输入勘误信息,单击“提交”按钮即可(见下图)。本书的作者和编辑会对读者提交的勘误进行审核,确认并接受后,将赠予读者异步社区的100积分(积分可用于在异步社区兑换优惠券、样书或奖品)。

扫描下方二维码,读者会在异步社区微信服务号中看到本书信息及相关的服务提示。

我们的联系邮箱是contact@epubit.com.cn。

如果读者对本书有任何疑问或建议,请发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。

如果读者有兴趣出版图书、录制教学视频,或者参与图书翻译、技术审校等工作,可以发邮件给我们;有意出版图书的作者也可以到异步社区在线提交投稿(直接访问www.epubit.com/contribute即可)。

如果读者来自学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。

如果读者在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请将怀疑有侵权行为的链接发邮件给我们。这一举动是对作者权益的保护,也是我们持续为读者提供有价值内容的动力之源。

异步社区”是人民邮电出版社旗下IT专业图书社区,致力于出版精品IT技术图书和相关学习产品,为作译者提供优质出版服务。异步社区创办于2015年8月,提供大量精品IT技术图书和电子书,以及高品质技术文章和视频课程。更多详情请访问异步社区官网。

异步图书”是由异步社区编辑团队策划出版的精品IT专业图书的品牌,依托于人民邮电出版社近30年的计算机图书出版积累和专业编辑团队,相关图书在封面上印有异步图书的LOGO。异步图书的出版领域包括软件开发、大数据、AI、测试、前端、网络技术等。

异步社区

微信服务号



自然并不是经典模式的,可恶。如果你想模拟自然,你最好使用量子力学来做。

理查德费曼(Richard Feynman)[5]

1965年的诺贝尔物理学奖获得者理查德•费曼在其1982年的论文《用计算机模拟物理学》(“Simulating Physics with Computers”)中说到,他想“探讨存在精准模拟的可能性,即计算机的行为与自然的行为完全一致的可能性。”然后他又说了上面的话,声称自然界的设计方式并不能使自己通过经典的二进制计算机进行计算。

我们将从这一章开始探索量子计算与经典计算的不同之处。经典计算驱动着当今的智能手机、笔记本电脑、互联网服务器、大型机、高性能计算机,乃至汽车中的处理器。

我们将探讨一些用例——这些用例目前还无法在经典计算机上使用经典方法解决,但未来某天也许会被量子计算攻克。这是为了激励你了解本书探讨的量子计算的基础和细节。

对于这一主题,仅用一本书是无法详尽介绍的。而且随着创新的继续,我们会创造出越来越好的硬件和软件,我们的技术和潜在用例目标也在不断变动。本书的目标是让你做好准备,以便能更深入地探究量子计算的编程和应用。

假设我正站在一个房间里,头顶上有一盏灯,旁边有一个可以开灯或关灯的开关(见图1-1)。这只是一个普通开关,所以我无法调节灯光亮度。要么全开,要么全关。我可以随意改变开关状态,但我也只能做这一件事。这个房间只有一扇门,没有窗户。当我在门外时,如果门关着,我看不见里面的任何光。

图1-1

我可以待在房间里,也可以离开。取决于开关的位置,这盏灯要么亮起,要么熄灭。

现在,我要重新布线了。我将用这栋建筑里另一个地方的另一个开关替换原本的开关。现在我完全看不见灯,但同样地,这盏灯的亮灭状态完全由这个开关的两个位置决定。

如果我走向装有这盏灯的房间并打开门,我可以看到该灯是亮还是灭。我可以进出该房间任意次,这盏灯的状态依然由那个或开或关的开关所决定。这盏灯是“经典模式的”。

现在,让我们想象一组采用量子模式的灯和开关,我们分别称之为“量子灯”和“量子开关”。

当我走进有这盏量子灯的房间时,和之前一样,它要么亮起,要么熄灭。这个量子开关和普通开关不一样,它的形状像一个球(见图1-2),其顶部(不妨称为北极)表示“断开”,底部(不妨称为南极)则表示“闭合”。而在这个球的中部,刻了一条线。

图1-2

当我在这栋建筑里有量子开关却看不见量子灯的地方时,有意思的情况出现了。

我将手指放在量子开关的球面上来控制这个开关。如果我将手指放在北极,则量子灯肯定熄灭;如果我将手指放在南极,则量子灯必然亮起。你可以走进房间查看,也总是能得到上述结果。

如果我把手指移到量子开关球面的其他任何地方,这个量子灯在你查看时可能处于熄灭或亮起状态。如果你不查看,则这个量子灯可能处于一种中间状态:它并非变暗了,也并非处于熄灭或亮起状态,它只是在被查看时以一定概率处于熄灭或亮起状态。这实在非同寻常!

在你打开门看见量子灯的瞬间,这种不确定性就会消除。灯要么亮起,要么熄灭。此外,如果此时我的手指正放在量子开关上,那么这根手指会被迫移动到南极或北极位置,其分别对应于所看见的量子灯的亮灭状态。

查看量子灯这一行为会迫使开关进入闭合或断开状态。我不必看到量子灯本身,只要我打开一点点门,能看见灯是否在发光就够了。

如果我在有量子灯的房间里放一个摄像机,然后在看视频的同时将我的手指放在量子开关上,则这个开关的行为模式将与普通开关完全一样。除了顶部和底部,我将无法触碰这个量子开关的其他任何地方。既然我构想了这个案例,那就假设存在某种阻碍我触碰极点外其他任何位置的力场吧!

如果你或我都没有以任何方式查看这个量子灯,那么我触碰这个量子开关时的情形又会有何不同?触碰其北半球或南半球是否会影响量子灯在我查看时的亮灭状态?

会的。触碰量子开关上更接近北极或南极的位置会分别使得量子灯熄灭或亮起的概率更高。如果我将手指放在极点之间的圆圈(赤道)上,则量子灯亮起或熄灭的概率刚好各为50%。

以上描述的系统被称为二态量子系统two-state quantum system)。当量子灯未被查看时,它处于亮起和熄灭的叠加superposition)状态。我们将在7.1节探索叠加。

尽管这可能看起来很奇怪,但有证据表明大自然就是这样运作的。电子具有一种被称为“自旋(spin)”的属性。在这一属性的基础上,电子就是一种二态量子系统。构成光的光子本身就是一种二态量子系统。我们将在11.3节介绍极化(polarization,也称“偏振”,偏振光太阳镜中便用到了极化)时涉及这一主题。

对本书而言更重要的量子比特quantum bit常写为qubit也称量子位” )也是一种二态量子系统。量子比特是对经典计算中比特概念的扩展和补充,而比特要么为0,要么为1。量子比特是量子计算中的基本信息单位。

本书要讲的是通过操纵量子比特使目前仅使用经典计算无法攻克的问题得到解决的方法。对于某些问题,似乎仅使用0或1是十分难以解决的,而如果坚持使用0或1,所需的时间和内存都将多得不切实际。

使用量子比特时,我们将亮起或熄灭对应的术语1或0分别替换为。我们也不再使用量子灯这一说法,从现在开始将其称为量子比特。

在图1-3中,你的手指在量子开关上的位置现在由两个角度表示:。图1-3本身被称为布洛赫球面,这是量子比特的一种标准表示方法,我们将在7.5节介绍它。

图1-3

如果我们可以不用实验室里的试管或烧杯,而是在计算机中进行化学反应,会如何呢?如果进行一个新实验就像运行一个应用程序那么简单,只需几秒就能完成,又会如何呢?

要真正实现这一点,我们需要程序能完全保真地完成这项任务。计算机中建模的原子和分子的行为应该与试管中的原子和分子的行为完全一致。物理世界中发生的化学反应需要精准的计算来模拟。我们将需要完全忠实的模拟。

如果我们能大规模地做到这一点,也许就能算出我们需要的分子(这些分子可能是一种用于洗发水的新材料,甚至是一种用于汽车和飞机的新型合金);也许我们可以更高效地发现针对你的生理机能定制的药物;也许我们可以更好地理解蛋白质折叠的方式,并由此理解它们的功能,进而有可能创造出能为我们的身体带来积极转变的定制酶。

这看起来可以实现吗?虽然我们已经有能运行各种模拟程序的大型超级计算机了,但我们现在能以上述方式为分子建模吗?

我们以1,3,7-三甲基黄嘌呤为例来谈谈吧(见图1-4),它的分子式为。这种化学名称晦涩难懂的分子其实每天都被全世界数以百万计的人享用——它还有另一个名称:咖啡因。一杯8盎司[1]的咖啡约含95 mg咖啡因,也就是约个分子,即:

295000000000000000000个分子

[1] 盎司(ounce)既是重量单位又是容量单位。在此处表示液体盎司,1盎司约为29.57 mL,8盎司约为236.56 mL,后文的12盎司约为354.84 mL。——译者注

图1-4

常见的12盎司可乐约含32 mg咖啡因,健怡可乐约含42 mg咖啡因,能量饮料通常约含77 mg咖啡因[11]。

问题1.2.1

你每天会喝下多少咖啡因分子?

分子数很多,因为我们是在数宇宙中物体的数量,而我们知道宇宙很大。举个例子,科学家估计单是地球,原子数量级就达到了[4]。

我们找个语境来看看这些数字:,以此类推。1 GB等于109字节,1 TB等于字节。

回到本节开始时提出的问题:我们可以在计算机中精准地为咖啡因建模吗?我们不是必须要为一杯咖啡中的大量咖啡因建模,但我们可以完全表征某一瞬间的单个分子吗?

咖啡因是一种小分子,其中包含了质子、中子和电子。特殊地,就算我们只描述决定分子结构的能量构型以及将分子聚合在一起的键,该分子的信息量也多得惊人。具体来说,所需的比特数,即0和1的数量,大约为,即:

1000000000000000000000000000000000000000000000000

再看看之前的内容,这差不多相当于地球原子总数的1%~10%。

这还只是一个分子!尽管如此,大自然还是能以某种方式相当高效地处理这些信息。大自然能处理单个咖啡因分子,也能处理咖啡、茶和其他软饮中所有的咖啡因分子,还能处理构成你及周遭世界的每一个分子。

大自然是怎么做到的?我们不知道!当然,理论还是有的,它们处于物理学和哲学的交汇处,但我们并不需要完全理解也能将其利用起来。

按照传统的方式,我们没法使用足够的存储空间来容纳如此之多的信息。我们想要获得精准表征的梦想似乎就此破灭了。这正是本章开始时引述的理查德•费曼(如图1-5所示)所说的“自然并不是经典模式的”的含义。

图1-5 1959年,理查德•费曼在美国加州理工学院。照片属于公共领域

但是,当使用量子比特来执行计算时,160 个量子比特就能容纳比特的信息。先说清楚,我不会介绍我们该如何将这些数据放入量子比特,我也不会谈如果我们要用这些信息来做一些有趣的事情,我们还需要多少量子比特。但是,量子比特确实带来了希望。

使用经典方法时,我们永远无法完整表征一个咖啡因分子。未来,当我们有了足够强大的量子计算系统,其中包含了足够多质量极高的量子比特时,也许我们就能在计算机中进行化学研究了。

了解更多

在量子化学这个科学领域中,量子计算机也许最终会被用于计算分子性质和蛋白质折叠构型等任务,但怎样能做到这一点却并不是三言两语就能说清的。尽管如此,前文的为咖啡因分子建模就是量子模拟quantum simulation)的一个例子。

如果你想了解截至2019年在化学领域应用量子计算的历史和最佳方法,可以参考Cao等人的综述[2]。如果你想理解规模化地进行分子的量子模拟这个具体问题及其与高性能计算机的交织情况,可参考Kandala等人的文章[10]。

我可以在经典计算机上写一个模拟掷硬币的小应用程序。这个应用程序可以在我的手机或笔记本电脑上进行。

我们不使用正面或反面,而使用1和0。我将这个例程称为R,其初值为1或0,然后随机返回1或0。也就是说,它有50%的概率会返回1,50%的概率会返回0。不管R以怎样的方式做了什么,我们都不知道。当你看到“R”,要想到random(随机)。

这被称为公平抛掷(fair flip)。它没有经过加权,不会略微偏好其中某个结果。我们究竟能否在经典计算机上得到真正随机的结果则是另外一个问题。在这里,先假设我们的应用程序是公平的。

如果将R的初值设为 1,则可以预计其有50%的概率返回1,有50%的概率返回0;如果将R的初值设为0,结果也是一样的。我称这两个应用程序分别为R(1)和R(0)。

如果只看R(1)或R(0)的结果,没办法分辨R的初值究竟是1还是0。这就像是在神秘的掷硬币游戏中,无法仅凭硬币落地后的情况知道硬币是从正面还是反面朝上的情况开始抛掷的。我说掷硬币游戏“神秘”,是因为我能看到掷硬币的结果,但对抛掷行为本身的机制或硬币的初始状态一无所知。

如果R(1)和R(0)都随机为1和0,那当执行R两次(图1-6)时又会发生什么?

图1-6

我将其写作R(R(1))和R(R(0))。答案还是一样的:均等分配的随机结果。不管我们执行R多少次,情况总是一样的:结果是随机的,我们不能反向推断出初始值。用5.3节中的术语来说:R不可逆的

现在来看量子版本。我不再使用R,而使用H(图1-7),我们将在7.6节学到它。它也能以同等的概率返回0或1,但它还有两个有趣的性质。

图1-7

(1)它是可逆的。尽管无论是从1还是从0开始,它都会随机得到1或0,但我们总是能反过来查看初始时的值。

(2)它是其本身的逆运算或反运算。连续执行两次的结果就相当于什么也不做。

但是,这里有个陷阱。如果你想要逆转H的结果,那么你就不能查看H的结果。

如果我们将H的初值设为0或1,执行并查看结果,然后再次执行H,那么结果就与使用R的一样了。在量子设置中,如果你在错误的时间执行了观测,你就直接回到了严格经典的行为。

使用掷硬币的术语来总结一下:如果你抛掷的是一枚量子硬币,抛掷后不去查看它,然后再次抛掷,就会得到你开始时的正面或反面;如果你看了,得到的就是经典的随机结果。

问题1.3.1

请将该行为与1.1节的量子开关和量子灯的行为进行比较。

量子的另一个不同之处是处理同时值(simultaneous value)的方式。通常手机或笔记本电脑将字节(byte,记为B)作为内存或存储器的基本单位,因此我们有“兆字节”(megabyte,记为MB)这样的短语,其意思是一百万字节。

一个字节又可进一步分解为8个我们之前已经见过的比特。每个比特都可能是0或1。算一算,每个字节都能表示为有种可能性的、用8个0或1构成的数字,但它一次只能保留一个值

8个量子比特则可以同时表示256个值。

这是通过叠加实现的,但也要用到纠缠entanglement),这样我们才能将两个或多个量子比特的行为紧密地关联在一起。正因如此,对于我们在1.2节提到的咖啡因示例,如果使用量子表征,我们就能为工作内存大小带来指数级增长(实实在在的)。我们将在8.2节探索纠缠。

人工智能及其子学科机器学习涉及大量类型广泛的数据驱动技术和模型。它们被用于寻找信息中的模式、基于信息进行学习以及更“智能地”自动执行任务。它们也能为人类提供用其他方法很难获得的帮助和见解。

这里提供了一个思路,可以帮助你思考量子计算怎样应用于人工智能等计算密集型的、过程复杂的大型系统中。下面给出了3种也许可用量子计算补充经典技术的方法,它们在某种程度上分别对应于小、中、大规模。

(1)在一个软件组件中间某处可能有某个数学计算过程可通过量子算法加速。

(2)经典计算过程中有某个已得到良好描述的组件可用其量子版本替代。

(3)存在一种因为可以使用量子计算而完全不使用传统方法中某些经典组件的方法,或整个经典算法都可以被更快或更有效的量子算法替代。

在我写作本书时,量子计算机尚未成为大数据(big data)机器。也就是说,你无法将数以百万计的信息记录用作量子计算的输入。不过,当你开始检查数据中的关联或依赖关系时,量子计算可以帮助完成输入数量适中但计算量“爆炸”的任务。正如我们在1.2节的咖啡因示例中看到的那样,凭借其呈指数级增长的工作内存,量子计算也许能够控制和应对这种“爆炸”。(参见2.7节对指数级增长的讨论。)

但在未来,量子计算机也许能够输入、输出和处理更多的数据。即便现在仍旧只有理论,但我们仍然可以合理地问:某天是否会有可用于人工智能的量子算法?

我们来看一些数据。我是个铁杆棒球迷,而棒球有很多相关的统计数据。这种分析甚至还有个专有名词:赛伯计量学(sabermetrics)。

假设我有一张按年份统计的一名棒球运动员的统计数据表,如图1-8所示。

图1-8 一名棒球运动员的逐年统计数据

为了让这些数据看起来更数学化,我们可以用这些数据创建一个矩阵:

 

有了这样的信息,我们可以使用机器学习技术来对其进行处理,以预测这名运动员的未来表现,甚至预测其他相似运动员的可能表现。这个过程中使用到的矩阵运算将在第5章进行讨论。

美国职业棒球大联盟有30支球队。加上他们的训练球队和培养球员的“小联盟”球队,每支大联盟球队的整个体系中都可能有超过400名球员。这样一来,球员总数量就超过了 12000,其中每一名球员都有各自完整的历史。实际的统计数据比我列出的多,这样我们的矩阵规模很容易就能超过100000个值。

在娱乐行业,很难估计有多少部电影存在,但数量肯定远超过100000。对于每部电影,我们都可以列出其特征,比如它的类型(喜剧片、剧情片、爱情片等)、主演、导演、制片人、电影中的地理位置、所使用的语言等。这样的特征有数百个,而看过这些电影的人也数以百万计

对于每个观众,我们还可以添加他是否喜欢某类电影、某个演员、某个场景位置或某个导演等特征。使用这些信息,根据观众和与观众相似的人的偏好,系统可以推荐在12月的某个周六晚上看的电影。

现在将每名棒球运动员或电影的每个特征视为一个维度。你可能会想到自然界的两三个维度,而在人工智能中,维度数可能成千上万,甚至达到数百万。

如前文所述,用于人工智能的矩阵的行数和元素数可达数百万。我们应该怎样理解它们,从而获得对其的见解、窥见其中的模式呢?考虑到要处理如此大量的信息,我们究竟能否在经典计算机上足够快速和准确地完成这些数学计算呢?

最初,人们以为量子算法也许能为这样的经典推荐系统带来指数级的运行速度提升,但Ewin Tang在2019年提出的一种“量子启发的算法”却表明一种经典方法也能带来这样的巨大提升[17]。什么是“指数级提升”?举个例子,指数级提升可能指能在6天内完成某事,而不是用万天——大约是2740年。

Tang的研究成果是经典算法和量子算法交织发展的一个有趣案例。为经典计算开发算法的人会从量子计算汲取灵感,为量子计算开发算法的人也会从经典计算汲取灵感。另外,针对一个问题的任意特定的解决方法都可能包含经典组件和量子组件。

尽管如此,许多人仍旧相信量子计算能为某些矩阵计算带来巨大的提升。其中一个例子是HHL算法的提出。HHL是提出这一算法的3位研究者(Aram W. Harrow、Avinatan Hassidim和Seth Lloyd)的姓氏首字母缩写。这个例子属于本节开头提到的“可用量子计算补充经典技术的方法”中的第一种。

这样的算法有望在经济学和计算流体动力学等许多领域发挥作用。它们还对数据的结构和密度有要求,而且可能使用我们将在5.7.6小节讨论的条件数(condition number)等性质。

了解更多

当你学完本书之后,你将有足够的知识基础阅读描述 HHL 算法的原始论文,以及近期关于如何将量子计算应用于线性代数问题的研究[7]。

在机器学习领域中一个重要的问题是分类。最简单的分类器是二元分类器,可将事物划分到两类中的一类。根据类别的定义,分类也可能或难或易。

下面给出一些二元分类的示例:

你喜欢的书你不喜欢的书;

喜剧片剧情片;

无麸质有麸质;

用鱼做的菜用鸡肉做的菜;

英国足球队西班牙足球队;

普通辣酱超辣辣酱;

棉衬衫免烫衬衫;

开源专有;

垃圾电子邮件有用的电子邮件;

美国联盟中的队伍国家联盟中的队伍[2]

[2] 美国联盟(American League)和国家联盟(National League)为两个不同的职业棒球联盟。——编者注

第二个划分喜剧片或剧情片的例子可能并不恰当,因为有些电影同时属于两者。

从数学上看,我们想象一些数据是输入,然后将其分类为。我们可以取一个相当大的数据集,手动为其打上的标签,然后从这个训练集学习如何对未来的数据进行分类。

机器学习二元分类算法包括随机森林、k近邻、决策树、神经网络、朴素贝叶斯分类器和支持向量机(Support Vector Machine,SVM)等。

在训练阶段,首先给定一个预分类的目标(书籍、电影、蛋白质、操作系统、棒球队等)列表。然后使用以上算法学习如何将新的目标划分为其中一个类别。

SVM是一种直接、简单的方法,具有清晰的数学描述。在二维情况下,我们尝试画出一条直线将目标(在图 1-9中用点表示)分到两类中的一类。

图1-9

这条直线应尽可能使目标分组之间的间隙最大。

图1-10中给出了一条直线的示例,其将实心点划分到了直线的下方,将空心点划分到了直线的上方。

图1-10

给定一个新点,我们可以将其标到图中,然后看它是在直线的上方还是下方。这代表着将其划分为空心点或实心点。

假设我们知道这个点被正确地划分到直线的上方。我们可以接受这一结果,然后继续操作。

但如果这个点分类错误,我们就将这个点添加到训练集中,然后尝试计算出一条更好的新直线。这也许无法做到。

在图1-11中,我在直线上方纵坐标接近2的位置添加了一个新的实心点。有了这一个点,我们将无法计算出可以分开这些点的直线。

图1-11

如果我们在三维空间中表示这些点,我们将需要找到一个能以最大间隙分开这些点的平面。我们将需要计算一些新的量,使这些点位于平面的上方或下方。用几何术语来说,如果仅给出,我们就需要以某种方式计算出一个用于表示第三个维度的

对于使用个维度的表征,我们要计算出()维的分割超平面hyperplane)。我们将在第4章介绍二维和三维,在第5章讨论一般情况。

在图1-12中,我先从图1-11中取同样的值并将它们平放在坐标平面中。然后添加一个竖直维度,将实心点移到平面下方,将空心点移到平面上方。使用这一构造,坐标平面本身就能将这些值分开。

图1-12

我们虽然无法在二维空间中将这些点分开,但能在三维空间中做到这一点。这种面向更高维度的映射被称为核技巧kernel trick)。尽管这一案例中的坐标平面可能并不是理想的分割超平面,但它能让你理解我们在这里的思路。核函数kernel function,核技巧的一部分)的优点是我们真正需要做的几何计算可能比你预想的在更高维空间中所需的计算少得多。

现在需要指出,对于那些我们能使用传统方法很好地解决的小问题,我们无须尝试量子方法。除非问题足够大,值得付出量子线路相对于经典电路的额外开销[3],否则采用量子方法是没有优势的。另外,如果我们能想出一种可以在经典计算机上轻松模拟量子方法的技术,那我们就不一定需要量子计算机了。

[3] “电路”与“线路”在本书英文版中均为“circuit”,但本书将经典电子计算机场景中的该词译为电路,将量子计算相关场景中的该词译为线路。——译者注

1量子比特的量子计算机能为我们提供一个二维的工作空间。每增加一个量子比特,维度就会翻倍。这一现象基于将在第7章和第8章介绍的叠加和纠缠概念。当有10个量子比特时,我们将得到维。类似地,当有50个量子比特时,我们将得到维。

还记得棒球运动员和电影的特征的维度吗?为了在量子特征空间quantum feature space)中执行人工智能计算,我们需要足够大的量子计算机。重点就是:在大型量子特征空间中处理维度极高的数据。

现在已有一种在量子特征空间中生成分割超平面的量子方法。还有另一种方法可以跳过生成超平面的步骤,直接得到非常准确的分类核函数。随着我们能纠缠的量子比特数量的增加,分类成功率也将得到提升[8]。这个研究领域很活跃:我们该如何使用经典方法中不存在的纠缠来找到比使用严格的传统方法更好的模式或新模式?

了解更多

将量子计算与机器学习等人工智能技术联系起来的研究论文正越来越多,但研究成果有些零散。在总结当今研究现状方面比较好的书是Peter Wittek所著的《量子机器学习》(Quantum Machine Learning)[19]。

再提醒一次:目前量子计算机还不能处理大量数据!

另外,Torial等人[18]展示了一项机器学习在量子计算和化学方面的高级应用。

假设我们有一个半径为1的圆,它内切于一个正方形,则该正方形的边长为2,面积为。那么这个圆的面积是多少?

在你回忆几何面积公式之前,我们试试另一种计算方法,这会用到比率和一些实验。

假设我们将个硬币抛掷到这个正方形上,然后统计其中有多少硬币的中心位于其内切圆上或圆内(如图1-13所示)。如果这一数量为,则

因此,

图1-13

这里涉及随机性:硬币有可能全部落在圆内或以更小的可能性全部落在圆外。当时,我们将完全无法准确地估计,因为只能为0或1。

问题1.5.1

如果可能的估计值是多少?时又如何?

很显然,选择的越大,对的估计就越准确。

我使用Python及其随机数生成器创建了10个中心位于正方形内的点。图1-14a展示了这些点的位置。在这种情况下,

时,我们得到图1-14b,此时。要记住,如果生成的随机数不同,这些数字也会有所差异。

图1-14c所示的是的情况。现在

的实际值为。这一技术名为蒙特卡罗采样Monte Carlo sampling),可以追溯到20世纪40年代。

图1-14

下面给出了使用这一技术在越来越大时所得到的的近似值。要记住,因为我们使用的是随机数,所示这些数字也会随所使用的数值序列的变化而变化:

N 10 100 1000 10000 100000 1000000 10000000
A 3.6 3.36 3.148 3.1596 3.14336 3.141884 3.1414132

要接近实际值,需要运行很多次,即的值要非常大。尽管如此,这个例子表明我们可以使用蒙特卡罗采样技术来近似求取可能没有公式的值(在这个案例中我们估计的是)。在这个案例中,我们故意忽视了已有的知识,即圆的面积为,其中是圆的半径。

我们将在6.7节介绍其中涉及的数学知识,并且说明如果想以至少99.9999%的概率在0.00001的精度内估计的值,我们需要。也就是说,我们需要使用的点的数量超过8200万!所以,虽然这里可以使用蒙特卡罗方法,但效率很低。

在这个案例中,我们事先已经通过其他方法知晓了答案。如果我们不知道答案,而且没有可供计算的公式,那么蒙特卡罗方法可成为一种有用的工具。但是,由于需要非常大量的样本才能得到合理的准确度,因此这一过程的计算量也非常大。我们如果可以显著降低所需的样本数量,就能以较快的速度计算得到更准确的结果。

鉴于本节的标题提到了“金融”,那么我现在可以毫不奇怪地指出:蒙特卡罗方法可用于计算金融(computational finance)。我们计算时的随机性可以转换成不确定性等概念。而不确定性可与概率关联到一起,概率又可用于计算投资的风险和回报率。

对于投资回报率,就不是看一个点是在圆内还是圆外了。我们在计算风险时可能需要考虑多项因素:

市场规模;

市场份额;

售价;

固定成本;

运营成本;

过时淘汰成本;

通胀或通缩;

国家货币政策;

天气;

政治因素。

对于以上或其他任何与特定投资相关的因素,我们要对其进行量化处理,并分配可能结果的概率,然后以加权的方式将所有可能的情况组合起来计算风险。这是一个无法一次性计算完成的函数,但我们可以使用蒙特卡罗方法来估计——类似于 6.7 节中的圆分析(circle analysis),但更复杂。这样,我们就可以知道需要多少样本得到所需准确度的结果。

在这个关于圆的例子中,即使仅得到一般合理的准确度也需要数千万个样本。要分析投资风险,我们所需的样本数量可能还要多很多个数量级。那么,我们该怎么办?

我们可以使用高性能计算机,也确实是这么做的。我们可在考虑每个因素时思考更少的可能。举个例子,可以将可能的售价变化幅度设置得更大,也可以咨询更专业的专家,得到更准确的概率(这可以提升准确度,同时不一定增加计算时间),还可以使用更少的样本,只要我们能接受精度更低的结果。

我们也可以考虑使用蒙特卡罗方法的量子版本或其他替代方法。2015年,Ashley Montanaro描述了一种使用量子计算进行二次加速的方法[12]。这能使速度有多大提升?要得到前文的圆计算中所提到的准确度,我们无须再使用8200万个样本,仅使用大约9000个样本()就能达到目标。

2019年,Stamatopoulos等人的研究展示了使用量子计算系统实现金融期权定价的方法和需要考虑的问题[16]。需要强调:为了真正做到这一点,我们所需的量子计算机在规模、准确度和计算能力方面都要远胜于本书撰写时已有的量子计算机。但是,正如很多在行业用例上完成的算法研究一样,我们相信我们的道路是正确的:使用量子计算能以显著更快的速度解决一些重大问题。

通过使用蒙特卡罗方法,我们可以改变我们的假设,然后对其进行场景分析。如果我们最终可以使用量子计算机来极大地减少所需样本的数量,我们将能以更快的速度分析更多的场景。

了解更多

David Hertz在1964年发表于《哈佛商业评论》(Harvard Business Review)的论文非常浅显易懂地介绍了用于风险分析的蒙特卡罗方法,尽管文中并未用到“蒙特卡罗”这个词[9]。近期的一篇论文更全面地总结了这些方法以及将它们应用于市场分析的历史[6]。

本书的目标是介绍量子计算,以便你有足够的知识储备可以阅读特定行业的量子计算用例和研究论文。举个例子,要了解用于风险分析的现代量子算法,可阅读Woerner和Egger等人的文章[20] [3]。Braine等人[1]介绍了使用量子计算进行交易结算方面一些早期的探索结果。

你可能在新闻媒体上见过如下的头条标题。

量子安全末日!

Y2K?做好准备迎接Q2K!

量子计算将突破所有互联网安全技术!

这些让人喘不过气的“宣言”意在抓住你的眼球,而且通常包含关于量子计算和安全的严重误解。我们来看看这些担忧的根源所在,然后从现实角度来讨论量子计算是否真的会造成安全危机。

RSA是一种常用的安全协议,其工作方式如下。

你希望别人给你发送安全信息。这意味着你需要给他们提供一些东西,以便他们在发送之前对消息进行加密。你且只有你可以解密他们发送给你的信息。

你发布一个用于加密发送给你的消息的公钥。任何获得这个公钥的人都能使用它。

另外还有一个密钥,即你的私钥。你且只有你拥有它。你可以使用它解密并读取加密后的消息[15]。

尽管上面谈到的是发送给你的消息,但这个方案也适用于通过互联网发送交易数据并安全地将信息存入数据库中。

可以肯定的是,如果有人窃取了你的私钥,就会让网络安全遭遇紧急风险。而量子计算既不能从物理上窃取你的私钥,也不能说服你把它交给坏人。

但如果我能根据你的公钥计算出你的私钥呢?

你的公钥看起来像是一个数对,其中是一个非常大的整数,而且它是两个质数的乘积。我们将这两个质数记为。举个例子,如果,则

你的私钥看起来像是一个整数对,其中的与公钥中的一样。真正需要保密的是其中的

潜在的问题是:如果某人能快速地将分解为,那么他们就能计算出。也就是说,快速的整数分解会导致RSA加密被破解。

虽然乘法非常简单,你很早就已经学会了,但将整数分解却非常难。对于特定两个质数的乘积,如果使用已知的经典方法来分解,可能需要数百乃至数千的时间。

鉴于此,除非被盗取或被你交给了别人,否则消息应当安全无虞。除非,世上存在使用非经典计算机的另一种整数分解方法。

1995年,彼得•舒尔发布了一种用于整数分解的量子算法。相比于已知的经典方法,舒尔算法可获得指数级的速度提升。我们将在10.6节分析舒尔算法。

听起来真是有大问题呀!这也正是很多有关量子计算和安全的文章如此“疯狂”的根源。但问题的关键是:为了执行这样的分解,量子计算系统需要达到怎样的计算能力和计算质量?

撰写本书时,科学家和工程师正在构建物理量子比特达到两位数的量子计算机,并希望在未来几年里构建出物理量子比特达到3位数的系统。举个例子,研究者已经讨论过具有20、53、72和128个量子比特的情况。(要注意人们说的“将有”和“真的有”的差别。)物理量子比特是指用硬件实现的逻辑量子比特,我们将在第7章提到它。

物理量子比特有噪声,而噪声会导致计算出现误差。舒尔算法需要使用具备完全容错和纠错能力的逻辑量子比特,也就是说,我们需要有能力检测和纠正量子比特中出现的错误。实际上,如今的笔记本电脑和智能手机的内存和数据存储器中就具备这种机制。我们将在11.5节探索量子纠错。

根据经验法则,假设打造一个逻辑量子比特需要1000个非常好的物理量子比特(如图1-15所示)。根据研究者、市场“炒作”和主观愿望的不同,这个估计值可能会有所差异,但我认为1000是比较合理的。我们将在第11章讨论这两类量子比特的关系。目前,我们正处于多噪声中规模量子Noisy Intermediate-Scale QuantumNISQ)时代。NISQ这个术语是物理学家John Preskill于2018年提出的[14]。

图1-15 打造一个逻辑量子比特(L)需要许多物理量子比特(P)

进一步估计,要使用舒尔算法来分解当今的RSA所使用的,大概需要亿个物理量子比特。这差不多对应10万个逻辑量子比特。另一方面,现在已有的量子计算机的物理量子比特数量仅有两三位数。两个数量级间差异巨大。

这些数字也许过于保守,但我认为与实际情况的差别也不会太大。如果有人引述了远远更小的数字,你要尝试了解他们的动机以及他们所使用的数据。

我们可能要等到2035年乃至更遥远的未来才能造出如此强大的量子计算机,也可能永远无法造出如此强大的量子计算机。假设我们未来能够造出这样的量子计算机,那么我们现在应该做什么呢?

首先,你应该开始迁移到所谓的后量子(post-quantum)或抗量子(quantum-proof)加密协议。美国国家标准技术研究所的一个跨国研究团队正在为这些加密协议制定标准。量子计算系统无法破解这些协议,尽管其最终也许能破解RSA和其他经典协议。

你也许觉得还有很多时间,足够迁移你的交易系统。但完成迁移究竟需要多少时间?对金融机构来说,部署新的安全技术可能需要10年乃至更长的时间。

更重要的是你的数据。如果有人能在15年、30年或50年内攻破你的数据库,是否会造成麻烦?对于大部分组织机构来说,答案是确凿的。你现在就应该开始为你的数据寻求使用新的后量子安全标准的软硬件加密支持。

最后,不管有没有量子计算,如果你现在没有很好的网络安全和加密策略或者还没有实际部署它们,那么你将面临很大的风险。抓紧时间解决这些问题吧。想知道量子计算系统能否以及何时可能会被用于破解加密方案?你应该听听那些真正参与制造量子计算系统的人的说法,毕竟其他所有人的言论都是“二手”或“三手”知识。

了解更多

在估计量子计算系统能否以及何时可能威胁到网络安全时,不同的人有不同的看法。任何有关这一主题的研究都有必要随技术的发展而更新。在本书首次出版之时,对此做出最完整分析的大概是Mosca和Piani[13]。

在第1章中,我介绍了近来人们对量子计算机感兴趣的原因。经典计算比特“孤立”的1和0可以被量子比特无限的状态扩展和补充。叠加和纠缠性质可让我们获得经典计算机无法提供的、多维度的工作内存。

量子计算的行业用例尚在萌芽,但专家相信量子计算很快就能用于化学、材料科学和金融服务等领域。在人工智能领域,量子计算也可用于提升某些计算的性能。

在传统媒体和社交媒体上,对于安全性、信息加密和量子计算之间的影响,一直存在很多不同的声音,主要的分歧在于其所需的性能和时间。

在第2章中,我将更详细地介绍基于经典比特的计算,并从技术角度探索量子计算如何帮助我们解决用当今的其他方法无法解决的问题。从第3章到第6章,我将介绍理解量子计算的工作方式所必需的数学知识。要介绍的内容有很多,但量子计算值得我们深入学习,而不仅仅是肤浅地理解“是什么”“怎么样”“为什么”。

[1] Lee Braine et al. Quantum Algorithms for Mixed Binary Optimization applied to Transaction Settlement. 2019.

[2] Yudong Cao et al. “Quantum Chemistry in the Age of Quantum Computing”. In: Chemical Reviews (2019).

[3] Daniel J. Egger et al. Credit Risk Analysis using Quantum Computers. 2019.

[4] FermiLab. What is the number of atoms in the world? 2014.

[5] Richard P. Feynman. “Simulating Physics with Computers”. In: International Journal of Theoretical Physics 21.6 (June 1, 1982), pp. 467-488.

[6] Peter Furness. “Applications of Monte Carlo Simulation in marketing analytics”. In: Journal of Direct, Data and Digital Marketing Practice 13 (2 Oct. 27, 2011).

[7] Aram W. Harrow, Avinatan Hassidim, and Seth Lloyd. “Quantum Algorithm for Linear Systems of Equations”. In: Physical Review Letters 103 (15 Oct. 2009), p. 150502.

[8] Vojtěch Havlíček et al. “Supervised learning with quantum-enhanced feature spaces”. In: Nature 567.7747 (Mar. 1, 2019), pp. 209-212.

[9] David B Hertz. “Risk Analysis in Capital Investment”. In: Harvard Business Review (Sept. 1979).

[10] Abhinav Kandala et al. “Hardware-efficient variational quantum eigensolver for small molecules and quantum magnets”. In: Nature 549 (Sept. 13, 2017), pp. 242-247.

[11] Rachel Link. How Much Caffeine Do Coke and Diet Coke Contain? 2018.

[12] Ashley Montanaro. “Quantum speedup of Monte Carlo methods”. In: Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences 471.2181 (2015), p. 20150301.

[13] Michele Mosca and Marco Piani. Quantum Threat Timeline. 2019.

[14] John Preskill. Quantum Computing in the NISQ era and beyond.

[15] R. L. Rivest, A. Shamir, and L. Adleman. “A Method for Obtaining Digital Signatures and Publickey Cryptosystems”. In: Commun. ACM 21.2 (Feb. 1978), pp. 120-126.

[16] Nikitas Stamatopoulos et al. Option Pricing using Quantum Computers. 2019.

[17] Ewin Tang. A quantum-inspired classical algorithm for recommendation systems. 2019.

[18] Giacomo Torlai et al. Precise measurement of quantum observables with neural-network estimators.

[19] P. Wittek. Quantum Machine Learning. What quantum computing means to data mining. Elsevier Science, 2016.

[20] Stefan Woerner and Daniel J. Egger. “Quantum risk analysis”. In: npj Quantum Information 5 (1 Feb. 8, 2019), pp. 198-201.

微信扫码关注【异步社区】微信公众号,回复“e58124”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。


1.单量子比特

计算基底(

  

  

阿达马基底(

  

  

圆基底(

2.双量子比特

计算基底

 

 

 

 

贝尔态基底

 

 

表A-1

名称

量子比特数量

矩阵

线路符号

CNOT/CX

2

CY

2

CZ

2

弗雷德金/CSWAP

3

H

1

2

ID

1

观测

1

泡利X

1

泡利Y

1

泡利Z

1

1

1

1

1

1

1

SWAP

2

1

1

托佛利/CCNOT

3

微信扫码关注【异步社区】微信公众号,回复“e58124”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。


表B-1

名称

小写字母

大写字母

alpha

α

Α

beta

β

Β

gamma

γ

Γ

delta

δ

Δ

epsilon

ε

E

zeta

ζ

Ζ

eta

η

Η

theta

θ

Θ

iota

ι

Ι

kappa

κ

Κ

lambda

λ

Λ

mu

μ

Μ

nu

ν

Ν

xi

ξ

Ξ

o

ο

Ο

pi

π

Π

rho

ρ

Ρ

sigma

σ,

Σ

tau

τ

Τ

upsilon

υ

Υ

phi

φ

Φ

chi

χ

Χ

psi

ψ

Ψ

omega

ω

Ω

表B-2

微信扫码关注【异步社区】微信公众号,回复“e58124”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。


相关图书

量子计算:一种应用方法
量子计算:一种应用方法

相关文章

相关课程