第一种用于量子计算机的直观编程语言

2020-06-17 18:52:07

在追求强大的量子计算机方面,最近已经取得了几项技术进步。现在,计算机科学家在编程语言领域取得了重要突破:他们的量子语言是第一个与经典计算机语言一样优雅、简单、安全的量子语言。

量子计算机的编程变得越来越容易:苏黎世理工大学的计算机科学家设计了第一种编程语言,可以用来对量子计算机进行编程,就像经典计算机一样简单、可靠和安全。ETH安全、可靠和智能系统实验室(SRI)的计算机科学教授马丁·韦切夫(Martin Vechev)表示,编程量子计算机对研究人员来说仍然是一项挑战。这就是为什么我如此兴奋,因为我们现在可以继续苏黎世在量子计算机和编程语言开发方面的传统。

他补充道:我们的量子编程语言Silq允许程序员比现有语言更好地利用量子计算机的潜力,因为代码对程序员来说更紧凑、更快、更直观、更容易理解。本周,Vechev将在编程语言会议PLDI 2020上向该领域的其他专家介绍Silq。为了便于讨论、采用和进一步开发,他和他的团队还在自己的网站上发布了Silq。

在过去的十年里,量子计算受到了越来越多的关注,因为这些根据量子物理原理运行的计算机具有巨大的潜力。今天,大多数研究人员相信,这些计算机总有一天能够比经典计算机更快地解决某些问题,因为它们在进行计算时使用的是纠缠量子态,其中不同比特的信息在某个时间点重叠。这意味着在未来,量子计算机将能够高效地解决经典计算机无法在合理的时间框架内解决的问题。

这一量子优势仍有待最终证明。然而,最近取得了一些重大的技术进步。2019年夏末,一台量子计算机成功地解决了一个问题-尽管是一个非常具体的问题-比最快的经典计算机更快。

对于某些量子算法,即计算策略,我们也知道它们比没有开发量子计算机潜力的经典算法更快。然而,到目前为止,这些算法仍然不能在现有的量子硬件上计算,因为量子计算机目前仍然太容易出错。

利用量子计算的潜力不仅需要最新的技术,还需要一种量子编程语言来描述量子算法。原则上,算法是解决问题的秘诀;编程语言描述算法,以便计算机可以执行必要的计算。

今天,量子编程语言与特定的硬件紧密相连;换句话说,它们精确地描述了底层电路的行为。对于程序员来说,这些硬件描述语言既繁琐又容易出错,因为单独的编程指令必须非常详细,从而明确描述实现量子算法所需的细节。

这就是Vechev和他的团队开发Silq的原因。Vechev&34;Silq团队的博士生本杰明·比切尔(Benjamin Bichsel)负责监督Silq的开发,他说,Silq是第一种量子编程语言,它主要不是围绕硬件的结构和功能设计的,而是在程序员想要解决问题时的思维定势上设计的,而不需要他们了解计算机架构和实现的每一个细节,本杰明·比切尔(Benjamin Bichsel)是Vechev;团队的博士生,负责监督Silq的开发。

计算机科学家将从特定类型计算机的技术细节中抽象出来的计算机语言称为高级编程语言。Silq是量子计算机的第一种高级编程语言。高级编程语言更具表现力,这意味着它们甚至可以用更少的代码来描述复杂的任务和算法。这使得程序员更容易理解和使用它们。它们还可以与不同的计算机体系结构一起使用。

Silq给量子编程语言带来的最大创新和简化涉及到目前为止一直困扰量子编程的错误来源。计算机分几个中间步骤计算任务,这会创建中间结果或临时值。

为了释放内存,经典计算机会自动擦除这些值。计算机科学家将此称为垃圾收集,因为多余的临时值已被处理掉。

在量子计算机的情况下,由于量子纠缠,这种处理更加棘手:之前计算的值可能会与当前的值相互作用,干扰正确的计算。因此,在量子计算机上清理这样的临时值需要一种更先进的所谓的非计算技术。

Bichsel解释说,Silq是第一种自动识别和擦除不再需要的值的编程语言。计算机科学家通过应用他们对经典编程语言的知识实现了这一点:他们的自动计算方法只使用没有任何特殊量子操作的编程命令--正如Vechev和Bichsel所说的那样,它们是免费的。

Vechev说,Silq在优化量子计算机编程方面是一个重大突破;它不是开发的最后阶段。仍然有许多悬而未决的问题,但由于Silq更容易理解,Vechev和Bichsel希望既能刺激量子编程语言的进一步发展,也能刺激新量子算法的理论和开发。

我们的四人团队经过两年的工作已经取得了突破,这要归功于语言设计、量子物理和实现方面的不同专业知识的结合。比切尔说,如果其他研发团队接受我们的创新,这将是一个巨大的成功。

材料由苏黎世ETH提供。由弗洛里安·迈耶原著。注意:内容可以根据样式和长度进行编辑。

下面是您可能感兴趣的相关文章。科学日报与TrendMD网络中的学术出版物共享链接,并根据需要从第三方广告商那里赚取收入。