【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

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

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

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

发布了 812 篇内容, 共 379.7 次阅读, 收获喜欢 999 次。

关注

评论

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

基于GIS+WebGL智慧消防3D可视化云控系统

2D3D前端可视化开发

智慧消防 消防物联网云平台 消防三维可视化 智慧消防系统 消防云控平台

全景剖析阿里云容器网络数据链路(三):Terway ENIIP

阿里巴巴云原生

阿里云 云原生 云原生容器

浪潮云:以数据云IBP释放数据要素力量

浪潮云

云计算 数据云

谈谈我工作中的23个设计模式

阿里巴巴中间件

阿里云 云原生

LeaRun快速开发平台:自由搭建个性化门户

力软低代码开发平台

单线程 Redis 如此之快的 4 个原因

C++后台开发

redis 中间件 后端开发 单线程 C++开发

智能合约佛萨奇系统开发,佛萨奇2.0源码搭建

薇電13242772558

聊聊Docker镜像

天翼云开发者社区

Docker 镜像

10大知识管理软件厂商有对比

PingCode

项目管理 知识管理软件

行云洞见|为何行业权威都预测“云原生IDE 将成为常态”?

行云创新

ide 云原生 云端IDE Cloud IDE TitanIDE

单线程架构的Redis如此之快的 4 个原因

JAVA旭阳

redis 缓存

统一观测丨如何使用 Prometheus 监控 MySQL

阿里巴巴云原生

MySQL 阿里云 云原生 #Prometheus

如何用Apipost校验响应结果

爱研究代码的极客人

APi设计 JSON Schema apipost

SparK 用稀疏掩码为卷积设计 Bert 预训练

Zilliz

计算机视觉

新年新气象,老兵开新坑

致知Fighting

Java Go 服务器

RocketMQ Streams拓扑构建与数据处理过程

Apache RocketMQ

RocketMQ 消息列队

OpenHarmony标准系统内核学习【2】CPU轻量级隔离特性

离北况归

OpenHarmony

使用Jira盗版会存在的6大风险

PingCode

项目管理 软件开发 软件管理

APISIX Ingress 如何使用 Cert Manager 管理证书

API7.ai 技术团队

证书 api 网关 APISIX Ingress Controller

MySQL中的distinct和group by哪个效率更高?

Steven

一文教你如何重新认识用户

蔡农曰

互联网 产品经理 消费者 需求设计

泰山众筹sun4.0矩阵合约系统开发搭建

开发微hkkf5566

订单流量录制与回放探索实践

得物技术

Java 运维 后端 稳定生产

全球化安全生产 & 质量保障体系建设探索

阿里技术

质量保障 安全生产 全球化技术能力

NFTScan 正式上线 Fantom 网络 NFTScan 浏览器和 NFT API 数据服务

NFT Research

NFT 数据基础设施

理论+实践,教你如何使用Nginx实现限流

华为云开发者联盟

后端 开发 华为云 企业号 2 月 PK 榜 华为云开发者联盟

简单概述Serverless

天翼云开发者社区

工业生产环境下,时序数据库 TDengine 如何打造全面有效的数字化监控?

TDengine

数据库 tdengine 时序数据库

如何通过jstat命令进行查看堆内存使用情况

华为云开发者联盟

后端 开发 华为云 企业号 2 月 PK 榜 华为云开发者联盟

线上网络丢包引起的接口响应时间过慢,快速排查案例

KINDLING

Java 运维 网络 丢包 eBPF&Linux

易观千帆 | 12月用户体验GX评测:国有行及股份行持续领跑,农信社用户体验关注提升

易观分析

金融 手机银行

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