1.本发明涉及量子线路映射技术领域,尤其涉及一种基于动态深度搜索的量子线路映射方法、系统和电子设备。
背景技术:2.量子计算机中的物理量子比特直接存在连通性限制,具体表现为只可以在特定的物理量子比特对之间执行两量子比特量子操作。因此,在量子计算机中执行量子程序之前,需要将输入的逻辑量子线路映射为符合对应量子计算机连通性限制的物理量子线路,并且映射前后的量子线路在功能上等价。通常,一个逻辑量子线路可以映射为多个物理量子线路,而不同的映射结果所引入的冗余亦是不同的,而冗余的多少会直接影响量子线路执行的精度。因此,量子线路映射算法除了需要找到一个满足条件的物理量子线路之外,也要使得该线路所引入的冗余尽可能少。
技术实现要素:3.本发明所要解决的技术问题是针对现有技术的不足,提供了一种基于动态深度搜索的量子线路映射方法、系统和电子设备。
4.本发明的一种基于动态深度搜索的量子线路映射方法的技术方案如下:s1、在搜索空间中初始化一个状态,得到包含物理量子线路和输入的待映射逻辑量子线路的当前状态;s2、向所述当前状态所包含的物理量子线路中,添加指定的量子操作,得到第一物理量子线路,并根据所述当前状态所包含的逻辑量子线路对所述第一物理量子线路进行更新,得到第二物理量子线路,并得到所述第二物理量子线路对应的一个子状态,通过改变所述指定的量子操作,得到多个子状态;s3、对每个子状态进行状态评估,得到每个子状态的状态评估结果;s4、根据所有的状态评估结果更新搜索空间中的除所有子状态外的状态;s5、从所述搜索空间中选取一个新的状态,作为所述当前状态,返回执行s2,直至符合输出条件的物理量子线路。
5.本发明的一种基于动态深度搜索的量子线路映射方法的有益效果如下:能够将量子线路映射问题转换为一个搜索过程,通过高深度的搜索来寻找更优即映入冗余更少的解,同时通过对搜索深度的动态控制来平衡求解时间,效率高。
6.本发明的一种基于动态深度搜索的量子线路映射系统的技术方案如下:包括初始化模块、添加获取模块、评估模块、更新模块和重复执行输出模块;所述初始化模块用于:在搜索空间中初始化一个状态,得到包含物理量子线路和输入的待映射逻辑量子线路的当前状态;所述添加获取模块用于:向所述当前状态所包含的物理量子线路中,添加指定的量子操作,得到第一物理量子线路,并根据所述当前状态所包含的逻辑量子线路对所述第
一物理量子线路进行更新,得到第二物理量子线路,并得到所述第二物理量子线路对应的一个子状态,通过改变所述指定的量子操作,得到多个子状态;所述评估模块用于:对每个子状态进行状态评估,得到每个子状态的状态评估结果;所述更新模块用于:根据所有的状态评估结果更新搜索空间中的除所有子状态外的状态;所述重复执行输出模块用于:从所述搜索空间中选取一个新的状态,作为所述当前状态,重复调用所述添加获取模块、所述评估模块和更新模块,直至符合输出条件的物理量子线路。
7.本发明的一种基于动态深度搜索的量子线路映射系统的有益效果如下:能够将量子线路映射问题转换为一个搜索过程,通过高深度的搜索来寻找更优即映入冗余更少的解,同时通过对搜索深度的动态控制来平衡求解时间,效率高。
8.本发明的一种存储介质,所述存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行上述任一项所述的一种基于动态深度搜索的量子线路映射方法。
9.本发明的一种电子设备,包括处理器和上述的存储介质,所述处理器执行所述存储介质中的指令。
附图说明
10.图1为本发明实施例的一种基于动态深度搜索的量子线路映射方法的流程示意图;图2示例线路的示意图之一;图3为示例线路的示意图之二;图4为示例线路的示意图之三;图5为量子比特映射的示意图;图6为逻辑量子线路的示意图;图7为物理量子线路的示意图;图8为本发明实施例的一种基于动态深度搜索的量子线路映射系统的结构示意图。
具体实施方式
11.如图1所示,本发明实施例的一种基于动态深度搜索的量子线路映射方法,包括如下步骤:s1、在搜索空间中初始化一个状态,得到包含物理量子线路和输入的待映射逻辑量子线路的当前状态;s2、向当前状态所包含的物理量子线路中,添加指定的量子操作,得到第一物理量子线路,并根据当前状态所包含的逻辑量子线路对第一物理量子线路进行更新,得到第二物理量子线路,并得到第二物理量子线路对应的一个子状态,通过改变指定的量子操作,得到多个子状态;s3、对每个子状态进行状态评估,得到每个子状态的状态评估结果;
s4、根据所有的状态评估结果更新搜索空间中的除所有子状态外的状态;s5、从搜索空间中选取一个新的状态,作为当前状态,返回执行s2,直至符合输出条件的物理量子线路。
12.需要说明的是,在第一次执行s2时,s2中的当前状态所包含的逻辑量子线路即为输入的逻辑量子线路,在第二次执行s2时,以及后续执行s2时,s2中的当前状态所包含的逻辑量子线路为经s5更新的逻辑量子线路。
13.对“状态”进行如下阐述:物理量子线路的构造过程可以看成在一个树空间的搜索过程,该树空间可以表示为,其中和分别表示空间中的状态集合和边集合。该空间中的每一个状态由一个逻辑量子线路、一个物理量子线路、一个量子比特映射、两个估值(本地估值和全局估值)、访问次数统计值构成,可以记为。此外,状态的一个子状态等价于向中新引入一个交换操作,并且根据该交换操作更新,得到对应的,具体的构造细节在后面会有详细介绍。其中,将中的分别赋一个确定的值,得到一个当前状态。
14.指定的量子操作为向特定的量子比特对作用的交换门,特定的量子比特对由量子计算机结构图决定,例如,对于图3而言,特定的量子比特对包括两对,向物理量子线路中添加指定的量子操作的过程为现有技术,不再赘述;其中,根据当前状态所包含的逻辑量子线路对第一物理量子线路进行更新,得到第二物理量子线路的过程:将当前状态所包含的逻辑量子线路中的可执行的量子操作添加到第一物理量子线路中,得到第二物理量子线路。
15.得到第二物理量子线路对应的一个子状态的过程为现有技术,不再赘述。通过改变指定的量子操作得到多个子状态的具体实现过程:向当前状态所包含的物理量子线路中,添加不同的指定的量子操作,得到多个第一物理量子线路,并根据当前状态所包含的逻辑量子线路对每个第一物理量子线路进行更新,得到多个第二物理量子线路,并得到每个第二物理量子线路对应的一个子状态,得到多个子状态;其中,根据不同的量子计算机结构图改变指定的量子操作。
16.其中,任一子状态的状态评估结果包括:任一子状态的全局估值,以及当前状态所包含的逻辑量子线路中的量子操作的数目与任一子状态所包含的逻辑量子线路中的量子操作的数目之间的差值,s3中,对每个子状态进行状态评估,得到每个子状态的状态评估结果的具体实现过程包括:s30、得到当前状态所包含的逻辑量子线路中的量子操作的数目与任一子状态所包含的逻辑量子线路中的量子操作的数目之间的差值;
s31、提取任一子状态中的第0层距离最短的两量子比特量子操作;s32、利用计算得到全局估值;得到任一子状态的状态评估结果为;重复执行s30~s32得到每个子状态的状态评估结果。
17.其中,状态评估evaluate的伪代码如下:1. 中量子操作的数目,中量子操作的数目;2. ;3. 中第0层距离最短的两量子比特量子操作;4. ;5.返回;其中,上述伪代码中的步骤1与步骤2对应s30,步骤3对应s31,步骤4至步骤5对应s32。
18.s4中,根据所有的状态评估结果更新搜索空间中的除所有子状态外的状态,具体包括:s40、提取最大全局估值对应的子状态;s41、判断是否,若是,不用更新,即退出程序,若否,执行s42;s42、把s的全局估值更新为;s43、把更新为,把更新为的父状态,若,则不用更新,即退出程序,若否,执行s41。伪代码为:输入:搜索树,更新起始状态,衰减系数;1. 所有子状态中全局估值最大的子状态;2.如果,则退出程序;3. ;4. 的父状态,如果,则退出程序;5.进入步骤2;其中,上述伪代码中,步骤1对应s40,步骤2对应s41,步骤3对应s42,步骤4和步骤5对应s43。
19.s5中,从搜索空间中选取一个新的状态,作为当前状态,返回执行s2,直至符合输出条件的物理量子线路。具体地:s50、提取搜索空间的初始状态;
s51、提取初始状态的所有子状态;s52、如果所有子状态的数目为零,即不存在子状态,则输出初始状态,作为选取的一个新的状态,若所有子状态的数目不为零,则执行s53;s53、根据从初始状态的子状态选取一个新的子状态,将该新的子状态作为新的初始状态,进行s51。
20.输入:搜索树,更新起始状态,探索系数;1. 所有子状态的集合,;2.如果,则返回;3. ,进入步骤1;上述伪代码中的步骤1对应s50和s51,步骤2对应s52,步骤3对应s53。输出条件具体指:寻找到一个物理量子线路,符合对应量子计算机连通性限制,并且与输入的逻辑量子线路在功能上等价。
21.能够将量子线路映射问题转换为一个搜索过程,通过高深度的搜索来寻找更优即映入冗余更少的解,同时通过对搜索深度的动态控制来平衡求解时间,效率高。
22.本发明旨在设计一个量子线路映射算法,该算法等价于在一个树空间的搜索过程,可以分为如下的六个部分,分别为:主程序、深度搜索、搜索树扩展、状态评估、搜索树更新和搜索树决策,主程序指:量子线路映射算法主程序;深度搜索指:通过深度搜索提取搜索树的待扩展状态,搜索树扩展指:将搜索树的一个待扩展状态进行打开,得到待扩展状态的多个子状态;状态评估指:对新打开状态的质量进行评估;搜索树更新指:沿着一条特定路径更新搜索空间中其它状态的评估值;搜索树决策指:删除搜索空间的冗余状态,提升算法效率;此外,上述算法还需要预先设置如下的参数:1)衰减系数,表示搜索树更新过程中状态评估值的衰减强度;2)迭代次数,表示深度搜索模块的迭代次数;3)探索系数,表示深度搜索模块中对于新状态的访问倾向性;对主程序、深度搜索、搜索树扩展、状态评估、搜索树更新和搜索树决策的具体解释如下:1)搜索树:本发明中,物理量子线路的构造过程可以看成在一个树空间的搜索过程,该树空间可以表示为,其中和分别表示空间中的状态集合和边集合。该空间中的每一个状态由一个逻辑量子线路、一个物理量子线路、一个量子比特映射、两个估值(本地估值和全局估值)、访问次数统计值构成,可以记为。此外,状态的一个子状态等价于向中新引入一个交换操作,并且根据该交换操作更新
,得到对应的,具体的构造细节在后面会有详细介绍。
23.2)线路映射主程序main的伪代码如下:输入:量子计算机结构图,逻辑量子线路,初始量子比特映射,衰减系数,迭代次数,探索系数1.,空量子线路,;2. ;3. ;4.如果中量子操作数目为0,则返回;5. ;6.如果,则进入步骤9;7. ;8. ,进入步骤6;9. ,进入步骤4;其中,输入:搜索树,更新起始状态,探索系数;所有子状态的集合,;如果,则返回;,进入步骤1;3)深度搜索search的伪代码如下:输入:搜索树,更新起始状态,探索系数;1. 所有子状态的集合,;2.如果,则返回;3. ,进入步骤1;4)搜索树扩展open的伪代码如下:1. ;2.如果 ,则进入步骤9;3. ;4. ;5. 下所有可执行的量子操作集合,如果,则进入步骤7;
6.对于,进入步骤5;7. ,;8. ,进入步骤2;9.返回;4)状态评估evaluate的伪代码如下:1. 中量子操作的数目,中量子操作的数目;2. ;3. 中第0层距离最短的两量子比特量子操作;4. ;5.返回;5)搜索树更新update的伪代码为:输入:搜索树,更新起始状态,衰减系数;1. 所有子状态中全局估值最大的状态;2.如果,则退出程序;3. ;4. 的父状态,如果,则退出程序;5.进入步骤2;6)搜索树决策judge的伪代码如下:输入:搜索树,待决策状态;1. 所有子状态中全局估值最大的状态;2.返回;对本发明中的技术术语做如下解释:1)量子比特:量子比特是量子计算机存储数据的基本单元。量子程序通过对量子比特进行相应的操作来实现具体的功能。
24.2)量子操作:量子操作可以改变其作用量子比特的状态,从而实现特定的功能。在本发明中,按照作用的量子比特数目,量子操作可以分为单量子比特操作和两量子比特操作。单量子比特操作只作用在一个特定的量子比特上,只可以改变该量子比特的状态;两量子比特操作作用在两个量子比特上,可以改变上述两个量子比特的状态。在本发明中,用表示作用
在量子比特上的一般单量子比特操作,用表示作用在量子比特上的一般两量子比特操作。此外,本发明中还需要用到两种特殊的两量子比特操作:交换操作和控制非操作。一个作用在量子比特上的交换操作和控制非操作可以分别用表示。
25.需要注意的是,对于作用量子比特数目大于2的量子操作,其可以分解为多个单量子比特和两量子比特量子操作。
26.3)量子线路:量子线路是量子程序的一种常用描述方法,其通常由量子比特以及一系列的量子操作构成。在图2所示的示例线路中,其包含两个量子比特,每根线条表示对应的量子比特、模块a表示、模块b表示、模块c表示。
27.用户在设计量子线路时不会考虑量子计算机的执行限制。因此,在量子计算机中执行量子线路描述的量子程序之前,需要将用户设计好的量子线路映射到一个新的量子线路上,需要使得映射得到的量子线路在满足对应量子计算机的执行限制条件的同时在功能上与输入线路等价。本发明将用户层面设计的量子线路称为逻辑量子线路(记为),将映射后得到的量子线路称为物理量子线路(记为)。
28.4)量子线路的层:对于一个量子线路,如果我们将其中所有的量子操作尽可能向左移,那么可以将左移之后在同一列的量子操作划分为一层。对于图3所示的线路,其包含三层,其中第0、1、2层中的量子操作分别为。
29.5)逻辑量子比特和物理量子比特:本发明将逻辑量子线路中的量子比特称为逻辑量子比特,用表示编号为的逻辑量子比特;将物理量子线路中的量子比特称为物理量子比特,用表示编号为的物理量子比特。需要注意的是,物理量子线路中的物理量子比特与量子计算机中的真实量子比特一一对应。
30.6)量子计算机结构图在一些量子计算机中,物理比特之间的连通性是受限制的,具体表现为只可以在特定的物理比特对之间执行两个量子比特的量子操作,这种限制可以用结构图来表示。量子计算机的结构图可以描述为一个无向图,记为,其中表示图中的节点集合,表示边的集合,表示结构图中的一条边。中的节点表示物理量子比特,边表示量子比特的连通性,只有在被边直接相连的物理量子比特之间可以执行两个量子比特的量子操作。在图4的示例中,,因此,只可以在物理比特之间执行两个量子比特的量子操作之间则不可以执行相应的量子操作。此外,亦可以记为。
31.7)量子比特映射:
在量子计算机中运行量子程序时,需要将逻辑量子线路中的量子比特映射到物理量子比特上,该过程称为量子比特映射。可以用符号表示一个量子比特映射,表示逻辑量子比特在该映射下对应的物理量子比特,例如在图5中,量子比特映射的初始状态为映射到映射到映射到,即。
32.此外,通过在物理线路中引入交换操作可以改变一个确定的量子比特映射,本发明中用或者表示量子比特映射在引入结构图中一个边对应的交换操作或者之后得到的新的量子比特映射。假设,通过向物理量子线路引入,可以得到一个新的量子比特映射,满足、。例如在图5中,,。
33.8)量子操作映射:对于逻辑量子线路中的一般的量子操作和一个量子比特映射,称该量子操作在物理量子线路中的映射为。
34.9)两量子比特操作的距离:对于逻辑量子线路中任意一个两量子比特操作、一个量子计算机结构图、一个量子比特映射,该两量子比特操作的距离在本发明中被定义为中节点之间的最短距离。例如对于如图4所示的结构图和图5左边所示的量子比特映射,量子操作的距离,因为,而与在中的最短路径为,其长度为2。
35.10)逻辑量子线路中量子操作的可执行:如果在给定的量子比特映射下,逻辑量子线路中的两量子比特量子操作(假设作用在量子比特上)满足(1)其位于逻辑量子线路中的第0层;(2),则称该两量子比特量子操作为可执行的。
36.如果在给定的量子比特映射下,逻辑量子线路中的单量子比特量子操作位于逻辑量子线路中的第0层,则称该单量子比特量子操作为可执行的。
37.11)逻辑量子线路中两量子比特量子操作的执行:对于逻辑量子线路中第0层的一个两量子比特量子操作(假设为),其执行是指通过向物理量子线路引入一系列冗余的交换操作不断改变量子比特映射,使得该量子操作在物理量子线路中的映射可执行的过程,即满足,并且将 从逻辑量子线路中删除,将加入物理量子线路。
38.例如对于图4的结构图,假设初始量子比特映射为,假设需要执行的逻辑量子线路中第0层的两量子比特操作为。为了满足结构图的限制,可以向物理量
子线路引入的交换操作只有和。因为,此时在物理线路中的映射为,又因为,因此不可执行。如果向物理线路中引入,则量子比特映射变为、,此时在物理线路中的映射为,又因为,此时可执行。综上,在初始量子比特映射为时,上述的执行过程需要向物理线路引入并且从逻辑量子线路中删除。需要注意的时,一个量子操作的执行过程通常是不唯一的,例如在上述例子中,通过引入一样可以实现的执行。
39.12)量子线路映射:量子线路映射是指基于给定的计算机结构图、逻辑量子线路和一个初始量子比特映射,构造一个物理量子线路的过程,要求输出的物理量子线路在功能上与输入的逻辑量子线路等价,并且其中的两量子比特门满足计算机结构图的限制。
40.量子线路映射的具体方法是对于逻辑量子线路中的每一个两量子比特操作(通常按照从左向右的顺序),通过引入冗余的交换操作对其在物理量子线路中进行执行。对于图6所示的逻辑量子线路和图4所示的量子计算机结构图,并且假设初始量子比特映射为,对其进行量子线路映射。首先执行左边的控制非操作,该操作的执行过程需要向物理量子线路引入,将量子比特映射更新为、,之后再引入,删除;其次执行右边的控制非操作 ,因为此时处于逻辑量子线路的第0层并且其在物理线路中的映射为,已经为可执行的,因此只需要向物理量子线路中引入,删除。最终整个量子线路映射过程输出的物理量子线路如图7所示。
41.在上述各实施例中,虽然对步骤进行了编号s1、s2等,但只是本技术给出的具体实施例,本领域的技术人员可根据实际情况调整s1、s2等的执行顺序,此也在本发明的保护范围内,可以理解,在一些实施例中,可以包含如上述各实施方式中的部分或全部。
42.如图8所示,本发明实施例的一种基于动态深度搜索的量子线路映射系统200,包括初始化模块210、添加获取模块220、评估模块230、更新模块240和重复执行输出模块250;初始化模块210用于:在搜索空间中初始化一个状态,得到包含物理量子线路和输入的待映射逻辑量子线路的当前状态;添加获取模块220用于:向当前状态所包含的物理量子线路中,添加指定的量子操作,得到第一物理量子线路,并根据当前状态所包含的逻辑量子线路对第一物理量子线路进行更新,得到第二物理量子线路,并得到第二物理量子线路对应的一个子状态,通过改变指定的量子操作,得到多个子状态;评估模块230用于:对每个子状态进行状态评估,得到每个子状态的状态评估结果;
更新模块240用于:根据所有的状态评估结果更新搜索空间中的除所有子状态外的状态;重复执行输出模块250用于:从搜索空间中选取一个新的状态,作为当前状态,重复调用添加获取模块220、评估模块230和更新模块240,直至符合输出条件的物理量子线路。
43.能够将量子线路映射问题转换为一个搜索过程,通过高深度的搜索来寻找更优即映入冗余更少的解,同时通过对搜索深度的动态控制来平衡求解时间,效率高。
44.可选地,在上述技术方案中,添加获取模块220根据当前状态所包含的逻辑量子线路对第一物理量子线路进行更新的过程包括:将当前状态所包含的逻辑量子线路中的逻辑量子线路可执行的量子操作添加到第一物理量子线路中,得到第二物理量子线路。
45.可选地,在上述技术方案中,任一子状态的状态评估结果包括:任一子状态的全局估值,以及当前状态所包含的逻辑量子线路中的量子操作的数目与任一子状态所包含的逻辑量子线路中的量子操作的数目之间的差值。
46.上述关于本发明的的一种基于动态深度搜索的量子线路映射系统200中的各参数和各个单元模块实现相应功能的步骤,可参考上文中关于的一种基于动态深度搜索的量子线路映射方法的实施例中的各参数和步骤,在此不做赘述。
47.本发明实施例的一种存储介质,存储介质中存储有指令,当计算机读取指令时,使计算机执行上述任一项的一种基于动态深度搜索的量子线路映射方法。
48.本发明实施例的一种电子设备,包括处理器和上述的存储介质,所述处理器执行所述存储介质中的指令。其中,电子设备可以选用电脑、手机等。
49.所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。
50.因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
51.可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一一但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram),只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
52.尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。