一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

通过量子线路确定目标对象的状态的方法和设备与流程

2022-12-02 18:47:45 来源:中国专利 TAG:


1.本公开的实施例一般地涉及量子计算领域,并且更具体地涉及通过量子线路确定目标对象的状态的方法和设备。


背景技术:

2.量子计算领域是近年来最热门的领域之一,量子计算是一门融合了物理学、信息学、计算机学等学科的交叉型学科,其主要目的则在于制造出切实可用的量子计算机。作为量子计算的基本运算单元——量子比特(qubit)是为模拟物理中量子的能级系统而创造的真实的硬件系统。经典比特在经典计算机中以非0即1的形式存在着,分别对应着低电平与高电平,经典比特同一时间只能表示一种状态。区别于经典比特,量子比特是以几率的形式存在的,在某一时间,它可以有cos2(θ)的概率存在于0态,而以sin2(θ)的概率存在于1态,在没有测量之前,可以认为一个量子比特“同时”表示出了0态和1态,在测量之后,量子比特会塌缩到某一个确定的态上。通常用如下公式(1)表示一个量子比特:
3.|qubit)=cos(θ)|o) sin(θ)|1》
ꢀꢀ
(1)
4.借助于这样独特的构造,量子计算机具有经典计算机所不具有的两大优势:
5.1.如果每个量子比特的表示空间为2,那么n个量子比特的表示空间则为2n,因此量子计算机的表示空间是指数增长,当量子比特数达到50个时,所产生的表示空间已经接近全世界存储单元的存储信息量的总和了;2.量子计算可以通过量子比特门来调控量子比特的振幅、相位等信息,所以对于计算中所使用的量子比特门,其相当于作用在整个表示空间中,同时调控所有的表示态,因此量子计算实际上是一种全并行的计算,其计算速度会有天然的优势。
6.尽管如此,量子计算在问题求解,特别是组合优化问题求解方面仍然存在进一步改进的空间。


技术实现要素:

7.鉴于上述问题,本公开的实施例旨在提供一种通过量子线路确定目标对象的状态的方法和设备。
8.根据本公开的第一方面,提供了一种通过量子线路来确定目标对象的状态的方法。该方法包括:所述量子线路对与所述目标对象的第一部分相对应的第一哈密顿量进行演化,以获得所述目标对象的第一部分的第一状态;基于所述目标对象的第一部分的第一状态,所述量子线路对与所述目标对象的第二部分以及连接所述第一部分和所述第二部分的链接相对应的第二哈密顿量进行演化,以确定所述目标对象的第二部分的第二状态;基于所述目标对象的第二部分的第二状态,所述量子线路对与所述目标对象的第一部分以及连接所述第一部分和所述第二部分的链接相对应的第三哈密顿量进行演化,以确定所述目标对象的第一部分的第三状态;以及基于所述目标对象的第二部分的第二状态以及所述目标对象的第一部分的第三状态,确定所述目标对象的状态。
9.根据本公开的实施方式,通过将目标对象分为不同的部分,可以减小量子线路的操作对象的规模,从而大大缩短模拟时间。对于真实的量子模拟,在量子线路的操作对象的规模减少之后,采样的次数和难度都会降低。此外,在目标对象规模减小的情况下,量子模拟过程中使用的量子门数量也会大大降低。对于规模较小的哈密顿量,使用较少的量子门操作就可以完成哈密顿量的演化。在量子门操作具有误差的情况下,降低量子门的数量能够降低多个操作带来的累计误差。另外,量子线路的深度会随着规模的增加而增大。深度的增加除了增加操作门的个数之外,还会带来更多的参数,增加了参数的优化难度。通过减小量子线路的操作对象的规模,可以达到同样精度需要的优化层数也随之降低,加速了优化过程。
10.在一些实施方式中,所述目标对象的第一部分包括第一数目的节点,所述目标对象的第二部分包括第二数目的节点,所述目标对象包括第三数目的节点,并且所述量子线路包括第四数目的量子比特,其中所述第三数目大于所述第四数目,所述第一数目和所述第二数目均小于或等于所述第四数目。通过降低目标对象的规模,不仅可以提高优化的效率,降低优化的难度和误差,而且可以解决比量子线路的量子比特数目更大规模的问题。
11.在一些实施方式中,所述目标对象的第一部分包括与所述目标对象的第二部分连接的边缘节点,所述边缘节点与所述目标对象的第一部分的节点之间的链接的数目大于或等于所述边缘节点与所述第二部分的节点之间的链接的数目。第一部分和第二部分之间的链接数目越少,第一部分和第二部分之间的耦合越弱,分别优化两个部分达到的效果越好,联合优化的难度越低。
12.在一些实施方式中,所述目标对象的第一部分包括第一数目的节点,所述目标对象的第二部分包括第二数目的节点,所述第一数目和所述第二数目之间的差值小于或等于预定阈值。通过将第一部分和第二部分优化为具有相似的规模,可以进一步降低对量子线路中包含的量子比特的数量的要求。例如,如果目标对象具有100个节点,将100个节点均分为50个节点,则50个量子比特的量子线路就可用于确定该目标对象的状态。
13.在一些实施方式中,所述目标对象的第一部分包括与所述目标对象的第二部分连接的边缘节点,并且对所述第二哈密顿量进行演化包括:基于所述目标对象的第一部分的边缘节点的第一状态,对所述第二哈密顿量进行演化。第二哈密顿量可以不体现目标对象的第一部分的内部节点,而仅体现目标对象的第一部分的边缘节点,以便于优化操作。
14.在一些实施方式中,基于所述目标对象的第一部分的边缘节点的第一状态,对所述第二哈密顿量进行演化包括:从所述目标对象的第一部分的边缘节点中,选择所述第一状态为确定状态的边缘节点;以及基于所述第一状态为确定状态的边缘节点的第一状态,对所述第二哈密顿量进行演化。通过选择状态确定的边缘节点,可以有针对性地进行优化,从而提高优化效率和准确性。
15.在一些实施方式中,基于所述目标对象的第二部分的第二状态,对所述第三哈密顿量进行演化包括:将所述目标对象的第一部分的第一状态和所述目标对象的第二部分的第二状态合并,以确定所述目标对象的第一中间状态;通过翻转所述目标对象的节点的第一中间状态来优化所述目标对象的第一中间状态,以获得所述目标对象的第二中间状态;以及基于所述目标对象的第二部分的第二中间状态,对所述第三哈密顿量进行演化。例如,在翻转目标对象的节点之后,如果目标对象的状态更优,则在优化第二中间状态时,将第二
中间状态更改为翻转之后的状态;反之,在翻转目标对象的节点之后,如果目标对象的状态更差,则在优化第二中间状态时,仍然保持第二中间状态。通过扫描操作,可以进一步提高优化的准确性。
16.在一些实施方式中,所述目标对象的第二部分包括与所述目标对象的第一部分连接的边缘节点,并且基于所述目标对象的第二部分的第二中间状态,对所述第三哈密顿量进行演化包括:基于所述目标对象的第二部分的边缘节点的第二中间状态,对所述第三哈密顿量进行演化。
17.在一些实施方式中,基于所述目标对象的第二部分的第二状态以及所述目标对象的第一部分的第三状态,确定所述目标对象的状态包括:将所述目标对象的第二部分的第二状态以及所述目标对象的第一部分的第三状态合并,以确定所述目标对象的第三中间状态;以及通过翻转所述目标对象的节点的第三中间状态来优化所述目标对象的第三中间状态,以确定所述目标对象的状态。例如,在翻转目标对象的节点之后,如果目标对象的状态更优,则在优化第三中间状态时,将第三中间状态更改为翻转之后的状态;反之,在翻转目标对象的节点之后,如果目标对象的状态更差,则在优化第三中间状态时,仍然保持第三中间状态。通过扫描操作,可以进一步提高优化的准确性。
18.根据本公开的第二方面,提供了一种用于确定目标对象的状态的设备。所述设备包括:量子线路,被配置为:对与所述目标对象的第一部分相对应的第一哈密顿量进行演化,以获得所述目标对象的第一部分的第一状态;基于所述目标对象的第一部分的第一状态,对与所述目标对象的第二部分以及连接所述第一部分和所述第二部分的链接相对应的第二哈密顿量进行演化,以确定所述目标对象的第二部分的第二状态;基于所述目标对象的第二部分的第二状态,对与所述目标对象的第一部分以及连接所述第一部分和所述第二部分的链接相对应的第三哈密顿量进行演化,以确定所述目标对象的第一部分的第三状态;以及处理器,被配置为基于所述目标对象的第二部分的第二状态以及所述目标对象的第一部分的第三状态,确定所述目标对象的状态。
19.在一些实施方式中,所述目标对象的第一部分包括第一数目的节点,所述目标对象的第二部分包括第二数目的节点,所述目标对象包括第三数目的节点,并且所述量子线路包括第四数目的量子比特,其中所述第三数目大于所述第四数目,所述第一数目和所述第二数目均小于或等于所述第四数目。
20.在一些实施方式中,所述目标对象的第一部分包括与所述目标对象的第二部分连接的边缘节点,所述边缘节点与所述目标对象的第一部分的节点之间的链接的数目大于或等于所述边缘节点与所述第二部分的节点之间的链接的数目。
21.在一些实施方式中,所述目标对象的第一部分包括第一数目的节点,所述目标对象的第二部分包括第二数目的节点,所述第一数目和所述第二数目之间的差值小于或等于预定阈值。
22.在一些实施方式中,所述目标对象的第一部分包括与所述目标对象的第二部分连接的边缘节点,并且所述量子电路被进一步配置为:基于所述目标对象的第一部分的边缘节点的第一状态,对所述第二哈密顿量进行演化。
23.在一些实施方式中,所述处理器被进一步配置为从所述目标对象的第一部分的边缘节点中,选择所述第一状态为确定状态的边缘节点,并且所述量子电路被进一步配置为
基于所述第一状态为确定状态的边缘节点的第一状态,对所述第二哈密顿量进行演化。
24.在一些实施方式中,所述处理器被进一步配置为将所述目标对象的第一部分的第一状态和所述目标对象的第二部分的第二状态合并,以确定所述目标对象的第一中间状态,并且通过翻转所述目标对象的节点的第一中间状态来优化所述目标对象的第一中间状态,以获得所述目标对象的第二中间状态,所述量子电路被进一步配置为基于所述目标对象的第二部分的第二中间状态,对所述第三哈密顿量进行演化。
25.在一些实施方式中,所述目标对象的第二部分包括与所述目标对象的第一部分连接的边缘节点,并且所述量子电路被进一步配置为:基于所述目标对象的第二部分的边缘节点的第二中间状态,对所述第三哈密顿量进行演化。
26.在一些实施方式中,所述处理器被进一步配置为:将所述目标对象的第二部分的第二状态以及所述目标对象的第一部分的第三状态合并,以确定所述目标对象的第三中间状态;以及通过翻转所述目标对象的节点的第三中间状态来优化所述目标对象的第三中间状态,以确定所述目标对象的状态。
27.第三方面,本技术还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面以及第一方面的各个可能的实施方式中所述的方法。
28.第四方面,本技术还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面以及第一方面的各个可能的实施方式中所述的方法。
29.提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
30.通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的附图标记通常代表相同部件。
31.图1示出了根据本公开的一些实施方式的量子近似优化算法系统的示意图。
32.图2示出了根据本公开的一些实施方式的确定目标对象的状态的方法的流程图。
33.图3示出了根据本公开的一些实施方式的与目标对象相对应的图。
34.图4示出了根据本公开的一些实施方式的边缘节点状态的示意图。
35.图5示出了根据本公开的一些实施方式的边缘节点状态的示意图。
36.图6示出了根据本公开的一些实施方式的优化结果的示意图。
37.图7示出了根据本公开的一些实施方式的量子经典混合系统的示意图。
38.图8示出了根据本公开的一些实施方式的经典计算机的示意图。
具体实施方式
39.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的
是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
40.在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。术语“和/或”表示由其关联的两项的至少一项。例如“a和/或b”表示a、b,或者a和b。下文还可能包括其他明确的和隐含的定义。
41.应理解,本技术实施例提供的技术方案,在以下具体实施例的介绍中,某些重复之处可能不再赘述,但应视为这些具体实施例之间已有相互引用,可以相互结合。
42.目前量子计算机的实现有很多方法,比如光学中用光子的偏振等性质进行模拟,离子阱中用离子的能级进行模拟,超导中用约瑟夫森结制备出具有多能级谐波共振腔来模拟等。其中超导体为基础制造出的超导量子计算机因为其有低噪声、高集成度、优秀的相干性等特点而被视为最有可能实现量子计算机的方案之一。
43.在这样的量子计算机构架下,最具有应用前景的量子算法为两大类,一类是以量子傅里叶变换为基础衍生出的相关算法,相较于经典傅里叶变换算法,量子傅里叶变换可以提升指数级别的加速,这种算法也在求函数周期、质数分解、密码破译等经典问题上有重大应用,但是因为其算法实现需要极其复杂的量子逻辑门线路与巨量的量子比特,因此近年来暂时没有较大进展;另一类是以grover搜索算法为代表衍生出的一系列量子搜索算法,尽管相较于经典搜索,量子搜索算法只能实现单根号级别的加速,但是对于大规模的搜索问题或者高精度的搜索问题,经典搜索算法的表现飞速下滑,此时量子搜索算法就显得非常具有优势了。近年来量子搜索算法中,量子变分算法又因为其与经典结合的计算方式、有一定的硬件容错率等诸多重要优势而被广泛关注,在这之中,变分量子本征求解(vqe)与量子近似优化算法(qaoa)又因其不同的特点成为最具有应用潜力的两种量子变分算法。vqe主要的应用场景有分子模拟、物理系统模拟等,可以得到高精度的结果,而qaoa则更多的被使用在组合优化的问题之中,比如经典的最大割问题(maxcut)、最大独立子集(max independent set,mis)、可满足性问题(satisfiability problem)、旅行商问题(traveling salesman problem)等。在面对大规模无特征或者特征不明显的组合优化问题时,经典算法的行为更加偏向于随机生成器,而qaoa则可以保证在不用设置太多待优化参数与构建深层量子线路的前提条件下,得到正确解,这是相比于经典算法,qaoa所拥有的巨大优势。
44.然而,由于硬件技术的限制,量子计算目前并且可能将长期处于噪声中等规模量子(nisq)时代,可用的物理比特大约在50-1000比特规模。同时,系统的相干时间、门保真度等限制了量子线路的深度,进而限制了量子计算机在求解更大规模的组合优化问题。
45.本公开的实施方式通过边切割、复用量子比特的想法来突破现有硬件系统的限制,进而求解更大规模的组合优化问题。例如,对于许多组合优化问题,经过编码之后可以转化为伊辛模型(ising model),也就是2-适定性(2-sat)问题。这类问题可以抽象成二位平面图,比如旅行商问题、交通规划问题、网络中最大流-最小割等实际问题。因此,对问题的切割可以抽象成对图的边的划分。在一些实施方式中,将要求解的组合优化问题编码为对应的哈密顿量之后,将对应的哈密顿量从图的角度去理解。例如,本公开的一些实施方式基于边切割方法,将大的哈密顿量系统分解为两个或更多子系统,并逐次求解各个子系统
的解。在求解过程中,可以联合优化多个子系统及子系统之间的耦合项,以尽量接近原始问题在该量子线路下的最优解。子系统可以指数级别减少采样次数,并有效降低线路深度,从而在一定层数上,减少误差影响,促使目标函数的解趋近理想解。
46.量子近似优化算法(qaoa)可以近似理解为量子退火算法的离散版本和变分版本的复合体。量子近似优化算法可以将一个绝热含时演化算符exp(-ith(t))根据trotter分解,转化为离散的基于量子门的演化,如以下公式(2)所示:
[0047][0048]
其中,表示整体的哈密顿量,hc表示目标对象的哈密顿量,hb表示基态哈密顿量,例绝热含时演化算符exp(-ith(t))在t0时刻为时刻为在ti时刻为在t
t
时刻为为在演化结束时刻ti=t,h(t)演化为hc,即,目标对象的哈密顿量。目标对象可以用于表示目标问题,并且目标对象的状态可以用于表示目标问题的解。因此,在一些实施例中,可以通过确定目标对象的状态可以用于求解目标问题。为了方便讨论,以下将结合求解目标问题进行描述,然而应当理解,本公开的实施例也可以用于任何其他适当的场景。
[0049]
理论上可以证明,当分割的时间段足够小,上述演化算法可以近似为绝热算法。考虑到nisq场景下,量子线路深度非常有限,可以将目标问题的一部分复杂度交给经典计算机来完成,也就是所谓的量子-经典混合框架。
[0050]
图1示出了根据本公开的一些实施方式的量子近似优化算法(qaoa)系统100的示意图。如图1所示,将量子计算机初始化为叠加态| 》,或者其中量子比特102的数目为n。如上所述,目前的硬件实现中,量子比特102的数目n大约在50-1000的规模。
[0051]
在图1中,uc(γi)=exp(-iγihc),ub(βi)=exp(-iβihb),其中,),其中,其中i的取值范围为1至p,p表示量子线路的深度。分别按照时间ti和t-ti向量子比特102交替应用目标哈密顿量hc和基态哈密顿量hb,即,交替应用uc(γi)和ub(βi)量子门操作。量子门104是第1级量子门,向量子比特102应用uc(γ1)量子门操作持续时间t1,然后,应用ub(β1)量子门操作持续时间t-t1。依次应用第2至第p-1级量子门操作。最后,量子门110是第p级量子门,向第p-1级量子门输出的量子比特依次应用uc(γ
p
)和ub(β
p
)量子门操作。具体而言,量子门110向第p-1级量子门输出的量子比特应用uc(γ
p
)量子门操作持续时间t
p
,然后,应用ub(β
p
)量子门操作持续时间t-t
p

[0052]
测量单元116可以对量子门110输出的量子态进行测量,从而对量子线路的输出进行采样。在量子力学中,量子态具有叠加性,也就是量子线路的末态有一定的概率处于a量子态,也有一定的概率处于b量子态。因此,如果计算目标哈密顿量的期望值,则需要知道哈
密顿量在某个量子态下的值以及该量子态在量子线路的末态下的概率,之后将每个量子态的值根据对应的概率进行加权平均,得到了哈密顿量的期望值。可以通过采样来确定每个量子态的概率。例如,可以进行多次测量来实现采样,其中每次测量得到一个确定的量子态,每个量子态的概率也就是它在采样过程中出现的次数除以总的采样次数。通过测量的方式,可以确定在量子态|ψ
′c》下的期望值,即,损失函数《ψ
′c|hc|ψ
′c〉。损失函数可以反馈给优化器118。优化器118可以在经典计算机中实现。优化器118可以根据优化算法使损失函数最大化来优化变分参数120,其中变分参数120可以表示为(γ,β),其中β=[β1,β2……
β
p
]、γ=[γ1,γ2……
γ
p
]。优化或更新后的变分参数120可以提供给量子门104和110等,从而重复上述优化步骤,直至收敛或达到最大迭代次数。优化器118可以使用各种优化算法对变分参数120进行优化,例如,共轭梯度、随机梯度、l-bfgs等优化算法。
[0053]
以下将结合图2介绍根据本公开的一些实施方式的用于确定目标对象的状态的方法200的流程图。例如,方法200可以在如图1所示的qaoa系统100中实现。然而,应当理解,方法200也可以在任何其他合适的量子系统或者量子-经典混合系统中实现。目标对象可以用于表示目标问题,例如,目标问题可以是组合优化问题,特别是,最大割问题(maxcut)、最大独立子集(max independent set,mis)、可满足性问题(satisfiability problem)、旅行商问题(traveling salesman problem)等问题。
[0054]
在一些实施方式中,可以通过将二进制变量转换为量子自旋的方式将经典目标问题等目标对象转换为目标哈密顿量。例如,如果将经典目标问题表示为c(z),其中z表示n个二进制变量,那么,目标哈密顿量可以表示为其中二进制变量zi被映射到量子自旋对于经典目标问题c(z)而言,目标是求解使损失函数c(z)最小化的二进制变量z的值。相应地,对于量子目标问题hc而言,目标是求解使目标哈密顿量hc的期望值最大的量子态。目标对象可以包括多个节点以及连接这些节点的边。例如,可以通过图来表示目标对象。每一个二进制变量或者每一个量子态可以由图的一个节点来表示,因此,上述目标问题可以由具有n个节点的图来表示。
[0055]
例如,图3示出了根据本公开的一些实施方式的与目标问题或目标哈密顿量相对应的图。如图3所示,该图包括16个节点,每一条节点通过三条边与图中的其他节点连接。例如,maxcut问题的目标是对图中的点进行分类,以使被切割的边数最多,其对应的目标哈密顿量可以表示为其中e表示图中的边的集合,表示与节点u相对应的量子自旋,表示与节点v相对应的量子自旋。因此,maxcut问题的优化目标是计算使得该目标哈密顿量的期望值最大化的量子态。
[0056]
根据本公开的实施方式,可以对目标对象进行划分,以获得目标对象的第一部分、第二部分以及连接第一部分和第二部分的链接。为了叙述方便,将以图作为示例来描述目标对象,并将图的第一部分称为第一子图,并将图的第二部分称为第二子图。应当理解,尽管这里以二分图为例进行描述,也可以将图划分为包括至少三个子图,即,除了第一子图和第二子图之外,还可能包含第三子图等。
[0057]
在一些实施方式中,目标对象的第一部分包括第一数目的节点,目标对象的第二部分包括第二数目的节点,目标对象包括第三数目的节点,并且量子线路包括第四数目的量子比特,其中第三数目大于第四数目,第一数目和第二数目均小于或等于第四数目。如果
使用qaoa系统100来处理目标哈密顿量,则qaoa系统100中的量子比特102的数目将至少等于原始图中的节点的数目。例如,对于图3的示例,原始图的节点数目为16个,则qaoa系统100的量子比特102的数目至少为16个。通过将原始图切割为第一子图和第二子图,量子比特102的数目可以等于第一子图和第二子图中节点较多的子图所包含的节点的数目。例如,如果第一子图和第二子图的节点数目均为8,则qaoa系统100的量子比特102的数目最少可以为8个,以分别处理与第一子图和第二子图对应的哈密顿量。作为另一示例,如果第一子图的节点数目为9,第二子图的节点数目为7,则qaoa系统100的量子比特102的数目最少可以为9个,以允许处理与具有9个节点的第一子图相对应的哈密顿量以及与具有7个节点的第二子图相对应的哈密顿量。为了进一步降低对qaoa系统100的量子比特102的数目的要求,在一些实施方式中,第一子图中的节点的数目和第二子图中的节点数目的差值可以小于或等于预定阈值。例如,预定阈值可以是1、2或3等。在一个示例中,在划分过程中,可以将第一子图中的节点的数目和第二子图中的节点数目的差值最小化。
[0058]
在一些实施方式中,在对图进行切割时,可以确保子图之间的链接弱于子图内部的链接。例如,第一子图的边缘节点与第一子图的节点之间的链接的数目可以大于或等于所述边缘节点与第二子图之间的链接的数目。相应地,第二子图的边缘节点与第二子图的节点之间的链接的数目大于或等于所述边缘节点与第一子图之间的链接的数目。在子图划分时,切割的边的数目越少,子图之间的耦合越弱,两个子图分别优化达到的效果越好。例如,在图3的示例中,第一子图包括填充色为白色的节点,而第二子图包括填充色为黑色的节点。第一子图的边缘节点与第二子图之间的链接的数目均为1,小于第一子图的边缘节点与第一子图内部的节点之间的链接的数目。第二子图的边缘节点与第一子图之间的链接的数目也均为1,小于第二子图的边缘节点与第二子图内部的节点之间的链接的数目。
[0059]
在框202,量子线路演化与第一部分对应的第一哈密顿量,以获得与第一部分的第一状态。例如,第一部分的第一状态可以作为与第一子图相对应的解。这可以通过如图1所示的qaoa系统100来实现。例如,对于maxcut问题而言,第一哈密顿量可以表示为其中e1表示第一子图中的边的集合,表示与节点u相对应的量子自旋,表示与节点v相对应的量子自旋。应当理解,尽管这里以qaoa算法作为示例来进行量子演化,也可以使用任何其他合适的算法来作为替代。
[0060]
例如,可以将第一哈密顿量作为qaoa系统100的目标哈密顿量或待求解问题的哈密顿量hc。然后,通过如上结合图1所述的方式来演化第一哈密顿量,以获得与第一哈密顿量相对应的解。在图3所示的示例中,与第一哈密顿量对应的解可以包括第一子图的各个节点的状态,例如,节点0、1、5、7和9-13的状态。
[0061]
在框204,基于目标对象的第一部分的第一状态,量子线路对与目标对象的第二部分以及连接第一部分和第二部分的链接相对应的第二哈密顿量进行演化,以确定目标对象的第二部分的第二状态。第二状态可以用于表示与第二子图相对应的解。例如,可以将第二哈密顿量作为qaoa系统100的目标哈密顿量或待求解问题的哈密顿量hc。然后,通过如上结合图1所述的方式来演化第二哈密顿量,以获得与第二哈密顿量相对应的解。
[0062]
在一些实施方式中,基于目标对象的第一部分的边缘节点的第一状态,对第二哈密顿量进行演化。例如,基于第一子图的边缘节点在与第一哈密顿量相对应的解中的状态,
演化第二哈密顿量。在第一哈密顿量相对应的解中,不仅包括第一子图的边缘节点的状态,还包括第一子图的内部节点的状态。然而,在对第二哈密顿量的优化过程中,可以不使用第一子图的内部节点的状态,而仅使用第一子图的边缘节点的状态。这些边缘节点的状态在第一子图和第二子图之间的链接中有所体现。例如,第二哈密顿量可以包括两个部分,其中,第一部分包括与第二子图相对应的哈密顿量,第二部分包括与第一子图和第二子图之间的链接相对应的哈密顿量。对于maxcut问题而言,第二哈密顿量可以表示为间的链接相对应的哈密顿量。对于maxcut问题而言,第二哈密顿量可以表示为其中e2表示第二子图中的边的集合,表示与节点u相对应的量子自旋,表示与节点v相对应的量子自旋,e
12
表示第一子图和第二子图之间的链接的集合,s1(u)表示与第一哈密顿量相对应的解中的边缘节点的状态。可以看出,maxcut问题的第二哈密顿量包括两个部分,第一部分为表示与第二子图相对应的哈密顿量,第二部分为表示与第一子图和第二子图之间的链接相对应的哈密顿量,其中利用了与第一哈密顿量相对应的解中的边缘节点的状态s1(u)。
[0063]
在一些实施方式中,从目标对象的第一部分的边缘节点中,选择第一状态为确定状态的边缘节点,并且基于第一状态为确定状态的边缘节点的第一状态,对第二哈密顿量进行演化。在与第一哈密顿量相对应的解中,边缘节点的状态(例如,s1(u))可能并不确定。例如,如图4所示,在与第一哈密顿量相对应的解中,第一子图402中的边缘节点406具有确定的状态,即,1。因此,可以将边缘节点406的状态作为输入点来演化第二哈密顿量。相反,如图5所示,在与第一哈密顿量相对应的解中,第一子图502的边缘节点506的状态不确定,即,根据第一哈密顿量的演化,无法确定边缘节点506的状态是0还是1。在这种情况下,边缘节点506的状态可能取决于第二子图504的优化结果,因此,边缘节点506可以不作为第二哈密顿量的输入点。因此,可以从第一子图的边缘节点中,选择在与第一哈密顿量相对应的解中具有确定状态的边缘节点,并基于在与第一哈密顿量相对应的解中具有确定状态的边缘节点的状态,演化第二哈密顿量。
[0064]
在框206,基于目标对象的第二部分的第二状态,量子线路对与目标对象的第一部分以及连接第一部分和第二部分的链接相对应的第三哈密顿量进行演化,以确定目标对象的第一部分的第三状态。例如,对于maxcut问题而言,第三哈密顿量可以表示为的第一部分的第三状态。例如,对于maxcut问题而言,第三哈密顿量可以表示为其中e1表示第一子图中的边的集合,表示与节点u相对应的量子自旋,表示与节点v相对应的量子自旋,e
21
表示第一子图和第二子图之间的链接的集合,s2(u)表示与第二哈密顿量相对应的解中的边缘节点的状态。可以看出,第三哈密顿量包括两个部分,第一部分为与第一哈密顿量相同,表示与第一子图相对应的哈密顿量,第二部分为表示与第一子图和第二子图之间的链接相对应的哈密顿量。
[0065]
在一些实施方式中,将目标对象的第一部分的第一状态和目标对象的第二部分的
第二状态合并,以确定目标对象的第一中间状态。通过翻转目标对象的节点的第一中间状态来优化目标对象的第一中间状态,以获得目标对象的第二中间状态。基于目标对象的第二部分的第二中间状态,对第三哈密顿量进行演化。例如,在翻转目标对象的节点之后,如果目标对象的状态更优,则在优化第二中间状态时,将第二中间状态更改为翻转之后的状态;反之,在翻转目标对象的节点之后,如果目标对象的状态更差,则在优化第二中间状态时,仍然保持第二中间状态。随着图的度数的增加,各个节点之间的链接越来越多,对图进行划分的难度也逐渐增加。当链接所占的比重较大时,子图优化的结果可能与整体优化的结果偏差较大。为了弥补这种较大的偏差,可以对优化结果进行后处理,称为“扫描”(sweep)操作。在一些实施方式中,可以在单比特的层次上执行扫描操作。例如,可以在经典计算机上将第一子图和第二子图的优化结果合并,并将该结果(即,第一中间状态)输入到损失函数,来计算损失函数的值。然后,依次翻转图中的每个节点的状态,并且在每次翻转之后计算对应的损失函数的值。如果翻转之后的损失函数的值更小,即,结果更优,则保留此时的分布和损失函数的值,直到遍历完所有的节点。上述过程可以重复多次,以保证在单比特的层次上,后处理的结果最优。因此,通过翻转目标对象的节点的第一中间状态来优化目标对象的第一中间状态,从而获得目标对象的第二中间状态。基于第二中间状态,量子线路对第三哈密顿量进行演化。
[0066]
在一些实施方式中,也可以进行2比特、3比特等多比特层次上的扫描操作,这样可以进一步的确保优化效果,提高准确率。多比特层次的扫描操作的算法复杂度会有所增加,例如,对于m比特层次的扫描,时间复杂度为o(nm)。
[0067]
通过扫描操作可以获得优化后的合并解然后,可以从优化后的合并解中提取与第二子图相对应的优化解以作为第二哈密顿量的优化解。然后,基于第二哈密顿量的优化解演化与第一子图以及在第一子图和第二子图之间的链接相对应的第三哈密顿量。对于maxcut问题而言,在执行扫描操作的情况下,第三哈密顿量可以表示为哈密顿量。对于maxcut问题而言,在执行扫描操作的情况下,第三哈密顿量可以表示为其中e1表示第一子图中的边的集合,表示与节点u相对应的量子自旋,表示与节点v相对应的量子自旋,e
21
表示第一子图和第二子图之间的链接的集合,s2(u)表示与第二哈密顿量相对应的解中的边缘节点的状态。可以看出,第三哈密顿量包括两个部分,第一部分为与第一哈密顿量相同,表示与第一子图相对应的哈密顿量,第二部分为表示与第一子图和第二子图之间的链接相对应的哈密顿量。
[0068]
在一些实施方式中,与图5相似,在与第二子图相对应的解s2或优化解中,可能第二子图的边缘节点的状态s2(u)仍然无法确定。在这种情况下,可以从第二子图的边缘节点中,选择在与第二哈密顿量相对应的解s2或优化解中具有确定状态的边缘节点。然后,基于在与第二哈密顿量相对应的解或优化解中具有确定状态的边缘节点的状态,演化第三哈密顿量,以获得与第三哈密顿量对应的解。
[0069]
在框208,基于目标对象的第二部分的第二状态以及目标对象的第一部分的第三
状态,确定目标对象的状态。例如,可以将与第二哈密顿量相对应的解s2或和与第三哈密顿量相对应的解合并,以获得合并解或者在一些实施方式中,可以将合并解s
**
作为与目标哈密顿量相对应的解。然而,在一些实施方式中,将目标对象的第二部分的第二状态以及目标对象的第一部分的第三状态合并,以确定目标对象的第三中间状态;以及通过翻转目标对象的节点的第三中间状态来优化目标对象的第三中间状态,以确定目标对象的状态。例如,在翻转目标对象的节点之后,如果目标对象的状态更优,则在优化第二中间状态时,将第二中间状态更改为翻转之后的状态;反之,在翻转目标对象的节点之后,如果目标对象的状态更差,则在优化第二中间状态时,仍然保持第二中间状态。具体而言,合并解s
**
作为第三中间状态,然后可以对合并解s
**
应用扫描操作,以对合并解进行进一步优化,并将优化后的合并解作为与目标哈密顿量相对应的解。
[0070]
根据本公开的多个实施方式,通过划分图的方法,可以复用量子比特,从而使用有限规模的量子比特求解更大规模的问题。另外,由于问题的复杂度降低,还可以降低量子线路的深度,进一步降低门操作中噪声带来的累积误差。此外,由于搜索空间的降低,采样的次数减少,缩短了优化时间,也降低了测量的难度。
[0071]
以下将具体结合maxcut问题详细介绍根据本公开的一些实施方式的优化方法。maxcut问题的复杂度是指数级的,一个具有n个节点的图的搜索空间的大小为2n。因此,在大规模的maxcut问题上,经典计算机已经无能为力。然而,量子计算机具有天然的并行性,任意一个操作可以同时作用在叠加态上。因此,对于maxcut问题,量子计算机相当于并行地搜索2n个态,避免了指数级的复杂度。在qaoa方法中,在maxcut问题上的复杂度依赖于量子线路的层数或深度(p)以及问题规模,大概为o(p*n2),非常有希望实现量子优势。另外,对于很多其他实际的问题,比如旅行商问题、交通规划问题,在采用独热(one-hot)编码后,这些问题都可以转化为伊辛模型(ising model),也就是2-适定性(2-sat)问题。2-sat的哈密顿量也可以转化为图的形式,只不过除了链接之外,每个顶点还会多出一个一次项,也适用根据本公开的实施方式的优化方法。例如,在2-sat问题中,对于n个变量,有m个限制条件,每个限制条件最多只和两个变量有关。在量子计算中,可以将2-sat问题的哈密顿量用pauli矩阵表示为
[0072]
在maxcut问题中,主要是对图中的点进行合适的分类,使得被切割的边数最多。当问题规模比较大时,根据本公开的实施方式的边划分方法可以将图进行合适的切割,分为两个或更多小规模的子图,对子图分别求解maxcut问题之后,再处理子图之间的链接,最终可以得到原始大图maxcut问题的一个很好的近似解。
[0073]
在以下示例中,主要以规度图作为示例来描述本公开的实施方式,然而,应当理解本公开的实施方式也适用于非规度图。规度图表示图中的所有点都具有相同的边数。比如,在规度为的图中,图中的所有节点都只伸出5条边,也就是只和其他5个节点有连线。在边划分过程中,例如,对于一个规度为d的节点,可以将该节点的边划分为两部分,一部分含有的边数为[d/2],另一部分含有的边数为(d-[d/2]),其中[.]表示向下取整。对于边缘节点,可以将边数少的部分作为链接。经过这样的划分,可以将图划分为规模相近的,链接较少的两个子图。图3示出了根据本公开的一些实施方式的具有16个节点的规度为3的图。可以根据上述原则将该图划分为两个部分,其中黑色字体的节点可以认为是第一部分,白色字体的
节点可以认为是第二部分。
[0074]
在一些实施方式中,在进行分图时,可以首先将第一部分和第二部分初始化为空。然后,遍历图中的每一个节点,将该节点加入到第一部分中,并更新第一部分的节点的数目。如果第一部分的节点数目小于原始图的节点数目的一半,则确定该节点的邻居在第一部分中的数目是否小于或等于[d/2],其中d表示图的规度,[.]表示向下取整。如果是,则将该节点添加到第一部分中。然后,可以对上述结果进行进一步验证。例如,可以遍历第一部分中的节点,确定该节点的邻居在第一部分中的数目是否小于或等于[d/2]。如果是,则将该节点从第一部分中去除。然后,可以遍历不在第一部分中的节点,确定该节点的邻居在第一部分中的数目是否小于或等于[d/2]。如果是,则将该节点添加到第二部分中,否则,将该节点添加到第一部分中。如果两个部分的节点数目之间的差值小于阈值,则可以将阈值更新为第一部分和第二部分的节点数目之差,并进行下一轮迭代,直到将图的所有节点遍历完成。在初始化时,可以将所述阈值设置为图中的节点总数。例如,上述方法可以通过如表1所示的伪代码来表示:
[0075]
表1分图算法的伪代码
[0076]
[0077][0078]
在分图完成之后,将分图结果产生的子系统哈密顿量提供给qaoa系统100。例如,可以使用qaoa系统100来优化与第一部分相对应的子系统哈密顿量
在达到要求的精度之后或者这部分子系统收敛之后,对结果进行采样。然后,在采样结果中选取最优的一个结果(如果最优结果有简并,那么可以随机选取一个)。将采样得到的最优结果的字符串对应到每个节点上。第一部分的边缘节点与第二部分有链接,从这些链接中挑选至少一部分边缘节点,作为输入。
[0079]
链接需要的第一部分的边界点的结果,代入到第二部分中,优化第二部分对应的子系统哈密顿量在第二部分达到收敛后,将从这里面的采样结果中,挑选最优结果。将两次采样对应的字符串合并,并做扫描操作,保留最优结果。因为第一步中的第一部分是单独优化的,并没有考虑第一部分和第二部分之间的关系,所以为了保证得到更好的全局优化解,之后再以第二部分的边界作为输入优化第一部分,然后再合并结果,作扫描操作后得到最后的结果。
[0080]
对于输入点的挑选,以规度为3的图的maxcut为例,有两种情况:对于图4的情况,边缘节点的状态可以由第一部分直接确定;对于图5的情况,边缘节点的状态对于第一部分的结果是等价的,因此该节点的值实际上是取决于第二部分的优化,因此,该节点不作为输入点。该节点的结果可以由两个部分合并以及扫描之后的结果确定。
[0081]
在一些实施方式中,可以遍历第一子图中的节点,确定与该节点相连接的边(也称链接)是否可以被切割。例如,对于maxcut问题而言,如果一条边两端的节点的状态不同(一个节点为0,一个节点为1),则可以被切割;如果一条边两端的节点的状态相同(均为0,或者均为1),则不可被切割。如果与该节点相连接的边能够被切割的数目大于[d/2],则认为该节点具有确定状态,可以作为输入点;否则,可以不将该节点作为输入点。表2示出了挑选输入点的伪代码示例,其中主要部分为maxcut问题的伪代码,并且在批注中示出了用于2-sat问题的伪代码。
[0082]
表2挑选输入点的算法
[0083]
[0084][0085]
由于有待定的点以及可能合并的结果与最优解有偏差,所以还需要对结果进行后处理,也就是扫描操作。扫描操作的具体过程就是,有了两个部分采样的最优结果以后,在经典计算机上将两个部分的结果合并,将该结果代入损失函数计算相应的值并存储。之后依次对每个节点的结果进行翻转,并在每次翻转后计算对应的损失函数的值。若翻转后的结果更优,则保留此时的分布和损失函数的值,直到遍历完所有的点。该扫描过程可以重复几次来保证在单比特的层次上,后处理的最优。原则上,也可以进行2比特、3比特等层次上的扫描,这样可以进一步的确保优化效果,提高准确率。只不过算法的复杂度会有所增加,对于m比特层次的扫描,时间复杂度为o(nm)。表3示出了扫描算法的伪代码示例。
[0086]
表3扫描算法
[0087]
[0088][0089]
为了完整起见,表4示出了整个优化算法的伪代码示例。
[0090]
表4整体算法
[0091]
[0092][0093]
在一些实施方式中,对于子图和链接联合演化时的哈密顿量,也可以在链接项加上一个小于1但是接近于1的系数来破除简并,例如,上一个小于1但是接近于1的系数来破除简并,例如,这样可以在被切割的边数相同的情况下,优先切割子图内部的边。因为链接的优化还会在下一步优化h
1 l
时有进一步的改进,这种方法可以进一步提升准确率。
[0094]
根据本公开的一些实施方式,通过分图,问题规模减小,因此模拟时间大大缩短。对于真实的量子模拟,规模减少之后,采样的次数以及难度都会降低。并且门的数量也会大大降低,这在目前nisq时代,量子门操作还具有误差的情况下,能够降低多个操作带来的累计误差,确保算法的优化效果。另外,从qaoa算法层面讲,优化层数p会随着规模的增加而增大。深度p的增加除了增加操作门的个数之后,还会带来更多的参数,增加了参数的优化难度。将问题切割之后,规模减小,达到同样精度需要的优化层数也随之降低,加速了优化过程。
[0095]
为了进一步验证本公开的实施方式,在不同的场景中进行了测试,包括度从3到4的规度图和非规度图下的maxcut问题,同时还测试了2-sat问题。在结果相近的情况下,根
据本公开的一些实施方式的方法的模拟时间节约了十倍左右。
[0096]
由于子问题规模的减小,边划分所需要的优化层数也降低了,如表5,为上述四种情况在本公开的实施方式使用前后优化层数的对比。由于本公开的实施方式包含了三次qaoa的优化,因此最下面一行的数值分别是每一次优化需要的层数p。与原来的整体优化相比,层数减少。因为规模更小,所以每一层需要的门也更少,这使得实际的量子操作过程更加简单,并拥有更高的保真度,如表6所示。
[0097]
表5:整体演化和边划分后需要的层数比较
[0098][0099]
通过在子图和链接之间的协同优化,可以有效地确保得到一个好的近似解。在对规度3和规度4的maxcut测试中,本公开的实施方式可以以很高的概率得到最优解,或者非常接近于最优解的次优解。表6是规度3和规度4的maxcut问题,正确率随节点数的变化。
[0100]
表6:整体演化和边划分后对应的保真度
[0101][0102]
如表6所示,对于规度3和规度4两种情况,在20个节点的规模下,100个随机的图采用边划分方法之后,绝大多数都得到了最优解,剩余的情况得到的近似解也非常接近与最优解,起码是最优解的0.9倍,如图6所示,其中,c表示优化结果与c
max
表示最优结果。
[0103]
随着图的度数的增加,各点之间的链接越来越多,划分难度也会相应增加。采用目前的边划分方案,在度比较高的情况下,得到最优解的概率会有所降低。因为在规模不大的情况下,将高度图划分后,链接部分包含的边所占比重较大,导致子图的单独优化会与整体优化对应的结果有偏差。然而,由于引入了子图和链接的协同优化,以及后处理扫描,边划分方法对于度高一些的图也可以给出一个不错的近似解。如表7所示,在具有20个节点的不同的规度图中,得到的结果c与最优结果c
max
的比值的平均值ave(c)=average(c/c
max
)。
[0104]
表7:20节点下,规度3-规度6对应的平均最优值比较
[0105] 规度3规度4规度5规度6ave(c)0.9990070.9973890.9948950.989548
[0106]
图7示出了根据本公开的一些实施方式的量子经典混合系统700的示意图。系统700可以是如图1所示的qaoa系统100的物理实现,并且可以用于实现如图2所示的方法200。如图7所示,量子经典混合系统800包括量子计算机702,其可以包括量子线路704。量子线路704可以通过各种不同的技术来实现,例如,光学中用光子的偏振等性质进行模拟,离子阱
中用离子的能级进行模拟,超导中用约瑟夫森结制备出具有多能级谐波共振腔来实现。量子计算机702与经典计算机706通信连接,彼此交换数据。例如,量子线路706可以实现如图1所示的量子门104和110,并且经典计算机706可以用于实现如图1所示的优化器118,并将优化参数提供给量子线路704,以由量子线路704实现的量子门104和110来演化哈密顿量。例如,在如图2所示的方法中,量子演化过程可以由量子线路704来实现,图的划分、翻转操作和合并操作等可以由经典计算机706来实现。
[0107]
图8示出了一个可以用来实施本公开的实施例的经典计算机706的示意性框图。如图2所示的方法200中的由经典处理器或经典计算机执行的操作可以由经典计算机706来实现。
[0108]
如图8所示,经典计算机706包括中央处理单元(cpu)801,其可以根据存储在只读存储器(rom)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序指令,来执行各种适当的动作和处理。在ram 803中,还可存储经典计算机706操作所需的各种程序和数据。cpu 801、rom 802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
[0109]
经典计算机706中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许经典计算机706通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0110]
上文所描述的各个过程和处理,例如方法200,可由处理单元801执行。例如,在一些实施例中,方法806可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom 802和/或通信单元809而被载入和/或安装到经典计算机806上。当计算机程序被加载到ram 803并由cpu 801执行时,可以执行上文描述的方法200的一个或多个步骤。备选地,在其他实施例中,cpu 801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法200。
[0111]
本公开可以是方法、设备、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
[0112]
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0113]
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关
计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0114]
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、python、c 等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
[0115]
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0116]
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0117]
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0118]
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0119]
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技
术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各实施例。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献