首页 > 生活 > 正文

使量子计算机更易于编程的蓝图

来源:生活2024-04-29 10:23:14
导读 当麻省理工学院教授、现任计算机科学与人工智能实验室(CSAIL)成员PeterShor首次展示量子计算机比传统计算机更快解决问题的潜力时,他启发科...

当麻省理工学院教授、现任计算机科学与人工智能实验室(CSAIL)成员PeterShor首次展示量子计算机比传统计算机更快解决问题的潜力时,他启发科学家们想象新兴技术的无数可能性。然而三十年后,量子边缘仍处于尚未达到的峰值。

不幸的是,量子计算技术尚未完全投入使用。一项主要挑战在于将量子算法从抽象数学概念转化为可以在量子计算机上运行的具体代码。普通计算机的程序员可以使用Python和C++等多种语言,并具有与标准经典计算抽象相一致的结构,但量子程序员却没有这样的奢侈。如今,量子编程语言很少存在,而且它们相对难以使用,因为量子计算抽象仍在不断变化。在他们最近的工作中,麻省理工学院的研究人员强调,这种差异的存在是因为量子计算机不遵循相同的规则来完成程序的每个步骤(这是所有计算机称为控制流的基本过程),并提出了一种新的抽象模型以获得更容易编程的量子计算机。

在即将在ACM面向对象编程、系统、语言和应用会议上发表的一篇论文中,该小组概述了一种新的量子计算机概念模型,称为量子控制机,它可以让我们更接近编写程序与普通经典计算机一样容易编写。这样的成就将有助于增强普通计算机无法有效完成的任务,例如分解大量数字、检索数据库中的信息以及模拟分子如何相互作用以发现药物。

主要作者、CSAIL博士生CharlesYuanSM'22表示:“我们的工作提出了指导如何正确编程量子计算机以及如何不正确编程的原则。”“其中一个定律意味着,如果你尝试使用与常规经典计算机相同的基本指令对量子计算机进行编程,你最终会将量子计算机变成经典计算机并失去其性能优势。这些定律解释了为什么量子编程语言设计起来很棘手,并为我们指出了一种改进它们的方法。”

老派计算与新派计算

今天经典计算机相对更容易编程的原因之一是它们的控制流程相当简单。经典计算机的基本成分很简单:二进制数字或位,即零和一的简单集合。这些成分组装成计算机架构的指令和组件。一个重要的组件是程序计数器,它通过从记忆中调用下一个方向来定位程序中的下一条指令,就像厨师按照菜谱操作一样。当算法顺序浏览程序时,称为条件跳转的控制流指令会更新程序计数器,以使计算机前进到下一条指令或偏离当前步骤。

相比之下,量子计算机的基本成分是量子位,它是位的量子版本。这种量子数据同时以零和一的状态存在,称为叠加。基于这个想法,量子算法可以选择同时执行两条指令的叠加——这个概念称为量子控制流。

问题在于,现有的量子计算机设计不包括程序计数器或条件跳转的等效功能。在实践中,这意味着程序员通常通过手动排列描述计算机硬件的逻辑门来实现控制流,这是一个乏味且容易出错的过程。为了提供这些功能并缩小与经典计算机的差距,袁征和他的合著者创建了量子控制机——一种量子计算机的指令集,其工作原理类似于虚拟机的经典概念。在他们的论文中,研究人员设想了程序员如何使用该指令集来实现量子算法,以解决数字因式分解和模拟化学相互作用等问题。

作为这项工作的技术关键,研究人员证明了量子计算机无法支持与经典计算机相同的条件跳转指令,并展示了如何修改它以使其在量子计算机上正确工作。具体来说,量子控制机的指令都是可逆的——它们可以在时间上向前和向后运行。量子算法需要所有指令(包括控制流指令)都是可逆的,这样它就可以处理量子信息,而不会意外破坏其叠加并产生错误的答案。

量子计算机隐藏的简单性

根据袁的说法,你不需要成为物理学家或数学家来理解这种未来技术的工作原理。他说,量子计算机不一定是神秘的机器,需要可怕的方程式才能理解。通过量子控制机,CSAIL团队旨在通过将不熟悉的量子控制流概念提升到反映经典计算机中熟悉的控制流概念的水平,降低人们与量子计算机交互的进入门槛。通过强调构建和编程量子计算机的注意事项,他们希望让该领域之外的人们了解量子技术的力量及其最终限制。

尽管如此,研究人员警告说,与许多其他设计一样,由于当今量子位技术的限制,还不可能将他们的工作直接转化为实用的硬件量子计算机。他们的目标是开发实现更多种类量子算法的方法,作为有效利用有限数量的量子位和逻辑门的程序。这样做将使我们更接近在不久的将来上线的量子计算机上运行这些算法。

“自量子计算理论诞生以来,量子计算模型的基本功能一直是量子计算理论的中心讨论内容,”麻省理工学院-IBM沃森人工智能实验室研究员帕特里克·拉尔(PatrickRall)说道,他没有参与这篇论文。

“这些模型中最早的是量子图灵机,它能够进行量子控制流。然而,该领域已在很大程度上转向更简单、更方便的电路模型,而量子缺乏控制流程。Yuan、Villanyi和Carbin从编程语言的角度成功地捕捉到了这种转变的根本原因。虽然控制流是我们理解经典计算的核心,但量子却完全不同!我预计随着硬件平台变得更加成熟,这一观察结果对于现代量子软件框架的设计至关重要。”

关键词:
版权声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

最新文章