注册| 登录

量子程序让量子计算机发挥更大的威力

2018-05-02

导读

量子硬件设计与制造技术的飞速发展使得人们开始预言大于一百个量子比特的特定用途的量子计算机有望在 5-10 年内实现。可以想见,到那时候,量子软件的开发将变成真正发挥这些计算机能力的关键。然而,由于量子信息的不可克隆性和纠缠的非局域作用等量子特征,如何设计正确高效的量子程序和量子通信协议将是一个富有挑战性的课题。

 

量子计算机的研发到什么地步了?

随着量子硬件设计与制造技术的飞速发展,量子计算正快步走入我们的生活。由于在计算速度方面具有超越经典计算的潜在优势,以及可以提供绝对安全的密码方案,量子计算的理论研究受到了广泛的重视。在学术界: 欧盟第六框架将量子信息与量子计算的基础结构作为重要研究内容,并集中了牛津大学、Bristol 大学、约克大学、巴黎七大、因斯布鲁克大学以及 McGill 大学的研究人员;由英国工程与物理科学研究理事会(EPSRC)和国家 e-Science 中心共同资助、英国计算研究委员会负责的 UK Grand Challenges Exercise 中七个主题之一的 Journeys in Non-Classical Computation 将“Quantum Software Engineering”列为最主要内容;美国国家标准技术研究所、MIT、华盛顿大学、哥伦比亚大学、英国牛津大学、法国国家科学研究中心等著名学术机构已经开始量子软件相关的研究; 密歇根大学开展了量子计算机体系结构以及量子设计自动化方面的工作。在工业界:2014 年,IBM 宣布耗资 30 亿美元研发下一代芯片,主要是量子计算和神经计算;2016 年 5 月,IBM 发布了5 个量子比特的量子计算云服务,并于 2017 年 3 月发布 IBM Q 系统,目前已可以支持 16 个量子比特;2014 年,加州大学圣巴拉拉分校的知名物理学家 John Martinis 研究组加入谷歌研发量子计算处理器,并于 2016 年 9 月提出“量子霸权(quantum supremacy)”研制计划,其目标是在 2017 年底前实现 50 个量子比特的处理器,从而超越目前传统计算机的执行能力;201711月,IBM宣布成功构建并测量了具有类似性能指标的50个量子比特原型机;20181月,英特尔正式向QuTech 交付了首个 49 量子比特量子计算测试芯片;20183月,来自谷歌的研究人员报告了他们正在测试具有72个量子比特的量子计算机。基于以上进展,美国总统科学技术办公室发布量子信息文件称:预计几十个量子比特、可供早期量子计算机科学研究的系统可望在 5 年内实现”。

 

IBM Q计算中心内部图.jpg

IBM Q计算中心内部图,IBM最先进的量子计算机就放置在这里。图中,科学家正在通过IBM云访问其量子计算机。图片来源:IBM

 

为何要研究量子程序?

众所周知,软件是计算机的“灵魂”。一旦量子计算机研制成功,量子软件的开发将变成真正发挥量子计算机作用的关键。另一方面,由于量子系统与经典世界相比有许多根本不同的特征(如量子信息的不可克隆性、量子纠缠的非局域作用等),正如人们所预料的,经典的软件理论、方法和技术在很大程度上不能直接适用于量子软件。这就使得量子软件的理论和方法成为一个富有挑战性的课题,未来的量子程序和量子通讯协议的设计将会非常困难和容易出错。在此背景下,对于量子程序设计和验证就显得尤为重要。

 

量子程序目前的研究主题有哪些?

量子程序设计研究的是如何为将来的量子计算机设计程序。总的来说,到目前为止关于量子程序的研究主要围绕以下两个主题开展: (1)过去为经典计算机发展的程序设计理论、方法和技术如何扩展到量子计算机上?(2)什么样的新程序设计模型、方法和技术能够更有效地发挥量子计算机特有的优势?由于量子系统的一些新特性(体现在量子程序中,如量子数据不可克隆、进程之间的纠缠、量子程序变元可观测量的非交换性),已有的一些程序设计的理论、方法和技术不适用于量子程序,而需要引入一系列全新思想。

 

量子程序研究有哪些困难?

目前的量子程序研究都遵循“程序的数据流是量子的,但控制流仍然是经典的”这样一个基本的思路。Selinger 将这个思路总结为一句口号:“量子数据,经典控制(quantum data,classical control)”。这个思路的提出是十分自然的,也是相对来说比较容易实现的,只需要在经典的程序设计语言中增加对于量子数据的操作,如 unitary 变换, 量子测量等。

 

但是,人们也认识到“量子数据,经典控制”的思想并不能最为有效地发挥量子计算特有的优势。Altenkirch 与 Grattage提出了一个带量子控制流的函数式量子程序设计语言 QML,并在其后一系列论文中系统地发展了相应的理论,甚至实现了编译器。但是,现在看来这个理论并没有完全成功。还有提出采用二次量子化方法(second quantization)解决这个问题, 因而定义了波色子(对称的)与费米子(反对称)量子递归模式。必须承认的是,我们对于量子递归还远没有完全彻底地理解。

 

微软推出一门量子程序语言“Q#”.jpg

图   微软推出的量子程序语言“Q#” (https://docs.microsoft.com/en-us/quantum/quantum-qr-intro?view=qsharp-preview)

插曲

2017年12月份微软推出一门新的程序语言,名叫“Q#”(念作Q Sharp),这是一个工具,可以帮助编程人员为量子计算机编写软件。另外,IBM和创业公司Rigetti Computing还为量子计算机开发了软件。国内方面,2017年9月阿里巴巴引进密西根大学终身教授者施尧耘,担任阿里云首席量子技术科学家;12月份腾讯引进香港中文大学计算机系的副教授张胜誉正式出任量子实验室负责人;2018年3月份,百度引进悉尼科技大学量子软件和信息中心创办主任段润尧教授出任百度量子计算研究所所长。BAT引进的这三位负责人都偏向量子算法和软件方向,展开了在量子计算和量子软件方向的竞争。 


image.png

图  从左至右依次为施尧耘、张胜誉和段润尧教授


总结

总的来说,虽然这一领域取得了一些可喜的进展,但目前的研究还非常零散,很多问题甚至还不清楚如何准确定义。这大体上有两方面的原因:一、尽管最近几年量子硬件设备的物理实现取得了长足的进展,但距离能够运行真正实用的量子程序的通用量子计算机仍然非常遥远。因此绝大部分传统计算机科学家和程序设计和验证的专家还持观望态度,并没有对这一领域给予足够多的重视;二、由于量子程序和传统计算机程序相比具有很大的不同,特别是由于量子叠加和纠缠的存在,量子程序的验证往往非常困难。但是,我们有理由相信,量子程序理论和验证的研究将会吸引越来越多计算机科学家的关注,从而带动这一领域蓬勃发展。

 

本文节选自下列文献(有兴趣的可以下载附件详细阅读原文):

冯元,应明生.量子程序验证.软件学报,2018,29(4) 

应明生,量子程序设计研究的近期进展

量子程序验证_冯元.pdf

量子程序设计研究的近期进展.pdf

收藏 评论:2
没有ID?去注册 忘记密码? 已有账号,马上登陆

添加表情

aaaaa发布于2018-05-030

1

aaaaa发布于2018-05-030

1