一种基于酉运算的量子程序自动修复方法技术

技术编号:39248204 阅读:9 留言:0更新日期:2023-10-30 12:00
本发明专利技术公开一种基于酉运算的量子程序自动修复方法:包括:1)、将量子程序视为黑盒模型并对其进行建模,建立初态、末态以及演化过程之间合理的方程,对演化算子进行初步求解;2)、定义前置修复和后置修复两种修复模式,并建立合理的数学关系;3)、采用由足够充分的正交基的测试用例集,以输出和期望概率分布的K

【技术实现步骤摘要】
一种基于酉运算的量子程序自动修复方法


[0001]本专利技术属于软件工程与量子计算的交叉领域,具体涉及一种基于酉运算的量子程序自动修复方法。

技术介绍

[0002]作为一种新兴的且不断发展的计算形式,量子计算利用其量子并行的优势,有潜力解决极其复杂的计算问题以及执行特定领域的模拟任务。量子计算具有广泛的应用前景,算法能够解决多领域中的关键问题,例如Shor算法能够在多项式时间内分解整数,进而使得破解密码学中的加密协议RSA成为可能;在机器学习中,Grover算法能够使搜索过程的时间复杂度O(N)降低至量子支持向量机能够使得训练时间复杂度从经典算法的O(M2N)降低至O(logMN)。如今,已有多种语言可供进行量子程序的编写以执行量子算法,例如IBM的Qiskit,Google的Cirq,Microsoft的Q#和本源量子的Qpanda。
[0003]与经典程序类似,量子程序也存在可能导致会程序运行失效的缺陷。为了确保量子程序的质量和可靠性,在软件工程中,常用软件测试技术来评估和分析被测程序的行为,然后采用程序修复技术通过生成正确的补丁来消除程序中的缺陷。然而,目前关于量子程序测试领域的研究仅仅关注于如何测试量子程序以及如何将程序中出现的缺陷进行分类和总结,而如何进行程序修复仍然未解决。与经典计算不同的是,量子测量是在真实量子系统中获取量子信息的唯一手段。这样的操作会导致量子态坍缩,使得原始量子比特完全被改变。因此,将经典计算中的程序修复技术直接应用于量子计算似乎不切实际且无效的。因为大多数之前的研究都关注于代码和语句层面上的程序缺陷,然而每行代码所执行的结果在量子计算中无法被观测到。事实上,量子计算中量子态的叠加和纠缠的特征能够让量子比特存储更多的潜在信息并执行可逆的计算操作。为了充分利用量子计算的特性,需要提出一种新颖且具有针对性的量子程序修复方法。
[0004]在量子力学中,量子系统随时间从一个状态变换到另一个状态的过程被成为演化。实际上,运行一个量子程序被认为是实际量子比特的演化,并且存在严格的酉运算性质。换句话说,可以把从初态到末态的演化过程表示为酉线性映射。演化过程是量子程序中实现计算功能的关键,如果在演化过程存在缺陷,这虽然不会导致程序运行崩溃,但会输出错误的结果。理论上,演化过程的缺陷可以理解为违背了期望的运算过程,这使得有缺陷的和期望的量子程序之间存在一个可逆的酉运算。因此,可以通过在合适的位置添加修复算子作为补丁,以消除缺陷引入酉运算的影响,使得修复后的程序和期望的程序拥有相同的量子测量结果。
[0005]如何针对量子程序的特性建立合理的自动修复框架,如何设计算法实现补丁的定位、生成、验证,是程序自动修复方法设计的重点和难点,也是本专利技术要针对解决的问题。

技术实现思路

[0006]本专利技术利用了量子计算的物理模型,提出了一个全面的、能够实现量子程序自动
修复的理论框架。与在经典计算中程序修复技术不同的是,本专利技术的方法可以消除多个缺陷,并能实现完全自动的程序修复过程。
[0007]在已有的程序修复技术的基础上,本专利技术的方法通过引入了修复位置定位以添加补丁,并采用生成和验证过程来修复量子程序。在不修改演化过程的原始代码的情况下,本专利技术的方法旨在演化之前或之后找到合适的修复算子作为补丁。具体来说,通过进行充分的测试过程,能够得到足够的初态和测量结果。基于测量结果,能够解算对含缺陷程序的演化过程对应的估计值,进而帮助补丁的生成。随后,依次选择候选补丁,并验证每个修复版本,最终可以得到至少一个符合程序规约的版本。
[0008]此外,本专利技术还关注了如何在对具有等效作用的候选补丁进行约简,以及如何将非酉性的修复算子修正为合法的酉算子。一方面,不可逆的测量操作会导致对末态的估计不唯一,会导致能够计算出大量疑似合理的估计算子,进而使得候选补丁将变得冗余。因此,减少估计算子的数目对于降低补丁验证的复杂性是有价值的。另一方面,由于测量过程的统计随机性和计算机运算的浮点误差,理论上的酉算子可能变成非酉算子,这使得补丁无法成功地加入到量子程序中。因此,有必要设计一种通用方法来将修复算子转化为可以被程序接受而不发生崩溃的酉算子。
[0009]本专利技术涉及的量子程序自动修复框架如图1所示,主要包含测试部分(量子程序测试)和修复部分(修复算子计算和验证、修复模式选择)。
[0010]对于量子程序测试部分:本专利技术将初态视为输入的测试用例,测量结果视为输出结果。由于量子演化过程的内部状态无法被观测到,因此可以将其视为黑盒模型。而修复定位的位置可以设置为量子演化前后的位置。
[0011]对于算子计算和修正部分:该部分主要包含算子的求解、演化的估计以及补丁的修正,而该三部分也是实现本专利技术提出框架的技术重点、难点。算子求解主要将量子程序进行数学建模,将程序运算的过程抽象为酉算子,进而通过输入和输出求解程序的演化算子以及定量表示修复算子;演化的估计旨在解决如何根据测量结果对含缺陷程序演化过程进行估计,以及如何对估计的结果进行约简这两个问题;补丁的修正提出泛用的方法,将计算出的补丁修正为能被程序接受的合法酉算子。
[0012]为此,本专利技术提出一种基于酉运算的量子程序自动修复方法,该方法包括以下步骤:
[0013]步骤1)、将量子程序视为黑盒模型并对其进行建模,建立初态、末态以及演化过程之间合理的方程,对演化算子进行初步求解;
[0014]步骤2)、定义前置修复和后置修复两种修复模式,并建立合理的数学关系;
[0015]步骤3)、采用由足够充分的正交基的测试用例集,以输出和期望概率分布的K

L散度作为评判基准作为测试预言;
[0016]步骤4)、根据测试结果对演化算子进行修正和进一步估计,并对等价的估计算子进行约简;
[0017]步骤5)、计算候选的补丁,并对非酉的补丁就行酉化修正。
[0018]本专利技术的优点及有益效果在于:
[0019]第一,本专利技术能够将程序视为黑盒模型,因而使得补丁定位过程并不需要太高的要求,只需要在演化前后这个固定的位置引入即可;
[0020]第二,本专利技术把所有运算过程抽象为一个酉算子,进而能够解决含多缺陷的量子程序修复问题;
[0021]第三,本专利技术通过建立数学关系,能够将程序修复过程转化为数学运算过程,进而不需要开发者的介入即可实现补丁定位、生成和验证的全自动过程。
[0022]因此,本专利技术可以通过对量子程序进行自动修复,亦在降低修复成本的同时,提升量子程序的质量。
附图说明
[0023]图1是量子程序自动修复框架。
[0024]图2是补丁生成和验证流程。
[0025]图3是量子程序修复的示例。
具体实施方式
[0026]下面结合图1

3所示,对本专利技术提出的一种基于酉运算的量子程序自动修复方法,详细说明如下:
[0027]步骤1)、将量子程序视为黑盒模型并对其进行建模,建立初态、末态以及演化过本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于酉运算的量子程序自动修复方法,其特征在于:该方法包括以下步骤:步骤1)、将量子程序视为黑盒模型并对其进行建模,建立初态、末态以及演化过程之间合理的方程,对演化算子进行初步求解;步骤2)、定义前置修复和后置修复两种修复模式,并建立合理的数学关系;步骤3)、采用由足够充分的正交基的测试用例集,以输出和期望概率分布的K

L散度作为评判基准作为测试预言;步骤4)、根据测试结果对演化算子进行修正和进一步估计,并对等价的估计算子进行约简。步骤5)、计算候选的补丁,并对非酉的补丁就行酉化修正。2.根据权利要求1所述的一种基于酉运算的量子程序自动修复方法,其特征在于:在步骤1中,对于有n个量子比特的量子程序,进行量子比特运算之前和之后的状态称为初态和末态|ψ>,量子计算中任意的量子态均由矢量表示。3.根据权利要求1或2所述的一种基于酉运算的量子程序自动修复方法,其特征在于:在步骤1中,对于一个量子程序,把从初态到末态的演化过程抽象为一个酉线性变换U:U∈U(2
n
),其中U(2
n
)表示2
n
×2n
维的酉群,每个酉算子都具有性质符号表示对计算子进行共轭转置,符号|
·
>和<
·
|分别表示列向量和行向量,并且存在关系4.根据权利要求3所述的一种基于酉运算的量子程序自动修复方法,其特征在于:在步骤1中,设期望的程序和含缺陷的程序演化过程的对应的酉算子分别为U
e
,U
d
;对于含有n量子比特的量子程序,其量子态给定2
n
个正交的初态两种程序对应的末态分别为其中上标(i)表示第i(i=0,1,,2
n

1)个作为测试用例的初态及其对应作为输出结果的末态;那么通过输入

输出的线性关系和求解得到,求解得到,5.根据权利要求1所述的一种基于酉运算的量子程序自动修复方法,其特征在于:在步骤2中,定义前置修复和后置修复两种修复模式,采用酉算子作为修复含缺陷程序的补丁U
p
;前置修复通过引入修复算子U
ep
使得U
r
=U
d
U
ep
,后置修复通过引入修复算子U
op
使得U
r
=U
op
U
d
。6.根据权利要求5所述的一种基于酉运算的量子程序自动修复方法,其特征在于:在步骤2...

【专利技术属性】
技术研发人员:殷蓓蓓李玥辰裴翰宇黄麟植蔡开元
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1