您的位置:4166澳门金沙网娱乐 > 互联网相关术语 > 研究人员为调试量子计算机工具迈出了一步

研究人员为调试量子计算机工具迈出了一步

发布时间:2019-06-24 12:12编辑:互联网相关术语浏览(72)

      在经典计算中,调试程序是软件开发中最耗时的任务之一。成功的调试依赖于软件开发工具以及程序员的经验。在量子计算领域,研究人员预测调试将是一个更大的挑战。在即将出席ACM / IEEE第46届国际计算机体系结构研讨会(作为ACM 2019年联邦计算研究会议的一部分)的论文中,普林斯顿大学的研究人员提出了基于统计测试的调试工具,其目标是帮助程序员进行建设。正确的近期量子计算机量子程序。

      量子计算有望通过提供超越任何经典计算机的功能来改变计算世界。这些功能来自量子算法 - 指令序列,它告诉量子计算机如何计算某些结果,就像今天的经典计算机软件一样。这些算法涵盖了广泛的应用。例如,量子化学算法将允许科学家直接从量子力学的控制方程计算化合物的性质,这是除了最简单的分子之外的所有现代计算机无法实现的艰巨任务。其他算法有望加速在数据库内部进行搜索并实现安全通信,以防止窃听。

      大约二十年来,这些量子算法仅作为抽象的方程和规范存在,并且从未真正在真实的量子计算机上运行。该研究领域发生了迅速变化。在过去的几年里,研究人员已经建立了第一个能够运行量子程序的量子计算机原型。值得注意的是,IBM已经为公众提供了小型量子计算机来运行代码并查看结果。随着对量子计算实验的兴趣日益浓厚,一项新的紧迫挑战在于帮助程序员将这些抽象算法转化为正确运行的量子程序代码。

      “我们发现即使是专门研究量子计算的研究人员也会在量子程序代码中犯下微妙的错误,阻止程序给出正确的结果,”普林斯顿大学的博士后和该论文的作者Yipeng Huang说。“如果对于经验丰富的量子程序员来说如此棘手,那么如果没有调试器等工具的帮助,那些刚接触量子计算的学生如何编写正确的程序呢?”

      普林斯顿大学计算机科学教授Huang和Margaret Martonosi 在题为“ 量子程序中验证模式和发现缺陷的统计断言 ”的论文中指出了调试量子程序的三个关键难点,并评估了他们解决这些难题的解决方案。

      第一个困难是程序员在程序运行时不能轻易检查量子程序变量的值。考虑到调试程序中的一个主要步骤是在程序过程中逐步检查变量值,这种限制使调试变得困难。量子程序员无法进行这种调试,因为读取量子变量将涉及测量和“坍缩”量子计算机内的微妙量子态。一旦量子态崩溃,任何观察都不会是对程序状态的完整描述。

      在他们的论文中,Huang和Martonosi通过仅使用有关崩溃量子态的信息来寻找调试量子程序的方法来应对这一挑战。他们考虑在两种不同的设置中调试程序; 在一个设置中,量子程序在经典计算机上运行模拟,而在另一个设置中,程序在真实原型量子计算机上运行。在这两种设置中,他们使用量子程序的多次运行,以便在量子程序中找到状态的分布。

      第二个困难是即使在观察或模拟可用时,量子态通常是高维的并且难以解释,限制了它们对程序员调试行为不端的量子程序的有用性。

      Huang和Martonosi解决这一挑战的方法是对测量结果进行统计测试,以帮助程序员确定结果是否与三种状态一致。他们使用卡方统计检验来确定观察到的状态是属于经典状态,叠加状态还是纠缠状态。“我们将注意力集中在这三种类型的状态上,因为它们贯穿于量子程序,并且更容易让程序员识别,”Huang说。“如果状态与程序员所期望的不匹配,统计测试可以帮助程序员放大并找到程序代码中的错误。”

      第三个困难是程序员在调试量程程序时还没有任何关于检查位置和检查的指导。直到最近,量子算法主要作为方程存在; 偶尔,算法会以量子电路图的形式更加充实。编码量子程序的任务需要将这些量子电路图转换为程序代码。“量子编程的最新技术类似于50年前对经典计算机的编程,”黄说。“目前,研究人员正在逐个操作地编写量子程序,非常低级别的信息。本文的一个贡献是讨论量子算法中的模式和结构如何引导程序员知道要检查什么。 “

      在他们的论文中,Huang和Martonosi使用他们的调试工具来测试几个基准量子程序,包括一个用于分解整数,一个用于搜索数据,一个用于量子化学领域。这些算法中常见的程序模式(如循环操作,嵌套操作和镜像操作)可作为量子程序员知道调试工具使用位置的指南。

      由美国国家科学基金会通过EPiQC Expedition项目提供支持,Huang和Martonosi在调试工具方面的工作是编写正确量子程序问题的实用方法。它加入了越来越多的相关方法领域,其中许多方法基于形式证明。“我们发现编写正确的量子程序依赖于各种技术,”Huang说。“就像经典编程中的情况一样,量子程序员将依赖于实用和正式技术的混合。”

    转载请注明来源:研究人员为调试量子计算机工具迈出了一步