量子计算在提高优化[15,25]、数据库搜索[19]、密码学[36]、量子动力学模拟[10]、可满足性问题[8]和机器学习[23]等许多领域的问题求解的可扩展性方面具有巨大潜力。最近,量子计算在交通流[18]、飞机载荷[38]、物流[2]和医疗诊断[21]等安全关键领域的应用势头强劲。此外,量子模拟[1,11,37]和云端量子计算机[22]现已可用。与经典程序一样,检测量子程序中的错误是一个关键问题。对于经典程序,存在强大的形式化验证技术来自动验证程序是否符合形式化规范[12]。最先进的验证器(例如,对于 C 程序 [ 6 , 7 , 27 ])以符号方式执行验证:开发人员将特定的程序输入标记为符号,以便验证器知道使用这些输入作为“搜索空间”。然后,验证器证明程序的所有可能输入都符合规范。
摘要 - 断言是一个谓词,在程序执行过程中应进行正确评估。在本文中,我们介绍了量子主张方案的开发,并展示了它们如何用于减轻硬件错误和软件调试。与经典计划中的断言相比,由于无限制的定理和巨大的破坏性测量,量子估算是具有挑战性的。我们讨论了如何规避这些挑战,以使量子状态的某些特性在程序执行过程中可以无损地验证。此外,我们表明,除了检测程序错误外,动态断言电路还可以通过选择后的主张结果来减轻噪声效应。我们的案例研究表明在各种量子算法中使用量子主张。索引术语 - Quantum计算,缓解错误,调试,断言
1简介1 1.1一眼量子计算。。。。。。。。。。。。。。。。。。。。。1 1.2研究差距。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 1.2.1解决差距。。。。。。。。。。。。。。。。。。。。。。。。4 1.3工作的目的。。。。。。。。。。。。。。。。。。。。。。。。。。。。4 1.3.1研究目的。。。。。。。。。。。。。。。。。。。。。。。。。。。4 1.4文档概述。。。。。。。。。。。。。。。。。。。。。。。。。5 1.4.1第2章和第3章:背景文献。。。。。。。。。。。。。5 1.4.2第4章:初始探测和研究目的。。。。。。。。。。。5 1.4.3第5章:自动电路设计。。。。。。。。。。。。。。5 1.4.4第6章:量子位的自动调度。。。。。。。6 1.4.5第7章:自动软件堆栈结构。 。 。 。 。 。 。 6 1.4.6第8章:结论。6 1.4.5第7章:自动软件堆栈结构。。。。。。。6 1.4.6第8章:结论。。。。。。。。。。。。。。。。。。。。。。。6
1 简介高效的配电网是当今现代社会的重要组成部分。因此,电网不仅要可靠,还必须具有弹性。因此,对此类系统进行建模以减轻可能发生的故障和停电是一个重要的研究领域 [1]。弹性规划始于可靠性分析。正式地,我们将系统的可靠性定义为该系统在固定条件和指定时间段内运行或执行某种功能的概率。在本研究中,我们将变电站视为配电网的最重要组成部分之一,并且我们知道这些网络中的单元元件故障组合可能导致严重的负载损失。因此,计算最可能的故障模式或涉及较少单个元件的故障模式有助于规划预防性维护 [2]。使用老化模型结合来自元件本身传感器的数据,我们可以计算出配电网中给定元件发生故障的概率。在本研究中,我们根据变电站各个部件(变压器、母线、开关、线路以及保护系统本身)的联合故障概率来计算变电站继续运行的概率。为了处理这种类型的条件概率,我们使用了此类研究中常用的贝叶斯网络模型 [3]。这些模型的困难之处在于它们的高计算复杂度。随着问题规模的增加(在贝叶斯网络的情况下,这以建模问题所需的节点和弧的数量来衡量),经典算法解决这些贝叶斯网络模型所需的时间和计算内存呈指数增长,直到它们的分辨率变得不可行的点 [4]。在这方面,值得注意的是,基于门的量子计算机有望帮助解决量子化学 [5] [6] [7]、机器学习 [8] [9]、金融模拟 [10] [11] [12] [13] 和组合优化应用 [14] [15] 中的问题。正如 Preskill [16] 所预测的那样,具有超过 100 个量子比特的噪声中型量子 (NISQ) 计算机现在已成为现实,并且可能能够执行超越当今经典数字计算机能力的任务,但量子门中的噪声限制了可以可靠执行的量子电路的大小。为了获得这项技术的所有优势,我们将需要更精确的量子门,并最终实现完全容错的量子计算。在本文中,我们评估了这项技术是否也能够帮助进行弹性和故障风险分析。在这一点上,我们可以强调这项工作的主要贡献:• 我们定义了一种新的受限量子贝叶斯网络 (RQBN) 程序,用于对复杂系统的可靠性进行建模。 • 我们评估了该程序执行可靠性分析的可行性,通过调整单个量子电路执行中的镜头数,获得与经典蒙特卡罗方法相同的精度。 • 我们测试了真实量子计算机噪声对模型中元素的影响。 本文提出了一种用于电力配电系统中故障概率传播的量子建模的一般应用程序,以及一种用于计算该模型的程序。 贝叶斯网络以贝叶斯网络为例对几个电力配电系统(特别是典型的变电站和保护系统)进行了建模。 使用经典算法和量子算法计算变电站的故障模式。 我们使用 pomegranate(一个能够实现概率模型的 Python 库)以经典方式解决贝叶斯网络 [17]。 然后,我们考虑使用 Qiskit [18] 在量子领域对贝叶斯网络进行建模和求解,
(1) 一个有用的计算机内存概念模型;(2) 用于描述内存真实陈述的逻辑模型和规范语言;(3) 这些模型(概念模型和逻辑模型)的有效重叠;(4) 分离连词 ∗ ,使框架规则能够进行局部推理;(5) 可扩展的前置条件和后置条件。框架规则规定,如果我们有一个有效的三元组 { 𝑃 } 𝑐 { 𝑄 },那么我们可以用某个谓词 𝑅 扩展它的前置条件和后置条件,前提是 𝑅 没有任何与 𝑐 修改的变量共同的自由变量,从而得到 { 𝑃 ∗ 𝑅 } 𝑐 { 𝑄 ∗ 𝑅 } 。这样,我们可以对程序片段进行局部推理,同时忽略该片段周围的全局环境。Zhou 等人目前已开展了用于量子计算的分离逻辑方面的工作。 [ 2021 ] 和 Le 等人 [ 2022 ] 仅迎合了上述两个特征——逻辑模型和框架规则。具体而言,它们都没有提供量子软件工程师可以依赖的量子记忆模型,也没有提供可用的规范语言来编写关于量子态的真实陈述。缺乏概念性量子记忆模型,更重要的是,缺乏有用的断言语言,阻碍了前置条件和后置条件的可扩展性,使得这些逻辑难以在实践中使用。量子设置中分离合取的最直观解释是可分离性:当两个状态不纠缠时,可以在这些状态之间放置一个 ∗,这是现有工作所采用的。与经典设置不同,在分离逻辑发明之前的几十年里,指针混叠的可能性阻碍了霍尔逻辑在实际软件中的应用,而可分离量子态之间不存在混叠问题,因此不需要更通用的分离合取概念。然而,这些量子分离逻辑缺乏在本地陈述纠缠态任何有用信息的能力。在目前的量子
为量子程序生成一个测试套件,使其具有最大数量的失败测试是一个优化问题。对于这种优化,基于搜索的测试在经典程序环境中已显示出良好的效果。为此,我们提出了一种基于遗传算法的量子程序测试生成工具,称为 QuSBT(基于搜索的量子程序测试)。QuSBT 可自动测试量子程序,目的是找到具有最大数量失败测试用例的测试套件。QuSBT 使用 IBM 的 Qiskit 作为量子程序的模拟框架。除了实施的方法(即搜索个体的编码、表达搜索问题的适应度函数的定义以及针对两种故障的测试评估)之外,我们还介绍了工具架构。最后,我们报告了使用 QuSBT 测试一组有缺陷的量子程序以评估其有效性的实验结果。存储库(代码和实验结果):https://github.com/ Simula-COMPLEX/qusbt-tool 视频:https://youtu.be/3apRCtluAn4
摘要 — 在量子力学细节层面模拟物理系统的时间演化——称为哈密顿模拟 (HS)——是物理学和化学领域一个重要而有趣的问题。对于这项任务,已知在量子计算机上运行的算法比传统算法快得多;事实上,这一应用促使费曼提出了量子计算机的构建。尽管如此,要达到这种性能潜力仍面临挑战。先前的工作重点是编译 HS 的电路(量子程序),目标是最大限度地提高准确性或门取消。我们的工作提出了一种同时推进这两个目标的编译策略。在高层次上,我们使用经典优化(例如图着色和旅行商)来排序量子程序的执行。具体而言,我们将哈密顿量(表征量子力学系统的矩阵)中相互交换的项组合在一起,以提高模拟的准确性。然后,我们重新排列每个组内的项,以最大限度地提高最终量子电路中的门取消。这些优化措施共同提高了 HS 性能,使电路深度平均减少了 40%。这项工作推动了 HS 的发展,进而推动了基础科学和应用科学领域的物理和化学建模。
量子计算机的快速普及势必会打破数十年来的若干计算限制,但它也势必会在软件测试等领域带来重大挑战。测试是指在复制真实场景的体外环境中执行软件以确定其正确行为 [3]。尽管如此,在经典计算领域,测试已经得到了广泛的研究,并且已经提出了多种方法和工具 [1],但此类量子程序 (QP) 方法仍处于起步阶段 [10]。值得注意的是:(i) QP 比经典程序难开发得多,因此,大多数熟悉经典世界的程序员更容易在违反直觉的量子编程中犯错误 [6];(ii) QP 必然是概率性的,不可能在不中断执行或不损害其结果的情况下进行检查 [7]。因此,确保 QP 的正确实现在量子计算领域更具挑战性 [4]。
之所以将其称为汉密尔顿模拟算法,是因为它类似于一类非常重要的量子算法,这些算法采用汉密尔顿量 H 的经典描述、时间 t、输入状态 | θ ⟩ 和输出(近似值)e − iHt | θ ⟩ 。这是我们所知的量子计算最重要的应用之一。这与 LMR 算法的区别在于,汉密尔顿量以量子形式提供。