一种量子程序初始映射的确定方法、装置及量子计算机与流程

文档序号:33705626发布日期:2023-03-31 21:30阅读:29来源:国知局
一种量子程序初始映射的确定方法、装置及量子计算机与流程

1.本发明属于量子计算技术领域,特别是一种量子程序初始映射的确定方法、装置及量子计算机。


背景技术:

2.量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。当某个装置处理和计算的是量子信息,运行的是量子算法时,它就是量子计算机。量子计算机因其具有相对普通计算机更高效的处理数学问题的能力,例如,能将破解rsa密钥的时间从数百年加速到数小时,故成为一种正在研究中的关键技术。
3.在嘈杂中型量子计算(noisy intermediate-scale quantum)阶段,对于同一块物理芯片上的多个物理比特,其各个物理比特的状态是不稳定的,例如两比特量子逻辑门噪声参数以及物理比特的退相干时间等因素,均会对物理比特的有效利用造成干扰,从而对整个量子线路的运行结果产生未知影响。例如,由于各个物理比特的退相干时间不同,若是因为某个物理比特退相干时间短而限制了整个量子芯片可运行的量子线路深度,必然导致其他物理比特资源的浪费。
4.现有技术中,确定待执行量子程序的最优映射线路,通常开始需要随机构造量子程序的初始映射,但是随机构造初始映射关系存在随机性,无法保障算法的实际效果,只能通过多次随机才能使得算法获取更优质的初始映射。
5.基于此,如何确定随机初始映射,减少算法的执行次数,优化算法的执行性能是一个亟需解决的问题。


技术实现要素:

6.本发明的目的是提供一种量子程序初始映射的确定方法、装置及量子计算机,以解决现有技术中的不足,它能够解决因构造待执行量子程序初始映射关系存在随机性的问题,并且可以确定待执行量子程序的最优初始映射,使得初始映射的保真度高、量子芯片资源利用最大化。
7.本技术的一个实施例提供了一种量子程序初始映射的确定方法,所述方法包括:
8.获取待执行量子程序和可适配运行的量子芯片;
9.构建待执行量子程序对应的含权线路图;
10.根据所述含权线路图和所述量子芯片的保真度,确定所述待执行量子程序的初始映射,以使所述待执行量子程序初始映射对应的保真度最高。
11.可选的,所述量子芯片的保真度包括所述量子芯片拓扑结构中每两个物理比特间的双量子逻辑门保真度和每个物理比特对应的测量保真度。
12.可选的,所述构建待执行量子程序对应的含权线路图,包括:
13.获取所述待执行量子程序中的量子逻辑门和所述量子逻辑门操作的量子比特;
14.基于所述量子逻辑门和所述量子逻辑门操作的量子比特,构建所述待执行量子程
序对应的含权线路图,其中,所述含权线路图包括:顶点、无向边和边的权重,所述顶点用于表示所述量子逻辑门操作的量子比特,所述无向边用于表示所述量子逻辑门,所述边的权重根据操作相同量子比特的量子逻辑门数目确定。
15.可选的,所述根据所述含权线路图和所述量子芯片的保真度,确定所述待执行量子程序的初始映射,包括:
16.根据所述含权线路图,构建存储所述含权线路图无向边及边的权重信息的第一关联容器;
17.遍历所述第一关联容器,确定所述待执行量子程序节点的映射优先级,其中,所述映射优先级根据所述权重从大到小依次排列;
18.根据所述待执行量子程序节点的映射优先级和所述量子芯片的保真度,依次确定所述待执行量子程序节点的映射关系;
19.将所述依次确定的待执行量子程序节点的映射关系按照生成顺序排列,得到所述待执行量子程序的初始映射。
20.可选的,所述根据所述待执行量子程序节点的映射优先级和所述量子芯片的保真度,依次确定所述待执行量子程序节点的映射关系,包括:
21.确定所述待执行量子程序中的第一节点,其中,所述第一节点在所述第一关联容器中映射优先级最高;
22.基于所述第一节点和所述量子芯片的保真度,确定所述第一节点的第一映射关系;
23.删除所述第一关联容器中的所述第一节点,得到第二关联容器;
24.确定当前第二关联容器中是否存在第二节点,其中,所述第二节点在所述第二关联容器中映射优先级最高;
25.若所述第二关联容器中不存在所述第二节点,则获得所述待执行量子程序所确定的所有节点的映射关系。
26.可选的,所述方法还包括:
27.若所述第二关联容器中存在所述第二节点,则基于所述第二节点和当前所述量子芯片的保真度,确定所述第二节点的第二映射关系;
28.删除所述第二关联容器中的所述第二节点,更新第二关联容器,返回执行所述确定所述当前第二关联容器中是否存在第二节点的步骤,直至所述第二关联容器中不存在所述第二节点为止。
29.本技术的一个实施例提供了一种量子程序初始映射的确定装置,所述装置包括:
30.获取模块,用于获取待执行量子程序和可适配运行的量子芯片;
31.构建模块,用于构建待执行量子程序对应的含权线路图;
32.确定模块,用于根据所述含权线路图和所述量子芯片的保真度,确定所述待执行量子程序的初始映射,以使所述待执行量子程序初始映射对应的保真度最高。
33.可选的,所述构建模块,包括:
34.获取单元,用于获取所述待执行量子程序中的量子逻辑门和所述量子逻辑门操作的量子比特;
35.构建单元,用于基于所述量子逻辑门和所述量子逻辑门操作的量子比特,构建所
述待执行量子程序对应的含权线路图,其中,所述含权线路图包括:顶点、无向边和边的权重,所述顶点用于表示所述量子逻辑门操作的量子比特,所述无向边用于表示所述量子逻辑门,所述边的权重根据操作相同量子比特的量子逻辑门数目确定。
36.可选的,所述确定模块,包括:
37.存储单元,用于根据所述含权线路图,构建存储所述含权线路图无向边及边的权重信息的第一关联容器;
38.遍历单元,用于遍历所述第一关联容器,确定所述待执行量子程序节点的映射优先级,其中,所述映射优先级根据所述权重从大到小依次排列;
39.确定单元,用于根据所述待执行量子程序节点的映射优先级和所述量子芯片的保真度,依次确定所述待执行量子程序节点的映射关系;
40.排列单元,用于将所述依次确定的待执行量子程序节点的映射关系按照生成顺序排列,得到所述待执行量子程序的初始映射。
41.可选的,所述确定单元,包括:
42.第一确定子单元,用于确定所述待执行量子程序中的第一节点,其中,所述第一节点在所述第一关联容器中映射优先级最高;
43.第二确定子单元,用于基于所述第一节点和所述量子芯片的保真度,确定所述第一节点的第一映射关系;
44.第一删除子单元,用于删除所述第一关联容器中的所述第一节点,得到第二关联容器;
45.第三确定子单元,用于确定当前第二关联容器中是否存在第二节点,其中,所述第二节点在所述第二关联容器中映射优先级最高;
46.第一判断子单元,用于若所述第二关联容器中不存在所述第二节点,则获得所述待执行量子程序所确定的所有节点的映射关系。
47.可选的,所述确定单元,还包括:
48.第二判断子单元,用于若所述第二关联容器中存在所述第二节点,则基于所述第二节点和当前所述量子芯片的保真度,确定所述第二节点的第二映射关系;
49.第二删除子单元,用于删除所述第二关联容器中的所述第二节点,更新第二关联容器,返回执行所述确定所述当前第二关联容器中是否存在第二节点的步骤,直至所述第二关联容器中不存在所述第二节点为止。
50.本技术的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中所述的方法。
51.本技术的又一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中所述的方法。
52.本技术的又一实施例提供了一种量子计算机操作系统,所述量子计算机操作系统根据上述任一项中所述方法实现量子程序初始映射的确定。
53.本技术的又一实施例提供了一种量子计算机,所述量子计算机包括所述的量子计算机操作系统。
54.与现有技术相比,本技术首先获取待执行量子程序和可适配运行的量子芯片,构
建待执行量子程序对应的含权线路图,根据含权线路图和量子芯片的保真度,确定待执行量子程序的初始映射,以使待执行量子程序初始映射对应的保真度最高,解决构造待执行量子程序初始映射关系随机性的问题,减少算法执行次数,优化执行性能,并且可以确定待执行量子程序的最优初始映射,使得初始映射的保真度高、量子芯片资源利用最大化。
附图说明
55.图1为本发明实施例提供的一种量子程序初始映射的确定方法的计算机终端的硬件结构框图;
56.图2为本发明实施例提供的一种量子程序初始映射的确定方法的流程示意图;
57.图3为本发明实施例提供的一种含权线路图的示意图;
58.图4为本发明实施例提供的一种量子芯片物理比特的拓扑结构示意图;
59.图5为本发明实施例提供的一种量子程序初始映射确定装置的结构示意图。
具体实施方式
60.下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
61.本发明实施例首先提供了一种量子程序初始映射的确定方法,该方法可以应用于电子设备,如计算机终端,具体如普通电脑、量子计算机等。
62.下面以运行在计算机终端上为例对其进行详细说明。图1为本发明实施例提供的一种量子程序初始映射的确定方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述计算机终端还可以包括用于通信功能的传输装置106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
63.存储器104可用于存储应用软件的软件程序以及模块,如本技术实施例中的实现一种量子程序初始映射的确定方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
64.传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
65.需要说明的是,真正的量子计算机是混合结构的,它包含两大部分:一部分是经典计算机,负责执行经典计算与控制;另一部分是量子设备,负责运行量子程序进而实现量子
计算。而量子程序是由量子语言如qrunes语言编写的一串能够在量子计算机上运行的指令序列,实现了对量子逻辑门操作的支持,并最终实现量子计算。具体的说,量子程序就是一系列按照一定时序操作量子逻辑门的指令序列。
66.在实际应用中,因受限于量子设备硬件的发展,通常需要进行量子计算模拟以验证量子算法、量子应用等等。量子计算模拟即借助普通计算机的资源搭建的虚拟架构(即量子虚拟机)实现特定问题对应的量子程序的模拟运行的过程。通常,需要构建特定问题对应的量子程序。本发明实施例所指量子程序,即是经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。
67.量子线路作为量子程序的一种体现方式,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线),以及各种量子逻辑门,最后常需要通过量子测量操作将结果读取出来。
68.不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上逻辑门而被操作。
69.一个量子程序整体上对应有一条总的量子线路,本发明所述量子程序即指该条总的量子线路,其中,该总的量子线路中的量子比特总数与量子程序的量子比特总数相同。可以理解为:一个量子程序可以由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至千上万个量子逻辑门操作。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
70.需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,量子逻辑门包括单比特量子逻辑门,如hadamard门(h门,哈德玛门)、泡利-x门(x门)、泡利-y门(y门)、泡利-z门(z门)、rx门、ry门、rz门等等;多比特量子逻辑门,如cnot门、cr门、iswap门、toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算的。
71.量子态,即量子比特的逻辑状态,在量子算法(或称量子程序)中用二进制表示,例如,一组量子比特为q0、q1、q2,表示第0位、第1位、第2位量子比特,从高位到低位排序为q2q1q0,该组量子比特对应的量子态是该组量子比特对应的本征态的叠加,该组量子比特对应的本征态共有2的量子比特总数次方个,即8个本征态(确定的状态):|000》、|001》、|010》、|011》、|100》、|101》、|110》、|111》,每个本征态的位与量子比特对应一致,如|000》态,000从高位到低位对应q2q1q0,|》为狄拉克符号。
72.以单个量子比特说明,单个量子比特的逻辑状态可能处于|0》态、|1》态、|0》态和|1》态的叠加态(不确定状态),具体可以表示为其中,c和d为表示量子态振幅(概率幅)的复数,振幅的平方c2和d2分别表示|0》态、|1》态的概率,|c|2+|d|2=1。简言之,量子态是各本征态组成的叠加态,当其它本征态的概率为0时,即处于唯一确定的本征态。
73.参见图2,图2为本发明实施例提供的一种量子程序初始映射的确定方法的流程示意图。
74.本实施例提供一种量子程序初始映射的确定方法的一实施例,所述量子程序初始映射的确定方法包括:
75.s201:获取待执行量子程序和可适配运行的量子芯片。
76.具体的,待执行量子程序主要由几十上百个甚至千上万个量子逻辑门组成。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程,需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
77.可适配运行的量子芯片具体指该量子芯片的拓扑结构中包含的物理量子比特数目大于等于待执行量子程序中的逻辑量子比特数目。需要说明的是,为了便于区分,一般将量子芯片中的量子比特结构称为物理量子比特,量子线路中操作的对象比特称为逻辑量子比特。逻辑量子比特与物理量子比特的映射关系,指逻辑量子比特与物理量子比特之间比特相互“对应”的关系。
78.示例性的,针对一段待执行量子程序cnot(q[0],q[1])《《cnot(q[0],q[2])《《cnot(q[0],q[3])《《cnot(q[1],q[3])《《cnot(q[0],q[1])《《cnot(q[0],q[1])《《cnot(q[1],q[3]),其操作的逻辑比特分别为q[0]、q[1]、q[2],q[3],因此可适配该段量子程序执行的量子芯片的物理量子比特数目至少为4个。需要说明的是,受到量子芯片结构或者生产工艺的限制,执行上述量子程序实际所提供的可适配运行的量子芯片的物理量子比特数目可能需要更多。
[0079]
s202:构建待执行量子程序对应的含权线路图。
[0080]
线路图的应用十分广泛,可以是有向图也可以是无向图,线路图可被用来表示事件间的驱动依赖关系、任务之间的调度等。
[0081]
含权线路图可指线路图中顶点间的边含有某一因素或指标相对于某一事物的重要程度,体现某一因素或指标所占的百分比,或是强调某一因素或指标的相对重要程度。
[0082]
在一种具体实现中,构建待执行量子程序对应的含权线路图,可以包括如下步骤:
[0083]
s2021:获取所述待执行量子程序中的量子逻辑门和所述量子逻辑门操作的量子比特。
[0084]
具体的,待执行量子程序可以理解为一个操作序列,其中主要包含量子逻辑门、量子逻辑门操作的量子比特和测量操作(measure)等。
[0085]
示例性的,针对一段待执行量子程序cnot(q[0],q[1])《《cnot(q[0],q[2])《《cnot(q[0],q[3])《《cnot(q[1],q[3])《《cnot(q[0],q[1])《《cnot(q[0],q[1])《《cnot(q[1],q[3]),其共包含7个量子逻辑门,操作的逻辑量子比特分别为q[0]、q[1]、q[2]、q[3]。
[0086]
s2022:基于所述量子逻辑门和所述量子逻辑门操作的量子比特,构建所述待执行量子程序对应的含权线路图,其中,所述含权线路图包括:顶点、无向边和边的权重,所述顶点用于表示所述量子逻辑门操作的量子比特,所述无向边用于表示所述量子逻辑门,所述边的权重根据操作相同量子比特的量子逻辑门数目确定。
[0087]
示例性的,基于上述待执行量子程序,其操作的逻辑比特分别为q[0]、q[1]、q[2],q[3],因此待执行量子程序对应的含权线路图共有4个顶点;待执行量子程序共有cnot(q[0],q[1])、cnot(q[0],q[2])、cnot(q[0],q[3])、cnot(q[1],q[3])、cnot(q[0],q[1])、
cnot(q[0],q[1])、cnot(q[1],q[3])7个量子逻辑门,其中,操作相同量子比特的量子逻辑门,分别是3个cnot(q[0],q[1]),2个cnot(q[1],q[3]),cnot(q[0],q[2])和cnot(q[0],q[3])各1个。因此,可得到4条无向边及其对应的权重,分别为:q[0]与q[1]之间的无向边,边的权重为3;q[0]与q[2]之间的无向边,边的权重为1;q[0]与q[3]之间的无向边,边的权重为1;q[1]与q[3]之间的无向边,边的权重为2。从而,得到如图3所示的一种含权线路图的示意图。
[0088]
s203:根据所述含权线路图和所述量子芯片的保真度,确定所述待执行量子程序的初始映射,以使所述待执行量子程序初始映射对应的保真度最高。
[0089]
具体的,所述量子芯片的保真度包括所述量子芯片拓扑结构中每两个物理比特间的双量子逻辑门保真度和每个物理比特对应的测量保真度。
[0090]
保真度是表征电子设备输出再现输入信号的相似程度,保真度越高,电子设备输出的声音或输出的影像越逼真。在量子芯片中,保真度越高,噪声越小,运行一段量子程序后获得的测量结果误差越小,则更接近期望的执行结果。
[0091]
示例性的,参见图4,图4为本发明实施例提供的一种量子芯片物理比特的拓扑结构示意图,该量子芯片中包括6个物理比特,分别为q[0]、q[1]、q[2]、q[3]、q[4]、q[5],这6个物理比特可通过电容耦合,且只有相邻的物理比特之间才具有耦合关系。其中,q[0]与q[1]及q[3]连接,q[4]与q[1]、q[3]及q[5]连接,q[2]与q[1]、q[5]连接,q[5]与q[2]及q[4]连接。其中,q[0]、q[1]、q[2]、q[3]、q[4]、q[5]对应的测量保真度分别为0.95、0.94、0.93、0.92、0.91、0.90。
[0092]
量子芯片拓扑结构中每两个物理比特间的双量子逻辑门保真度,具体获取方法为:对于能直接映射双量子逻辑门的物理比特,其保真度为对应的双量子逻辑门保真度,例如,可直接测量q[0]与q[1]间的双量子逻辑门保真度为0.9,q[0]与q[3]间的双量子逻辑门保真度为0.9,q[3]与q[4]间的双量子逻辑门保真度为0.95,q[4]与q[1]间的双量子逻辑门保真度为0.85,q[1]与q[2]间的双量子逻辑门保真度为0.8,q[2]与q[5]间的双量子逻辑门保真度为0.75,q[4]与q[5]间的双量子逻辑门保真度为0.7;对于无法直接映射双量子逻辑门的物理比特,则需要借助swap量子逻辑门,将无法直接映射的物理比特移至相邻位置,再计算对应的双量子逻辑门保真度。
[0093]
示例性的,对于量子芯片拓扑结构中物理比特q[0]、q[1],可直接映射cnot双量子逻辑门,即q[0]与q[1]间的双量子逻辑门保真度为0.9;而若要在物理比特q[0]、q[2]上映射cnot双量子逻辑门,可选的,获取物理比特q[0]、q[2]保真度的路径可以为插入swap(q[0],q[1])和cnot(q[1],q[2]),swap(q[0],q[1])双量子逻辑门保真度为对应cnot(q[0],q[1])双量子逻辑门保真度的三次方,因此swap(q[0],q[1])和cnot(q[1],q[2])对应的双量子逻辑门保真度为0.5832(0.9*0.9*0.9*0.8)。同样的,若要在物理比特q[0]、q[4]上映射cnot双量子逻辑门,获取物理比特q[0]、q[4]保真度的路径可以为插入swap(q[0],q[3])和cnot(q[3],q[4]),因此cnot(q[0],q[4])对应的双量子逻辑门保真度为0.69255(0.9*0.9*0.9*0.95)。
[0094]
按照上述方法,以cnot双量子逻辑门为例,下表1为各量子比特间应用cnot双量子逻辑门保真度统计表。
[0095]
表1:量子比特间应用cnot双量子逻辑门保真度统计表
[0096][0097]
根据所述含权线路图和所述量子芯片的保真度,确定所述待执行量子程序的初始映射,可以包括:
[0098]
步骤1:根据所述含权线路图,构建存储所述含权线路图无向边及边的权重信息的第一关联容器。
[0099]
具体的,根据图3所示,构建存储该含权线路图无向边及边的权重信息的第一关联容器。可选的,第一关联容器可以为标准模板库(standard template library,stl)的一个存储容器,它能够提供一对一的数据处理能力。
[0100]
将含权线路图无向边及边的权重信息存储到第一关联容器中,此时第一关联容器中的存储信息为:(q[0],q[1]):3,(q[1],q[3]):2,(q[0],q[2]):1,(q[0],q[3]):1。
[0101]
步骤2:遍历所述第一关联容器,确定所述待执行量子程序节点的映射优先级,其中,所述映射优先级根据所述权重从大到小依次排列。
[0102]
接上述示例,遍历第一关联容器中的存储信息,确定待执行量子程序节点的映射优先级,其中,节点cnot(q[0],q[1])的权重为3,节点cnot(q[1],q[3])的权重为2,节点cnot(q[0],q[2])的权重为1,节点cnot(q[0],q[3])的权重为1,按照权重大小依次确定待执行量子程序节点的映射顺序。
[0103]
步骤3:根据所述待执行量子程序节点的映射优先级和所述量子芯片的保真度,依次确定所述待执行量子程序节点的映射关系。
[0104]
具体的,确定所述待执行量子程序中的第一节点,其中,所述第一节点在所述第一关联容器中映射优先级最高。
[0105]
接上述示例,优先处理待执行量子程序中映射优先级最高的第一节点cnot(q[0],q[1]),即先将cnot(q[0],q[1])映射到量子芯片中保真度最高的位置。
[0106]
具体的,计算量子芯片的保真度,可以通过如下公式进行:
[0107][0108]
且i,j∈{q0,q1,q2,q3,q4,q5}∧i≠j
[0109]
其中,为双量子逻辑门保真度,和分别为第i个、第j个物理比特对应的测量保真度。
[0110]
需要说明的是,若要将待执行量子程序中的优先级高的节点,首先映射到量子芯片中两个不相邻位置,需要插入额外的swap量子逻辑门,其保真度远低于映射到量子芯片中两个相邻位置,所以只需要获取i,j相邻时的保真度,计算结果如下表2所示。
[0111]
表2:相邻量子比特间保真度统计表
[0112][0113][0114]
基于所述第一节点和所述量子芯片的保真度,确定所述第一节点的第一映射关系。
[0115]
根据上述表2,可知r
i,j
最高的为最高的为则可确定第一节点cnot(q[0],q[1])的第一映射关系q0.‑‑
q[0]和q[1]
‑‑
q[1]。
[0116]
删除所述第一关联容器中的所述第一节点,得到第二关联容器。
[0117]
示例性的,删除第一关联容器中第一节点cnot(q[0],q[1]),得到第二关联容器,此时第二关联容器中的存储信息为:(q[1],q[3]):2,(q[0],q[2]):1,(q[0],q[3]):1。
[0118]
确定当前第二关联容器中是否存在第二节点,其中,所述第二节点在所述第二关联容器中映射优先级最高。
[0119]
若所述第二关联容器中存在所述第二节点,则基于所述第二节点和当前所述量子芯片的保真度,确定所述第二节点的第二映射关系。
[0120]
示例性的,在第二关联容器中,存在所述第二节点,即首先处理待执行量子程序中映射优先级最高的第二节点cnot(q[1],q[3]),即将cnot(q[1],q[3])映射到当前量子芯片中保真度最高的位置。
[0121]
具体的,由于q[1]已经被映射,只需要为q[3]找到当前保真度最高的比特位置进行映射,此时由于量子芯片拓扑结构中q[0]、q[1]已经被映射,所以需要在q[2]、q[3]、q[4]、q[5]中找到保真度最高的物理比特,同时考虑线路整体保真度,即在含权线路图中找到与q[3]相邻的且已被映射的顶点参与计算,由于q[0]、q[1]与q[3]相邻且已经被映射,所以当前量子芯片保真度计算,根据保真度计算公式,得:
[0122][0123]
计算结果如下表3所示。
[0124]
表3:当前量子芯片保真度统计表
[0125]
jrjq20.433901q30.543251q40.535687q50.169275
[0126]
根据上表可知,rj最高的为最高的为因此第二节点的第二映射关系为q[1]
‑‑
q[1]和q[3]
‑‑
q[3]。
[0127]
删除所述第二关联容器中的所述第二节点,更新第二关联容器,返回执行所述确定所述当前第二关联容器中是否存在第二节点的步骤,直至所述第二关联容器中不存在所述第二节点为止。
[0128]
接上述示例,删除第二关联容器中第二节点cnot(q[1],q[3]),更新第二关联容器,由于q[0]、q[3]已经被映射,即可删除第二关联容器中存储的(0:3):1信息,此时第二关联容器中的存储信息更新为:(q[0],q[2]):1。
[0129]
此时,由于在含权线路图中q[0]、q[2]边权重最高,即处理待执行量子程序中的节点cnot(q[0],q[2]),由于q[0]已经被映射,因此只需要在量子芯片拓扑结构中为q[2]找到当前保真度最高的物理量子比特位置进行映射,此时由于q[0]、q[1]、q[3]已经被映射,所以需要在q[2]、q[4]、q[5]找到保真度最高的物理比特,同时考虑线路整体保真度,即在含权线路图中找到与q[2]相邻的且已被映射的顶点参与计算,由于q[0]、q[2]相邻且已经被映射,所以当前量子芯片保真度计算,根据保真度计算公式,得:
[0130][0131]
计算结果如下表4所示。
[0132]
表4:当前量子芯片保真度统计表
[0133]
jrjq20.542376q40.630221q50.393767
[0134]
根据上表可知,rj最高的为最高的为因此当前第二节点的当前第二映射关系为q0.‑‑
q[0]和q[2]
‑‑
q[4]。
[0135]
删除第二关联容器中当前第二节点cnot(q[0],q[2]),更新第二关联容器,即删除存储信息(q[0],q[2]):1,此时,第二关联容器中不存在第二节点。
[0136]
若所述第二关联容器中不存在所述第二节点,则获得所述待执行量子程序所确定的所有节点的映射关系。
[0137]
当第二关联容器中不存在所述第二节点,即第二关联容器中存储的信息为空时,获得待执行量子程序所确定的所有节点的映射关系,分别为q0.‑‑
q[0]和q[1]
‑‑
q[1]、q[1]
‑‑
q[1]和q[3]
‑‑
q[3]、q0.‑‑
q[0]和q[2]
‑‑
q[4]。
[0138]
步骤4:将所述依次确定的待执行量子程序节点的映射关系按照生成顺序排列,得到所述待执行量子程序的初始映射。
[0139]
具体的,将获得的待执行量子程序所确定的所有节点的映射关系q0.‑‑
q[0]和q[1]
‑‑
q[1]、q[1]
‑‑
q[1]和q[3]
‑‑
q[3]、q0.‑‑
q[0]和q[2]
‑‑
q[4],按照生成顺序排列,即得到待执行量子程序的初始映射关系:q0.‑‑
q[0]、q[1]
‑‑
q[1]、q[3]
‑‑
q[3]和q[2]
‑‑
q[4]。
[0140]
需要说明的是,待执行量子程序可包括单比特量子逻辑门、两比特量子逻辑门和多比特量子逻辑门,但在确定待执行量子程序的对应的含权线路图之前,首先需要将多比特量子逻辑门转化成单比特量子逻辑门和两比特量子逻辑门的组合。由于单比特量子逻辑门可直接将逻辑比特映射到物理比特,因此可将转化后得到的单比特量子逻辑门和转化前待执行量子程序中本身存在的单量子逻辑门删除(不影响映射关系),再基于转化后得到的两比特量子逻辑门和转化前待执行量子程序中本身存在的两比特量子逻辑门构建待执行量子程序对应的含权线路图。在这里为了方便说明,仅以包含两比特量子逻辑门的一段待执行量子程序举例。
[0141]
可见,通过获取待执行量子程序和可适配运行的量子芯片,构建待执行量子程序对应的含权线路图,根据含权线路图和量子芯片的保真度,确定待执行量子程序的初始映射,以使待执行量子程序初始映射对应的保真度最高,解决构造待执行量子程序初始映射关系随机性的问题,减少算法执行次数,优化执行性能,并且可以确定待执行量子程序的最优初始映射,使得初始映射的保真度高、量子芯片资源利用最大化。
[0142]
参见图5,图5为本发明实施例提供的一种量子程序初始映射确定装置的结构示意图,与图2所示的流程相对应,该装置可以包括:
[0143]
获取模块501,用于获取待执行量子程序和可适配运行的量子芯片;
[0144]
构建模块502,用于构建待执行量子程序对应的含权线路图;
[0145]
确定模块503,用于根据所述含权线路图和所述量子芯片的保真度,确定所述待执行量子程序的初始映射,以使所述待执行量子程序初始映射对应的保真度最高。
[0146]
具体的,所述构建模块,包括:
[0147]
获取单元,用于获取所述待执行量子程序中的量子逻辑门和所述量子逻辑门操作的量子比特;
[0148]
构建单元,用于基于所述量子逻辑门和所述量子逻辑门操作的量子比特,构建所述待执行量子程序对应的含权线路图,其中,所述含权线路图包括:顶点、无向边和边的权重,所述顶点用于表示所述量子逻辑门操作的量子比特,所述无向边用于表示所述量子逻辑门,所述边的权重根据操作相同量子比特的量子逻辑门数目确定。
[0149]
具体的,所述确定模块,包括:
[0150]
存储单元,用于根据所述含权线路图,构建存储所述含权线路图无向边及边的权重信息的第一关联容器;
[0151]
遍历单元,用于遍历所述第一关联容器,确定所述待执行量子程序节点的映射优先级,其中,所述映射优先级根据所述权重从大到小依次排列;
[0152]
确定单元,用于根据所述待执行量子程序节点的映射优先级和所述量子芯片的保真度,依次确定所述待执行量子程序节点的映射关系;
[0153]
排列单元,用于将所述依次确定的待执行量子程序节点的映射关系按照生成顺序
排列,得到所述待执行量子程序的初始映射。
[0154]
具体的,所述确定单元,包括:
[0155]
第一确定子单元,用于确定所述待执行量子程序中的第一节点,其中,所述第一节点在所述第一关联容器中映射优先级最高;
[0156]
第二确定子单元,用于基于所述第一节点和所述量子芯片的保真度,确定所述第一节点的第一映射关系;
[0157]
第一删除子单元,用于删除所述第一关联容器中的所述第一节点,得到第二关联容器;
[0158]
第三确定子单元,用于确定当前第二关联容器中是否存在第二节点,其中,所述第二节点在所述第二关联容器中映射优先级最高;
[0159]
第一判断子单元,用于若所述第二关联容器中不存在所述第二节点,则获得所述待执行量子程序所确定的所有节点的映射关系。
[0160]
具体的,所述确定单元,还包括:
[0161]
第二判断子单元,用于若所述第二关联容器中存在所述第二节点,则基于所述第二节点和当前所述量子芯片的保真度,确定所述第二节点的第二映射关系;
[0162]
第二删除子单元,用于删除所述第二关联容器中的所述第二节点,更新第二关联容器,返回执行所述确定所述当前第二关联容器中是否存在第二节点的步骤,直至所述第二关联容器中不存在所述第二节点为止。
[0163]
与现有技术相比,本技术首先获取待执行量子程序和可适配运行的量子芯片,构建待执行量子程序对应的含权线路图,根据含权线路图和量子芯片的保真度,确定待执行量子程序的初始映射,以使待执行量子程序初始映射对应的保真度最高,解决构造待执行量子程序初始映射关系随机性的问题,减少算法执行次数,优化执行性能,并且可以确定待执行量子程序的最优初始映射,使得初始映射的保真度高、量子芯片资源利用最大化。
[0164]
本发明实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中方法实施例中的步骤。
[0165]
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
[0166]
s201:获取待执行量子程序和可适配运行的量子芯片;
[0167]
s202:构建待执行量子程序对应的含权线路图;
[0168]
s203:根据所述含权线路图和所述量子芯片的保真度,确定所述待执行量子程序的初始映射,以使所述待执行量子程序初始映射对应的保真度最高。
[0169]
具体的,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
[0170]
与现有技术相比,本技术首先获取待执行量子程序和可适配运行的量子芯片,构建待执行量子程序对应的含权线路图,根据含权线路图和量子芯片的保真度,确定待执行量子程序的初始映射,以使待执行量子程序初始映射对应的保真度最高,解决构造待执行量子程序初始映射关系随机性的问题,减少算法执行次数,优化执行性能,并且可以确定待执行量子程序的最优初始映射,使得初始映射的保真度高、量子芯片资源利用最大化。
[0171]
本发明实施例还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中方法实施例中的步骤。
[0172]
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
[0173]
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
[0174]
s201:获取待执行量子程序和可适配运行的量子芯片;
[0175]
s202:构建待执行量子程序对应的含权线路图;
[0176]
s203:根据所述含权线路图和所述量子芯片的保真度,确定所述待执行量子程序的初始映射,以使所述待执行量子程序初始映射对应的保真度最高。
[0177]
与现有技术相比,本技术首先获取待执行量子程序和可适配运行的量子芯片,构建待执行量子程序对应的含权线路图,根据含权线路图和量子芯片的保真度,确定待执行量子程序的初始映射,以使待执行量子程序初始映射对应的保真度最高,解决构造待执行量子程序初始映射关系随机性的问题,减少算法执行次数,优化执行性能,并且可以确定待执行量子程序的最优初始映射,使得初始映射的保真度高、量子芯片资源利用最大化。
[0178]
本发明实施例还提供了一种量子计算机操作系统,所述量子计算机操作系统根据本发明实施例中提供的上述任一方法实施例实现量子程序初始映射的确定。
[0179]
本技术的实施例还提供了一种量子计算机,所述量子计算机包括所述的量子计算机操作系统。
[0180]
与现有技术相比,本技术首先获取待执行量子程序和可适配运行的量子芯片,构建待执行量子程序对应的含权线路图,根据含权线路图和量子芯片的保真度,确定待执行量子程序的初始映射,以使待执行量子程序初始映射对应的保真度最高,解决构造待执行量子程序初始映射关系随机性的问题,减少算法执行次数,优化执行性能,并且可以确定待执行量子程序的最优初始映射,使得初始映射的保真度高、量子芯片资源利用最大化。
[0181]
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1