写点什么

量子编程迎重大突破!量子计算机领域第一种高级编程语言 Silq 诞生

2020 年 6 月 19 日

量子编程迎重大突破!量子计算机领域第一种高级编程语言Silq诞生

在打造强大量子计算机方面,近期出现的一系列技术进步令人振奋。近日,苏黎世联邦理工学院的计算机科学家们又在编程语言领域取得重要突破:他们推出的“量子语言”成为第一种面向量子计算机的直观编程语言,且与传统计算机语言一样优雅、简单且安全。


第一种量子计算机直观编程语言问世


量子计算机的编程门槛已经越来越低。苏黎世联邦理工学院的计算机科学家们设计出的第一种直观编程语言,能够像传统计算机语言一样简单、可靠且安全地在量子计算机上进行编程。


ETH 安全、可靠与智能系统实验室(SRI)计算机科学教授 Martin Vechev 表示,“目前,对量子计算机进行编程仍是困扰研究人员的一大挑战。正因为如此,我们才对苏黎世理工此次在量子计算机与编程语言发展方面获得的成果感到无比振奋。”


他补充称,“我们的量子编程语言— Silq 将帮助程序员们更好地发挥量子计算机中蕴藏的潜力。对程序员们而言,Silq 代码更加紧凑、速度更快,也更直观且易于理解”。



苏黎世联邦理工学院的计算机科学家们开发出第一种量子编程语言,能够优雅、简单且安全地解决多种复杂的计算问题。


据了解,本周,Vechev 将在 PLDI 2020 编程语言大会上将 Silq 介绍给量子计算领域的其他专家。为了促进与该语言相关的讨论、采用以及进一步发展,他和他的团队还在自己的网站(silq.ethz.ch)上发布了 Silq 项目的更多详细信息。


过去十年以来,量子计算一直备受关注,业界普遍认为这些根据量子力学原理运行的计算机具有巨大的发展空间。如今,大部分研究人员也认为,量子计算机终有一天将在某些特定问题中带来远超传统计算机的处理能力。凭借着纠缠量子态基础之上,各种信息在特定时间点上的重叠情况,量子计算机在某些方面拥有无与伦比的强大算力,足以解决众多在传统计算机上无法在合理时间内解决的问题。


虽然由此衍生出的“量子霸权”理论还没有得到最终证明,但近期取得的一系列重大技术进步无疑让我们充满信心。2019 年夏末,量子计算机已经以远超顶尖经典计算机的速度解决了一个问题(虽然只是非常具体的特定问题)。


在另一方面同,对于某些特定“量子算法(即计算策略)”,其计算速度虽然已经高于经典算法,但却还无法发挥量子计算机的全部潜力。更重要的是,目前的量子计算机的错误率仍然太高,导致我们很难直接在现有量子硬件上运行这些算法。


更好表达程序员的意图


要发挥量子计算的力量,除了配合最新技术之外,还需要创造一种能够描述量子算法的编程语言。在原则上,算法可以算是解决问题的“秘方”。编程语言负责描述算法,而计算机则在语言代码的指引下完成必要的计算。


如今,量子编程语言已经与特定硬件紧密联系在一起。换句话说,之前的量子编程语言都需要精确描述底层电路的行为。但对程序员们来说,这些“硬件描述语言”既麻烦又容易出错,因为其中各项编程指令必须非常详细,用以明确描述量子算法实现过程中需要的全部细节。


Martin Vechev 表示,与现有语言相比,Silq 能够更好地发挥量子计算机中的潜力。正因为如此,Vechev 与他的团队才坚定了开发 Silq 语言的决心。



Martin Vechev, 计算机科学教授


Vechev 研究小组中负责开发监督工作的博士生 Benjamin Bichsel 表示,“Silq 是第一种直观量子编程语言,其设计目的不再围绕硬件的结构与功能展开,而更多关注程序员们在解决问题时表达出的意图 — 换言之,他们不需要了解量子计算机的基本架构与每一个实现细节。”


计算机科学家们将这种从特定计算机类型的细节中抽象得出的计算机语言,称为高级编程语言。Silq 可以说是量子计算机领域的第一种高级编程语言。高级语言将更具表现力,能够用更少的代码描述更加复杂的任务与算法。这意味着相关代码将更易于理解,也降低了程序员们的使用门槛。更重要的是,高级语言能够与多种不同计算机架构配合使用。


通过自动计算消除错误


但要论 Silq 给量子编程语言带来的最大创新贡献,还在于它消除了长期困扰量子编程的错误源问题。一切计算机都需要通过多个中间步骤以执行计算任务,而这些步骤的存在总会产生对应的中间结果(或者叫临时值)。


为了释放内存空间,传统计算机会自动删除这些值。对于这种丢弃多余临时值的操作,计算机科学家将其称为“垃圾收集”。


在量子计算机当中,由于量子纠缠态的存在,这种处理操作将更加棘手:此前计算得出的值可能与当前值发生交互,从而干扰正常计算。为此,要想在量子计算机上清除这些临时值,可能还需要一种更高级的所谓“计算撤销(uncomputation)”技术。


Bichsel 解释道,“Silq 是第一种能够自动识别并清除掉这些无用值的编程语言”。计算机科学家们之所以能够实现这项目标,靠的正是对经典编程语言的深刻理解:他们的自动算术方法将仅使用不存在任何特殊量子去处的编程命令 — 用 Vechev 与 Bichsel 的原话来描述,即“qfree”命令。


Vechev 还指出,“Silq 在量子计算机的编程优化方面带来了一项重大突破;当然,这还只是万里征途的第一步”。


目前,量子计算技术的实际应用当中仍存在着诸多悬而未决的问题,但随着直观编程语言 Silq 的出炉,Vechev 与 Bichsel 希望激励整个行业进一步开发量子编程语言,并推动新型量子算法在理论与应用方面取得新的成果。


Bichsel 总结道,“我们的四人团队历时两年取得了这项突破,其成功源自语言设计、量子物理学以及具体实现等多种不同专业知识的交相融合。如果我们的创新成果能为其他研究团队所认可并带来一点启发,那将是对我们努力的最大肯定。”


原文链接:


https://ethz.ch/en/news-and-events/eth-news/news/2020/06/the-first-intuitive-programming-language-for-quantum-computers.html


2020 年 6 月 19 日 12:382192
用户头像
刘燕 InfoQ记者

发布了 487 篇内容, 共 151.1 次阅读, 收获喜欢 877 次。

关注

评论

发布
暂无评论
发现更多内容

第4周总结

andy

ARTS打卡 第5周

引花眠

ARTS 打卡计划

Week4 学习总结

wyzwlj

极客大学架构师训练营

极客时间 - 架构师培训 - 4 期作业

Damon

分布式系统设计 - 第四周作业

孙志平

架构第四周 - 学习总结

J.Spring

极客大学架构师训练营

架构师训练营 - Lesson Week 4

brave heart

极客大学架构师训练营

通过Python来获取北京市乡镇、街道行政区划数据

Puran

Python GIS geopandas QGIS 天地图

【源码系列】Spring Cloud Eureka

Alex🐒

源码 Spring Cloud Eureka

消息队列(二)如何保证消息队列的高可用?

奈何花开

Java MQ 消息队列

清华百万年薪架构师,精心编写多线程与高并发实战PDF

互联网架构师小马

Java 程序员 多线程 架构师 多线程与高并发

阿里待遇那么好,你为什么从阿里离职?

互联网架构师小马

Java 阿里巴巴 程序员 找工作 离职

架构师训练营 - 第四课作业 -20200701- 架构演化

👑👑merlan

极客大学架构师训练营

使用数据卷管理数据 | Docker 系列

AlwaysBeta

Docker 容器 数据 容器技术

每周学习总结 - 架构师培训 4 期

Damon

大型互联网公司技术方案与手段浅析

俊俊哥

分布式 高可用 大型软件 高并发 解决方案

太厉害了!阿里年薪120W架构师整理的学习笔记,看完收获良多

互联网架构师小马

Java 学习 阿里巴巴 程序员 架构师

区块链冷链食品追溯系统

CECBC区块链专委会

区块链技术 上链 溯源 浙冷链

原来使用Postman如此简单,API测试之Postman使用全指南

软测小生

接口 Postman 接口测试 API API测试

架构师训练营 - 第四周 - 学习总结

stardust20

信息的表示与存储-浮点数的运算

引花眠

计算机基础

SQL运行内幕:从执行原理看调优的本质

arthinking

MySQL 数据库

关于编码的一点“思考”

damnever

golang 思考 抽象 分层架构 编码

《架构师训练营》第四周总结

ARTS|Week 5 有效的括号、API和地图

Puran

LeetCode ARTS 打卡计划

一文带你学会 Blob(含 7 个使用场景)

pingan8787

Java 前端 Web Blob

架构师培训营第四周总结

王锟

阿里巴巴的发展史(组织变革+技术变革)

王锟

阿里巴巴

架构师训练营 - 第 4 课总结 -20200627- 互联网架构设计

👑👑merlan

架构设计 互联网架构

架构师课程第四周 作业

杉松壁

架构师训练营 -- 第四周作业

stardust20

量子编程迎重大突破!量子计算机领域第一种高级编程语言Silq诞生-InfoQ