7月QCon广州站2022,关注Web 3.0、数据架构选型、数字化转型等热门话题,点击了解 了解详情
写点什么

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

  • 2020 年 6 月 19 日
  • 本文字数:2255 字

    阅读完需:约 7 分钟

量子编程迎重大突破!量子计算机领域第一种高级编程语言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:382997
用户头像
刘燕 InfoQ记者

发布了 860 篇内容, 共 291.5 次阅读, 收获喜欢 1627 次。

关注

评论

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

BPM敏捷Activiti开发平台,工作流引擎springboot整合activiti

金陵老街

Java MySQL Vue springboot Activiti

NDK 编译代码(一)

Changing Lin

8月日更

vue入门:element组件与动画使用

小鲍侃java

8月日更

数字化为企业带来哪些价值?

boshi

数字化转型

图解:为什么非公平锁的性能更高?

王磊

Java 8月日更

架构训练营模块二作业

高铎

架构实战营

Python对系统数据进行采集监控——psutil

Python研究者

8月日更

【Vue2.x 源码学习】第四十一篇 - 组件部分 - 生成组件的真实节点

Brave

源码 vue2 8月日更

Android开发:获取当前系统时间和日期的方法

三掌柜

8月日更 8月

SpringBoot 自动装配源码解析

Rubble

8月日更

架构训练营模块四作业

高铎

架构实战营

解决参数依赖,接口之间传递数据——apipost

Proud lion

大前端 后端 Postman 开发工具 接口文档

面试侃集合 | LinkedBlockingQueue篇

码农参上

队列 Queue 8月日更

【LeetCode】反转字符串 IIJava题解

HQ数字卡

算法 LeetCode 8月日更

神策分析 iOS SDK 全埋点解析之启动与退出

神策技术社区

程序员 大前端 后端 代码 神策数据

手把手教你写 Gradle 插件 | 数据采集

神策技术社区

android 程序员 Gradle 神策数据

埋土灰

箭上有毒

8月日更

想知道你未来宝宝长什么样吗?

华为云开发者联盟

modelarts 图像 图像生成 父母照片 照片

方法调用:一看就懂,一问就懵?

阿Q说代码

8月日更 虚方法 非虚方法 静态分派 动态分派

字节跳动《实时音视频通讯技术》学习笔记之服务器端开发入门

Regan Yue

git 字节跳动 Go 语言 8月日更

python接口测试unittest使用详解

与风逐梦

Python 软件测试 接口测试

Springboot+quartz源码探索

4ye

Java 后端 springboot quartz 8月日更

再谈安全架构《一》

I

读书笔记 方法论 安全架构 企业安全 安全建设

手撸二叉树之二叉树的层平均值

HelloWorld杰少

数据结构与算法 8月日更

DCS_FunTester分布式压测框架更新(三)

FunTester

分布式 性能测试 测试框架 测试开发 FunTester

LeetCode题解:2. 两数相加,迭代,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

是时候封装限制 UITextField、UITextView 的最大字符长度了

fuyoufang

swift iOS 知识体系 8月日更

架构训练营模块三作业

高铎

ShardingSphere 知识库更新 | 官方样例集助你快速上手

SphereEx

数据库 开源

【Flutter 专题】62 图解基本 Button 按钮小结 (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 8月日更

Python代码阅读(第14篇):列表求并集

Felix

Python 编程 Code Programing 阅读代码

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