掌桥专利:专业的专利平台
掌桥专利
首页

一种QAOA算法的优化方法、装置、终端及存储介质

文献发布时间:2024-04-18 19:52:40



技术领域

本发明属于量子计算技术领域,特别是一种QAOA算法的优化方法、装置、终端及存储介质。

背景技术

量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。当某个装置处理和计算的是量子信息,运行的是量子算法时,它就是量子计算机。量子计算机因其具有相对普通计算机更高效的处理数学问题的能力,例如,能将破解RSA密钥的时间从数百年加速到数小时,故成为一种正在研究中的关键技术。

量子计算模拟是一个借助数值计算和计算机科学来仿真遵循量子力学规律的模拟计算,作为一个仿真程序,它依据量子力学的量子比特的基本定律,利用计算机的高速计算能力,刻画量子态的时空演化。

目前,量子算法在解决实际问题起到越来越大的作用。例如,组合优化问题是在一个有限的对象集中找出最优对象的一类课题。而QAOA(Quantum ApproximateOptimization Algorithm,量子近似优化算法)的提出很好地解决了这些问题,在经典的最大割问题(MaxCut)、最大独立子集(MaxIndependent set,MIS)、可满足性问题(Satisfiability Problem)、旅行商问题(Traveling Salesman Problem)等方面具有广泛的应用和实际意义。与此同时,由于目前NISQ(Noisy Intermediate-Scale Quantumtechnology,嘈杂中型量子技术)量子计算机硬件的限制,QAOA也面临着一些问题。其中,算法层数过多时操作的累计误差会影响优化效果,是一个亟待解决的问题。

发明内容

本发明的目的是提供一种QAOA算法的优化方法、装置、终端及存储介质,以解决现有技术中的不足,它能够提升优化效果,降低算法的量子线路的线路深度,更适用于现阶段的NISQ量子计算机。

本申请的一个实施例提供了一种QAOA算法的优化方法,所述方法包括:

将QAOA算法的量子线路中的目标参数优化至目标值;

将所述目标参数中、涉及两量子比特的各第一相互作用所使用的同一参数进行分割,以使各所述第一相互作用分别对应的参数相互独立;

增加涉及所述两量子比特的第二相互作用,对所述第二相互作用设置与所述第一相互作用相同的参数,并增加预设参数;

对当前目标参数及预设参数进行优化,直至达到预设优化终止条件。

可选的,所述将QAOA算法的量子线路中的目标参数优化至目标值,包括:

将QAOA算法的量子线路中的第一目标参数和第二目标参数,优化至使成本函数最高或最低的第一目标值和第二目标值。

可选的,所述第一相互作用为:两个泡利-Z算符对应的两量子比特逻辑门作用;所述第二相互作用包括以下一种:

两个泡利-X算符对应的两量子比特逻辑门作用、两个泡利-Y算符对应的两量子比特逻辑门作用、一泡利-X算符与一泡利-Y算符对应的两量子比特逻辑门作用、一泡利-X算符与一泡利-Z算符对应的两量子比特逻辑门作用、一泡利-Y算符与一泡利-Z算符对应的两量子比特逻辑门作用。

可选的,所述对当前目标参数及预设参数进行优化,直至达到预设优化终止条件,包括:

计算当前目标参数及预设参数的梯度;

根据所述梯度和第一预设阈值,确定待优化参数;

对所述待优化参数进行优化,根据所述待优化参数优化前及优化后的成本函数表示的能量值和第二预设阈值,判断是否达到预设优化终止条件;

若达到,获得优化后的参数,否则,返回执行所述计算当前目标参数及预设参数的梯度的步骤。

可选的,所述计算当前目标参数及预设参数的梯度,包括:

利用有限差分法,计算当前目标参数及预设参数的梯度。

可选的,所述根据所述梯度和第一预设阈值,确定待优化参数,包括:

将所述梯度的绝对值与第一预设阈值进行比较;

若所述梯度的绝对值大于所述第一预设阈值,将所述梯度对应的参数,确定为待优化参数。

可选的,所述根据所述待优化参数优化前及优化后的成本函数表示的能量值和第二预设阈值,判断是否达到预设优化终止条件,包括:

计算所述待优化参数优化前及优化后的成本函数表示的能量值的差值;

将所述差值与第二预设阈值进行比较;

若所述差值小于所述第二预设阈值,则终止优化。

本申请的又一实施例提供了一种QAOA算法的优化装置,所述装置包括:

第一优化模块,用于将QAOA算法的量子线路中的目标参数优化至目标值;

分割模块,用于将所述目标参数中、涉及两量子比特的各第一相互作用所使用的同一参数进行分割,以使各所述第一相互作用分别对应的参数相互独立:

增加模块,用于增加涉及所述两量子比特的第二相互作用,对所述第二相互作用设置与所述第一相互作用相同的参数,并增加预设参数;

第二优化模块,用于对当前目标参数及预设参数进行优化,直至达到预设优化终止条件。

本申请的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项所述的方法。

本申请的又一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项所述的方法。

与现有技术相比,本发明提供的一种QAOA算法的优化方法,首先将QAOA算法的量子线路中的目标参数优化至目标值;将所述目标参数中、涉及两量子比特的各第一相互作用所使用的同一参数进行分割,以使各所述第一相互作用分别对应的参数相互独立;增加涉及所述两量子比特的第二相互作用,对所述第二相互作用设置与所述第一相互作用相同的参数,并增加预设参数;对当前目标参数及预设参数进行优化,直至达到预设优化终止条件。通过优化算法参数,引入额外的相互作用和参数,实现优化效果的提升,并降低算法的量子线路的线路深度,从而更适用于现阶段的NISQ量子计算机。

附图说明

图1为本发明实施例提供的一种QAOA算法的优化方法的计算机终端的硬件结构框图;

图2为本发明实施例提供的一种QAOA算法的优化方法的流程示意图;

图3为本发明实施例提供的一种QAOA算法的线路示意图;

图4为本发明实施例提供的一种QAOA算法的优化装置的结构示意图。

具体实施方式

下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本发明实施例首先提供了一种QAOA算法的优化方法,该方法可以应用于电子设备,如计算机终端,具体如普通电脑、量子计算机等。

下面以运行在计算机终端上为例对其进行详细说明。图1为本发明实施例提供的一种QAOA算法的优化方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机终端还可以包括用于通信功能的传输装置106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的QAOA算法的优化方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network lnterface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

需要说明的是,真正的量子计算机是混合结构的,它包含两大部分:一部分是经典计算机,负责执行经典计算与控制;另一部分是量子设备,负责运行量子程序进而实现量子计算。而量子程序是由量子语言如QRunes语言编写的一串能够在量子计算机上运行的指令序列,实现了对量子逻辑门操作的支持,并最终实现量子计算。具体的说,量子程序就是一系列按照一定时序操作量子逻辑门的指令序列。

在实际应用中,因受限于量子设备硬件的发展,通常需要进行量子计算模拟以验证量子算法、量子应用等等。量子计算模拟即借助普通计算机的资源搭建的虚拟架构(即量子虚拟机)实现特定问题对应的量子程序的模拟运行的过程。通常,需要构建特定问题对应的量子程序。本发明实施例所指量子程序,即是经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。

量子线路作为量子程序的一种体现方式,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线),以及各种量子逻辑门,最后常需要通过量子测量操作将结果读取出来。

不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上逻辑门而被操作。

一个量子程序整体上对应有一条总的量子线路,本发明所述量子程序即指该条总的量子线路,其中,该总的量子线路中的量子比特总数与量子程序的量子比特总数相同。可以理解为:一个量子程序可以由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至千上万个量子逻辑门操作。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。

需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,量子逻辑门包括单比特量子逻辑门,如Hadamard门(H门,阿达马门)、泡利-X门(X门)、泡利-Y门(Y门)、泡利-Z门(Z门)、RX门、RY门、RZ门等等;两比特或多比特量子逻辑门,如CNOT门、CR门、CZ门、iSWAP门、Toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算的。

在面临可能遇到的大规模问题时,QAOA算法表现出了一定的有效性。为了理解QAOA算法,可以从量子退火算法(Quantum annealing algorithm,QAA)开始说起。在量子力学中,所有的力学量都可以用一个酉矩阵来描述,酉矩阵的定义是,该矩阵的转置共轭是该矩阵的逆矩阵,即有:

这样的矩阵通常称之为算符,在量子计算中也称之为量子逻辑门,算符都会有至少一个不为0的本征值λ以及与之对应的本征态|ψ>:

H|ψ>=λ|ψ>

如果算符H的本征值对应的是某一个体系的能级分布,那么这样的算符我们也可以称其为哈密顿量(Hamiltonian)。根据含时薛定谔方程,从一个态|ψ

exp(-itH

其中,H

其中,t从0开始变化,t

exp(-i(A+B))|ψ>≈exp(-iA)exp(-iB)|ψ>

上面给出的是一阶Trotter分解的形式,如果A、B对易,则上式的约等号变为等号,即exp(-i(A+B))|ψ>=exp(-iA)exp(-iB)|ψ>。如果想获得更高的精度,还有二阶、三阶等其他更多的Trotter分解形式。于是原有的:

从而:

在QAA的演化中,演化路径,即t

QAOA在此基础上进行了修改,即演化路径不是由用户自己设置的,而是通过计算成本函数(Cost Function),反馈给经典计算机,通过经典计算机上的优化器给出合理的参数从而得出比较好的结果。首先可以先定义演化过程:

|ψ′

很显然的,p的数值代表了算法的层数,或者说线路的深度,层数是人为给定的,层数越深距离最终解越近。下一步设定成本函数,成本函数为哈密顿量的期望值,也就是体系的能量值:

E(β

成本函数可以作为优化依据,根据实际问题在优化中需要成本函数尽可能高或者低。例如,一种QAOA的线路示意图可如图3所示,运行量子线路,通过测量(measure)可以得到参数

由于硬件的技术限制,在近期,量子计算都将处于NISQ时代,现有的绝大部分量子计算机的操作都会受到噪声的干扰,并且只能实现近域纠缠,因此为了实现远距离的相互作用,需要用多个SWAP门来进行交换操作。而NISQ量子计算机,操作具有一定的错误率,SWAP门个数的增加会使操作的错误率增加,影响优化效果。

对于QAOA,在一定规模时,需要的优化层数是随着规模增加的,也就意味着操作门的个数增加(包括SWAP门的个数),这也会增加操作的错误率,甚至噪声的影响会抵消p的增加带来的优化效果。

参见图2,图2为本发明实施例提供的一种QAOA算法的优化方法的流程示意图,可以包括如下步骤:

S201,将QAOA算法的量子线路中的目标参数优化至目标值;

具体的,可以将QAOA算法的量子线路中的第一目标参数和第二目标参数,优化至使成本函数最高或最低的第一目标值和第二目标值。

以上述为例,第一目标参数可以为β=[β

S202,将所述目标参数中、涉及两量子比特的各第一相互作用所使用的同一参数进行分割,以使各所述第一相互作用分别对应的参数相互独立;

示例性的,第一相互作用可以为:两个泡利-Z算符对应的两量子比特逻辑门作用,简称ZZ相互作用。其中,泡利算符或称泡利(Pauli)矩阵,包括:泡利-X、泡利-Y、泡利Z,具体形式为:

具体的,原QAOA线路中所有的ZZ相互作用,均采用同一参数γ

S203,增加涉及所述两量子比特的第二相互作用,对所述第二相互作用设置与所述第一相互作用相同的参数,并增加预设参数;

具体的,第二相互作用可以包括以下一种:两个泡利-X算符对应的两量子比特逻辑门作用、两个泡利-Y算符对应的两量子比特逻辑门作用、一泡利-X算符与一泡利-Y算符对应的两量子比特逻辑门作用、一泡利-X算符与一泡利-Z算符对应的两量子比特逻辑门作用、一泡利-Y算符与一泡利-Z算符对应的两量子比特逻辑门作用。

示例性的,一种第二相互作用(简称两体相互作用)可以为:

PQ∈{YZ,YY,XY,XZ,XX}

其中,Y表示泡利-Y算符,Z表示泡利-Z算符,X表示泡利-X算符。

以SK模型(Sherrington-Kirkpatrick Model)为例,H

其中,β

S204,对当前目标参数及预设参数进行优化,直至达到预设优化终止条件。

在一种具体实现中,对当前目标参数及预设参数进行优化,直至达到预设优化终止条件,可以包括:

S2401,计算当前目标参数及预设参数的梯度;

具体的,可以利用有限差分法,计算当前目标参数及预设参数的梯度。

示例性的,利用有限差分法计算所有参数

其中,g(θ)为梯度,E(θ)为成本函数的能量值,∈是一个较小的数,可以为预设值。

S2402,根据所述梯度和第一预设阈值,确定待优化参数;

具体的,可以将所述梯度的绝对值与第一预设阈值进行比较;若所述梯度的绝对值大于所述第一预设阈值,将所述梯度对应的参数,确定为待优化参数。

例如,可以挑选梯度的绝对值大于第一预设阈值δ

S2403,对所述待优化参数进行优化,根据所述待优化参数优化前及优化后的成本函数表示的能量值和第二预设阈值,判断是否达到预设优化终止条件;

具体的,可以计算所述待优化参数优化前及优化后的成本函数表示的能量值的差值;将所述差值与第二预设阈值进行比较;若所述差值小于所述第二预设阈值,则终止优化。

例如,可以利用经典优化器对集合A中的参数进行优化,若优化前后能量值的下降(即差值)小于第二预设阈值δ

S2404,若达到,获得优化后的参数,否则,返回执行所述计算当前目标参数及预设参数的梯度的步骤。

在达到优化终止条件后,可以获得优化后的集合A中的参数及其对应的QAOA算法线路。优化后的QAOA算法中,除了将对应线路中现有的ZZ相互作用,还额外考虑了其他的两体相互作用,以起到抵消部分的非绝热效应,加速演化的目的;其次,增加了参数自由度,让每个两体相互作用都有自己独立的参数,这样可以增强线路表示能力,降低线路深度。

可见,通过将QAOA算法的量子线路中的目标参数优化至目标值;将所述目标参数中、涉及两量子比特的各第一相互作用所使用的同一参数进行分割,以使各所述第一相互作用分别对应的参数相互独立;增加涉及所述两量子比特的第二相互作用,对所述第二相互作用设置与所述第一相互作用相同的参数,并增加预设参数;对当前目标参数及预设参数进行优化,直至达到预设优化终止条件。通过优化算法参数,引入额外的相互作用和参数,首先优化效果的提升,并降低算法的量子线路的线路深度,从而更适用于现阶段的NISQ量子计算机。

参见图4,图4为本发明实施例提供的一种QAOA算法的优化装置的结构示意图,与图2所示的流程相对应,所述装置包括:

第一优化模块401,用于将QAOA算法的量子线路中的目标参数优化至目标值;

分割模块402,用于将所述目标参数中、涉及两量子比特的各第一相互作用所使用的同一参数进行分割,以使各所述第一相互作用分别对应的参数相互独立;

增加模块403,用于增加涉及所述两量子比特的第二相互作用,对所述第二相互作用设置与所述第一相互作用相同的参数,并增加预设参数;

第二优化模块404,用于对当前目标参数及预设参数进行优化,直至达到预设优化终止条件。

具体的,所述第一优化模块,具体用于:

将QAOA算法的量子线路中的第一目标参数和第二目标参数,优化至使成本函数最高或最低的第一目标值和第二目标值。

具体的,所述第一相互作用为:两个泡利-Z算符对应的两量子比特逻辑门作用;所述第二相互作用包括以下一种:

两个泡利-X算符对应的两量子比特逻辑门作用、两个泡利-Y算符对应的两量子比特逻辑门作用、一泡利-X算符与一泡利-Y算符对应的两量子比特逻辑门作用、一泡利-X算符与一泡利-Z算符对应的两量子比特逻辑门作用、一泡利-Y算符与一泡利-Z算符对应的两量子比特逻辑门作用。

具体的,所述第二优化模块,包括:

计算单元,用于计算当前目标参数及预设参数的梯度;

确定单元,用于根据所述梯度和第一预设阈值,确定待优化参数;

判断单元,用于对所述待优化参数进行优化,根据所述待优化参数优化前及优化后的成本函数表示的能量值和第二预设阈值,判断是否达到预设优化终止条件;

获得单元,用于在达到预设优化终止条件的情况下,获得优化后的参数,否则,返回执行所述计算当前目标参数及预设参数的梯度的步骤。

具体的,所述计算单元,具体用于:

利用有限差分法,计算当前目标参数及预设参数的梯度。

具体的,所述确定单元,具体用于:

将所述梯度的绝对值与第一预设阈值进行比较;

若所述梯度的绝对值大于所述第一预设阈值,将所述梯度对应的参数,确定为待优化参数。

具体的,所述判断单元,具体用于:

计算所述待优化参数优化前及优化后的成本函数表示的能量值的差值;

将所述差值与第二预设阈值进行比较;

若所述差值小于所述第二预设阈值,则终止优化。

可见,通过将QAOA算法的量子线路中的目标参数优化至目标值;将所述目标参数中、涉及两量子比特的各第一相互作用所使用的同一参数进行分割,以使各所述第一相互作用分别对应的参数相互独立;增加涉及所述两量子比特的第二相互作用,对所述第二相互作用设置与所述第一相互作用相同的参数,并增加预设参数;对当前目标参数及预设参数进行优化,直至达到预设优化终止条件。通过优化算法参数,引入额外的相互作用和参数,首先优化效果的提升,并降低算法的量子线路的线路深度,从而更适用于现阶段的NISQ量子计算机。

本发明实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

S1,将QAOA算法的量子线路中的目标参数优化至目标值;

S2,将所述目标参数中、涉及两量子比特的各第一相互作用所使用的同一参数进行分割,以使各所述第一相互作用分别对应的参数相互独立;

S3,增加涉及所述两量子比特的第二相互作用,对所述第二相互作用设置与所述第一相互作用相同的参数,并增加预设参数;

S4,对当前目标参数及预设参数进行优化,直至达到预设优化终止条件。

具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明实施例还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

S1,将QAOA算法的量子线路中的目标参数优化至目标值;

S2,将所述目标参数中、涉及两量子比特的各第一相互作用所使用的同一参数进行分割,以使各所述第一相互作用分别对应的参数相互独立;

S3,增加涉及所述两量子比特的第二相互作用,对所述第二相互作用设置与所述第一相互作用相同的参数,并增加预设参数;

S4,对当前目标参数及预设参数进行优化,直至达到预设优化终止条件。

以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。

技术分类

06120116334209