CN116048458A - 基于量子计算的数值划分方法、装置、设备及存储介质 - Google Patents
基于量子计算的数值划分方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116048458A CN116048458A CN202111266124.0A CN202111266124A CN116048458A CN 116048458 A CN116048458 A CN 116048458A CN 202111266124 A CN202111266124 A CN 202111266124A CN 116048458 A CN116048458 A CN 116048458A
- Authority
- CN
- China
- Prior art keywords
- quantum
- quantum state
- state
- preset
- bit
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 230000000295 complement effect Effects 0.000 claims description 70
- 239000002096 quantum dot Substances 0.000 claims description 45
- 238000004590 computer program Methods 0.000 claims description 13
- 238000000638 solvent extraction Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 6
- 238000002360 preparation method Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 5
- 230000001133 acceleration Effects 0.000 abstract description 4
- 230000008901 benefit Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000009467 reduction Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Artificial Intelligence (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Logic Circuits (AREA)
Abstract
本申请公开了一种基于量子计算的数值划分方法、装置、设备及存储介质。该方法包括:获取第一集合与目标值,其中,所述第一集合包括一个或多个数值,针对所述第一集合内的每个数值,将所述数值制备成第一量子态,并将所述目标值制备成第二量子态,运行预设量子线路,其中,所述预设量子线路用于比较所述第一量子态与所述第二量子态的大小,对所述预设量子线路中的预设量子比特进行测量,确定所述第一量子态与所述第二量子态的比较结果,根据所述比较结果,对所述数值进行划分。能够发挥量子计算的并行加速优势,根据实际的计算需要,基于量子计算根据目标值进行划分,填补相关技术的空白。
Description
技术领域
本申请属于量子计算领域,特别是一种基于量子计算的数值划分方法、装置、设备及存储介质。
背景技术
量子计算机利用量子的叠加性,理论上在某些情形下有指数级加速的能力。譬如破解RSA密钥在经典计算机上需要数百年,而在量子计算机上执行量子算法只需数小时。但是目前量子计算机的受限于量子芯片硬件的发展导致的可操控的比特数有限,因此计算能力有限,并不能普遍地去运行量子算法。
在量子算法的实现过程中,通常需要借助各种量子线路构建量子算法以实现某种计算过程,而划分某一集合内大于或小于目标值的数值,目前没有对应的量子线路可以实现,亟需提供相应的量子算法实现该划分过程,以填补技术空白。
发明内容
本申请的目的是提供一种基于量子计算的数值划分方法、装置、设备及存储介质,以解决现有技术中的不足,它能够发挥量子计算的并行加速优势,根据实际的计算需要,基于量子计算根据目标值进行划分,填补相关技术的空白。
第一方面,本申请提供了一种基于量子计算的数值划分方法,包括:
获取第一集合与目标值,其中,所述第一集合包括一个或多个数值;
针对所述第一集合内的每个数值,将所述数值制备成第一量子态,并将所述目标值制备成第二量子态;
运行预设量子线路,其中,所述预设量子线路用于比较所述第一量子态与所述第二量子态的大小;
对所述预设量子线路中的预设量子比特进行测量,确定所述第一量子态与所述第二量子态的比较结果;
根据所述比较结果,对所述数值进行划分。
可选地,所述对所述预设量子线路中的预设量子比特进行测量,确定所述第一量子态与所述第二量子态的比较结果,包括:
测量所述预设量子线路中的预设量子比特,以获得所述预设量子比特的量子态;
根据所述预设量子比特的量子态,获取所述第一量子态与所述第二量子态的差值符号位;
根据所述差值符号位确定所述第一量子态与所述第二量子态的比较结果。
可选地,所述根据所述差值符号位确定所述第一量子态与所述第二量子态的比较结果,包括:
若所述差值符号位的值为0,则确定所述第一量子态大于或等于所述第二量子态;
若所述差值符号位的值为1,则确定所述第一量子态小于所述第二量子态。
可选地,对所述数值进行划分,包括:
若所述第一量子态大于或等于所述第二量子态,将所述数值存储至第二集合。
可选地,所述方法还包括:
若所述第一量子态小于所述第二量子态,将所述数值存储至第三集合。
可选地,所述预设量子线路包括:加法器模块以及包含所述加法器模块的求补码模块;其中,所述加法器模块由以下方式构建:
根据所述第一量子态和所述第二量子态对应的量子比特位的位数,确定待级联的前级联模块MAJ模块以及待级联的后级联模块UMA模块的目标模块个数,其中,所述MAJ模块的模块个数与所述UMA模块的模块个数相同;
将所述目标模块个数的MAJ模块以及UMA模块进行级联,生成所述加法器模块对应的加法器子量子线路。
可选地,所述MAJ模块根据CNOT门与toffoli门构建,所述UMA模块根据CNOT门与toffoli门构建,所述CNOT门与所述toffoli门均为量子逻辑门的一种。
第二方面,本申请提供了一种基于量子计算的数值划分装置,包括:
获取单元,用于获取第一集合与目标值,其中,所述第一集合包括一个或多个数值;
制备单元,用于针对所述第一集合内的每个数值,将所述数值制备成第一量子态,并将所述目标值制备成第二量子态;
运行单元,用于运行预设量子线路,其中,所述预设量子线路用于比较所述第一量子态与所述第二量子态的大小;
测量单元,用于对所述预设量子线路中的预设量子比特进行测量,确定所述第一量子态与所述第二量子态的比较结果;
划分单元,用于根据所述比较结果,对所述数值进行划分。
第三方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面所述的方法中的步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面所述的方法中所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面所述的方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
第六方面,本申请实施例提供了一种量子计算机操作系统,其中,上述量子计算机操作系统根据本申请实施例第一方面所述的方法中所描述的部分或全部步骤实现基于量子计算的数值划分的处理。
可以看出,在本申请实施例中,获取第一集合与目标值,其中,所述第一集合包括一个或多个数值,针对所述第一集合内的每个数值,将所述数值制备成第一量子态,并将所述目标值制备成第二量子态,运行预设量子线路,其中,所述预设量子线路用于比较所述第一量子态与所述第二量子态的大小,对所述预设量子线路中的预设量子比特进行测量,确定所述第一量子态与所述第二量子态的比较结果,根据所述比较结果,对所述数值进行划分。采用本申请实施例能够发挥量子计算的并行加速优势,根据实际的计算需要,基于量子计算根据目标值进行划分,填补相关技术的空白。
附图说明
图1为本申请实施例提供的基于量子计算的数值划分方法的一个流程示意图;
图2为本申请实施例提供的基于量子计算的数值划分方法的另一流程示意图;
图3为本申请实施例提供的基于量子计算的数值划分方法的另一流程示意图;
图4是本申请实施例提供的量子态制备量子线路示意图;
图5是本申请实施例提供的求补码量子线路示意图;
图6是本申请提供的加法运算前求补码量子线路示意图;
图7是本申请提供的加法运算后求补码量子线路示意图;
图8是本申请提供的减法器的量子线路示意图;
图9是本申请一实施例提供的加法器示意图;
图10是本申请一实施例提供的加法器量子线路示意图;
图11是本申请一实施例提供的MAJ模块示意图;
图12是本申请一实施例提供的MAJ模块量子线路组合过程示意图;
图13是本申请一实施例提供的UMA模块示意图;
图14是本申请一实施例提供的UMA模块量子线路组合过程示意图;
图15为本申请实施例提供的基于量子计算的数值划分装置示意图;
图16为本申请实施例提供的基于量子计算的数值划分方法计算机终端的硬件结构框图。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本申请提供了一种基于量子计算的数值划分方法,以解决现有技术中的不足,它能够将目标集合中的数值基于预设目标值进行划分。
要说明的是,本申请实施例所指量子程序,即是经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。
量子线路作为量子程序的一种体现方式,也称量子逻辑线路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线),以及各种量子逻辑门,最后常需要通过量子测量操作将结果读取出来。量子线路的展现方式可以是按一定执行时序排列的量子逻辑门序列。
不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上量子逻辑门而被操作。
一个量子程序整体上对应有一条总的量子线路,本申请所述量子程序即指该条总的量子线路,其中,该总的量子线路中的量子比特总数与量子程序的量子比特总数相同。可以理解为:一个量子程序可以由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至千上万个量子逻辑门操作。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,量子逻辑门包括单比特量子逻辑门(或单量子逻辑门,简称“单门”),如Hadamard门(H门,阿达马门)、泡利-X门(X门)、泡利-Y门(Y门)、泡利-Z门(Z门)、RX门、RY门、RZ门等等;两比特量子逻辑门(或双量子逻辑门,简称“双门”),如CNOT门、CR门、SWAP门、ISWAP门等等;多比特量子逻辑门(或多量子逻辑门,简称“多门”),如Toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算的。例如,量子态右矢|0>对应的矢量为量子态右矢|1>对应的矢量为
量子态,即量子比特的逻辑状态。在量子算法(或称量子程序)中,针对量子线路包含的一组量子比特的量子态,采用二进制表示方式,例如,一组量子比特为q0、q1、q2,表示第0位、第1位、第2位量子比特,在二进制表示方式中从高位到低位排序为q2q1q0,该组量子比特对应的量子态共有2的量子比特总数次方个,即8个本征态(确定的状态):|000>、|001>、|010>、|011>、|100>、|101>、|110>、|111>,每个量子态的位与量子比特对应一致,如|001>态,001从高位到低位对应q2q1q0,|>为狄拉克符号。对于包含N个量子比特q0、q1、…、qn、…、qN-1的量子线路,二进制表示量子态的位阶排序为qN-1qN-2…、q1q0。
以单个量子比特说明,单个量子比特的逻辑状态ψ可能处于|0>态、|1>态、|0>态和|1>态的叠加态(不确定状态),具体可以表示为ψ=a|0>+b|1>,其中,a和b为表示量子态振幅(概率幅)的复数,振幅的模的平方表示概率,|a|2、|b|2分别表示逻辑状态是|0>态、|1>态的概率,|a|2+|b|2=1。简言之,量子态是各本征态组成的叠加态,当其他态的概率为0时,即处于唯一确定的本征态。
下面对本申请基于量子计算的数值划分方法流程进行进一步的介绍,具体请参见图1,本申请实施例提供的基于量子计算的数值划分方法的一个流程示意图包括:
101、获取第一集合与目标值,其中,所述第一集合包括一个或多个数值;
本实施例中,根据量子计算技术比较第一集合内的数值与目标值的大小,以第一数值表示所述第一集合内的某一数值,以第一数值为被减数,目标值为减数为例,通过量子线路将第一数值与目标值相减以得到对应的差值,将差值与0比较,若差值大于等于0,则被减数大于等于减数,即第一数值大于等于目标值,若差值小于0,则被减数小于减数,即第一数值小于目标值。
102、针对所述第一集合内的每个数值,将所述数值制备成第一量子态,并将所述目标值制备成第二量子态;
本实施例中,第一集合内的每个数值都可以作为第一数值。将第一数值与目标值分别制备成量子态,如图4所示,根据H门与RY门分别对所述第一数值与所述目标值编码,以得到所述第一量子态与第二量子态,所述编码参数由所述第一数值与所述目标值确定。由于RY是一种单量子比特旋转门,编码参数的设定可以为角度,将作用在第一数值与目标值对应的量子比特上RY门的角度与第一数值与目标值建立对应关系即可,示例性地:
若第一数值为a,目标值为b,则RY的参数可以为:
103、运行预设量子线路,其中,所述预设量子线路用于比较所述第一量子态与所述第二量子态的大小;
本实施例中,根据量子计算技术比较第一数值与目标值的大小,将第一数值与目标值分别对应转换成第一量子态与第二量子态后,根据预设量子线路对第一量子态与第二量子态进行减法运算,预设量子线路包括加法器模块与求补码模块,以第一量子态为被减数且为7,第二量子态为减数且为4举例:
至少获取4位量子比特a.sign、a2、a1、a0,将7编码到a.sign、a2、a1、a0的第一量子态|0111>上,其中,a.sign表示a的符号位,a2、a1、a0共同表示a的数值,量子态的振幅设为1。其中,|0111>=|0>|1>|1>|1>,|0>、|1>、|1>、|1>称为|0111>的子量子态,一子量子态对应一量子比特位,且从左至右表示由高位至低位,最高位对应a.sign、第二位对应a2、第三位对应a1、最低位对应a0,最高位的|0>表示符号位子量子态,其余表示数值位子量子态。为了统一运算维度,另外获取4位量子比特b.sign、b2、b1、b0,将4编码到b.sign、b2、b1、b0的第二量子态|0100>,其振幅同为1,其中,b.sign表示b的符号位,b2、b1、b0共同表示b的数值,。
104、对所述预设量子线路中的预设量子比特进行测量,确定所述第一量子态与所述第二量子态的比较结果;
本实施例中,由于本申请旨在比较以目标值为界限,将第一集合内的数值进行划分,只需要测量差值符号位的符号位量子比特,差值符号位又为第一量子态的符号位,测量出该符号位量子比特的量子态即可,以二进制为例,根据计算机二进制的减法规则,预设量子线路中包括求补码模块以及加法器模块,预设量子线路中包括被减数与减数对应的数值位量子比特与符号位量子比特,数值位量子比特用于表示该被减数或者减数的数值,符号位量子比特用于表示该被减数或者减数的符号,同样以二进制为例,4的二进制为100,在其前面加上符号位表示其的正负,4可以用0100表示,如图8所示,a.sign即为a的符号位,只需测量a.sign量子比特执行加法过程与两次求补码后的量子态即可获得a-b后的符号,并根据该符号确定a与b的大小关系。
具体地,运行所述预设量子线路,并测量包含所述第一量子态与所述第二量子态的差值符号位的目标量子比特,而二进制符号位为0,则代表该二进制是正数,二进制符号位为1,则代表该二进制是负数。即若所述差值符号位的值为0,代表第一集合内的第一数值减去目标值为正数或0,所述第一数值大于或等于所述目标值;若所述差值符号位的值为1,代表第一数值减去目标值为负数,则所述第一数值小于所述目标值。
105、根据所述比较结果,对所述数值进行划分。
本实施例中,测量所述预设量子线路中的预设量子比特可以得到第一集合内的第一数值与目标值之间的大小关系,若所述差值符号位的值为0,则确定所述第一量子态大于或等于所述第二量子态,若所述第一量子态大于或等于所述第二量子态,将所述数值存储至第二集合,若所述差值符号位的值为1,则确定所述第一量子态小于所述第二量子态,若所述第一量子态小于所述第二量子态,将所述数值存储至第三集合。
进一步地,上述内容为将第一集合中某一个数值划分的过程,当数值被划分至第二集合或第三集合之后,预设的量子算法则对第一集合内的下一个数值进行同样的运算处理,直至第一集合内的所有数值均被划分一次后结束。
可见,获取第一集合与目标值,其中,所述第一集合包括一个或多个数值,针对所述第一集合内的每个数值,将所述数值制备成第一量子态,并将所述目标值制备成第二量子态,运行预设量子线路,其中,所述预设量子线路用于比较所述第一量子态与所述第二量子态的大小,对所述预设量子线路中的预设量子比特进行测量,确定所述第一量子态与所述第二量子态的比较结果,根据所述比较结果,对所述数值进行划分。能够将目标集合中的数值基于预设目标值进行划分。
基于图1,本申请对于获取差值符号位的过程进行进一步的介绍,具体请参见图2,本申请实施例提供的基于量子计算的数值划分方法的另一流程示意图包括:
201、测量所述预设量子线路中的预设量子比特,以获得所述预设量子比特的量子态;
202、根据所述预设量子比特的量子态,获取所述第一量子态与所述第二量子态的差值符号位;
203、根据所述差值符号位确定所述第一量子态与所述第二量子态的比较结果。
本实施例中,由于本申请旨在比较两个数值之间的大小从而以目标值为界限将第一集合中的数值进行划分,只需要测量差值符号位的符号位量子比特,差值符号位又为第一量子态的符号位,只需测量出该量子比特的量子态即可,如实施例104所述,若所述差值符号位的值为0,代表第一数值减去目标值不为负数,所述第一数值大于或等于所述目标值;若所述差值符号位的值为1,代表第一数值减去目标值为负数,则所述第一数值小于所述目标值。
下面对执行预设量子线路的量子减法器功能的过程介绍:
本实施例中,主要用于实现预设量子线路的减法器功能,减法器和下述加法器最大的区别就是会产生负数的情况,因此,采用二进制的处理方式,对减数和被减数都加一个符号位,来表示数值的正负,并且使用补码来进行运算。正数补码不变,负数除符号位外按位取反后,再加1。对应到量子线路中,即用符号位控制是否做补码操作,取反可以用X门,加1可通过加法器实现。在补码情况下运算完成后,再将结果做一次补码运算就得到了目标数值。获取待运算的第一数值和目标值,并将所述第一数值(被减数)以及所述目标值(减数)分别转换为第一量子态和第二量子态。其中,量子态包括:表示所述数据符号的符号位子量子态和表示所述数据数值的数值位子量子态。
具体的,根据第一量子态中的符号位子量子态和第一预设辅助比特的量子态,控制第一量子态执行求补码运算对应的量子态演化,可以对第一量子态中的符号位子量子态对应的第一符号位量子比特和第一预设辅助比特执行CNOT门操作,其中,第一符号位量子比特为控制比特,第一预设辅助比特为受控比特;并且,CNOT门可以用等效的其他现有的量子逻辑门或量子逻辑门组合进行替代,也是合理可行的;
根据执行CNOT门操作后的第一预设辅助比特的量子态,控制当前第一量子态是否执行求补码运算对应的量子态演化;
若是,则对当前第一量子态的非符号位子量子态取反,并将取反后的第一量子态与第二预设辅助比特的量子态|1>态,执行加法运算对应的量子态演化,得到演化后的第一补码量子态,否则,将所述第一量子态作为第一补码量子态;其中,执行CNOT门操作后的第一预设辅助比特的量子态可以为|1>态时,才控制执行求补码运算对应的量子态演化,否则不执行;
对当前第一符号位量子比特和第一预设辅助比特执行CNOT门操作,以将当前第一预设辅助比特的量子态进行还原;其中,所述第一符号位量子比特为控制比特,所述第一预设辅助比特为受控比特。
示例性的,第一量子态假设为|0011>。|0011>的符号位子量子态为最高位的子量子态即|0>态,该位的值为0,对应的第一符号位量子比特设为a.sign,第一预设辅助比特为预设的量子比特q1,初始为|0>态。
对a.sign和q1执行CNOT门操作,a.sign作为控制比特,q1作为受控比特,a.sign位的量子态为|0>态,经过CNOT门操作后,受控比特位q1的量子态|0>不变。
由于执行CNOT门操作后的q1的量子态为|0>态,故不对第一量子态执行求补码运算对应的量子态演化。原理上在于,被减数为正数时,在减法运算中无需求补码,或者说,其补码即为本身,可直接将|0011>作为第一补码量子态。
最后,可以对当前a.sign和q1再次执行CNOT门,a.sign位的量子态为|0>态,经过CNOT门操作后,受控比特位q1的量子态|0>不变,以还原q1为|0>态,从而释放第一预设辅助比特存储的信息。可得,第一补码量子态包含的值0011为被减数0011的补码。
如图5所示,q1为第一预设辅助比特,用于控制是否做补码操作,所述第一量子态为a,a.sign为所述第一量子态中的符号位子量子态,剩余的a为表示所述数据数值的数值位子量子态,j为第二预设辅助比特,初始态为0态,在求补码之前通过X门被设置为1态,t为加法器所使用的辅助比特(下述第三预设辅助比特),初始态为0态。
图5所示的量子线路实现了对a做求补码的操作的量子线路,先对a.sign与q1进行CNOT门操作,使得q1暂时表示a.sign,并用q1控制是否进行求补码,求完补码后,再将q1还原。由此,控制第一量子态执行求补码运算对应的量子态演化,得到第一补码量子态。
具体地,根据a的符号位子量子态,用第一预设辅助比特q1来控制是否做取补码的操作。若a为负数,则进行负数的取补码操作。负数的补码为除符号位外按位取反后加1,除符号位外按位取反的操作用逻辑门来实现的话,只需要对数值位全都做X门即可,取反后还需要加1,因此,通过使用j和a相加,j的当前值被设置为了1,t为加法器的辅助比特,在将数值位取反后的a和j相加后,a上存放的就是取完补码后的数值,再将q1还原,以便下次使用。
例如:当a为负数时,a.sign为1,因此q1也为1,就需要做取反等操作,而当a为正数时,a.sign为0,因此q1也为0,就不需要再求补码了。
上述内容为是否需要将第一量子态即被减数求补码的介绍,在二进制的减法计算中,需要将减数求补码,并与被减数的补码相加,下面对减数即第二量子态的求补码过程进行介绍。
具体的,可以对第二量子态中的符号位子量子态对应的第二符号位量子比特,执行X门操作,得到取反后的符号位子量子态;其中,X门可以用等效的其他现有的量子逻辑门或量子逻辑门组合进行替代,也是合理可行的;
同样的,继续对当前第二符号位量子比特和第一预设辅助比特执行CNOT门操作,其中,所述第二符号位量子比特为控制比特,所述第一预设辅助比特为受控比特;
根据执行CNOT门操作后的第一预设辅助比特的当前量子态,控制当前第二量子态是否执行求补码运算对应的量子态演化;
若是,则对当前第二量子态的非符号位子量子态取反,并将取反后的第二量子态与第二预设辅助比特的量子态|1>态,执行加法运算对应的量子态演化,得到演化后的第二补码量子态,否则,将当前第二量子态作为第二补码量子态;
对当前第二符号位量子比特和第一预设辅助比特执行CNOT门操作,以将第一预设辅助比特的当前量子态进行还原;其中,所述第二符号位量子比特为控制比特,所述第一预设辅助比特为受控比特。
示例性的,第二量子态假设为|0100>。|0100>的符号位子量子态为最高位的子量子态即|0>态,该位的值为0,对应的第二符号位量子比特设为b.sign,当前第三辅助比特被还原为|0>态。
首先,可以对b.sign执行X门,将对应的符号位子量子态|0>取反为|1>,第二量子态变为|1100>。
继续对b.sign和q1执行CNOT门操作,b.sign作为控制比特,q1作为受控比特,当前b.sign位的量子态为|1>态,经过CNOT门操作后,受控比特位q1的量子态|0>被取反为|1>态。
执行CNOT门操作后的q1的量子态为|1>态,故对当前第二量子态|1100>执行求补码运算对应的量子态演化。一种执行求补码运算对应的量子态演化的实现如下:
对当前第二量子态|1100>的非符号位子量子态取反,并将取反后的第二量子态|1011>与第二预设辅助比特的量子态|1>态,执行加法运算对应的量子态演化,得到演化后的第二补码量子态为|1100>。
其中,可通过执行X门对|1100>的非符号位子量子态|100>取反;为了保持维度一致,第二预设辅助比特j为预设的4位量子比特j[3]、j[2]、j[1]、j[0],第二预设辅助比特的量子态|1>实际上写为|0001>,两者是等同的。
最后,可对当前b.sign和q1再次执行CNOT门,b.sign位的量子态为|1>态,经过CNOT门操作后,受控比特位q1的量子态|1>被取反为|0>,从而再次还原q1为初始|0>态,释放q1的存储空间。可得,第二补码量子态包含的值1100为对b.sign执行X门后的减数1100的补码。
本实施例中,所述第二量子态b也是同理,j的初始态为0态,初始对j[0]做X门是为了设置值为1,对第二量子态中的符号位子量子态b.sign做X门是为了把减法变成加法。如图6所示,图6为对a、b执行求补码运算对应的量子态演化的量子线路示意图,参考上述同理方法将第二量子态b执行求补码运算对应的量子态演化,得到第二补码量子态。
将所述第一补码量子态和所述第二补码量子态代入加法器的量子线路,执行加法运算对应的量子态演化,由此,将所述第一补码量子态演化为包含所述被减数数据的补码与所述减数数据的补码之和的第三量子态。
需要说明的是,执行求补码运算对应的量子态演化可与前述同理,演化后,第一预设辅助比特的量子态仍被还原为|0>,以便于后续计算使用。
进一步地,所述控制所述第三量子态执行求补码运算对应的量子态演化,得到演化后的第四量子态的步骤之后,还可以根据当前第二量子态中的符号位子量子态和当前第一预设辅助比特的量子态,控制当前第二量子态执行求补码运算对应的量子态演化,并对当前第二量子态中的符号位子量子态执行符号位取反对应的量子态演化,以将当前第二量子态进行还原。进行加法运算后,进一步对所述被减数数据的补码与所述减数数据的补码之和的第三量子态执行求补码运算对应的量子态演化。如图7所示,将a和b都做好补码的处理后,再将a和b的补码进行相加,在a上得到加法结果后,再对a做一次求补码的操作,将a演化为最终减法结果;通过对b做一次求补码和通过X门对b的符号位再取反,以对b进行还原;并且通过最后一个CNOT门对第一预设辅助比特q1进行还原,通过X门再对j[0]取反还原为初始0态,从而由图6和图7得到如图8所示的整个减法器的简易量子线路图,以图8为例,a为表示被减数的量子比特,a.sign为a的符号位,a.sign与a共有n个量子比特,共同表示带符号状态下的被减数数值;b为表示减数的量子比特,b.sign为b的符号位,b.sign与b共有n个量子比特,共同表示带符号状态下的被减数数值,j与j[0]共n个量子比特,用于求补码时的辅助比特,q1为用于控制是否求补码的辅助比特,t为加法器中的辅助比特,辅助比特是对辅助实现量子线路功能的量子比特的统称。
由上述内容可得到第一数值(对应第一量子态)与目标值(对应第二量子态)的补码,根据二进制的运算法则,将该两个补码相加并还原即可得到第一数值减去目标值的差值,在本申请中,只需要测量该差值的符号位(如图8中的a.sign)即可得到第一数值与目标值的大小关系。
基于图2,本申请对于将第一量子态补码与第二量子态补码相加的过程进行进一步的介绍,具体请参见图3,本申请实施例提供的基于量子计算的数值划分方法的另一流程示意图包括:
301、根据所述第一量子态和所述第二量子态对应的量子比特位的位数,确定待级联的前级联模块MAJ模块以及待级联的后级联模块UMA模块的目标模块个数,其中,所述MAJ模块的模块个数与所述UMA模块的模块个数相同;
由前述可知,待运算的两个量子态,可以是:第一补码量子态和第二补码量子态;取反后的第一量子态和第二预设辅助比特的量子态|1>态。
示例性的,如图9所示,线路中第一个量子比特位为第三预设辅助比特位,初始为|0>态,最终会恢复为|0>态,e和f是待相加的数据对应的量子态,各对应一组量子比特位。c表示最终的进位项,对应预设进位辅助比特位,s为是不包含进位的输出位。一般要求e和f对应的量子比特位数相同,s和e、f的位数相同。
示例性的,如图10所示,e[i]和f[i]分别是两个加数对应量子态的第i位,c[i]是上一级进位。
s[i]=e[i]XOR f[i]XOR c[i],
c[i+1]=(e[i]AND f[i])XOR(e[i]AND f[i])XOR(e[i]AND f[i]),
其中,第一个量子比特即为第三预设辅助比特位,对应量子线路中的c0。第一个MAJ模块包括三个输入量子态以及对应的三个输出量子态,其中,三个输入量子态分别为c0、e0、f0,e0为第一个待运算量子态的第0位量子态,f0为第二个待运算量子态的第0位量子态,c0为第三预设辅助比特的量子态,初始值为0,即无进位。三个输出量子态分别为c1,c1为e0和f0相加后的进位,同理,下一个MAJ模块的三个输入量子态为c1、e1、f1,三个输出量子态分别为c2,以此类推至最后一个MAJ模块。
对于第一个UMA模块,包括三个输入量子态以及对应的三个输出量子态,其中,MAJ模块的三个输出量子态为对应UMA模块的三个输入量子态,三个输出量子态分别为c0、s0、e0,s0为e0和f0相加的不含进位的结果。同理,s1为e1和f1相加的不含进位的结果,以此类推,c4是最终的进位项。需要说明的是,在实际应用中,在无计算最终进位的需求下,量子线路中可以不设置c4对应的量子比特位。
并且,可以根据其中待运算的任一量子态包含的子量子态数量确定MAJ模块的模块个数以及UMA模块的个数,一子量子态对应一位量子比特,其中,MAJ模块的模块个数以及UMA模块的个数相等。图10中所示仅仅作为示例,编码e和f各所需4位量子比特,MAJ模块和UMA模块的个数均为4。MAJ模块和UMA模块构成了加法器的前、后级联单元。MAJ模块可以用于提取出任何一步的进位项并且传递到下一级,从而将最终进位项计算出来。UMA模块一方面提取了c的信息会传递到上一级UMA,还计算出每一级的s(结果项),并且恢复了e的信息。
示例性的:当4(对应编码在3个量子比特的量子态表示为100)+2(对应编码在3个量子比特的量子态表示为010)=6(对应编码在3个量子比特的量子态表示为110)。此时编码运算结果的量子比特与编码e的量子比特位的个数或用来编码f的量子比特位的个数一致,MAJ模块的模块个数以及UMA模块的个数均为3。
示例性的:当4(对应编码在3个量子比特的量子态表示为100)+7(对应编码在3个量子比特的量子态表示为111)=11(对应编码在3个量子比特的量子态表示为011),但是,可以理解的是11对应的二进制数为1011,最左侧的1所在的位为进位项,该进位项可以通过辅助比特位表示。此时编码运算结果的量子比特与编码e的量子比特位的个数或用来编码f的量子比特位的个数要多,MAJ模块的模块个数以及UMA模块的个数均为3。
示例性的,当2(对应编码在2个量子比特的量子态表示为10)+4(对应编码在3个量子比特的量子态表示为100)=6(对应编码在3个量子比特的量子态表示为110)。此时,编码“6”数值的数值项“3”与编码b的量子比特位的量子态个数一致,MAJ模块的模块个数以及UMA模块的个数均为3。
302、将所述目标模块个数的MAJ模块以及UMA模块进行级联,生成所述加法器模块对应的加法器子量子线路。
其中,所述MAJ模块以及所述UMA模块均包括三个输入项以及三个输出项,可以根据加法指令,将一MAJ级联模块的三个输出项作为一对应UMA级联模块的三个输入项,以将所述MAJ级联模块与对应的UMA级联模块进行级联,生成所述加法器对应的目标量子线路,其中,所述MAJ级联模块由所述目标模块个数的MAJ模块之间级联确定,所述UMA级联模块由所述目标模块个数的UMA模块之间级联确定。
具体地,所述MAJ模块的三个输入项包括一个进位输入项以及两个待计算子量子态输入项,所述MAJ模块的三个输出项包括一个进位输出项和两个中间结果输出项,所述UMA模块的三个输入项包括对应MAJ模块的一个进位输出项以及两个中间结果输出项,所述UMA模块的三个输出项包括一个结果进位输出项、累加和输出项和一待计算子量子态输入项,
然后,可以根据加法指令,将上一MAJ模块输出的进位输出项以及所述两个待计算子量子态输入项作为下一MAJ模块的三个输入项,以将所述目标模块个数的MAJ模块进行级联;
将一MAJ模块的两个中间结果输出项作为一对应UMA模块的两个输入项,获取所述对应UMA模块的上一UMA模块,并将所述上一UMA模块的结果进位输出项作为所述对应UMA模块的一个输入项,以将所述目标模块个数的MAJ模块以及所述目标模块个数的UAM模块进行级联,生成所述初始量子线路;其中,最后一个MAJ模块的进位输出项作为对应的第一个UMA模块的一个输入项;
将所述初始量子线路中最后一个MAJ模块与对应的第一个UMA模块之间添加CNOT量子逻辑门,其中,将所述MAJ模块的进位输出项对应的量子比特作为控制比特,将预设进位辅助比特位作为受控比特位,以生成所述加法器的目标量子线路。在不需要进位项的情况下,可以不设置该CNOT门以及进位辅助比特位。
本实施例中,MAJ模块和UMA模块构成了加法器的前、后级联单元。如图11所示,MAJ模块用于提取出每一级加法运算后的进位项并且传递到下一级,从而将最终进位项计算出来。其中,如图12所示,MAJ模块主要可以由三个逻辑门组成,分别是两个CNOT门和一个Toffoli门。CNOT门(图12中的由左向右的第一个、第二个逻辑门)的作用为:将控制位加到目标位上去,形成一个模2加法,即为异或操作,得到(ei+ci)%2、(ei+fi)%2,两个CNOT门的顺序可以交换。Toffoli门(图12中的由左向右的第三个逻辑门)的作用为:将两个控制位都加到目标位上去,得到进位项c[i+1]=(e[i]AND f[i])XOR(e[i]AND f[i])XOR(e[i]AND f[i])。即通过图12中的由左向右的第一个CNOT门实现通过图12中的由左向右的第二个CNOT门实现通过图12中的由左向右的第三个TOFFOLI门实现ci+1,由此通过2个CNOT门和1个TOFFOLI门,构成量子加法器的前级级联单元。
如图13所示,UMA模块用于级联加法器的后级,UMA模块的实现方式和MAJ模块类似,如图14所示,首先使用Toffoli门(图14中的由左向右的第一个逻辑门)将ci+1还原为ei,再用ei对(e+c)%2用CNOT门(图14中的由左向右的第二个逻辑门)做一次还原,将(ei+ci)%2还原为ci,最后,再使用ci对(ei+fi)%2做一次CNOT门(图14中的由左向右的第三个逻辑门),得到当前位的最终结果s[i]=e[i]XOR f[i]XOR c[i]。
例子1:(ei+ci)%2为0,(ei+fi)%2为0,ci+1为1。
开始把(ei+ci)%2和(ei+fi)%2加到ci+1上,ci+1的值变为1,表示的意义变为ei,再用ei加到(ei+ci)%2上,(ei+ci)%2的值变为1,表示的意义变为ci,再用ci加到(ei+fi)%2上,(ei+fi)%2的值变为1,意义变为si。
例子2:(ei+ci)%2为1,(ei+fi)%2为1,ci+1为1。
开始把(ei+ci)%2和(ei+fi)%2加到ci+1上,ci+1的值变为0,意义变为ei,再用ei加到(ei+ci)%2上,(ei+ci)%2的值变为1,意义变为ci,再用ci加到(ei+fi)%2上,(ei+fi)%2的值变为0,意义变为si。
如图10中由上向下的最后一个CNOT门,即整个加法器MAJ模块和UMA模块中间的CNOT门,用于保存ci+1的结果。
本实施例中,MAJ模块和UMA模块构成了加法器的前、后级联单元。MAJ模块与UMA模块用于提取出每一级加法运算后的进位项并且传递到下一级,从而将最终进位项计算出来,共同实现了量子加法器的功能,共同组成了预设量子线路中的做加法的部分,并与前述实施例中求补码的部分共同组成了预设量子线路。
可见,获取第一集合与目标值,其中,所述第一集合包括一个或多个数值,针对所述第一集合内的每个数值,将所述数值制备成第一量子态,并将所述目标值制备成第二量子态,运行预设量子线路,其中,所述预设量子线路用于比较所述第一量子态与所述第二量子态的大小,对所述预设量子线路中的预设量子比特进行测量,确定所述第一量子态与所述第二量子态的比较结果,根据所述比较结果,对所述数值进行划分。采用本申请实施例能够发挥量子计算的并行加速优势,根据实际的计算需要,基于量子计算根据目标值进行划分,填补相关技术的空白。
上述内容是从方法的角度对本发明进行介绍,下面从装置的角度对本发明进行进一步地介绍,具体请参见图15,包括:
获取单元1501,用于获取第一集合与目标值,其中,所述第一集合包括一个或多个数值;
制备单元1502,用于针对所述第一集合内的每个数值,将所述数值制备成第一量子态,并将所述目标值制备成第二量子态;
运行单元1503,用于运行预设量子线路,其中,所述预设量子线路用于比较所述第一量子态与所述第二量子态的大小;
测量单元1504,用于对所述预设量子线路中的预设量子比特进行测量,确定所述第一量子态与所述第二量子态的比较结果;
划分单元1505,用于根据所述比较结果,对所述数值进行划分。
可见,获取单元1501,用于获取第一集合与目标值,其中,所述第一集合包括一个或多个数值,制备单元1502,用于针对所述第一集合内的每个数值,将所述数值制备成第一量子态,并将所述目标值制备成第二量子态,运行单元1503,用于运行预设量子线路,其中,所述预设量子线路用于比较所述第一量子态与所述第二量子态的大小,测量单元1504,用于对所述预设量子线路中的预设量子比特进行测量,确定所述第一量子态与所述第二量子态的比较结果,划分单元1505,用于根据所述比较结果,对所述数值进行划分。能够将目标集合中的数值基于预设目标值进行划分。
下面以运行在计算机终端上为例对其进行详细说明。图16为本发明实施例提供的一种基于量子计算的数值划分方法的计算机终端的硬件结构框图。如图16所示,计算机终端可以包括一个或多个(图16中仅示出一个)处理器1601(处理器1601可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器1602,可选地,上述计算机终端还可以包括用于通信功能的传输装置1603以及输入输出设备1604。本领域普通技术人员可以理解,图16所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图16中所示更多或者更少的组件,或者具有与图16所示不同的配置。
存储器1602可用于存储应用软件的软件程序以及模块,如本申请实施例中的基于量子计算的数值划分方法对应的程序指令/模块,处理器1601通过运行存储在存储器1602内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器1602可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1602可进一步包括相对于处理器1601远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置1603用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置1603包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置1603可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。本申请实施例还提供一种计算机可读存储介质,其中,该计算机可读存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
本申请实施例还提供一种量子计算机,该量子计算机包括量子计算机操作系统该量子计算机操作系统根据上述方法实施例中记载的任一方法的部分或全部步骤实现所述基于量子计算的数值划分处理。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。
Claims (10)
1.一种基于量子计算的数值划分方法,其特征在于,所述方法包括:
获取第一集合与目标值,其中,所述第一集合包括一个或多个数值;
针对所述第一集合内的每个数值,将所述数值制备成第一量子态,并将所述目标值制备成第二量子态;
运行预设量子线路,其中,所述预设量子线路用于比较所述第一量子态与所述第二量子态的大小;
对所述预设量子线路中的预设量子比特进行测量,确定所述第一量子态与所述第二量子态的比较结果;
根据所述比较结果,对所述数值进行划分。
2.根据权利要求1所述的方法,所述对所述预设量子线路中的预设量子比特进行测量,确定所述第一量子态与所述第二量子态的比较结果,包括:
测量所述预设量子线路中的预设量子比特,以获得所述预设量子比特的量子态;
根据所述预设量子比特的量子态,获取所述第一量子态与所述第二量子态的差值符号位;
根据所述差值符号位确定所述第一量子态与所述第二量子态的比较结果。
3.根据权利要求2所述的方法,其特征在于,所述根据所述差值符号位确定所述第一量子态与所述第二量子态的比较结果,包括:
若所述差值符号位的值为0,则确定所述第一量子态大于或等于所述第二量子态;
若所述差值符号位的值为1,则确定所述第一量子态小于所述第二量子态。
4.根据权利要求3所述的方法,根据所述比较结果,对所述数值进行划分,包括:
若所述第一量子态大于或等于所述第二量子态,将所述数值存储至第二集合。
5.根据权利要求4所述的方法,所述方法还包括:
若所述第一量子态小于所述第二量子态,将所述数值存储至第三集合。
6.根据权利要求1所述的方法,其特征在于,所述预设量子线路包括:加法器模块以及包含所述加法器模块的求补码模块;其中,所述加法器模块由以下方式构建:
根据所述第一量子态和所述第二量子态对应的量子比特位的位数,确定待级联的前级联模块MAJ模块以及待级联的后级联模块UMA模块的目标模块个数,其中,所述MAJ模块的模块个数与所述UMA模块的模块个数相同;
将所述目标模块个数的MAJ模块以及UMA模块进行级联,生成所述加法器模块对应的加法器子量子线路。
7.根据权利要求6所述的方法,其特征在于,所述MAJ模块根据CNOT门与toffoli门构建,所述UMA模块根据CNOT门与toffoli门构建,所述CNOT门与所述toffoli门均为量子逻辑门的一种。
8.一种基于量子计算的数值划分装置,其特征在于,包括:
获取单元,用于获取第一集合与目标值,其中,所述第一集合包括一个或多个数值;
制备单元,用于针对所述第一集合内的每个数值,将所述数值制备成第一量子态,并将所述目标值制备成第二量子态;
运行单元,用于运行预设量子线路,其中,所述预设量子线路用于比较所述第一量子态与所述第二量子态的大小;
测量单元,用于对所述预设量子线路中的预设量子比特进行测量,确定所述第一量子态与所述第二量子态的比较结果;
划分单元,用于根据所述比较结果,对所述数值进行划分。
9.一种电子设备,其特征在于,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-7任一项所述的方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111266124.0A CN116048458B (zh) | 2021-10-28 | 2021-10-28 | 基于量子计算的数值划分方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111266124.0A CN116048458B (zh) | 2021-10-28 | 2021-10-28 | 基于量子计算的数值划分方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116048458A true CN116048458A (zh) | 2023-05-02 |
CN116048458B CN116048458B (zh) | 2024-06-14 |
Family
ID=86130031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111266124.0A Active CN116048458B (zh) | 2021-10-28 | 2021-10-28 | 基于量子计算的数值划分方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116048458B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8510618B1 (en) * | 2011-05-17 | 2013-08-13 | Northrop Grumman Systems Corporation | Error correction in quantum computing system |
US20190095561A1 (en) * | 2017-09-22 | 2019-03-28 | International Business Machines Corporation | Simulating quantum circuits |
CN110929873A (zh) * | 2019-12-11 | 2020-03-27 | 合肥本源量子计算科技有限责任公司 | 一种量子程序的处理方法、装置、存储介质和电子装置 |
CN111310928A (zh) * | 2020-02-28 | 2020-06-19 | 东南大学 | 通用量子比较电路的实现方法 |
CN111598249A (zh) * | 2020-05-19 | 2020-08-28 | 北京百度网讯科技有限公司 | 确定近似量子门的方法、装置、经典计算机和存储介质 |
-
2021
- 2021-10-28 CN CN202111266124.0A patent/CN116048458B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8510618B1 (en) * | 2011-05-17 | 2013-08-13 | Northrop Grumman Systems Corporation | Error correction in quantum computing system |
US20190095561A1 (en) * | 2017-09-22 | 2019-03-28 | International Business Machines Corporation | Simulating quantum circuits |
CN110929873A (zh) * | 2019-12-11 | 2020-03-27 | 合肥本源量子计算科技有限责任公司 | 一种量子程序的处理方法、装置、存储介质和电子装置 |
CN111310928A (zh) * | 2020-02-28 | 2020-06-19 | 东南大学 | 通用量子比较电路的实现方法 |
CN111598249A (zh) * | 2020-05-19 | 2020-08-28 | 北京百度网讯科技有限公司 | 确定近似量子门的方法、装置、经典计算机和存储介质 |
Non-Patent Citations (1)
Title |
---|
袁素真;王艳;王玉婵;黄斐;: "量子乘法器的设计及其实现方法", 重庆邮电大学学报(自然科学版), no. 03, 15 June 2019 (2019-06-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN116048458B (zh) | 2024-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112162723B (zh) | 一种量子减法运算方法、装置、电子装置及存储介质 | |
CN112114776B (zh) | 一种量子乘法运算方法、装置、电子装置及存储介质 | |
CN113222155B (zh) | 一种量子线路的构建方法、装置、电子装置和存储介质 | |
CN112633508A (zh) | 一种量子线路的生成方法、装置、存储介质及电子装置 | |
CN112214200B (zh) | 一种量子减法运算方法、装置、电子装置及存储介质 | |
CN113222153A (zh) | 一种量子态的模拟方法、装置、存储介质和电子装置 | |
CN115809707B (zh) | 量子比较运算方法、装置、电子装置及基础算术组件 | |
CN114819163B (zh) | 量子生成对抗网络的训练方法、装置、介质及电子装置 | |
CN116048458B (zh) | 基于量子计算的数值划分方法、装置、设备及存储介质 | |
CN113222157A (zh) | 一种量子模拟方法、装置、电子装置及存储介质 | |
CN115936127B (zh) | 一种基于量子技术的数值比较方法、装置及量子计算机 | |
CN116049506B (zh) | 基于量子计算的数值查找方法、装置、设备及存储介质 | |
CN112162725B (zh) | 一种量子除法运算方法、装置、电子装置及存储介质 | |
CN115809042B (zh) | 量子模数加法运算方法、装置、电子装置及模数算术组件 | |
CN115809706B (zh) | 量子模数倍增运算方法、装置、电子装置及模数算术组件 | |
CN115907016B (zh) | 一种基于量子计算搜索目标范围值的方法及相关装置 | |
CN115713122B (zh) | 一种量子数据与经典数据的大小关系的确定方法及装置 | |
CN115879558B (zh) | 一种多个量子态之间的大小比较方法及装置 | |
CN115879557B (zh) | 基于量子线路的数据大小比较方法、装置及量子计算机 | |
CN115879555B (zh) | 量子模数快速乘法运算方法、装置及模数算术组件 | |
CN115879554B (zh) | 量子模数平方运算方法、装置、电子装置及模数算术组件 | |
CN115879559B (zh) | 多个量子态之间的等值关系判断方法、装置及量子计算机 | |
CN115879552B (zh) | 量子模数乘逆运算方法、装置、电子装置及模数算术组件 | |
CN115879560B (zh) | 一种量子数据与经典数据的等值关系判断方法及装置 | |
CN116402149B (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 | ||
CB02 | Change of applicant information |
Address after: 230088 6th floor, E2 building, phase II, innovation industrial park, 2800 innovation Avenue, high tech Zone, Hefei City, Anhui Province Applicant after: Benyuan Quantum Computing Technology (Hefei) Co.,Ltd. Address before: 230088 6th floor, E2 building, phase II, innovation industrial park, 2800 innovation Avenue, high tech Zone, Hefei City, Anhui Province Applicant before: ORIGIN QUANTUM COMPUTING COMPANY, LIMITED, HEFEI |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |