量子电路的处理方法、处理装置、电子设备和存储介质与流程

文档序号:29128334发布日期:2022-03-05 00:48阅读:138来源:国知局
量子电路的处理方法、处理装置、电子设备和存储介质与流程

1.本公开实施例涉及量子计算领域,尤其涉及量子电路编译技术领域,具体涉及一种量子电路的处理方法、量子电路的处理装置、电子设备、计算机存储介质以及计算机程序产品。


背景技术:

2.量子设备,比如nisq(noisy intermediate-scale quantum,有噪中等规模量子)设备,受到芯片拓扑逻辑的约束。而作用于两个量子比特(qubit)的量子门操作只能施加于特定的相邻比特对。为了使得量子电路描述的算法能够在量子设备上运行,需要对量子电路进行转换和优化,使得量子电路在满足物理设备限制的同时其基本量子门的数目尽可能少。


技术实现要素:

3.本公开提供了一种量子电路的处理的方法、量子电路的处理装置、电子设备、计算机存储介质以及计算机程序产品。
4.根据第一方面,提供了一种量子电路的处理方法,该方法包括:确定量子电路的程序逻辑图,上述程序逻辑图表征了多个逻辑比特以及上述多个逻辑比特之间的逻辑关系;根据上述量子电路的多个物理比特的测量保真度和上述逻辑关系,将多个逻辑比特中的至少一部分映射到上述多个物理比特中的相应物理比特,得到初始映射关系;以及基于上述初始映射关系和上述量子电路的芯片耦合图,得到上述多个逻辑比特到上述多个物理比特的目标映射关系。
5.根据第二方面,提供了一种量子电路的处理装置,该装置包括:确定模块,用于确定量子电路的程序逻辑图,上述程序逻辑图表征了多个逻辑比特以及上述多个逻辑比特之间的逻辑关系;映射模块,用于根据上述量子电路的多个物理比特的测量保真度和上述逻辑关系,将多个逻辑比特中的至少一部分映射到上述多个物理比特中的相应物理比特,得到初始映射关系;以及获得模块,用于基于上述初始映射关系和上述量子电路的芯片耦合图,得到上述多个逻辑比特到上述多个物理比特的目标映射关系。
6.根据第三方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行根据本公开提供的方法。
7.根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行根据本公开提供的方法。
8.根据第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据本公开提供的方法。
9.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
10.附图用于更好地理解本方案,不构成对本公开的限定。其中:
11.图1是根据本公开的一个实施例量子电路的处理方法的流程图;
12.图2是根据本公开的另一个实施例量子电路的处理方法的流程图;
13.图3是根据本公开的另一个实施例量子电路的处理方法的流程图;
14.图4a是根据本公开的一个实施例的程序逻辑图的示意图;
15.图4b是根据本公开的一个实施例的芯片耦合图的示意图;
16.图4c是根据本公开的一个实施例的量子电路的处理方法的原理图;
17.图4d是根据本公开的一个实施例的目标映射关系的示意图;
18.图5是根据本公开的另一个实施例的量子电路的处理方法的原理图;
19.图6是根据本公开的一个实施例的量子电路的处理装置的框图;以及
20.图7是用来实现本公开实施例的可以应用量子电路的处理方法的电子设备的框图。
具体实施方式
21.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
22.为了便于理解,将不考虑物理限制算法的量子电路描述为逻辑电路。逻辑电路中的量子比特称为逻辑比特,记为qi,i∈{0,1,2,...,n-1},n表示逻辑电路中量子比特的个数。逻辑比特可以是量子程序中的程序量子比特。将经转换得到的满足物理限制的量子电路称为物理电路,其中的量子比特称为物理比特,记为qi,i∈{0,1,2,...,m-1},m表示物理比特的个数(m≥n)。物理比特可以是nisq的硬件量子比特。
23.nisq设备具有严重的资源限制、低可靠性以及物理特性(例如qubit相干时间、操作错误率等)的高可变性。以有效利用资源且最大化成功运行的可能性为目标,将逻辑电路映射到量子设备上可运行的物理电路,是非常重要的工作。
24.量子比特映射是将逻辑比特映射到物理比特。例如,高质量地映射逻辑比特到nisq的物理比特,需要将尽可能减少整个电路映射的更新频率(即量子比特的交换次数)。
25.高质量的量子比特映射的要求包括:插入的swap门的个数越少越好,以尽可能地减少量子比特的移动;额外插入的swap操作(为了移动量子比特的位置)和对量子程序中的操作(单量子比特门和cnot门)是高效排列的,使得输出的物理电路在给定的量子计算机上可执行。以上两个关键性步骤只是在理论上论证量子比特映射的可行性,并没有考虑nisq设备的低可靠性和物理特性(量子比特的相干时间和操作的错误率)的高可变性。事实上,量子比特的相干时间和cnot门、测量的错误率会极大程度上造成程序运行的失败。需要说明的是,量子比特的相干时间越长越好,门的读出错误率越低越好。
26.根据本公开实施例,通过综合考虑程序逻辑信息、硬件拓扑约束和操作错误信息,以高质量映射量子比特优先为原则,将使用更多cnot的逻辑量子比特映射到cnot的测量错误率较低的物理比特,能够提高程序运行可靠性和成功率,由此能够提高nisq系统量子程
序的资源利用率,并提高量子程序在量子设备上的可运行性。
27.为了更好地理解本公开实施例的技术方案,下面对本公开实施例的技术方案涉及的技术术语进行解释。
28.cnot门(control-not门):一种双量子操作逻辑门,又名受控非门。只有在第一个量子比特为|1》的情况下,第二个量子比特会进行not操作,否则就第二个量子比特保持不变。通常用cnot门对两个量子进行纠缠处理。此外,cnot门还可以用于控制受控量子对象的逻辑状态。
29.swap门(互换门):一种双量子操作逻辑门。互换门让输入的两个量子比特交换量子位,逻辑构成可以是三个逻辑非门;如果定义a的量子位为0,b的量子位为1,则swap(a,b)后,观测结果为a的量子位为1,b的量子位为0。
30.x门(pauli-x gate):泡利x门,一种单量子操作逻辑门,操作一个量子比特,相当于经典的逻辑非门。例如,操作前量子比特为|1》,则进入x门后变为|0》,反之,由|0》变为|1》。
31.h门(hadamard gate):阿达马门,一种单量子操作逻辑门,操作一个量子比特;在量子计算中,该逻辑门对于|0》或|1》进行操作,然后成为叠加态(一个量子能够在同一时刻处于两种不同属性的状态,例如,0和1)。
32.程序逻辑图g
l
=(v
l
,e
l
):将逻辑电路中的量子比特作为g
l
=(v
l
,e
l
)的点,v
l
是这些点的集合。e
l
是边的集合。两个量子比特之间有边相连,代表在逻辑电路中,这两个量子比特之间作用了cnot门。
33.程序逻辑图g
l
=(v
l
,e
l
)中v
l
的度:程序图g
l
=(v
l
,e
l
)中与点qi有边相连的量子比特为:则点qi的度为s。
34.程序逻辑图g
l
=(v
l
,e
l
)中v的权度数:逻辑比特的权度数,指作用在该逻辑比特上所有门的个数。
35.芯片耦合图gc=(vc,ec):一个无向图,表示真实量子计算机采用的芯片架构耦合图。其中,vc是物理比特qi,i∈{0,1,2,...,m-1}的集合,ec是芯片耦合图gc=(vc,ec)中边ei的集合,用物理比特对表示,即e={qi,qj},表示物理比特对{qi,qj
}
上可作用cnot门。
36.cnot错误率∈:从量子计算机器芯片的cnot门测量保真度(通过专用程序测量得到,随时间和温度等指标变化)得到的一个参数。例如,q1,q2间的cnot门的保真度为:96.80%,则此cnot门的错误率∈=1-0.968=0.032。
37.gc=(vc,ec)的边e的权重ωe:
[0038][0039]
ec是gc=(vc,ec)的边的集合。∈e,表示{qi,qj}上cnot门的错误率。当∈e→
0时,ωe→
0。由上述极限分析可知:cnot门的错误率∈e越小,在芯片耦合图gc=(vc,ec)中边e的权重应越小,反映到边的长度上越短。相反,cnot门的错误率∈e越大,在芯片耦合图gc=(vc,ec)中边e的权重应越大,反映到边的长度上应越长。
[0040]
芯片耦合权重图g
ω
=(v
ω
,e
ω
):对芯片耦合图gc=(vc,ec)进行更新,边的长度增加权重ωe,得到芯片耦合权重图g
ω
=(v
ω
,e
ω
)。
[0041]
测量错误率∈m:qi的测量错误率定义为:
[0042][0043]
j=0,1是|0》,|1》的测量保真度。与cnot门错误率类似,|0》,|1》的测量错误率来自量子计算机芯片提供的测量保真度。例如q1的测量保真度为(97.7%,94.0%),则q1测量结果为|0》的测量错误率为:测量结果为|1》的测量错误率为
[0044]
q1的测量错误率为:
[0045][0046]
图1是根据本公开的一个实施例的量子电路的处理方法的流程图。
[0047]
如图1所示,该方法100可以包括操作s110至操作s130。
[0048]
在操作s110,确定量子电路的程序逻辑图。
[0049]
在本公开实施例中,程序逻辑图表征了多个逻辑比特以及多个逻辑比特之间的逻辑关系。
[0050]
在本公开实施例中,逻辑关系包括多个逻辑比特之间的连接关系以及每个逻辑比特的权度数。
[0051]
例如,权度数表征了与每个逻辑比特相关的逻辑门的数目。在一个示例中,该逻辑门可以是上文所述的cnot门、x门或h门。在一个示例中,一个逻辑比特q3与3个cnot门、1个x门和2个h门相关,该逻辑比特的权度数为6。在另一个示例中,一个逻辑比特q1与1个cnot门和2个h门相关,该逻辑比特的权度数为3。
[0052]
在操作s120,根据量子电路的多个物理比特的测量保真度和逻辑关系,将多个逻辑比特中的至少一部分映射到多个物理比特中的相应物理比特,得到初始映射关系。
[0053]
在本公开实施例中,可以将多个逻辑比特中权度数最高的第一逻辑比特映射到多个物理比特中测量保真度最高的第一物理比特。
[0054]
例如,在逻辑比特q3的权度数最高,物理比特q1的测量保真度最高的情况下,可以将逻辑比特q3作为第一逻辑比特,将物理比特q1作为第一物理比特。将逻辑比特q3映射到物理比特q1,由此,可以得到映射q3→
q1。
[0055]
在本公开实施例中,可以确定程序逻辑图中,与第一逻辑比特相连的i个逻辑比特。
[0056]
例如,程序逻辑图中可以有j个逻辑比特与第一逻辑比特相连。j为整数,j大于或等于i。可以从与第一逻辑比特相连的j个逻辑比特中确定出i个逻辑比特。
[0057]
例如,i为大于或等于1的整数。
[0058]
例如,程序逻辑图中,与上述第一逻辑比特q3相连的逻辑比特为3个,分别为逻辑比特q0、逻辑比特q1和逻辑比特q2。
[0059]
在本公开实施例中,确定i个逻辑比特各自与第一逻辑比特之间的受控非门的数目。
[0060]
例如,逻辑比特q0与第一逻辑比特q3之间的cnot门的数目为1,逻辑比特q1与第一逻辑比特q3之间的cnot门的数目为1,逻辑比特q2与第一逻辑比特q3之间的cnot门的数目为1。
[0061]
在本公开实施例中,根据芯片耦合图中与第一物理比特耦合的i个物理比特各自的测量保真度,按照受控非门的数目从高至低的顺序,依次将i个逻辑比特映射到i个物理比特。
[0062]
例如,依次将1个逻辑比特映射到i个物理比特,以得到初始映射关系。
[0063]
例如,与第一物理比特耦合的物理比特的数目为k个,k大于或等于i,k为整数。可以从与第一物理比特相连的k个物理比特中确定出i个物理比特。
[0064]
例如,将与第一逻辑比特相连的逻辑比特的数目和与第一物理比特耦合的物理比特的数目中的较小值,作为i的取值。例如,与第一逻辑比特相连的逻辑比特的数目为3,与第一物理比特耦合的物理比特的数目为2,则i的取值可以为2。
[0065]
例如,i个物理比特可以是k个物理比特中测量保真度较大的前i个物理比特。
[0066]
例如,以i=2为示例,与第一物理比特q1耦合的2个物理比特分别为:物理比特q0和物理比特q2,且物理比特q2的测量保真度大于物理比特q0的测量保真度。在一个示例中,由于作用于逻辑比特q0至逻辑比特q2的cnot门的数目相等,可以按照序号依次进行映射,将逻辑比特q0映射到与第一物理比特耦合且测量保真度较大的物理比特q2,将逻辑比特q1映射到与第一物理比特q1耦合的物理比特q0。可以得到以下映射关系:q0→
q2,q1→
q0,q3→
q1。接下来,可以将逻辑比特q2随机映射到芯片耦合图中其他的物理比特,比如将逻辑比特q2映射到物理比特q4。由此,可以得到以下映射关系:q0→
q2,q1→
q0,q2→
q4,q3→
q1,可以将该映射关系作为初始映射关系。
[0067]
在操作s130,基于初始映射关系和量子电路的芯片耦合图,得到多个逻辑比特到多个物理比特的目标映射关系。
[0068]
例如,基于上文所述的示例映射关系q0→
q2,q1→
q0,q2→
q4,q3→
q1和芯片耦合图,在量子电路中插入swap门,对初始映射关系进行更新,使得更新后的映射关系可以被量子电路执行。在一个示例中,更新后的映射关系为:q0→
q3,q1→
q0,q2→
q1,q3→
q2。可以将该更新后的映射关系作为目标映射关系。本领域技术人员可以理解,可以采用任意方式插入swap门,只要使得更新后的映射关系可以被量子电路执行即可。
[0069]
通过本公开实施例,综合考虑了程序逻辑信息、硬件拓扑约束和操作错误信息,以高质量映射量子比特优先为原则,将使用更多cnot的逻辑量子比特映射到cnot的测量保真度高的物理比特,能够提高程序运行可靠性和成功率,由此能够提高nisq系统量子程序的资源利用率,并提高量子程序在量子设备上的可运行性。
[0070]
在一些实施例中,与上述示例中作用于逻辑比特q0至逻辑比特q2的cnot门的数目相等的情况不同,作用于逻辑比特q0、逻辑比特q1和逻辑比特q2的cnot门的数目依次减小。在该示例中,可以将逻辑比特q0映射到与第一物理比特耦合且测量保真度较大的物理比特q2,以及将逻辑比特q1映射到与第一物理比特耦合的物理比特q0。此外,可以将逻辑比特q2随机映射到芯片耦合图中其他的物理比特,比如将逻辑比特q2映射到物理比特q8。因此,在该示例中,可以得到以下映射关系:q0→
q2,q1→
q0,q2→
q8,q3→
q1,可以将该映射关系作为初始映射关系。
[0071]
图2是根据本公开另一个实施例的量子电路的处理方法的流程图。
[0072]
如图2所示,该方法220可以根据量子电路的多个物理比特的测量保真度和逻辑关系,将多个逻辑比特中的至少一部分映射到多个物理比特中的相应物理比特,下面将参考操作s221至操作s222进行详细说明。例如,该方法220可以在依次将i个逻辑比特映射到i个物理比特之后执行。在一个示例中,方法220与方法100的不同之处在于,在获得以下映射关系:q0→
q2,q1→
q0,q3→
q1之后,针对逻辑比特q2,执行方法220。
[0073]
在操作s221,确定程序逻辑图中未映射到相应物理比特的多个未映射逻辑比特中权度数最高的第二逻辑比特。
[0074]
例如,如上文所述,已经得到映射关系q0→
q2,q1→
q0,q3→
q1,但程序逻辑图中逻辑比特q2未映射到物理比特。可以将逻辑比特q2作为第二逻辑比特。在另一个示例中,程序逻辑图中还包括逻辑比特q4,且逻辑比特q2的权度数大于逻辑比特q4的权度数,因此可以将逻辑比特q2作为第二逻辑比特。
[0075]
在操作s222,将第二逻辑比特映射到多个物理比特中的剩余物理比特中测量保真度最高的第二物理比特。
[0076]
例如,芯片耦合图中还包括物理比特q3至物理比特q9。物理比特q6的测量保真度最高。因此,可以将物理比特q6作为第二物理比特。进而,可以将逻辑比特q2映射到物理比特q6。由此,结合已得到的映射关系q0→
q2,q1→
q0,q3→
q1,可以得到以下映射关系:q0→
q2,q1→
q0,q2→
q6,q3→
q1。
[0077]
在实际应用中,逻辑比特的数据和物理比特的数量较多。若全部按照上文所述的方法进行映射,会消耗掉大量计算资源,也会导致时间成本较高。
[0078]
在一些实施例中,根据量子电路的多个物理比特的测量保真度和逻辑关系,将多个逻辑比特中的至少一部分映射到多个物理比特中的相应物理比特包括:在确定程序逻辑图中预定比例的逻辑比特已映射到相应物理比特的情况下,将程序逻辑图中的剩余逻辑比特随机映射到多个物理比特中的剩余物理比特。
[0079]
在本公开实施例中,程序逻辑图中逻辑比特的数量为n,n为偶数,则预定比例的逻辑比特的数目为n/2。
[0080]
在本公开实施例中,程序逻辑图中逻辑比特的数量为n,n为奇数,n为大于等于3的整数,则预定比例的逻辑比特的数目为(n-1)/2。
[0081]
例如,以n=4为示例,与上文所述的实施例不同之处在于,在按照如上文所述的方法将逻辑比特q3映射到物理比特q1之后,按照cnot门的数目从高到底的顺序,在将逻辑比特q0和逻辑比特q1,依次映射到物理比特q0和物理比特q2的过程中,可以先将逻辑比特q0映射到物理比特q2。在确定2个逻辑比特(逻辑比特q0和逻辑比特q3)已映射到相应物理比特的情况下,可将逻辑比特q1至逻辑比特q2随机映射到剩余的物理比特。由此,可以得到映射关系:q0→
q2,q1→
q7,q2→
q5,q3→
q1。可以节约计算资源,也可以降低时间成本。
[0082]
图3是根据本公开的另一个实施例的量子电路的处理方法的流程图。
[0083]
如图3所示,该方法330可以基于初始映射关系和量子电路的芯片耦合图,得到多个逻辑比特到多个物理比特的目标映射关系,下面将参考操作s331至操作s333进行详细说明。
[0084]
在操作s331,基于初始映射关系和芯片耦合图,确定量子电路中不可执行的目标
量子门。
[0085]
例如,目标量子门可以包括需要作用在芯片耦合图中特定的物理比特上的量子门。例如需要作用在相邻的两个物理比特上的量子门,比如cnot门。作用于目标量子门一对比特,可以称为比特对。两个物理比特可以称为物理比特对。在量子电路中,若目标量子门没有作用于在特定的物理比特上,则目标量子门不可执行。例如,如果cnot门作用于逻辑比特q3、q2,但q3、q2对应的物理比特在芯片耦合图中不相邻,则该cnot门不可执行。
[0086]
例如,本实施例中,初始映射关系可以是上述初始映射关系:q0→
q2,q1→
q0,q2→
q6,q3→
q1。
[0087]
在一个示例中,量子电路中包含第一cnot门和第二cnot门,其中,第一cnot门作用在逻辑比特对(q3,q0),第二cnot门作用在逻辑比特对(q3,q2)上。基于初始映射关系,逻辑比特q3、q0、q2分别映射到物理比特q1、q2、q6,则两个物理比特对分别为第一物理比特对为(q1,q2),第二物理比特对为(q1,q6)。若芯片耦合图中q1至q6按照编号依次连接,则可基于芯片耦合图确定不相邻的物理比特对(q1,q6),与之对应的逻辑比特对为(q3,q2)。进而,作用于(q3,q2)的第二cnot门为不可执行的量子门。
[0088]
在操作s332,基于不可执行的目标量子门,在量子电路中插入互换门。
[0089]
例如,swap门可以用于交换两个量子比特。通过在量子电路中插入互换门,并相应地更新逻辑比特和物理比特之间的映射关系,可以使目标量子门作用的逻辑比特对所对应的两个物理比特互相靠近,同时保证量子电路转换后的等效性,有利于转换得到能够在物理设备上实现的量子电路。
[0090]
在操作s333,基于互换门对初始映射关系进行更新,得到目标映射关系。
[0091]
例如,基于swap门对初始映射关系进行更新后,量子电路中不存在不可执行的目标量子门,可以将更新后的映射关系作为目标映射关系。
[0092]
本领域技术人员可以理解,可以利用任意方式插入swap门,以使目标量子门作用的逻辑比特对所对应的两个物理比特互相靠近,进而对初始映射关系进行更新。
[0093]
通过本公开实施例,进一步考虑了量子电路的硬件拓扑约束和操作错误信息,可以增加量子电路的可用性。
[0094]
图4a是根据本公开的一个实施例的程序逻辑图的示意图,图4b是根据本公开的一个实施例的芯片耦合图的示意图,图4c是根据本公开的一个实施例的量子电路的处理方法的原理图。接下来,参考图4a、图4b和图4c来描述根据本公开实施例的逻辑比特至物理比特的示例映射方法。
[0095]
为了便于理解,如图4a所示的示例中,该程序逻辑图中包括4个逻辑比特,分别为逻辑比特q0、逻辑比特q1、逻辑比特q2和逻辑比特q3。与逻辑比特q0有边相连的逻辑比特是:逻辑比特q3,因此逻辑比特q0的度为1。与逻辑比特q3有边相连的量子比特分别是:逻辑比特q0、逻辑比特q1、逻辑比特q2,因此逻辑比特q3的度为3。
[0096]
如图4a所示,逻辑比特q3上分别作用了{x,h,cx(q0,q3),cx(q1,q3),cx(q2,q3),h},6个门,因此逻辑比特q3的权度数为6。而逻辑比特q0、逻辑比特q1、逻辑比特q2上分别作用了3个门,因此这3个逻辑比特的权度数均为3。
[0097]
在本示例中,由于逻辑比特q3的权度数最高,可以作为第一逻辑比特。
[0098]
在程序逻辑图中,与逻辑比特q3相连的逻辑比特为3个,分别为逻辑比特q0、逻辑比
特q1和逻辑比特q2。这3个逻辑比特与逻辑比特q3之间的cnot门的数目均为1。
[0099]
如图4b所示的示例中,芯片耦合图中包括10个物理比特。物理比特q1的测量保真度为96.8%,是10个物理比特中测量保真度最高的物理比特,可以作为第一物理比特。因此,根据本公开实施例,将图4a中权度数最高的第一逻辑比特q3映射到第一物理比特q1。
[0100]
在图4b所示的芯片耦合图示例中,与物理比特q1耦合的物理比特为q0和物理比特q2。物理比特q2的测量保真度大于物理比特q0的测量保真度。物理比特q2的测量保真度为94.5%。
[0101]
如图4c所示,本示例在将多个逻辑比特中的至少一部分映射到多个物理比特中的相应物理比特的过程中,可以在确定程序逻辑图中预定比例的逻辑比特已映射到相应物理比特的情况下,将程序逻辑图中的剩余逻辑比特随机映射到多个物理比特中的剩余物理比特,以下将结合图4c进行详细说明。
[0102]
在本示例中,共有4个逻辑比特,预定比例可以为50%。可以将第一逻辑比特q3映射到第一物理比特q1。与逻辑比特q3相连的逻辑比特的数目为3,与物理比特q1耦合的物理比特的数目为2。在本实施例中,上文所述的i的取值可以为2。
[0103]
逻辑比特q0、逻辑比特q1和逻辑比特q2与逻辑比特q3之间的cnot门的数目均为1。根据与第一物理比特耦合的2个物理比特各自的测量保真度,可以按照编号的顺序,依次将逻辑比特映射到与第一物理比特耦合的2个物理比特上。比如,可以先将逻辑比特q0映射到物理比特q2。
[0104]
此时,可以确定例如图4a所示的程序逻辑图中预定比例(50%)的逻辑比特已映射到相应物理比特。在这种情况下,可以将剩余逻辑比特(逻辑比特q1和逻辑比特q2)随机映射到剩余物理比特(物理比特q1和物理比特q2之外的物理比特),以得到初始映射关系。比如,可以将逻辑比特q1映射到物理比特q7,将逻辑比特q2映射到物理比特q5。由此得到初始映射关系:q0→
q2,q1→
q7,q2→
q5,q3→
q1。
[0105]
图4d是根据本公开的一个实施例的目标映射关系的示意图。
[0106]
如图4d所示,在获得初始映射关系之后,可以基于初始映射关系和芯片耦合图,利用例如swap启发式搜索算法,得到目标映射关系:q0→
q3,q1→
q0,q2→
q1,q3→
q2。在本实施例中,初始映射关系可以是例如图4c所示的初始映射关系。图4d中的虚线框401中相连的两个
“×”
表示swap操作。
[0107]
图5是根据本公开另一个实施例的量子电路的处理方法的原理图。
[0108]
本实施例中采用的程序逻辑图可以是例如图4a所示的程序逻辑图,采用的芯片耦合图可以是例如图4b所示的芯片耦合图。
[0109]
如图5所示,与图4c所示的原理图不同之处在于,本实施例在将多个逻辑比特中的至少一部分映射到多个物理比特中的相应物理比特的过程中,可以根据多个逻辑比特和第一逻辑比特之间cnot门的数目、未映射逻辑比特的权度数,建立逻辑比特与物理比特之间的映射关系,以下将结合图5进行详细说明。
[0110]
如图5所示,可以将第一逻辑比特q3映射到第一物理比特q1。与逻辑比特q3相连的逻辑比特的数目为3,与物理比特q1耦合的物理比特的数目为2。在本实施例中,上文所述的i的取值可以为2。
[0111]
逻辑比特q0、逻辑比特q1和逻辑比特q2与逻辑比特q3的cnot门的数目均为1。根据
与第一物理比特耦合的2个物理比特各自的测量保真度,可以按照编号的顺序依次将逻辑比特映射到与第一物理比特耦合的2个物理比特上。比如,可以将逻辑比特q0映射到物理比特q2,再将逻辑比特q1映射到物理比特q0。
[0112]
此时,程序逻辑图中未映射到相应物理比特的未映射逻辑比特为逻辑比特q2,可以将该逻辑比特q2作为第二逻辑比特。芯片耦合图中有7个物理比特未与逻辑比特建立映射关系。这7个物理比特可以作为上文所述的剩余物理比特。剩余物理比特中测量保真度最高的物理比特为物理比特q6,可以作为第二物理比特。
[0113]
接下来,可以将逻辑比特q2映射到物理比特q6,由此,可以得到初始映射关系q0→
q2,q1→
q0,q2→
q6,q3→
q1。
[0114]
图6是根据本公开的一个实施例的量子电路的处理装置的框图。
[0115]
如图6所示,该装置600可以包括确定模块610、映射模块620和获得模块630。
[0116]
确定模块610,用于确定量子电路的程序逻辑图,所述程序逻辑图表征了多个逻辑比特以及所述多个逻辑比特之间的逻辑关系。
[0117]
映射模块620,用于根据所述量子电路的多个物理比特的测量保真度和所述逻辑关系,将多个逻辑比特中的至少一部分映射到所述多个物理比特中的相应物理比特,得到初始映射关系。
[0118]
获得模块630,用于基于所述初始映射关系和所述量子电路的芯片耦合图,得到所述多个逻辑比特到所述多个物理比特的目标映射关系。
[0119]
在一些实施例中,所述逻辑关系包括所述多个逻辑比特之间的连接关系以及每个逻辑比特的权度数,所述权度数表征了与每个逻辑比特相关的逻辑门的数目。
[0120]
在一些实施例中,所述映射模块包括:第一映射单元,用于将多个逻辑比特中权度数最高的第一逻辑比特映射到多个物理比特中测量保真度最高的第一物理比特。
[0121]
在一些实施例中,所述映射模块包括:第一确定单元,用于确定所述程序逻辑图中,与第一逻辑比特相连的i个逻辑比特,i为大于等于1的整数;第二确定单元,用于确定i个逻辑比特各自与第一逻辑比特之间的受控非门的数目;以及第二映射单元,用于根据芯片耦合图中与第一物理比特耦合的i个物理比特各自的测量保真度,按照cnot所述受控非门的数目从高至低的顺序,依次将所述i个逻辑比特映射到所述i个物理比特。
[0122]
在一些实施例中,所述映射模块还包括:第三确定单元,用于确定所述程序逻辑图中未映射到相应物理比特的多个未映射逻辑比特中权度数最高的第二逻辑比特;以及第三映射单元,用于将所述第二逻辑比特映射到多个物理比特中的剩余物理比特中测量保真度最高的第二物理比特。
[0123]
在一些实施例中,所述映射模块包括:第四映射单元,用于在确定所述程序逻辑图中预定比例的逻辑比特已映射到相应物理比特的情况下,将所述程序逻辑图中的剩余逻辑比特随机映射到所述多个物理比特中的剩余物理比特。
[0124]
在一些实施例中,所述获得模块包括:第四确定单元,用于基于所述初始映射关系和所述芯片耦合图,确定所述量子电路中不可执行的目标量子门;插入单元,用于基于所述不可执行的目标量子门,在所述量子电路中插入互换门;以及更新单元,用于基于所述互换门对所述初始映射关系进行更新,得到所述目标映射关系。
[0125]
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提
供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
[0126]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0127]
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0128]
如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(rom)702中的计算机程序或者从存储单元708加载到随机访问存储器(ram)703中的计算机程序,来执行各种适当的动作和处理。在ram 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、rom 702以及ram 703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。
[0129]
设备700中的多个部件连接至i/o接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0130]
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如量子电路的处理方法。例如,在一些实施例中,量子电路的处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到ram 703并由计算单元701执行时,可以执行上文描述的量子电路的处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行量子电路的处理方法。
[0131]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0132]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的
功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0133]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0134]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0135]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0136]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
[0137]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0138]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1