CN113609806A - 一种结合子图同构的量子线路程序通用变换方法 - Google Patents
一种结合子图同构的量子线路程序通用变换方法 Download PDFInfo
- Publication number
- CN113609806A CN113609806A CN202110861966.4A CN202110861966A CN113609806A CN 113609806 A CN113609806 A CN 113609806A CN 202110861966 A CN202110861966 A CN 202110861966A CN 113609806 A CN113609806 A CN 113609806A
- Authority
- CN
- China
- Prior art keywords
- quantum
- mode
- line
- graph
- str
- 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 50
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 14
- 239000002096 quantum dot Substances 0.000 claims abstract description 58
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 52
- 238000011426 transformation method Methods 0.000 claims abstract description 6
- 238000013507 mapping Methods 0.000 claims description 59
- 238000012545 processing Methods 0.000 claims description 25
- 230000009466 transformation Effects 0.000 claims description 11
- 239000013256 coordination polymer Substances 0.000 claims description 4
- 230000001419 dependent effect Effects 0.000 claims description 4
- 238000006467 substitution reaction Methods 0.000 claims 2
- 230000001131 transforming effect Effects 0.000 claims 1
- 238000005457 optimization Methods 0.000 abstract description 29
- 230000008569 process Effects 0.000 abstract description 16
- 238000012360 testing method Methods 0.000 abstract description 4
- 238000002474 experimental method Methods 0.000 abstract description 2
- 238000000354 decomposition reaction Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000005040 ion trap Methods 0.000 description 5
- 241001134453 Lista Species 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 125000002015 acyclic group Chemical group 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000004576 sand Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000005283 ground state Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- RASFMBBIZLUCME-UHFFFAOYSA-N methyl 2-amino-3-[(2-amino-3-methoxycarbonylphenyl)methyl]benzoate Chemical compound COC(=O)C1=CC=CC(CC=2C(=C(C(=O)OC)C=CC=2)N)=C1N RASFMBBIZLUCME-UHFFFAOYSA-N 0.000 description 1
- 230000005610 quantum mechanics Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/337—Design optimisation
Abstract
本发明提出一种结合子图同构的量子线路程序通用变换方法,将量子线路表示成顶点为单量子门或双量子门、边为弧尾结点依赖的量子比特信息的DAG;并在这种DAG上提出子图同构的QVF算法解决线路的模式匹配问题,并基于线路匹配信息设计子图替换算法。本发明还引入量子线路等价关系的模式描述格式,并定义通用模式和合并模式两种具体模式类别及其描述格式,使得重写方法能够处理诸如线路优化、线路转换等重写问题。在IBM和ScaffCC提供的量子测试程序集上的实验表明,本发明的方法实现的连续单量子门优化能够对量子程序规模提供10%的优化率。
Description
技术领域
本发明涉及量子计算、线路优化和模式匹配领域,尤其是一种结合子图同构的量子线路程序通用变换方法。
背景技术
量子计算是一种遵循量子力学规律调控量子设备进行计算的新型计算模式。与经典计算相比,量子计算展现出不同的可能性。例如,量子算法中的Shor算法相较于经典的大数分解算法有指数级的加速,Grover算法对于经典的数据库查找算法提供了平方级的加速。
在量子计算中,基本的存储和运算单位是量子比特。与经典比特类似,量子比特具有|0>和|1>两种基态;不过量子比特还可处于叠加态,其为上述两种状态的任意线性组合:
其中,α和β分别是|0>态和|1>态对应的复振幅,满足|α|2+|β|2=1。
作用于量子比特的基本操作被称作是量子门,图1展示的是一些基本的单量子门(作用于单量子比特,如H,X,Y,Z,P)以及一个常用的双量子门(作用于双量子比特,如CNOT门)的符号表示以及矩阵表示。所有这些门都可以用酉矩阵U描述其数学语义,并且满足(其中是U的共轭转置,I是单位矩阵)。量子门gA和gB满足对易关系当且仅当它们的矩阵表示MA和MB互相对易,即MAMB=MBMA。
量子线路是量子程序常用的抽象模型。它由一系列作用于一组量子比特的量子门组成,如图2(a)。在该模型中,每个量子比特通过一根水平线表示,量子门则是由图1中所示的盒状符号表示;时间的流动方向为从左到右,因此量子门从左到右依次作用在量子比特上。另一种常用的抽象模型是量子程序的DAG(有向无环图)表示。与量子线路相比,其强调了量子门之间对于量子比特的依赖关系。量子映射算法中使用的DAG结构会忽略单量子门的信息,如图2(b)所示,这是因为单量子门的执行不会引入量子比特间的依赖关系。但在本发明中,如图2(c)所示,单量子门的信息会保留在DAG中,以便执行量子线路子图匹配过程(本发明的DAG定义详见发明内容部分)。
尽管量子计算在最近几年的发展令人耳目一新,但是在这过程中暴露了量子计算中软硬件之间的差距;
1)逻辑门与物理门:在量子程序中使用的量子门通常被称为逻辑门。与量子硬件支持的物理门不同,逻辑门追求程序的表达能力以及良好的可读性,往往更加丰富也经常被扩展。与经典计算中的指令集(ISA)类似,物理门的类别受设备的物理性质限制,往往是硬件相关、固定且有限的。例如,对于目前两大类可编程量子物理体系,超导体系上支持的双量子门常为CNOT门,而离子阱体系上支持的常为XX门。
2)噪声对量子程序的影响:噪声是影响量子线路执行的关键因素之一。量子比特与周围环境的交互不可避免地引入退相干等噪声,这使得量子态(尤其是|1>态)会随时间流逝而以指数的速度失真,而量子程序执行的保真度也随之下降。每个量子比特的相干时长非常短,例如超导体系下最多为100μs。这就导致目前量子设备能够实现的量子算法大都是浅层算法(量子线路深度较小,以降低对量子比特维持量子态的时长需求),较大规模的量子算法需要通过量子-经典混合实现。
上述问题是量子程序编译亟需解决的问题。程序执行抽象层之间和不同物理体系之间的差异导致在执行之前,量子程序必须经过适当的转换。噪声的存在使得线路优化在减少线路运行时间的基础上,还能通过降低线路规模以提高程序执行的保真度。针对量子线路的转换和优化行为,统称为量子线路的重写操作。
发明内容
在量子程序编译中,为解决量子计算平台与量子程序执行抽象层之间的差异、噪声引起的量子程序执行保真度下降等问题,量子程序必须经过适当的转换。针对量子线路等价变换,本发明提出了一种结合子图同构的量子线路程序通用变换方法,其实质上为一种重写方法,将量子线路表示成顶点为单量子门或双量子门、边为弧尾结点依赖的量子比特信息的DAG;并在这种DAG上提出子图同构的QVF算法解决线路的模式匹配问题,并基于线路匹配信息设计子图替换算法。为了扩展重写方法的处理范围,本发明还引入量子线路等价关系的模式描述格式,并定义通用模式和合并模式这两种具体模式类别的JSON描述格式,使得重写方法能够处理诸如线路优化、线路转换等重写问题。在IBM和ScaffCC提供的量子测试程序集上的实验结果表明,该框架实现的连续单量子门优化(属于合并模式)能够对量子程序规模提供10%的优化率。
本发明的技术方案为:一种结合子图同构的量子线路程序通用变换方法,包括如下步骤:
步骤1、输入量子程序,基于线路模型,将量子线路转换成有向无环图(DAG)表示;
步骤2、模式调度器进行判断,如果用户没有给模式调度器指定调度规则,则直接从模式库中随机选出模式;如果模式调度器存在用户指定的规则,则根据指定规则选出一条模式;如果模式库为空,则算法终止;
步骤3、模式调度器根据模式的种类选择合适的例程执行处理;具体的,如果为通用模式,则执行步骤4;如果为合并模式,则执行步骤5;
步骤4、执行通用模式,其包含要查找的子线路,以及用于替换的子线路,两者均具有固定的结构;完成后返回步骤2;
步骤5、执行合并模式,找到连续的合并模式指定的单量子门,再由合并模式指定的处理函数进行处理,完成后返回步骤2。
进一步的,步骤1中,将量子线路转换成DAG表示,是指将量子线路表示成顶点为单量子门或双量子门、边为弧尾结点依赖的量子比特信息的DAG。
进一步的,步骤4中,执行通用模式,其包含要查找的子线路,以及用于替换的子线路,两者均具有固定的结构,具体包括:
步骤4.1、给定原始线路和模式线路的DAG表示,执行QVF量子线路模式匹配算法;
步骤4.2、经过匹配后输出同构映射列表作为匹配线路上下文;
步骤4.3、给定原始线路和替代子线路的DAG表示,结合步骤4.2中的匹配线路上下文执行子图替换算法;
进一步的,基于JSON文件定义通用模式和合并模式两种模式的描述格式,通用模式包含模式线路和替代线路两部分,分别标记为Cp和Cs;模式线路描述什么样的线路被替换,而替代线路描述应该用什么样的线路替换模式线路。
每个通用模式的描述格式主要由三部分组成:“qubits”,“src”和“dst”,其中,“qubits”项描述的是模式线路CP中使用的最大量子比特个数,“src”和“dst”项用于说明转换关系的源线路,即模式线路和目标线路,即替代线路。
QVF量子线路匹配算法具体包括如下步骤:
1)初始化同构映射列表为空集,状态队列其中指的是空集,为初始时状态队列中保存的唯一一个同构映射M=<M1,M2>,其结构映射M1和语义映射M2均为空集;并初始化用于暂存当前状态结构映射的Mstr和语义映射的Msem;
2)如果Qs为空,程序终止,否则程序继续执行;
3)从Qs中取出队列头部的同构映射M=<M1,M2>,并进行赋值<Mstr,Msem>=M,接着将其从状态队列Qs中删去;
5)根据当前结构映射Mstr、原始线路Go和模式线路Gp计算出当前的候选有序点对集合P;
6)遍历集合P中的每个点对p,执行:
6.1)执行FeasibilityRules(Mstr,Msem,p)函数,判断添加点对p后的结构映射Mstr是否满足顶点同构条件,并修改语义映射Msem为M′sem,使之符合新的顶点映射关系;如果存在这样的M′sem,执行6.2),否则取出下一个点对p,重新执行6.1);
6.2)将新的同构映射M′=<Mstr∪p,M′sem>添加到队列Qs中,取出下一个点对p,回到6.1);
7)返回2)。
其中6.1)提及的FeasibilityRules函数是定义2的函数体现。与原VF2算法不同,QVF不仅需要考虑结构映射的正确性并进行进一步的剪枝,而且还需要考虑量子门各参数的映射是否满足要求,例如量子门类型,尤其是量子比特参数和旋转参数。
子图替换算法具体包括如下步骤:
1)初始化线路子图表示Gr=Go;
3)利用Mstr中包含的顶点信息确定原始图中的匹配子图g,利用Msem包含的映射关系实例化模式线路Gs;
4)确定模式线路Gs中由第一个和最后一个作用于某个量子比特的量子门对应顶点组成的集合Sin和Sout;
5)确定由进入和离开匹配子图g的顶点组成的集合Tin和Tout;
6)将匹配子图g,以及其顶点与剩余部分所连的边从Gr中删除,并将Gs添加到Gr中,此时Gr由切除后的剩余部分和实例化的Gs组成,并且两者之间没有连边;
7)对于匹配子图g中包含的每个量子比特q∈g.Q,执行如下步骤:
7.2)根据q′是否在Gs中分为两种情况:
i.如果q′∈Gs·Q,说明Sin[q′]和Sout[q′]存在;如果Tin[q]存在,则往Gr添加新边(Tin[q],Sin[q′]);如果Tout[q]存在,往Gr添加新边(Sout[q′],Tout[q]);
7.3)如果存在,则取出g中的下一个量子比特q,回到7.1),否则执行8);
8)回到2)。
有益效果:
本发明能够实现线路转换和线路优化功能,本发明提出子图同构的QVF算法解决线路的模式匹配问题,并基于线路匹配信息设计子图替换算法。本发明还引入量子线路等价关系的模式描述格式,并定义通用模式和合并模式两种具体模式类别及其描述格式,使得重写方法能够处理诸如线路优化、线路转换等重写问题。在IBM和ScaffCC提供的量子测试程序集上的实验表明,本发明的方法实现的连续单量子门优化能够对量子程序规模提供10%的优化率。
附图说明
图1一些通用量子门在量子线路中的符号表示以及对应的矩阵表示;
图2量子程序的线路模型以及DAG表示;(a)线路模型、(b)不带单量子门的DAG表示、(c)带单量子门的DAG表示;
图3量子线路重写方法的处理流程;
图4Bridge门的线路模型以及对应的通用模式描述格式,(a)线路模型表示下的线路等价关系示例,(b)模式描述格式表示的线路等价关系;
图5针对H门的合并模式;
图6针对Bridge门的等价模式的DAG表示;
图7示例线路的匹配子图及其Tin和Tout结构;
图8匹配子图g原本所在的位置已经被实例化后的Gs所替代示意图;
图9Qiskit中超导平台和离子阱平台之间的分解规则;
图10U3门的矩阵表示。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅为本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域的普通技术人员在不付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明的主要技术内容涉及量子线路的DAG表示的定义、等价量子线路的描述格式、子图同构算法QVF和子图替换算法的设计。在介绍各个部分的具体细节之前,先简单概括本发明提出的量子线路通用变换方法的具体流程,并给出介绍过程涉及到的若干定义。
这里作为输入与输出的量子线路模型的具体实现由各个程序平台决定,但在处理之前都需要转换为本发明重写方法所定义的DAG中间表示。在本发明中,量子线路的DAG表示定义如下:
定义1(量子线路的DAG表示):一个量子线路的DAG表示被定义为一个三元组G=<Q,V,E>,其中Q={0,1,2,...}包含量子线路所作用的量子比特索引值,V和E分别表示DAG中的顶点集合和边集;DAG中的每一个顶点v=(op,qlist,angle)∈V对应于量子线路中的一个门,其中op代表门操作类型,qlist和angle存储的是量子比特参数和可能存在的旋转角度;每条边e=(<vi,vj>,q)∈E表示门vi到vj之间的量子比特依赖关系,即门vj依赖于门vi作用后的量子比特q∈Q的状态,并且q满足q∈vi.qlist和q∈vj·qlist。
图3展示的是量子线路方法的处理流程图,具体的,一种结合子图同构的量子线路程序通用变换方法,包括如下步骤:
步骤1、输入量子程序,基于线路模型,将量子线路转换成有向无环图(DAG)表示;
步骤2、模式调度器进行判断,如果用户没有给模式调度器指定调度规则,则直接从模式库中随机选出模式;如果模式调度器存在用户指定的规则,则根据指定规则选出一条模式;
步骤3、模式调度器根据模式的种类选择合适的例程执行处理;具体的,如果为通用模式,则执行步骤4;如果为合并模式,则执行步骤5;
步骤4、执行通用模式,其包含要查找的子线路,以及用于替换的子线路,两者均具有固定的结构;完成后返回步骤2;
步骤5、执行合并模式,找到连续的合并模式指定的单量子门,再由合并模式指定的处理函数进行处理,完成后返回步骤2;
步骤6、根据具体的需求依次调度,依次完成线路优化,完成后输出转换后的量子线路模型。
如果用户没有给模式调度器指定调度规则,在量子线路转换成DAG表示之后,模式调度器直接从模式库中取出一种模式。根据模式的种类选择合适的例程执行处理。本发明已提供两种模式的重写,一种模式称为通用模式,而另一种称为合并模式。
通用模式描述的是需要查找的子线路,以及用于替换的子线路,两者均具有固定的结构。处理通用模式的例程由模式匹配算法和子图替换算法组成。为了获得更好的性能,模式匹配算法将在线路中查找模式线路的问题转化成了图论中的子图同构问题。目前最常用的子图同构算法之一是VF2算法,本发明根据量子线路变换本身的特点对VF2算法进行了改造,设计了QVF量子线路模式匹配算法。对输入的量子线路程序(称为原始线路,记作Co),经QVF算法模式匹配获得的匹配信息称为匹配线路上下文,该信息会被传递给子图替换过程。子图替换过程以原始线路和替代线路的DAG表示,利用匹配线路上下文确定线路中模式线路的位置并替换之。
合并模式描述的是连续作用于某个量子比特的量子门。与通用模式不同,其并不具有固定的结构,这也意味着上述例程并不适合处理这种模式。因此,合并模式对应例程的处理思路是先在线路中找到连续的指定单量子比特门,例如图1中所展示的,再由合并模式指定的处理函数进行处理。
如果模式调度器存在特定的指定规则,则模式的执行并不是顺序执行,而是根据具体的需求依次调度,以此完成诸如对易优化、连续单门优化等具有较复杂逻辑的线路优化,扩展框架的处理能力。
等价线路的模式描述格式
本发明提出的重写方法旨在替换线路中不支持或者高开销的子线路。为使重写方法对支持的线路等价变换模式具有扩展性,本发明设计模式描述格式,用户可以遵循该格式来描述需要替换的线路以及要替换成的线路。此外,为确保模式对等价关系的表达能力,本发明基于JSON文件定义了通用模式和合并模式两种模式的描述格式。
模式一:通用模式
每一种通用模式包含模式线路和替代线路两部分,分别标记为Cp和Cs。模式线路描述什么样的线路被替换,而替代线路描述应该用什么样的线路替换模式线路。
图4(b)展示了图4(a)中所示的通用的线路等价模式,即Bridge门,其常用于抽象量子比特的拓扑结构具有方向的量子硬件设备中。图4(b)第一行的“general”项表明接下来的方括号中包含了一系列的通用模式。第2-21行描述了称作“bridge”的通用模式,该模式的名称可由用户自定义。
每个通用模式的描述格式主要由三部分组成:“qubits”,“src”和“dst”。其中,“qubits”项描述的是模式线路CP中使用的最大量子比特个数。“src”和“dst”项用于说明转换关系的源线路(即模式线路)和目标线路(即替代线路)。
量子线路的描述格式由“cost”和“circuit”两部分组成。“cost”项用于说明线路的开销。当前框架中存在两种可能的通用模式:如果CP与CS的代价是相等的,那么该模式描述的就是分解规则;如果CS的代价低于CP的,那么模式描述的是优化规则。代价的计算基于双量子比特门的实现代价为2而单量子比特门的实现开销为1的简单假定,具体数值可由用户根据情况而更改。对于作用在多于两量子比特的量子门,其代价的计算应当基于将其分解为双量子门和单量子门后的线路。
“circuit”项以一种类似量子程序的方式,由一系列门组成。每一行描述一个量子门操作,包含门的种类及其参数,参数涉及所作用的量子比特以及旋转角度。此外,量子线路中的角度参数可以是常量也可以是变量。
注意在通用模式描述中,所定义的模式线路和替代线路均为线路模板,其所涉及的参数都会在匹配或者替换过程中重新设置,两者共用一套虚拟参数。在模式匹配过程中,有必要辨别原始线路中哪个子图与模式线路同构,或者说能够匹配,具体的同构条件见定义2。这里用原始图、模式图以及替代图分别指代原始线路、模式线路和替代线路的DAG表示,记为Go,Gp和Gs。
定义2(量子线路的子图同构条件)对于两个给定的量子线路DAG表示Gp、Gs,从Gp到映射M=<Mstr,Msem>代表一个可行的同构关系,当对于结构映射Mstr,(n,m)∈Mstr,n∈Gp.V,m∈Gs.V满足下面的顶点同构条件:
i.n.op=m.op;
ii.|n.qlist|=|m.qlist|;
iii.|n.angle|=|m.angle|;
iv.对于每个i,n.angle[i]与m.angle[i]为相同的复常数,或者至多一个为变量;
同时,对于语义映射msem,每个边对(es,ed)∈Msem满足下面的边同构条件:
i.es=(<n1,n2>,q1)∈Gp.E;
ii.ed=(<m1,m2>,q2)∈Go.E;
iii.(n1,m1)∈Mstr,(n2,m2)∈Mstr;
此外,对于每个量子比特对(q1,q2)∈msem,q1,q2应具有相同的量子比特类型(例如均为控制比特或均为受控比特)
同构条件描述原始图中匹配的子图,记为g,与模式图之间的匹配关系。由于原始线路中存在多个模式线路的匹配线路,本发明定义列表作为匹配线路上下文,其被模式匹配算法传递给子图替换部分。在子图替换算法中,每个Mi被用于实例化替代线路(特别是量子比特参数以及旋转角度)并以之替换由确定的子图。
模式二:合并模式
由于量子门是可逆操作,连续作用于相同的量子比特的同类型量子门,其作用等价于恒等变换或者一个量子门的作用,举例来说,偶数个连续作用的H门可以从线路中直接移除,而多个连续作用的Rz门可以被替换成单个Rz门。显然这种模式不具有固定的结构,通用模式虽然能够通过一次性处理若干个门完成这一功能,但是效率低下并且扩展性较差。因此,本发明设计了合并模式以扩展本模式描述格式的表达能力,正如图5所示,第2-8行定义了名为“accH”的合并模式。
由于指定处理函数的职责移交给了用户以及解释器,因此合并模式相比通用模式简单得多。第一行的“merge”说明之后的中括号内定义的是一系列合并模式。根据“type”项,模式调度器中的解释器需要告诉合并处理模块需要找到哪个门的连续序列。处理模块不保留匹配线路上下文,而是在发现连续序列时调用“function”项指定的函数来处理匹配的子图。
根据本发明的实施例,因为合并模式和模式调度器的执行流程依赖于用户的选择,所以整个重写方法主要考虑通用模式处理例程的实现细节。
本发明的QVF模式匹配算法,具体如下:
根据本发明的实施例,QVF算法的总体思路如下:
1)初始化同构映射列表为空集,状态队列其中指的是空集,为初始时状态队列中保存的唯一一个同构映射M=<M1,M2>,其结构映射M1和语义映射M2均为空集;并初始化用于暂存当前状态结构映射的Mstr和语义映射的Msem;
2)如果Qs为空,程序终止,否则程序继续执行;
3)从Qs中取出队列头部的同构映射M=<M1,M2>,并进行赋值<Mstr,Msen>=M,接着将其从状态队列Qs中删去;
5)根据当前结构映射Mstr、原始线路Go和模式线路Gp计算出当前的候选有序点对集合P;
6)遍历集合P中的每个点对p,执行:
6.1)执行FeasibilityRules(Mstr,Msem,p)函数,判断添加点对p后的结构映射Mstr是否满足顶点同构条件,并修改语义映射Msem为M′sem,使之符合新的顶点映射关系;如果存在这样的M′sem,执行6.2),否则取出下一个点对p,重新执行6.1);
6.2)将新的同构映射M′=〈Mstr∪p,M′sem〉添加到队列Qs中,取出下一个点对p,回到6.1);
7)返回2)。
其中6.1)提及的FeasibilityRules函数是定义2的函数体现。与原VF2算法不同,QVF不仅需要考虑结构映射的正确性并进行进一步的剪枝,而且还需要考虑量子门各参数的映射是否满足要求,例如量子门类型,尤其是量子比特参数和旋转参数。
本发明的子图替换算法,具体如下:
QVF模式匹配产生的匹配线路的上下文信息,即同构映射列表被传递给子图替换算法。对于中每一项同构映射,结构映射Mstr用于确定匹配子图g的位置,而语义映射Msem用于实例化作为模板的替代图Gs的各项参数,以保证DAG作为量子线路表示的合理性。因此算法的输入包括映射列表原始图Go和替代图Gs,输出为替换后的DAG表示Gr。
子图替换中最重要的环节是确定删去匹配子图g后的DAG和实例化后的替代图Gs之间的连接点。为此,引入新的结构来说明这一操作。记Tin为那些弧头在g中而弧尾不在g中的边的弧尾顶点的集合,Tout为那些弧尾在g中而弧头不在g中的边的弧头顶点的集合;记Sin包含拓扑序中第一个包含某个量子比特q的顶点,而Sout包含拓扑序中最后一个包含某个量子比特q′的顶点。前者对应于量子线路中量子比特q对应水平线上的第一个量子门,后者对应于量子比特q′对应水平线上最后一个量子门。两者在量子线路的DAG表示中均普遍存在,为了避免歧义,这里将Tin和Tout的使用范围限定在Go中,即v∈Go,并将Sin和Sout的使用范围限定在Gp和Gs中(两者作为模板线路共享一套虚拟量子比特集合)。
注意到这些集合彼此内的顶点都存在和量子比特之间的映射关系。Sin和Sout显然。因为每条边e都具有量子比特标签e.q,所以Tin(Tout)内节点与定义时对应边e的标签e.q存在联系。因此,本发明给将原本的集合添加对应的量子比特q索引以方便之后的说明。
为方便理解,图6为图4(a)的DAG表示。图中DAG节点只包含了其在DAG图中的序号以及对应的量子操作。图6右侧展示的是该模式的替代图。由于0号节点既对应于第一个作用于量子比特q[0]和q[1]的量子门,同时也是最后一个,所以此时替代图中Sin=Sout={0}。考虑利用图6的等价模式在图7所示的某一量子线路的DAG表示应用模式匹配算法,找到图7中6-10节点对应的子图g。对于匹配子图g,其对应的Tin和Tout结构也一并在图中被标出。其中,由于4号节点具有一条指向6号节点的边,因此其属于Tin。为了方便之后的使用,根据这条边的标签将节点记为Tin[q[2]]。13号节点和14号节点作为标签为q[2]和q[3]的边的弧头,因此属于Tout,记两节点为Tout[q[2]],Tout[q[3]]。在算法的替换过程中,由于每条边代表的是节点之间关于量子比特的依赖,连接点的建立就是将Tin和Sin,Tout和Sout中操作相同量子比特的节点连接起来。
子图替换算法运行思路如下:
1)初始化线路子图表示Gr=Go;
3)利用Mstr中包含的顶点信息确定原始图中的匹配子图g,利用Msem包含的映射关系实例化模式线路Gs;
4)确定模式线路Gs中由第一个和最后一个作用于某个量子比特的量子门对应顶点组成的集合Sin和Sout;
5)确定由进入和离开匹配子图g的顶点组成的集合Tin和Tout;
6)将匹配子图g,以及其顶点与剩余部分所连的边从Gr中删除,并将Gs添加到Gr中,此时Gr由切除后的剩余部分和实例化的Gs组成,并且两者之间没有连边;
7)对于匹配子图g中包含的每个量子比特q∈g.Q,执行如下步骤:
7.2)根据q′是否在Gs中分为两种情况:
i.如果q′∈Gs.Q,说明Sin[q′]和Sout[q′]存在;如果Tin[q]存在,则往Gr添加新边(Tin[q],Sin[q′);如果Tout[q]存在,往Gr添加新边(Sout[q′],Tout[q]);
7.3)如果存在,则取出g中的下一个量子比特q,回到7.1),否则执行8);
8)回到2)。
运行完子图替换算法,如图8所示,此时在Gr中,匹配子图g原本所在的位置已经被实例化后的Gs所替代。但是相较于原始图,其余部分保持不变,并且新增加的与替代子图之间的边符合定义一中对量子线路的DAG表示的要求。
本发明能够实现线路转换和线路优化功能。下面讨论这两者的实现思路。
应用一:线路转换
线路转换解决的是物理层与逻辑层和不同物理平台之间的实现差异。举例来说,对于平台之间的转换,量子编程框架采用的是类似的思路,图9所示,其利用分解规则的方式引入离子阱平台。第一条规则展示的是从超导中的CNOT门到离子阱支持的量子门的分解规则,后两条展示的是从离子阱的XX-旋转(rxx)门和门到CNOT操作的分解规则。显然,这些规则都可以通过本发明设计的通用模式表达,自然也能通过本发明的重写方法完成平台之间的转换。
应用二:线路优化
将线路中高开销的子线路替换成低开销的另一等价实现的线路优化可以借助本发明的通用模式的表达能力重写方法来完成。对于比较复杂的线路优化方法,则需要借助模式调度模块。例如连续单量子门的优化。这一操作的基础是所有单量子门都可以被表示为U3门(U3门的表达式如图10所示),并且若干个连续的U3门可以合并成一个U3门,从而减少操作数以降低线路规模。本发明可以在模式库中添加单量子门到U3门的转换规则以及连续U3门的合并规则,并令模式调度器先完成单量子门的转换再调用U3门的合并,从而完成连续单门的合并。
本发明方法的框架称为pattern-matching-based universal Quantum CircuitRewriting framework(QCiR)。利用本发明,实现了一个上述的连续单量子比特门优化,并利用选自IBM和ScaffCC提供的测试程序检测QCiR框架的性能。本发明采用优化后的量子门数量以及优化率作为本优化算法的评价指标,以衡量本发明的效能。表1展示的实验结果,从表中可看出QCiR框架实现的连续单门优化平均有10%的优化率,从而证明了框架的有效性。
表1.连续单门优化对IBM和ScaffCC提供的测试程序的执行结果
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,且应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (8)
1.一种结合子图同构的量子线路程序通用变换方法,其特征在于,包括如下步骤:
步骤1、输入量子程序,基于线路模型,将量子线路转换成有向无环图DAG表示;
步骤2、模式调度器进行判断,如果用户没有给模式调度器指定调度规则,则直接从模式库中随机选出模式;如果模式调度器存在用户指定的规则,则根据指定规则选出一条模式;如果模式库为空,则算法终止;
步骤3、模式调度器根据模式的种类选择合适的例程执行处理;具体的,如果为通用模式,则执行步骤4;如果为合并模式,则执行步骤5;
步骤4、执行通用模式,其包含要查找的子线路,以及用于替换的子线路,两者均具有固定的结构;完成后返回步骤2;
步骤5、执行合并模式,找到连续的合并模式指定的单量子门,再由合并模式指定的处理函数进行处理,完成后返回步骤2。
2.根据权利要求1所述的一种结合子图同构的量子线路程序通用变换方法,其特征在于,所述步骤1中,将量子线路转换成DAG表示,是指将量子线路表示成顶点为单量子门或双量子门、边为弧尾结点依赖的量子比特信息的DAG;所述量子线路的DAG表示定义如下:
定义1量子线路的DAG表示:一个量子线路的DAG表示被定义为一个三元组G=<q,V,E>,其中Q={0,1,2,..}包含量子线路所作用的量子比特索引值,V和E分别表示DAG中的顶点集合和边集;DAG中的每一个顶点v=(op,qlist,angle)∈V对应于量子线路中的一个门,其中op代表门操作类型,qlist和angle存储的是量子比特参数和可能存在的旋转角度;每条边e=(<vi,vj>,q)∈E表示门vi到vj之间的量子比特依赖关系,即门vj依赖于门vi作用后的量子比特q∈q的状态,并且q满足q∈vi.qlist和q∈vj.qlist。
3.根据权利要求1所述的一种结合子图同构的量子线路程序通用变换方法,其特征在于,
所述步骤4中,执行通用模式,其包含要查找的子线路,以及用于替换的子线路,两者均具有固定的结构,具体包括:
步骤4.1、给定原始线路和模式线路的DAG表示,执行QVF量子线路模式匹配算法;
步骤4.2、经过匹配后输出同构映射列表作为匹配线路上下文;
步骤4.3、给定原始线路和替代子线路的DAG表示,结合步骤4.2中的匹配线路上下文执行子图替换算法。
4.根据权利要求1所述的一种结合子图同构的量子线路程序通用变换方法,其特征在于,所述步骤3中,基于JSON文件定义通用模式和合并模式两种模式的描述格式,通用模式包含模式线路和替代线路两部分,分别标记为Cp和Cs;模式线路描述什么样的线路被替换,而替代线路描述应该用什么样的线路替换模式线路。
5.根据权利要求1所述的一种结合子图同构的量子线路程序通用变换方法,其特征在于,所述通用模式的描述格式包括三部分:“qubits”,“src”和“dst”,其中,“qubits”项描述的是模式线路CP中使用的最大量子比特个数,“src”和“dst”项用于说明转换关系的源线路,即模式线路和目标线路,即替代线路。
6.根据权利要求3所述的一种结合子图同构的量子线路程序通用变换方法,其特征在于,所述步骤4.1、给定原始线路和模式线路的DAG表示,执行QVF量子线路模式匹配算法,具体包括如下步骤:
1)初始化同构映射列表为空集,状态队列其中指的是空集,为初始时状态队列中保存的唯一一个同构映射M=<M1,M2>,其结构映射M1和语义映射M2均为空集;并初始化用于暂存当前状态结构映射的Mstr和语义映射的Msem;
2)如果Qs为空,程序终止,否则程序继续执行;
3)从Qs中取出队列头部的同构映射M=<M1,M2>,并进行赋值<Mstr,Msem>=M,接着将其从状态队列Qs中删去;
5)根据当前结构映射Mstr、原始线路Go和模式线路Gp计算出当前的候选有序点对集合P;
6)遍历集合P中的每个点对p,执行:
6.1)执行FeasibilityRules(Mstr,Msem,p)函数,判断添加点对p后的结构映射Mstr是否满足顶点同构条件,并修改语义映射Msem为M′sem,使之符合新的顶点映射关系;如果存在这样的M′sem,执行6.2),否则取出下一个点对p,重新执行6.1);
6.2)将新的同构映射M′=<Mstr∪p,M′sem>添加到队列Qs中,取出下一个点对p,回到6.1);
7)返回2)。
7.根据权利要求3所述的一种结合子图同构的量子线路程序通用变换方法,其特征在于,所述步骤4.3、执行子图替换算法,具体包括如下步骤:
1)初始化线路子图表示Gr=Go;
3)利用Mstr中包含的顶点信息确定原始图中的匹配子图g,利用Msem包含的映射关系实例化模式线路Gs;
4)确定模式线路Gs中由第一个和最后一个作用于某个量子比特的量子门对应顶点组成的集合Sin和Sout;
5)确定由进入和离开匹配子图g的顶点组成的集合Tin和Tout;
6)将匹配子图g,以及其顶点与剩余部分所连的边从Gr中删除,并将Gs添加到Gr中,此时Gr由切除后的剩余部分和实例化的Gs组成,并且两者之间没有连边;
7)对于匹配子图g中包含的每个量子比特q∈g.Q,执行如下步骤:
7.2)根据q′是否在Gs中分为两种情况:
i.如果q′∈Gs.Q,说明Sin[q′]和Sout[q′]存在;如果Tin[q]存在,则往Gr添加新边(Tin[q],Sin[q′]);如果Tout[q]存在,往Gr添加新边(Sout[q′],Tout[q]);
7.3)如果存在,则取出g中的下一个量子比特q,回到7.1),否则执行8);
8)回到2)。
8.根据权利要求6所述的一种结合子图同构的量子线路程序通用变换方法,其特征在于,用原始图、模式图以及替代图分别指代原始线路、模式线路和替代线路的DAG表示,记为Go,Gp和Gs;所述同构条件如下定义2:
定义2量子线路的子图同构条件为:对于两个给定的量子线路DAG表示Gp、Gs,从Gp到映射M=<Mstr,Msem>代表一个可行的同构关系,当对于结构映射Mstr,(n,m)∈Mstr,n∈Gp.V,m∈Gs.V满足下面的顶点同构条件:
i.n.op=m.op;
ii.|n.qlist|=|m.qlist|;
iii.|n.angle|=|m.angle|;
iv.对于每个i,n.angle[i]与m.angle[i]为相同的复常数,或者至多一个为变量;
同时,对于语义映射Msem,每个边对(es,ed)∈Msem满足下面的边同构条件:
i.es=(<n1,n2>,q1)∈Gp.E;
ii.ed=(<m1,m2>,q2)∈Go.E;
iii.(n1,m1)∈Mstr,(n2,m2)∈Mstr;
此外,对于每个量子比特对(q1,q2)∈Msem,q1,q2应具有相同的量子比特类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110861966.4A CN113609806B (zh) | 2021-07-29 | 2021-07-29 | 一种结合子图同构的量子线路程序通用变换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110861966.4A CN113609806B (zh) | 2021-07-29 | 2021-07-29 | 一种结合子图同构的量子线路程序通用变换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113609806A true CN113609806A (zh) | 2021-11-05 |
CN113609806B CN113609806B (zh) | 2024-03-29 |
Family
ID=78305894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110861966.4A Active CN113609806B (zh) | 2021-07-29 | 2021-07-29 | 一种结合子图同构的量子线路程序通用变换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113609806B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116092040A (zh) * | 2023-04-12 | 2023-05-09 | 齐鲁工业大学(山东省科学院) | 一种车道线预测和车道线缺陷检测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140250288A1 (en) * | 2012-12-18 | 2014-09-04 | D-Wave Systems Inc. | Systems and methods that formulate embeddings of problems for solving by a quantum processor |
CN111461334A (zh) * | 2020-03-30 | 2020-07-28 | 北京百度网讯科技有限公司 | 量子电路的处理方法、装置及设备 |
CN112085204A (zh) * | 2020-09-18 | 2020-12-15 | 东南大学 | 一种用于量子编译的线路变换方法 |
-
2021
- 2021-07-29 CN CN202110861966.4A patent/CN113609806B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140250288A1 (en) * | 2012-12-18 | 2014-09-04 | D-Wave Systems Inc. | Systems and methods that formulate embeddings of problems for solving by a quantum processor |
CN111461334A (zh) * | 2020-03-30 | 2020-07-28 | 北京百度网讯科技有限公司 | 量子电路的处理方法、装置及设备 |
CN112085204A (zh) * | 2020-09-18 | 2020-12-15 | 东南大学 | 一种用于量子编译的线路变换方法 |
Non-Patent Citations (1)
Title |
---|
冯佳颖;张小旺;冯志勇;: "基于GPU的RDF类型同构并行算法", 计算机研究与发展, no. 03 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116092040A (zh) * | 2023-04-12 | 2023-05-09 | 齐鲁工业大学(山东省科学院) | 一种车道线预测和车道线缺陷检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113609806B (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Huang et al. | Gamepad: A learning environment for theorem proving | |
Bergstra et al. | Hyperopt: a python library for model selection and hyperparameter optimization | |
Stützle et al. | Automated design of metaheuristic algorithms | |
US7418434B2 (en) | Forward-chaining inferencing | |
Csordás et al. | The neural data router: Adaptive control flow in transformers improves systematic generalization | |
JP2005276225A (ja) | テーブルを使用したツリーの学習 | |
CN109002879B (zh) | 神经网络模型的可视化建模方法和装置 | |
KR19990077006A (ko) | 유전자 프로그래밍방법 및 시스템 | |
WO2024032096A1 (zh) | 反应物分子的预测方法、训练方法、装置以及电子设备 | |
Paler et al. | Wire recycling for quantum circuit optimization | |
Yuan et al. | Solving job shop scheduling problems via deep reinforcement learning | |
CN113609806A (zh) | 一种结合子图同构的量子线路程序通用变换方法 | |
Kolbeck et al. | Graph rewriting techniques in engineering design | |
US20070101311A1 (en) | Method and system for generating computer-executable models using augmentations | |
US20200302270A1 (en) | Budgeted neural network architecture search system and method | |
CN114741460A (zh) | 基于规则间关联的知识图谱数据扩展方法及系统 | |
KR20230065017A (ko) | 인공지능 분석 기반 프로그램 소스코드의 요약문 생성 장치 및 방법 | |
Belém et al. | On the impact of machine learning | |
Unruh | Quantum programming languages | |
CN116187458B (zh) | 量子电路处理方法、装置及电子设备 | |
CN115879868B (zh) | 一种专家系统与深度学习相融合的智能合约安全审计方法 | |
CN115062786B (zh) | 一种用于量子计算机的量子比特映射和量子门调度方法 | |
Jacquet et al. | Blackboard rules: From a declarative reading to its application for coordinating context-aware applications in mobile ad hoc networks | |
US20230289501A1 (en) | Reducing Resources in Quantum Circuits | |
JP6801751B1 (ja) | 情報処理装置、情報処理方法およびプログラム |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |