CN117852659A - 量子线路生成方法、装置、存储介质及电子装置 - Google Patents
量子线路生成方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN117852659A CN117852659A CN202211220055.4A CN202211220055A CN117852659A CN 117852659 A CN117852659 A CN 117852659A CN 202211220055 A CN202211220055 A CN 202211220055A CN 117852659 A CN117852659 A CN 117852659A
- Authority
- CN
- China
- Prior art keywords
- quantum
- target
- logic gate
- initial
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 239000002096 quantum dot Substances 0.000 claims abstract description 165
- 238000004590 computer program Methods 0.000 claims description 14
- 230000009471 action Effects 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 abstract description 20
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000005259 measurement Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 101100125299 Agrobacterium rhizogenes aux2 gene Proteins 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000005610 quantum mechanics Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
- G06N10/20—Models of quantum computing, e.g. quantum circuits or universal quantum computers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
- G06N10/40—Physical realisations or architectures of quantum processors or components for manipulating qubits, e.g. qubit coupling or qubit control
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开了一种量子线路生成方法、装置、存储介质与电子装置,方法包括:获得为执行初始量子程序所需的目标临时变量;根据所述目标临时变量,确定目标量子比特,其中,所述目标量子比特的初态为|0>态;基于所述初始量子程序,确定使所述目标量子比特末态为|0>态的目标量子逻辑门;基于所述初始量子程序和所述目标量子逻辑门,生成目标量子线路。利用本发明实施例,通过在量子线路中增加使得临时变量对应的量子比特末态为|0>态的量子逻辑门,能够消除临时变量加入对计算结果的影响,进而减少计算结果出现错误的可能性。
Description
技术领域
本发明属于量子计算技术领域,特别是一种量子线路生成方法、装置、存储介质及电子装置。
背景技术
量子计算是一种遵循量子力学规律调控量子信息单元进行计算的新型计算模式,其中,量子计算基于的最基本的一个原理为量子力学态叠加原理,量子力学态叠加原理使得量子信息单元的状态可以处于多种可能性的叠加状态,从而使得量子信息处理从效率上相比于经典信息处理具有更大潜力。量子计算因其强大的计算能力,正在越来越多的领域应用,例如,利用量子计算对金融市场进行评估,基于评估结果进行金融操作。
在量子计算过程中,为了节省量子比特资源,一般会在量子程序中引入临时变量,在计算过程中为临时变量申请量子比特,从而量子线路中会加入所申请的比特。在经典领域,临时变量的加入不会对计算结果产生影响,而在量子领域,为了临时变量能够在线路中与其他量子比特进行运算,需要为临时变量分配一个量子比特,但是因为量子计算结果是通过对量子线路的末态测量得到的,临时变量的引入会对末态产生影响,从而对测量结果产生影响,可能会出现错误的计算结果,但目前还没有一种较好的方法,能够在量子线路中取消临时变量的计算,减少计算结果出现错误的可能性。
发明内容
本发明的目的是提供一种量子线路生成方法、装置、存储介质及电子装置,它通过在量子线路中增加使得临时变量对应的量子比特末态为|0>态的量子逻辑门,能够消除临时变量加入对计算结果的影响,进而减少计算结果出现错误的可能性。
本申请的一个实施例提供了一种量子线路生成方法,方法包括:
获得为执行初始量子程序所需的目标临时变量;
根据所述目标临时变量,确定目标量子比特,其中,所述目标量子比特的初态为|0>态;
基于所述初始量子程序,确定使所述目标量子比特末态为|0>态的目标量子逻辑门;
基于所述初始量子程序和所述目标量子逻辑门,生成目标量子线路。
可选的,所述根据所述目标临时变量,确定目标量子比特,包括:
从预先设置的量子比特中,为所述目标临时变量分配一个空闲量子比特,作为目标量子比特。
可选的,所述基于所述初始量子程序,确定使所述目标量子比特末态为|0>态的目标量子逻辑门,包括:
根据所述初始量子程序,确定作用在所述目标量子比特上的量子逻辑门;
基于所确定的量子逻辑门,确定使所述目标量子比特末态为|0>态的目标量子逻辑门。
可选的,所述根据所述初始量子程序,确定作用在所述目标量子比特上的量子逻辑门,包括:
获得包含所述目标量子比特的拓扑图,其中,所述拓扑图是利用所述初始量子程序生成的,初始节点表征量子比特,其他节点表征量子逻辑门,边表征节点之间的关联关系;
基于所述拓扑图,确定作用在所述目标量子比特上的量子逻辑门。
可选的,所述基于所述初始量子程序和所述目标量子逻辑门,生成目标量子线路,包括:
在当前拓扑图中,确定所述目标量子逻辑门的添加位置并添加对应的节点;
根据当前拓扑图中的关联关系,确定与新添加的节点具有关联关系的节点;
建立所确定的节点与新添加的节点之间的边,以确定新的拓扑图;
基于所述新的拓扑图,生成目标量子线路。
可选的,所述基于所述新的拓扑图,生成目标量子线路,包括:
根据所述新的拓扑图,确定作用在每一量子比特上的量子逻辑门、执行时序、以及作用关系;
基于所述执行时序和所述作用关系,将所确定的量子逻辑门依次作用在对应的量子比特上,生成目标量子线路。
可选的,所述方法还包括:
当所述目标临时变量生命周期结束,释放所述目标量子比特,以使所述目标量子比特可重新分配。
本申请的又一实施例提供了一种量子线路生成装置,装置包括:
获得模块,用于获得为执行初始量子程序所需的目标临时变量;
第一确定模块,用于根据所述目标临时变量,确定目标量子比特,其中,所述目标量子比特的初态为|0>态;
第二确定模块,用于基于所述初始量子程序,确定使所述目标量子比特末态为|0>态的目标量子逻辑门;
生成模块,用于基于所述初始量子程序和所述目标量子逻辑门,生成目标量子线路。
可选的,所述第一确定模块,具体用于:
从预先设置的量子比特中,为所述目标临时变量分配一个空闲量子比特,作为目标量子比特。
可选的,所述第二确定模块,包括:
第一确定单元,用于根据所述初始量子程序,确定作用在所述目标量子比特上的量子逻辑门;
第二确定单元,用于基于所确定的量子逻辑门,确定使所述目标量子比特末态为|0>态的目标量子逻辑门。
可选的,所述第一确定单元,具体用于:
获得包含所述目标量子比特的拓扑图,其中,所述拓扑图是利用所述初始量子程序生成的,初始节点表征量子比特,其他节点表征量子逻辑门,边表征节点之间的关联关系;
基于所述拓扑图,确定作用在所述目标量子比特上的量子逻辑门。
可选的,所述生成模块,具体用于:
在当前拓扑图中,确定所述目标量子逻辑门的添加位置并添加对应的节点;
根据当前拓扑图中的关联关系,确定与新添加的节点具有关联关系的节点;
建立所确定的节点与新添加的节点之间的边,以确定新的拓扑图;
基于所述新的拓扑图,生成目标量子线路。
可选的,所述生成模块,还具体用于:
根据所述新的拓扑图,确定作用在每一量子比特上的量子逻辑门、执行时序、以及作用关系;
基于所述执行时序和所述作用关系,将所确定的量子逻辑门依次作用在对应的量子比特上,生成目标量子线路。
可选的,所述装置还包括:
释放模块,用于当所述目标临时变量生命周期结束,释放所述目标量子比特,以使所述目标量子比特可重新分配。
本申请的一个实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时实现上述任一项所述的方法。
本申请的一个实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以实现上述任一项所述的方法。
与现有技术相比,本发明提供的量子线路生成方法,先获得为执行初始量子程序所需的目标临时变量;根据所述目标临时变量,确定目标量子比特;然后基于所述初始量子程序,确定使所述目标量子比特末态为|0>态的目标量子逻辑门;最后基于所述初始量子程序和所述目标量子逻辑门,生成目标量子线路。通过初始量子程序,确定使得临时变量对应的量子比特末态为|0>态的量子逻辑门,并加入到对应的位置,从而获得最终量子线路,消除了临时变量加入对计算结果的影响,进而减少计算结果出现错误的可能性。
附图说明
图1为本发明实施例提供的一种量子线路生成方法的计算机终端的硬件结构框图;
图2为本发明实施例提供的一种量子线路生成方法的流程示意图;
图3为本发明实施例提供的一种基于初始量子程序生成的拓扑图的示意图;
图4为本发明实施例提供的一种目标量子逻辑门对应的节点添加方式的示意图;
图5为本发明实施例提供的一种添加目标量子逻辑门对应的节点后的拓扑图的示意图;
图6为本发明实施例提供的另一种基于初始量子程序生成的拓扑图的示意图;
图7为本发明实施例提供的另一种添加目标量子逻辑门对应的节点后的拓扑图的示意图;
图8为本发明实施例提供的一种生成的目标量子线路的示意图;
图9为本发明实施例提供的一种为临时变量分配量子比特的示意图;
图10为本发明实施例提供的一种量子线路生成装置的结构示意图。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明实施例首先提供了一种量子线路生成方法,该方法可以应用于电子设备,如计算机终端,具体如普通电脑、量子计算机等。
量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。当某个装置处理和计算的是量子信息,运行的是量子算法时,它就是量子计算机。量子计算机因其具有相对普通计算机更高效的处理数学问题的能力,例如,能将破解RSA密钥的时间从数百年加速到数小时,故成为一种正在研究中的关键技术。
下面以运行在计算机终端上为例对其进行详细说明。图1为本发明实施例提供的一种量子线路生成方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机终端还可以包括用于通信功能的传输装置106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的量子线路生成方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
需要说明的是,真正的量子计算机是混合结构的,它包含两大部分:一部分是经典计算机,负责执行经典计算与控制;另一部分是量子设备,负责运行量子程序进而实现量子计算。而量子程序是由量子语言如QRunes语言编写的一串能够在量子计算机上运行的指令序列,实现了对量子逻辑门操作的支持,并最终实现量子计算。具体的说,量子程序就是一系列按照一定时序操作量子逻辑门的指令序列。
在实际应用中,因受限于量子设备硬件的发展,通常需要进行量子计算模拟以验证量子算法、量子应用等等。量子计算模拟即借助普通计算机的资源搭建的虚拟架构(即量子虚拟机)实现特定问题对应的量子程序的模拟运行的过程。通常,需要构建特定问题对应的量子程序。本发明实施例所指量子程序,即是经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。
量子线路作为量子程序的一种体现方式,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线),以及各种量子逻辑门,最后常需要通过量子测量操作将结果读取出来。
不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上逻辑门而被操作。
一个量子程序整体上对应有一条总的量子线路,本发明所述量子程序即指该条总的量子线路,其中,该总的量子线路中的量子比特总数与量子程序的量子比特总数相同。可以理解为:一个量子程序可以由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至千上万个量子逻辑门操作。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,量子逻辑门包括单比特量子逻辑门,如Hadamard门(H门,阿达马门)、泡利-X门(X门)、泡利-Y门(Y门)、泡利-Z门(Z门)、RX门、RY门、RZ门等等;两比特或多比特量子逻辑门,如CNOT门、CR门、CZ门、iSWAP门、Toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算的。
参见图2,图2为本发明实施例提供的一种量子线路生成方法的流程示意图,可以包括如下步骤:
S201:获得为执行初始量子程序所需的目标临时变量。
需要说明的是,临时变量是执行量子程序时临时需要的变量,临时变量可以记录在初始量子程序中,也可以未记录在初始量子程序中。执行初始量子需要的目标临时变量可能不止一个,当初始量子程序记录有目标临时变量,可以从该初始量子程序中直接获取该目标临时变量,当然还可以利用其他方式获得目标临时变量,比如,从预先记录的临时变量信息中获得目标临时变量。当初始量子程序中未记录目标临时变量,则对初始量子程序分析,将初始量子程序执行所需要的临时变量作为目标临时变量,或者通过针对初始量子程序记录的信息,获得目标临时变量。
S202:根据所述目标临时变量,确定目标量子比特,其中,所述目标量子比特的初态为|0>态。
为了让临时变量能在量子线路中与其他量子比特进行运算,从而实现临时变量对应的功能,需要为临时变量分配量子比特,具体的,可以根据预先确定的临时变量与量子比特的映射关系,确定目标量子比特,也可以从分配给临时变量的量子比特中,随机选择一个作为目标量子比特。当目标临时变量不止一个时,则分别为每一个目标临时变量分配一个目标量子比特。需要说明的是,为目标临时变量分配的量子比特称之为目标量子比特。
在本发明一些可能的实施方式中,所述根据所述目标临时变量,确定目标量子比特,包括:
从预先设置的量子比特中,为所述目标临时变量分配一个空闲量子比特,作为目标量子比特。
预先设置的量子比特是预先为临时变量准备的量子比特,这些量子比特与量子程序中已经定义的量子比特不重复,例如,初始量子程序已经定义了量子比特1-5,预先设置的量子比特可以为6-8。当有临时变量需要分配量子比特,从这些量子比特中选择一个空闲的量子比特,分配给该临时变量,即所选择的量子比特即为目标量子比特。在本发明的一种具体实现方式中,预先设置的量子比特可以是存放在全局池中,全局池采用堆栈结构,当有临时变量需要分配量子比特且全局池中可用比特不为空,从栈顶弹出一个量子比特分配给需要的临时变量。
S203:基于所述初始量子程序,确定使所述目标量子比特末态为|0>态的目标量子逻辑门。
在本发明实施方式中,量子比特的初态是制备的,可以通过编码的方式将信息制备到量子比特上,该信息就是量子比特的初态。量子比特的初态会随着量子程序的运行(即在量子线路上随时间演化)发生变化,得到量子比特的末态。目标量子比特的量子态会发生变化,因为量子态的纠缠,也会使得其他量子比特的量子态改变,为了消除临时变量产生的影响,需要确定使目标量子比特末态为|0>的目标量子逻辑门。
基于初始量子程序,可以确定如果不消除临时变量影响的目标量子比特的末态,基于此末态,可以确定使目标量子比特末态为|0>的量子逻辑门,所确定的量子逻辑门即是目标量子逻辑门,目标量子逻辑门可以不止一个。
在本发明一些可能实施方式中,所述基于所述初始量子程序,确定使所述目标量子比特末态为|0>态的目标量子逻辑门,包括:
根据所述初始量子程序,确定作用在所述目标量子比特上的量子逻辑门;
基于所确定的量子逻辑门,确定使所述目标量子比特末态为|0>态的目标量子逻辑门。
基于初始量子程序,可以确定作用在目标量子比特上的量子逻辑门,具体的,可以通过初始量子程序记载的内容,或者对基于初始量子程序获得的信息,比如语法树等等,确定量子逻辑门。需要说明的是,当目标量子比特作为一个两比特或多比特量子逻辑门的目标位,则该两比特或多比特量子逻辑门是目标量子比特上的量子逻辑门。
在本发明实施例中,可以将与所确定的量子逻辑门功能相反的量子逻辑门,具体的,可以是量子逻辑门的逆门,作为目标量子逻辑门;也可以根据所确定的量子逻辑门的功能,确定可以抵消该功能的量子逻辑门,作为目标量子逻辑门。示例性的,当所确定的量子逻辑门为CNOT门,基于CNOT门的特性,确定的目标量子逻辑门也为CNOT门。具体的确定方式,可以根据预先建立的量子逻辑门与其对应的逆门之间的映射关系,确定目标量子逻辑门。
在本发明一些可能的实施方式中,根据所述初始量子程序,确定作用在所述目标量子比特上的量子逻辑门,包括:
获得包含所述目标量子比特的拓扑图,其中,所述拓扑图是利用所述初始量子程序生成的,初始节点表征量子比特,其他节点表征量子逻辑门,边表征节点之间的关联关系;
基于所述拓扑图,确定作用在所述目标量子比特上的量子逻辑门。
在本发明实施方式中,利用初始量子程序生成拓扑图,具体的,拓扑图是按照量子程序中的程序执行先后顺序生成的,反映量子程序的结构,示例性的,拓扑图可以是有向无环图,也可以是数学模型电路图。拓扑图中包含目标量子比特,拓扑图中初始节点表征量子比特,即初始节点的数量就是量子比特的数量,节点之间的关联关系可以包括初始节点与其他节点的作用关系,其他节点之间执行先后关系、约束关系,以及节点对应的量子逻辑门的受控关系等等。示例性的,量子程序为:
circuit<<H(q0)
circuit<<CNOT(q0,aux)
circuit<<CNOT(aux,q1)
circuit<<CNOT(q1,q0)
基于该量子程序,生成的拓扑图可以如图3所示,图中init是初始节点,表征量子比特,具体的是初始化的量子比特,q2为临时变量aux对应的目标量子比特,q01表征量子比特q0作用的第一个量子逻辑门,q02表征量子比特q0作用的第二个量子逻辑门。节点之间的边表示节点之间的关联关系,具体的,初始节点与量子逻辑门之间的→表征量子逻辑门所作用的量子比特,量子逻辑门之间的→可以表征量子逻辑门的之间的执行时序,比如,对于q0,先执行H门,再执行CNOT门。
量子逻辑门之间的指向的量子逻辑门是受控量子逻辑门,箭头指向对应的量子比特是该受控量子逻辑门的目标位,圆点对应的量子比特是该受控量子逻辑门的控制位,q21对应的量子逻辑门CNOT为例,H门执行后执行该CNOT门,CNOT的控制位是q0,目标位是q2。
以图3为例,基于拓扑图,通过遍历q2对应的结构,很容易可以确定作用在目标量子比特上的量子逻辑门为CNOT门。然后确定与CNOT门功能相反的门或者逆门为目标量子逻辑门,基于CNOT门性质可知,当在相同的量子比特上连续作用两个CNOT门,相当于没有作用,因此,目标量子逻辑门可以是CNOT门。拓扑图可以清楚地反映量子程序的结构,基于拓扑图结构,可以比较便捷快速地找到作用在目标量子比特上的量子逻辑门。当作用在目标量子比特的门不止一个时,逆序逐步遍历作用在目标量子比特上的门,即从拓扑图的结束节点往上遍历,确定作用在目标量子比特的量子逻辑门。
S204:基于所述初始量子程序和所述目标量子逻辑门,生成目标量子线路。
在初始量子程序中对应的位置加入目标量子逻辑门,就生成了目标量子线路,目标量子逻辑门加入的位置可以由作用在目标量子比特上的量子逻辑门的位置确定的,具体的,可以目标量子逻辑门加入的位置可以是紧邻作用在目标量子比特上的量子逻辑门,或者位置与作用在目标量子比特上的量子逻辑门比较接近,原则是不能改变未加入临时变量得到的其他量子比特的末态。
在量子计算中,临时变量对计算结果产生影响,是由于量子计算本身的特性决定的,量子计算基于量子态的纠缠得到结果,而临时变量会因为为其分配的量子比特的量子态会参与计算,从而可以改变量子态的纠缠结果,进而对计算结果产生影响。本发明实施例提供的方案,目标量子线路中包含目标量子逻辑门,在运行目标量子线路时,因为得到的目标量子比特的末态为|0>态,在计算过程中,将目标量子比特的末态通过量子逻辑门重新置为|0>态,实现了临时变量的自动取消计算,从而消除临时变量对其他量子比特结果的影响,进而减少计算结果出现错误的可能性。
在本发明一个可能的实施方式中,基于所述初始量子程序和所述目标量子逻辑门,生成目标量子线路,包括:
在当前拓扑图中,确定所述目标量子逻辑门的添加位置并添加对应的节点;
根据当前拓扑图中的关联关系,确定与新添加的节点具有关联关系的节点;
建立所确定的节点与新添加的节点之间的边,以确定新的拓扑图;
基于所述新的拓扑图,生成目标量子线路。
拓扑图的结构反映了量子逻辑门执行的顺序,可以将目标量子逻辑门对应的节点添加到拓扑图中,基于拓扑图生成目标量子线路,可以精准地消除临时变量的影响。具体的,目标量子逻辑门对应的节点的添加位置可以在当前作用在目标量子比特上的量子逻辑门之后,在所确定的位置添加目标量子逻辑门对应的节点,当目标量子逻辑门的不止一个时,按照对应的量子逻辑门的逆序,添加对应的节点,示例性的,可以如图4所示,U1和U2是作用在目标量子比特的U门,分别为U1、U2对应的目标量子逻辑门,在拓扑图中先添加对应的节点,再添加/>对应的节点。
基于使作用在目标量子比特上的态最终为|0>态的原则,基于当前拓扑图,可以确定作用在目标量子比特上的量子逻辑门对应的节点,为新添加节点的关联节点,从受到临时变量影响的量子比特对应的节点中,确定与新添加的节点具有关联关系的节点,添加所确定的节点与新添加节点之间的边,边的类型与关联关系有关。示例性的,在图3的基础上,按照本发明实施例提供的添加方式,生成的新的拓扑图如图5所示,从执行时序的角度来说,就是在q21的CNOT门和q02的CNOT门之间添加了q22的CNOT门。
当量子程序中,部分量子逻辑门的执行顺序不可调换时,为了保证后续基于拓扑图生成的量子线路中量子逻辑门的执行顺序正确,需要在拓扑图中以边的类型约束量子逻辑门的执行顺序,示例性的,如图6所示,q1是目标量子比特,节点之间存在约束关系,代表先执行q11的CNOT门,再执行q02的H门。当拓扑图中存在约束关系时,为了实现自动取消计算,需要在CNOT门和第二个H门间添加CNOT门。添加完CNOT门节点后要添加对于H门的--->边来确保H门在添加的CNOT门之后,新的拓扑图可以如图7所示。
在本发明一个可能的实施方式中,所述基于所述新的拓扑图,生成目标量子线路,包括:
根据新的拓扑图,确定作用在每一量子比特上的量子逻辑门、执行时序、以及作用关系;
基于所述执行时序和所述作用关系,将所确定的量子逻辑门依次作用在对应的量子比特上,生成目标量子线路。
将新的拓扑图编译回量子线路,首先根据初始节点的数量,确定量子比特的数量,对于每一个量子比特,依次遍历拓扑图,确定作用在量子比特的量子逻辑门、量子逻辑门的执行时序以及作用关系,基于执行时序和作用关系,依次在量子比特上作用对应的量子逻辑门,从而获得目标量子线路,示例性的,在对图5进行编译,生成的量子线路图可以如图8所示。
在本发明一个可能的实施方式中,方法还可以包括:
当所述目标临时变量生命周期结束,释放所述目标量子比特,以使所述目标量子比特可重新分配。
如果为每一个临时变量都单独分配的一个量子比特会导致量子资源的大量的消耗,而量子资源非常宝贵,因此,可以在临时变量的生命周期结束后,对量子比特进行重新利用,达到节约资源的目的。一般情况下,可以将临时变量所在函数结束时当作其在生命周期结束的时间点。具体的,可以通过全局池实现临时变量的内存管理,全局池是堆栈结构。当临时变量需要分配量子比特时,从栈顶pop(弹)量子比特为目标量子比特,当临时变量生命周期结束,将量子比特回收到全局池中。
示例性的,通过全局池对量子比特进行内存管理可以如图9所示,全局池为临时变量分配的量子比特为q0-q9这10个量子比特,aux0-aux2都是临时变量,aux0会调用aux1和aux2,当一个变量需要分配量子比特时,从栈顶pop出一个量子比特,当临时变量生命周期结束,将临时变量所占用的量子比特放回到栈中。
可见,本发明实施例先获得为执行初始量子程序所需的目标临时变量;根据所述目标临时变量,确定目标量子比特;然后基于所述初始量子程序,确定使所述目标量子比特末态为|0>态的目标量子逻辑门;最后基于所述初始量子程序和所述目标量子逻辑门,生成目标量子线路。通过初始量子程序,确定使得临时变量对应的量子比特末态为|0>态的量子逻辑门,并加入到对应的位置,从而获得最终量子线路,在运行量子线路时,自动消除了临时变量加入对计算结果的影响,进而减少计算结果出现错误的可能性。
本发明实施例提供的量子生成方法应用于有临时变量加入的量子计算场景中,具体的,可以密码破解、人工智能、生物医药、金融工程、航空航天与交通等场景中。在这些场景中,如果有临时变量,可以使用本发明实施例提供的方法,消除临时变量的影响,减少计算结果出现错误的可能性,促进各个领域的发展。
参见图10,图10为本发明实施例提供的一种量子线路生成装置的结构示意图,与图2所示的流程相对应,所述装置包括:
获得模块1001,用于获得为执行初始量子程序所需的目标临时变量;
第一确定模块1002,用于根据所述目标临时变量,确定目标量子比特,其中,所述目标量子比特的初态为|0>态;
第二确定模块1003,用于基于所述初始量子程序,确定使所述目标量子比特末态为|0>态的目标量子逻辑门;
生成模块1004,用于基于所述初始量子程序和所述目标量子逻辑门,生成目标量子线路。
在本发明一些可能实施方式中,所述第一确定模块1002,可以具体用于:
从预先设置的量子比特中,为所述目标临时变量分配一个空闲量子比特,作为目标量子比特。
在本发明一些可能实施方式中,所述第二确定模块1003,可以包括:
第一确定单元,用于根据所述初始量子程序,确定作用在所述目标量子比特上的量子逻辑门;
第二确定单元,用于基于所确定的量子逻辑门,确定使所述目标量子比特末态为|0>态的目标量子逻辑门。
在本发明一些可能实施方式中,所述第一确定单元,可以具体用于:
获得包含所述目标量子比特的拓扑图,其中,所述拓扑图是利用所述初始量子程序生成的,初始节点表征量子比特,其他节点表征量子逻辑门,边表征节点之间的关联关系;
基于所述拓扑图,确定作用在所述目标量子比特上的量子逻辑门。
在本发明一些可能实施方式中,所述生成模块1004,可以具体用于:
在当前拓扑图中,确定所述目标量子逻辑门的添加位置并添加对应的节点;
根据当前拓扑图中的关联关系,确定与新添加的节点具有关联关系的节点;
建立所确定的节点与新添加的节点之间的边,以确定新的拓扑图;
基于所述新的拓扑图,生成目标量子线路。
在本发明一些可能实施方式中,所述生成模块1004,还可以具体用于:
根据新的拓扑图,确定作用在每一量子比特上的量子逻辑门、执行时序、以及作用关系;
基于所述执行时序和所述作用关系,将所确定的量子逻辑门依次作用在对应的量子比特上,生成目标量子线路。
在本发明一些可能实施方式中,所述装置还可以包括:
释放模块,用于当所述目标临时变量生命周期结束,释放所述目标量子比特,以使所述目标量子比特可重新分配。
可见,本发明实施例先获得为执行初始量子程序所需的目标临时变量;根据所述目标临时变量,确定目标量子比特;然后基于所述初始量子程序,确定使所述目标量子比特末态为|0>态的目标量子逻辑门;最后基于所述初始量子程序和所述目标量子逻辑门,生成目标量子线路。通过初始量子程序,确定使得临时变量对应的量子比特末态为|0>态的量子逻辑门,并加入到对应的位置,从而获得最终量子线路,在运行量子线路时,自动消除了临时变量加入对计算结果的影响,进而减少计算结果出现错误的可能性。
本发明实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S201:获得为执行初始量子程序所需的目标临时变量;
S202:根据所述目标临时变量,确定目标量子比特,其中,所述目标量子比特的初态为|0>态;
S203:基于所述初始量子程序,确定使所述目标量子比特末态为|0>态的目标量子逻辑门;
S204:基于所述初始量子程序和所述目标量子逻辑门,生成目标量子线路。
本发明实施例还提供了一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S201:获得为执行初始量子程序所需的目标临时变量;
S202:根据所述目标临时变量,确定目标量子比特,其中,所述目标量子比特的初态为|0>态;
S203:基于所述初始量子程序,确定使所述目标量子比特末态为|0>态的目标量子逻辑门;
S204:基于所述初始量子程序和所述目标量子逻辑门,生成目标量子线路。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。
Claims (10)
1.一种量子线路生成方法,其特征在于,所述方法包括:
获得为执行初始量子程序所需的目标临时变量;
根据所述目标临时变量,确定目标量子比特,其中,所述目标量子比特的初态为|0>态;
基于所述初始量子程序,确定使所述目标量子比特末态为|0>态的目标量子逻辑门;
基于所述初始量子程序和所述目标量子逻辑门,生成目标量子线路。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标临时变量,确定目标量子比特,包括:
从预先设置的量子比特中,为所述目标临时变量分配一个空闲量子比特,作为目标量子比特。
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述初始量子程序,确定使所述目标量子比特末态为|0>态的目标量子逻辑门,包括:
根据所述初始量子程序,确定作用在所述目标量子比特上的量子逻辑门;
基于所确定的量子逻辑门,确定使所述目标量子比特末态为|0>态的目标量子逻辑门。
4.根据权利要求3所述的方法,其特征在于,所述根据所述初始量子程序,确定作用在所述目标量子比特上的量子逻辑门,包括:
获得包含所述目标量子比特的拓扑图,其中,所述拓扑图是利用所述初始量子程序生成的,初始节点表征量子比特,其他节点表征量子逻辑门,边表征节点之间的关联关系;
基于所述拓扑图,确定作用在所述目标量子比特上的量子逻辑门。
5.根据权利要求4所述的方法,其特征在于,所述基于所述初始量子程序和所述目标量子逻辑门,生成目标量子线路,包括:
在当前拓扑图中,确定所述目标量子逻辑门的添加位置并添加对应的节点;
根据当前拓扑图中的关联关系,确定与新添加的节点具有关联关系的节点;
建立所确定的节点与新添加的节点之间的边,以确定新的拓扑图;
基于所述新的拓扑图,生成目标量子线路。
6.根据权利要求5所述的方法,其特征在于,所述基于所述新的拓扑图,生成目标量子线路,包括:
根据所述新的拓扑图,确定作用在每一量子比特上的量子逻辑门、执行时序、以及作用关系;
基于所述执行时序和所述作用关系,将所确定的量子逻辑门依次作用在对应的量子比特上,生成目标量子线路。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述目标临时变量生命周期结束,释放所述目标量子比特,以使所述目标量子比特可重新分配。
8.一种量子线路生成装置,其特征在于,所述装置包括:
获得模块,用于获得为执行初始量子程序所需的目标临时变量;
第一确定模块,用于根据所述目标临时变量,确定目标量子比特,其中,所述目标量子比特的初态为|0>态;
第二确定模块,用于基于所述初始量子程序,确定使所述目标量子比特末态为|0>态的目标量子逻辑门;
生成模块,用于基于所述初始量子程序和所述目标量子逻辑门,生成目标量子线路。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时实现所述权利要求1至7任一项所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以实现所述权利要求1至7任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211220055.4A CN117852659A (zh) | 2022-09-30 | 2022-09-30 | 量子线路生成方法、装置、存储介质及电子装置 |
PCT/CN2023/114232 WO2024066808A1 (zh) | 2022-09-30 | 2023-08-22 | 量子线路生成方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211220055.4A CN117852659A (zh) | 2022-09-30 | 2022-09-30 | 量子线路生成方法、装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117852659A true CN117852659A (zh) | 2024-04-09 |
Family
ID=90476021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211220055.4A Pending CN117852659A (zh) | 2022-09-30 | 2022-09-30 | 量子线路生成方法、装置、存储介质及电子装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117852659A (zh) |
WO (1) | WO2024066808A1 (zh) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019050555A1 (en) * | 2017-09-08 | 2019-03-14 | Google Llc | QUANTUM CIRCUITS HAVING A NUMBER OF DOORS T REDUCED |
EP3682383B1 (en) * | 2017-10-18 | 2022-09-21 | Google LLC | Simulation of quantum circuits |
CN109063844A (zh) * | 2018-07-13 | 2018-12-21 | 合肥本源量子计算科技有限责任公司 | 一种表示量子程序的数据结构 |
CN110825375B (zh) * | 2019-10-12 | 2022-12-06 | 合肥本源量子计算科技有限责任公司 | 一种量子程序的转化方法、装置、存储介质和电子装置 |
CN111310928B (zh) * | 2020-02-28 | 2024-03-05 | 东南大学 | 通用量子比较电路的实现方法 |
CN111599414B (zh) * | 2020-03-25 | 2022-05-06 | 清华大学 | 一种基于量子计算机的全量子分子模拟方法 |
CN113850389B (zh) * | 2020-06-28 | 2023-08-11 | 本源量子计算科技(合肥)股份有限公司 | 一种量子线路的构建方法及装置 |
CN113516248B (zh) * | 2021-07-12 | 2022-04-12 | 北京百度网讯科技有限公司 | 一种量子门测试方法、装置及电子设备 |
CN113988303A (zh) * | 2021-10-21 | 2022-01-28 | 北京量子信息科学研究院 | 基于并行量子本征求解器的量子推荐方法、装置及系统 |
-
2022
- 2022-09-30 CN CN202211220055.4A patent/CN117852659A/zh active Pending
-
2023
- 2023-08-22 WO PCT/CN2023/114232 patent/WO2024066808A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024066808A1 (zh) | 2024-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113222157B (zh) | 一种量子模拟方法、装置、电子装置及存储介质 | |
CN114819163B (zh) | 量子生成对抗网络的训练方法、装置、介质及电子装置 | |
CN114511094B (zh) | 一种量子算法的优化方法、装置、存储介质与电子装置 | |
CN116011681A (zh) | 一种气象数据预测方法、装置、存储介质及电子装置 | |
CN116090568A (zh) | 量子数据与经典浮点型数据的大小关系确定方法及装置 | |
CN115983392A (zh) | 量子程序映射关系的确定方法、装置、介质及电子装置 | |
CN117852659A (zh) | 量子线路生成方法、装置、存储介质及电子装置 | |
CN115775029A (zh) | 量子线路转化方法、装置、介质及电子装置 | |
CN115809707A (zh) | 量子比较运算方法、装置、电子装置及基础算术组件 | |
CN114512193A (zh) | 基于自旋对称性和等同粒子特性制备体系试验态的方法 | |
CN114372583B (zh) | 基于机器学习框架的量子程序优化方法及相关设备 | |
CN116432691A (zh) | 基于机器学习框架的模型训练方法及相关设备 | |
CN117114118A (zh) | 量子权重加和器的构建方法、装置、介质及电子装置 | |
CN116523059A (zh) | 数据处理方法、机器学习框架及相关设备 | |
CN114372584B (zh) | 基于机器学习框架的迁移学习方法及相关装置 | |
CN115730670A (zh) | 模式文件的生成方法、装置、介质及电子装置 | |
CN114881238A (zh) | 量子鉴别器的构造方法、装置、介质及电子装置 | |
CN117744818A (zh) | 基于量子傅里叶变换的常数加法器、运算方法及相关装置 | |
CN115879560A (zh) | 一种量子数据与经典数据的等值关系判断方法及装置 | |
CN115775030A (zh) | 基于模式匹配的量子程序重写方法、装置及电子装置 | |
CN116542337A (zh) | 数据处理方法、机器学习框架及相关设备 | |
CN115879559A (zh) | 多个量子态之间的等值关系判断方法、装置及量子计算机 | |
CN116167407A (zh) | 一种基于量子循环神经网络的数据预测方法及相关设备 | |
CN115775028A (zh) | 量子线路优化方法、装置、介质及电子装置 | |
CN116499466A (zh) | 一种智能体导航方法、装置、存储介质及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |