写点什么

MIT 发布量子编程语言 Twist,旨在填补量子软件的空白

  • 2022-03-14
  • 本文字数:1656 字

    阅读完需:约 5 分钟

MIT 发布量子编程语言 Twist,旨在填补量子软件的空白

麻省理工学院计算机科学与人工智能实验室(CSAIL)的一个研究小组创建了一种新的量子计算编程语言,名为 Twist。Twist 的设计目标是让开发者更容易识别哪些数据是纠缠在一起的,从而创建错误更少、更容易调试的量子计算程序。


Twist 项目地址:https://spectrum.ieee.org/quantum-programming-language-twist


Twist 的基础在于识别量子纠缠。量子纠缠是一种物理现象,指的是量子计算机内两块数据的状态联结在一起。“当你操作处于纠缠状态的一块数据时也可能会影响另一块。你可以用这种特性来实现强大的量子算法,但它也让你写的程序很难直观推理,并容易引入微妙的错误。”上面这段话来自麻省理工学院 CSAIL 计算机科学博士生、Twist 论文的主要作者 Charles Yuan,这篇论文发表在《ACM 编程语言》杂志上。


Charles Yuan 说:“Twist 提供了一些特性,让开发者可以确定哪些数据是纠缠的,哪些不是。”“在程序中加入关于纠缠的信息后,你就可以检查量子算法的实现是否正确。”


该语言的特性之一是一个类型系统,使开发者能够指定他们程序中的哪些表达式和数据片断是纯粹的。据 Yuan 说,一个纯粹的数据片断是没有纠缠的,因此不存在可能由纠缠造成的错误和不直观的效果。Twist 还加入了纯度断言运算符来确认一个表达式不存在与任何其他数据的纠缠关系,与之搭配的还有静态分析和运行时检查,可以用来验证这些断言。


为了评估这种语言,该团队用 Twist 为一组著名的量子算法编写了一些程序,并在量子模拟器上执行了它们。“我们的实验表明,运行这些运行时检查的开销不超过运行基本程序的 3.5%,我们认为这是相当低的数字,相比语言给你的安全保证来说是一个很好的权衡,”Charles Yuan 说。


该团队还在一些程序中引入了一些小错误,并发现 Twist 可以检测到这些错误并拒绝错误的程序。“我们希望,当人们使用我们的语言或为他们的特定用例设计新的量子语言时,他们可以考察一下我们的工作,并认可纯度这个想法和将纠缠作为一种特性的设计,因为这将给他们带来更多信心,让他们确认自己的程序是正确的,而不必运行大量昂贵的模拟和测试,”Charles Yuan 说。


当许多研究人员专注于开发高效和优化的量子硬件时,Twist 旨在填补量子软件的空白。麻省理工学院副教授、Twist 论文的共同作者 Michael Carbin 说:“与我们看到的机器学习和其他高性能计算应用类似的是——在硬件发展的每一个新阶段,我们都会得到一个新的系统和很多潜在的新能力——如果我们能充分利用硬件能力,也许就能获得许多不可思议的机会。但几乎每次都是软件上的问题让人们难以利用硬件能力,也很难在不同的软件系统中部署和广泛使用这些硬件。”“我们正在做的工作是奠定一些基础,并试图找出一些可能提升这些类型设备可编程性的核心抽象。”


然而,该团队在构建 Twist 时面临的挑战之一是缺乏一个关于量子程序特征的标准。“多年来,人们已经开发了一些核心算法来解决个别复杂的任务,如整数因式分解等,但我们如何为它建立一个完整的软件生态系统却依旧是个问号,”Charles Yuan 说。“有了 Twist,我们就能够围绕我们对要在量子计算机上执行的任务的最佳共识来构建语言,并让编程语言对这些任务尽可能具有表达力。”


谈到局限,Twist 只能告诉你一个数据是否与其他数据纠缠在一起,但不能告诉你它们是如何纠缠在一起的。”袁说:“它们纠缠的具体方式将决定一个量子算法是否正确,但数据纠缠的方式有无数种。”给出这种更精细的细节是一个真正的挑战,这也是我们未来需要做的事情。”


该团队现在正在开发另一种语言,它建立在 Twist 的基础上,目标是应对其他量子现象(如相位和叠加)。但他们希望 Twist 将为创造更好的量子程序铺平道路。


Charles Yuan 说:“对于一位试图实现量子算法的开发者来说,他们需要语言中内置的工具来告诉他们程序中正在发生一些由纠缠引发的事情。”如果我们能够构建一系列核心语言原则和特性,让开发者可以推理纠缠现象,我们就可以减轻纠缠带来的认知负担,并让开发者写出更符合直觉的程序。”


原文链接:


https://spectrum.ieee.org/quantum-programming-language-twist

2022-03-14 15:143682
用户头像
李冬梅 加V:busulishang4668

发布了 988 篇内容, 共 594.1 次阅读, 收获喜欢 1149 次。

关注

评论

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

企业密码管理为何仍然是一个难题?

龙归科技

密码学 密码 弱密码

详解 WebRTC 传输安全机制:一文读懂 DTLS 协议

阿里云CloudImagine

阿里云 WebRTC 通信协议 视频云 流媒体传输

网络攻防学习笔记 Day7

穿过生命散发芬芳

5月日更 网络攻防

内卷

Jxin

太好用了!斩获3个大厂Offer后,才发现学霸给的JVM笔记有多强大

飞飞JAva

Java

分解的三要素,从经典中感悟

顿晓

5月日更 分解

如何做好用户画像?

石云升

创业 用户模型 5月日更

强推!Java大牛熬夜一周梳理的 Spring IOC笔记,收藏一波

飞飞JAva

Java 容器

zookeeper的watch机制

大数据技术指南

zookeeper 5月日更

消息队列架构设计文档

方堃

辞旧迎新岁岁新

Thomas

matlab

「技术人生」专题第1篇:什么是技术一号位?

阿里巴巴中间件

技术 程序人生 方法论 思维

【得物技术】软件工程与PlantUML实战

得物技术

软件工程 UML PlantUML 实战 得物技术

基于 MySQL 的消息队列系统架构设计文档

小遵

撸完腾讯T4大佬整理的ThreadLocal笔记,解决内存泄漏只是小儿科

牛哄哄的java大师

Java ThreadLocal

React Hook | 必 学 的 9 个 钩子

程序员海军

最佳实践 方法论 大前端 React Hooks 引航计划

直呼内行!靠着这份阿里10w字面试总结,我成功收到了4个大厂offer

Java 程序员 架构 面试

程序员应如何打破平庸,杜绝淘汰,避免内卷!【强烈建议收藏!】

程序员 ios开发

直呼内行!阿里大佬离职带出内网专属“高并发系统设计”学习笔记

Java 程序员 架构 面试

模块1作业

圆心角

大促秒杀场景技术方案

Mars

秒杀

量化AI智能交易软件,马丁策略交易

Linux 的 IO 通信 以及 Reactor 线程模型详解

Linux服务器开发

reactor 后端 多线程 Linux服务器开发 网络io

【LeetCode】数组异或操作Java题解

Albert

算法 LeetCode 5月日更

在校生丨五面丨拿到阿里offer,你还在边“摸鱼”边抱怨“行业内卷”吗?

Java架构师迁哥

惊呆了!阿里自爆2021年度九大Java技术合集,Github上已获赞98.3K

Java架构师迁哥

消息队列详细架构设计

Lane

想提升查询性能?openLooKeng新下推框架助您一臂之力

openLooKeng

架构实战营 - 模块三作业

Sun

存储优化补充篇:Explain索引优化实操

Coder的技术之路

高并发 高并发系统设计 项目实战 数据库调优 索引优化

中国式美好假期:用AI地图,抢先体验未来出行

脑极体

MIT 发布量子编程语言 Twist,旨在填补量子软件的空白_AI&大模型_Rina Diane Caballar_InfoQ精选文章