首页> 中国专利> 量子电路的局部优化

量子电路的局部优化

摘要

提供了促进量子电路的局部优化的技术。在一个实例中,一种计算机实施的方法包括:通过可操作地耦联到处理器上的装置,根据在量子电路中的各个量子位对之间的量子门的各个数量将各个权重施加到与量子电路相对应的第一矩阵的多个矩阵元素;由该装置基于矩阵元素的各个权重将第一矩阵变换为第二矩阵;以及由该装置根据第二矩阵对量子电路中的对应量子位进行置换,从而得到置换的量子电路。

著录项

  • 公开/公告号CN112740241A

    专利类型发明专利

  • 公开/公告日2021-04-30

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN201980062234.X

  • 发明设计人 P·纳蒂昂;

    申请日2019-09-05

  • 分类号G06N10/00(20060101);G06F8/41(20060101);

  • 代理机构11038 中国贸促会专利商标事务所有限公司;

  • 代理人冯雯

  • 地址 美国纽约

  • 入库时间 2023-06-19 10:46:31

说明书

背景技术

本公开内容涉及量子计算,并且更具体地,涉及量子电路设计和优化。

随着计算机技术的进步以及常规计算装置在物理规模上的减小,作为计算技术可以继续前进超过传统(经典)计算机的物理限制的一种技术,对量子计算提出了日益增长的兴趣。

量子计算算法可以通过首先构建一个量子电路并且随后将所构建的量子电路映射到一个量子计算架构上来设计,该量子电路包括对应的量子位(量子位)以及促进量子位对之间交互的对应的量子门。为了在电流和近期硬件上执行量子算法,希望将量子电路有效地映射到可能具有有限局部物理连接的量子器件上。

将量子算法编译到特定硬件架构上的效率可以通过例如编译的算法的门计数和深度来测量。如Williams等人的美国专利申请公开号2006/0123363“用于量子电路的自动设计的方法和装置(METHOD AND APPARATUS FOR AUTOMATIC DESIGN OF QUANTUMCIRCUITS)”所述,量子电路的门计数可以通过“紧凑(compactification)技术”来减少。Williams等人的第83段陈述了以下:

一个实施例应用确定性电路缩减运算符来寻找子电路和/或门之间的可被消除或重写到更紧凑的门的模式。另一实施例计算用于特定酉矩阵U的电路,并且还计算用于U的逆矩阵的电路。然后检查这两个计算的电路以确定哪个更小并且使用那个电路。另一个实施例被称为随机化紧凑化,其使用启发式方法来到达紧凑电路。

除了优化与量子电路相关联的门计数之外,在本领域中存在对能够优化具有局部交互的硬件的电路(例如,使电路基本上未修改)的技术的需要。

发明内容

下面给出概述以提供对本发明的一个或多个实施例的基本理解。本概述不旨在标识关键或重要元素,或描绘特定实施例的任何范围或权利要求的任何范围。其唯一目的是以简化形式呈现概念,作为稍后呈现的更详细描述的序言。在此描述的一个或多个实施例中,描述了促进量子电路的局部优化的系统、计算机实施的方法、装置和/或计算机程序产品。

根据一实施例,系统可包括存储计算机可执行组件的存储器和执行存储在存储器中的计算机可执行组件的处理器。计算机可执行组件可以包括矩阵加权组件,其根据在量子电路中的各个量子位对之间的量子门的各个数量将各个权重施加到与量子电路相对应的第一矩阵的多个矩阵元素,带宽减小组件,其基于矩阵元素的各个权重将第一矩阵变换为第二矩阵,以及置换(permutation)组件,其根据第二矩阵对量子电路中的各个量子位进行置换,得到置换的量子电路。除了其他优点之外,根据该实施例的系统具有对于量子计算操作(在例如功耗、所要求的处理周期等方面)的改进的效率以及在量子计算机硬件上实现量子电路的改进的能力的优点。

在某些实施例中,带宽减少组件可以包括搜索组件,其基于各个矩阵元素的各个权重来生成量子位有序列表,并且带宽减少组件可以基于量子位有序列表将第一矩阵变换成第二矩阵。根据本实施例的系统具有改进的量子电路优化性能的优点以及其他优点。在其他实施例中,搜索组件可以选择量子电路中的一个量子位作为量子位有序列表中的第一量子位,该量子位具有第一数量的量子位间连接以及第一组合矩阵元素加权。搜索组件可以进一步通过分别从第一数量的量子位间连接和第一组合矩阵元素加权中增加量子位间连接的数量并且减少组合矩阵元素加权来将量子位存储到量子位有序列表中。根据这些实施例的系统具有进一步改进的量子电路优化性能的优点以及其他优点。在另外的实施例中,带宽减少组件可以反转量子位有序列表,从而产生一个量子位反转有序列表,并且基于量子位反转有序列表,将第一矩阵变换成第二矩阵。此外或可替代地,带宽减小组件可以经由广度优先搜索将第一矩阵变换成第二矩阵。根据这些实施例的系统具有对于各种量子电路配置改进的优化效率的优点以及其他优点。在其他实施例中,该系统可以包括SWAP映射组件,该SWAP映射组件将SWAP门映射到置换的量子电路的各个量子位。根据本实施例的系统具有减少的SWAP门和/或相关联的量子电路中的相关联的物理连接的优点,以及其他优点。在其他实施例中,第一矩阵可具有第一带宽,并且第二矩阵可具有小于第一带宽的第二带宽。根据该实施例的系统具有量子电路复杂度降低的优点,例如,大约在第一带宽和第二带宽之间的差的数量级上,以及其他优点。

根据另一个实施例,一种计算机实现的方法可以包括:由操作性地耦合到处理器的装置根据在量子电路中的各个量子位对之间的量子门的各个数量将各个权重施加到与量子电路相对应的第一矩阵的多个矩阵元素;由该装置基于矩阵元素的各个权重将第一矩阵变换为第二矩阵;以及由该装置根据第二矩阵对量子电路中的各个量子位进行置换,得到置换的量子电路。根据本实施例的计算机实现的方法除了其他优点之外,还具有对于量子计算操作(在例如功耗、所要求的处理周期等方面)的改进的效率以及在量子计算机硬件上实现量子电路的改进的能力的优点。

在某些实施例中,该变换可以包括基于各个矩阵元素的各个权重生成量子位有序列表,并且基于量子位有序列表将第一矩阵变换为第二矩阵。根据本实施例的计算机实现的方法除了其他优点之外还具有改进的量子电路优化性能的优点。在其他实施例中,该生成可以包括选择量子电路中的一个量子位作为量子位有序列表中的第一量子位,该量子位具有第一数量的量子位间连接以及第一组合矩阵元素加权,并且通过分别从第一数量的量子位间连接和第一组合矩阵元素加权中增加量子位间连接的数量并且减少组合矩阵元素加权来将量子位存储到量子位有序列表中。根据本实施例的计算机实现的方法除了其他优点之外还具有进一步改进的量子电路优化性能的优点。在另外的实施例中,该变换可以包括将量子位有序列表反转,从而产生一个量子位反转有序列表,并且基于量子位反转有序列表,将第一矩阵变换为第二矩阵。另外或可替代地,该生成可以包括经由广度优先搜索将第一矩阵变换为第二矩阵。根据这些实施例的系统具有对于各种量子电路配置改进的优化效率的优点以及其他优点。

根据进一步的实施例,一种用于量子电路的局部优化的计算机程序产品可以包括计算机可读存储介质,该计算机可读存储介质具有随其体现的程序指令。这些程序指令可以由一个处理组件执行以便使该处理组件根据在量子电路中的各个量子位对之间的量子门的各个数量将各个权重施加到与量子电路相对应的第一矩阵的多个矩阵元素,基于矩阵元素的各个权重将第一矩阵变换为第二矩阵,以及根据第二矩阵对量子电路中的各个量子位进行置换,得到置换的量子电路。除了其他优点之外,根据本实施例的计算机程序产品具有改进的量子计算操作的效率(在例如功耗、所需的处理周期等方面)和改进的在量子计算机硬件上实现量子电路的能力的优点。

在某些实施例中,这些程序指令可以引起该处理器基于各个矩阵元素的各个权重生成量子位有序列表,并且基于量子位有序列表将第一矩阵变换成第二矩阵。根据本实施例的计算机程序产品具有改进的量子电路优化性能的优点以及其他优点。在其他实施例中,程序指令可以使处理器经由广度优先搜索将第一矩阵变换成第二矩阵。根据本实施例的计算机程序产品具有对于各种量子电路配置改进的优化效率的优点以及其他优点。

根据附加实施例,系统可包括存储计算机可执行组件的存储器和执行存储在存储器中的计算机可执行组件的处理器。这些计算机可执行组件可以包括图形加权组件,该图形加权组件根据在量子电路中的各个量子位对之间的量子门的各个数量将各个权重施加到与量子电路相对应的图形的边,图形修改组件,其基于图形中的各个顶点的程度和图形中的各个边的权重来重新定位图形的顶点,得到一个修改的图形,以及置换组件,该置换组件根据该修改的图形对量子电路中的各个量子位进行置换,得到置换的量子电路。除了其他优点之外,根据该实施例的系统具有对于量子计算操作(在例如功耗、所要求的处理周期等方面)的改进的效率以及在量子计算机硬件上实现量子电路的改进的能力的优点。

在某些实施例中,该图形修改组件可以包括搜索组件,该搜索组件基于该图形的各个顶点的程度以及该图形的各个边的权重来生成量子位有序列表,并且该图形修改组件可以基于量子位有序列表来重新定位图形的顶点。根据本实施例的系统具有改进的量子电路优化性能的优点以及其他优点。在其他实施例中,该搜索组件可以选择对应于该图形的顶点的一个量子位作为量子位有序列表中的第一量子位,该量子位具有第一程度和第一组合边权重,并且通过分别从第一程度和第一组合边权重增大程度和减小组合边权重来将量子位存储到量子位有序列表中。根据本实施例的系统具有进一步改进的量子电路优化性能以及其他优点的优点。在另外的实施例中,该图形修改组件可以反转量子位有序列表,得到量子位反转有序列表,并且基于该量子位反转有序列表来重新定位该图形的顶点。此外或可替代地,图形修改组件可经由广度优先搜索来重新定位图形的顶点。根据这些实施例的系统具有对于各种量子电路配置改进的优化效率的优点以及其他优点。

根据又一个实施例,一种计算机实施的方法可以包括:由操作性地耦合到处理器的装置,根据在量子电路中的各个量子位对之间的量子门的各个数量将各个权重施加到与量子电路相对应的图形的边;由该装置基于图形中的各个顶点的程度和图形中的各个边的权重来重新定位图形的顶点,得到一个修改的图形;以及由该装置根据该修改的图形对量子电路中的各个量子位进行置换,得到置换的量子电路。根据本实施例的计算机实现的方法除了其他优点之外还具有对于量子计算操作(在例如功耗、所要求的处理周期等方面)的改进的效率以及在量子计算机硬件上实现量子电路的改进的能力的优点。

在某些实施例中,该重新定位可以包括基于该图形的各个顶点的程度以及该图形的各个边的权重来生成量子位有序列表,并且基于量子位有序列表来重新定位图形的顶点。根据本实施例的计算机实现的方法除了其他优点之外还具有改进的量子电路优化性能的优点。在其他实施例中,该重新定位可以包括选择对应于该图形的顶点的一个量子位作为量子位有序列表中的第一量子位,该量子位具有第一程度和第一组合边权重,并且通过分别从第一程度和第一组合边权重增大程度和减小组合边权重来将量子位存储到量子位有序列表中。根据本实施例的计算机实现的方法除了其他优点之外还具有进一步改进的量子电路优化性能的优点。在其他实施例中,重新定位可以包括经由广度优先搜索来重新定位图形的顶点。根据这些实施例的计算机实现的方法具有针对不同量子电路配置改进的优化效率以及其他优点的优点。

附图说明

图1是根据在此描述的一个或多个实施例的促进量子电路的局部优化的系统的框图。

图2是根据在此描述的一个或多个实施例的在局部优化之前的示例量子电路的简图。

图3是根据在此描述的一个或多个实施例的在局部优化之前的示例量子位配置的简图。

图4是根据在此描述的一个或多个实施例的示例量子SWAP门的简图。

图5是根据在此描述的一个或多个实施例的在局部优化之后的图2的量子电路的简图。

图6是根据在此描述的一个或多个实施例的在局部优化之后的图3的量子位配置的简图。

图7-8是根据在此描述的一个或多个实施例的与各个量子电路相关联的各个矩阵的简图。

图9是根据在此描述的一个或多个实施例的促进对应于量子电路的矩阵的优化的系统的框图。

图10是根据在此描述的一个或多个实施例的在局部优化之前的示例量子电路的简图。

图11是根据在此描述的一个或多个实施例的与图10的量子电路相关联的矩阵的简图。

图12是根据在此描述的一个或多个实施例的在局部优化之后的图10的量子电路的简图。

图13是根据在此描述的一个或多个实施例的与图12的量子电路相关联的矩阵的简图。

图14是根据在此描述的一个或多个实施例的促进量子电路的局部优化的另一个系统的框图。

图15-16是根据在此描述的一个或多个实施例的分别与图10和图12的量子电路相关联的图形的简图。

图17是根据在此描述的一个或多个实施例的促进对应于量子电路的图形的优化的系统的框图。

图18是根据在此描述的一个或多个实施例的促进映射局部优化的量子电路的SWAP门的系统的框图。

图19-20是根据在此描述的一个或多个实施例的对应的示例、非限制性处理组件的简图。

图21-22是根据在此描述的一个或多个实施例的促进量子电路的局部优化的对应的示例、非限制性计算机实施的方法的流程图。

图23是其中可以实现在此描述的一个或多个实施例的示例、非限制性操作环境的框图。

具体实施方式

以下详细描述仅是说明性的并且不旨在限制实施例和/或实施例的应用或用途。此外,没有意图被在前面的背景技术或发明内容部分中或在具体实施方式部分中呈现的任何表达或暗示的信息所约束。

现在参考附图来描述一个或多个实施例,其中,贯穿全文,相同的附图标记用于指代相同的元件。在以下描述中,出于解释的目的,阐述了许多具体细节以便提供对一个或多个实施例的更透彻的理解。然而,显而易见的是,在不同情况下,可以在没有这些具体细节的情况下实践一个或多个实施例。

现在参考附图,图1示出了根据在此描述的一个或多个实施例的促进量子电路的局部优化的系统100的框图。如图1所示,系统100包括矩阵加权组件110,该矩阵加权组件将各个权重施加到与量子电路相对应的矩阵(例如,第一矩阵)的矩阵元素上。在一个方面,由矩阵加权组件110施加的权重可以对应于量子电路中的各个量子位对之间的量子门的各个数量。可由矩阵加权组件110处理的矩阵的特定、非限制性示例在下文参见图7、8、11和13进一步详细描述。

在一方面中,对应于给定量子电路的矩阵可由矩阵加权组件110本身产生,或替代地,可经由系统100外部的一个或多个组件将矩阵提供到矩阵加权组件110。该矩阵例如可以是一个nxn平方稀疏矩阵(square sparse matrix),其中n是该量子电路中的量子位的数目。如上所述,矩阵加权组件110可以根据底层量子电路中的各个量子位对之间的量子门的各个数量来加权矩阵的各个元素。量子电路的量子位可以被索引,并且矩阵可以相应地被填充。举例来讲,对于矩阵M,矩阵元素M

如图1进一步所示,系统100包括带宽减小组件120,带宽减小组件120可基于由矩阵加权组件110施加的各个矩阵元素的各个权重将由矩阵加权组件110处理的矩阵(例如,第一矩阵)变换成不同的第二矩阵。在一个方面,由带宽减少组件120处理的第二矩阵可以具有比由矩阵加权组件110处理的原始矩阵的带宽小的带宽,从而导致底层量子电路的简化性增加,如下面更详细地描述的。

图1中的系统100进一步包括置换组件130,该置换组件可以根据由带宽减少组件120处理的第二矩阵来置换底层量子电路中的对应量子位,从而得到置换的量子电路。在一个方面,矩阵加权组件110、带宽减少组件120和置换组件130可以共同地操作以通过利用相应的稀疏矩阵中的带宽和简档减少来改善具有局部连通性的硬件上的量子电路效率。通过这样做,系统100解决了针对具有局部交互的硬件优化量子电路的问题,从而产生了与经由常规技术产生的量子电路相比可以产生更简单和/或更高效的量子电路的解决方案。这进而可以增加量子计算机的速度、减少量子计算机的功率使用、减少量子计算机利用的处理周期和/或其他计算资源、减少用于将量子电路映射到量子硬件上的时间和/或处理周期等。还可以实现在此提供的实施例的其他优点。

转到图2,简图200描绘了示例模乘(modulo multiplication)量子电路U

相比之下,通过利用如在此说明的一种或多种局部优化技术,如以上关于图1说明的技术,通过重新标记和/或以其他方式重新分配该量子电路的各个量子位,由简图200示出的量子电路可以被置换成图5中500所示的量子电路。由简图500示出的量子电路可以被映射到如图6中的简图600示出的5位量子硬件架构。在一个方面,以简图600所示的方式将简图500所示的量子电路映射到量子硬件上,可以仅在硬件架构的彼此直接连接的量子位之间建立量子门。这又可以减少量子电路使用的SWAP门的数量,同时保持量子电路使用的其他量子门的数量不变。

返回到图1,矩阵加权组件110和带宽减小组件120可以将量子电路的各个双量子位门处理为一个稀疏矩阵。以此方式,带宽减少组件120可以通过减少其对应矩阵的带宽来促进量子电路的局部优化。

图7中的简图700和702分别描绘了对应于由带宽减小组件120进行优化之前和之后的示例量子电路的稀疏矩阵。在一个方面,稀疏矩阵可以表示为A

在一个方面,带宽减小组件120可以通过找到矩阵的行和列的置换来初始地处理简图700中所示的矩阵,该置换将该矩阵的非零元素移动得尽可能地接近主对角线,由此最小化该矩阵的带宽。例如,在优化之前简图700所示的矩阵具有在空间上分散在整个矩阵中的元素,而在优化之后简图702所示的矩阵的元素基本上与矩阵的主对角线对准,该主对角线可被可视化为从(0,0)到(7,7)延伸的对角线(未示出)。通过这样做,所产生的量子电路可以优先化直接相邻的量子位之间的连接(例如,以与图3和图6所示的架构类似的方式),从而减少与该电路相关联的SWAP门的数量以促进量子硬件上的简化电路设计。

在一个方面,带宽减小组件120可以利用任何合适的算法或算法的组合来找到将各个非零元素移向矩阵的主对角线的对称矩阵的行和列的置换。例如,带宽减小组件120可以利用与用于减小稀疏LU(下-上)分解中的存储器占用面积和/或增加iLU(逆LU)预调节器的稳定性的算法类似的算法。

通过特定的非限制性示例,带宽减小组件120可以利用广度优先搜索技术,诸如Cuthill-McKee重排序,其在最低程度的节点或顶点处开始,并且通过增加程度对顶点进行排序。在一些实例中,可以反转所得到的经排序的顶点(例如,使用反转Cuthill-McKee排序)以改善带宽减少性能。

然而,应当理解,带宽减小组件120可以利用任何适当的技术或技术的组合来减小量子电路矩阵的带宽。另外,说明书和所要求保护的主题都非意图限于任何特定算法,除非另有明确说明。

在另一方面,由矩阵加权组件110施加并且由带宽减少组件120利用的权重可以优先将与多个量子门相关联的量子位对彼此相邻地放置,由此进一步减少SWAP门的数量和/或与对应的量子电路相关联的其他物理开销。可由带宽减小组件120执行的加权矩阵带宽减小的图形示例由图8中的简图800和802示出。在此,与简图800和802所示的矩阵相关联的量子电路是一个五量子位电路,该五量子位电路被物理地配置成使得该电路中的每个量子位通过至少一个量子门连接到该电路中的每个其他量子位上。因此,如由简图800和802所示的矩阵所示,矩阵的每个元素(除了直接在主对角线上的那些元素)是非零的。

如图8进一步所示,各个矩阵元素可以例如由矩阵加权组件110根据加权标度被分配不同的权重。在此,该加权标度可以对应于与该量子电路中的各个量子位对相对应的量子门的数目。由此,例如,具有权重1的矩阵元素可以对应于由一个量子门连接的量子位对,具有权重2的矩阵元件可以对应于由两个量子门连接的量子位对,等等。

简图800示出了在由带宽减小组件120进行优化之前的示例量子电路矩阵。因为规范带宽最小化技术仅对矩阵结构进行操作,所以这些技术将使简图800中所示的矩阵保持不变,因为除了沿主对角线的那些元素之外的矩阵的每个元素都是非零的。相比之下,通过利用如图8所示的元件权重,带宽减少组件120可以通过优先化量子位之间的重复交互来促进额外的局部优化。这进而可以增加在量子电路中的相邻量子位之间共享的量子门的数量,从而减少SWAP计数和/或与电路相关联的其他物理开销。

简图802示出了在由带宽减少组件120进行优化之后的加权量子电路矩阵的示例。如简图802所示,带宽减少组件120可以将矩阵的最大权重元素移向主对角线,由此重新排列对应的量子电路中的量子位,以更好地适应量子位对之间的重复交互。

现在转向图9,示出了根据本文描述的一个或多个实施例的促进优化对应于量子电路的矩阵的系统900的框图。为了简洁起见,省略对在本文中描述的其他实施例中采用的类似元件的重复描述。如图9所示,系统900包括带宽减小组件120,其可如以上关于图1所述地操作。在一个方面,带宽减少组件120可以包括搜索组件910,该搜索组件可以基于这些矩阵元素的各个权重(例如,如由矩阵加权组件110所分配的)生成量子位有序列表920。带宽减小组件120然后可以基于由搜索组件910产生的有序列表920将由矩阵加权组件110处理的原始(第一)矩阵变换成优化的(第二)矩阵。

在一个方面,搜索组件910可以通过选择该相关联的量子电路中的一个量子位作为该有序列表920中的第一量子位来开始生成该有序列表920,该量子位具有第一数量的量子位间连接和第一组合矩阵元素加权。通过非限制性示例,搜索组件910可以在该量子电路中选择具有最低数量的量子位间连接(例如,对应于由矩阵加权组件110加权的矩阵的具有最低程度的一行)和最低的组合加权的一个量子位。搜索组件910然后可以通过分别从该第一数量的量子位间连接和该第一组合矩阵元素加权中增加量子位间连接的数量并且减少组合的矩阵元素加权来将量子位存储到有序列表920中。换言之,参考由矩阵加权组件加权的矩阵,搜索组件910可以用一个具有最低程度和最低权重的量子位开始遍历该矩阵,并且通过搜索遍历将量子位添加到有序列表920中,在该搜索遍历中这些量子位是按照最低程度和最高权重排序的,例如,从最低到最高排序的程度和从最高到最低排序的权重。

在另一方面,搜索组件910可反转所生成的有序列表920以获得反转有序列表。然后,带宽减小组件120可以利用反转有序列表来将原始量子电路矩阵变换成优化矩阵。作为关于图7的非限制性实例,搜索组件910可使用一个或多个搜索算法(例如,Cuthill-McKee搜索)基于由简图700所示的原始矩阵产生有序列表[0,4,2,1,5,7,3,6]。搜索组件910然后例如可以反转该列表,以获得[6,3,7,5,1,2,4,0],带宽减少组件120可以利用该列表按照列表指定的顺序根据反转的列表来重新安排矩阵的元素。由此,例如,带宽减小组件可以将如简图700中所示的元素6重新分配给如简图702中所示的元素0,将如简图700中所示的元素3重新分配给如简图702中所示的元素1,等等,直到矩阵的每个元素已经被重新分配。在进一步方面,带宽减小组件120可利用原始有序列表920或反转有序列表,例如基于确定哪个有序列表更好地减小矩阵的带宽。

如上所述,与常规技术相比,搜索组件910可以通过结合矩阵元素权重(例如,由矩阵加权组件110施加)来提供改进的局部量子电路优化。例如,如以上关于图8所说明的,搜索组件910可以根据程度和加权产生量子位有序列表920,从而产生如由简图802所示的优化的量子电路矩阵,该矩阵与单独在程度上操作的技术相比可以改进电路性能。在不同示例中,通过以关于图8所示的方式利用加权矩阵遍历,搜索组件910可以将量子电路的门计数和/或深度减少高达一个数量级。

在一个方面,搜索组件910可以经由一个或多个广度优先搜索技术(例如,加权的Cuthill-McKee搜索)来生成有序列表920。然而,应当理解,搜索组件910可利用任何合适的搜索算法或算法的组合来生成有序列表920和/或变换相关联的矩阵。

接下来参见图10-13,显示了可以根据在此描述的各个方面执行的量子电路优化的一个特定的、非限制性示例。具体地,图10-13示出了可以针对Simon算法的量子电路执行的各个电路优化,由于本领域中对所述算法的知识,此处利用Simon算法作为示例。应当理解,其他量子电路能够以类似的方式进行优化。

图10中的简图1000示出了用于Simon算法的常规量子电路。在此,该电路包含26个量子门,具有14的门深度。图11中以矩阵形式通过简图1100来表示由简图1000所示的电路。如简图1100所示,对应于简图1000所示的电路的矩阵具有带宽7以及加权简档37(例如,矩阵中的较高加权元素已经移动到主对角线的程度的度量)。

在一个方面,通过执行如上所述的一个或多个电路优化技术,图10中的简图1000所示的量子电路可以被变换(例如,通过置换组件130)成图12中的简图1200所示的量子电路。由于上述操作,由简图1200示出的电路仍然可以利用26个量子门,但是电路深度可以从14减小到10。这进而可以显著地减少用于将由简图1200所示的电路映射到量子硬件上的SWAP门和/或其他互连的数量。例如,对于一个示例量子硬件实现方式,与简图1000所示的电路相比,映射到硬件的门计数(包括SWAP门和其他类似的门)可以减少大约33%的因子,并且电路深度可以类似地减少大约42%的因子。图13中以矩阵形式通过简图1300来表示由简图1200所示的电路。与由简图1100示出的矩阵相比,矩阵带宽可以从7减小到4,并且加权简档可以从37减小到23。

接下来参照图14,示出了根据本文描述的不同实施例的促进量子电路的局部优化的替代系统1400的框图。为了简洁起见,省略对在本文中描述的其他实施例中采用的类似元件的重复描述。如图14所示,系统1400包括图形加权组件1410,该图形加权组件可以根据该量子电路中的各个量子位对之间的量子门的各个数量将各个权重施加到对应于量子电路的图形的边上。

在一方面中,对应于给定量子电路的图形可由图形加权组件1410本身产生,或替代地,图形可经由系统1400外部的一个或多个组件提供到图形加权组件1410。该图形可以包括例如对应于电路中的量子位的各个顶点和对应于由量子电路中的各个量子位对共享的量子门的各个边。在一个示例中,图形加权组件1410可以根据在底层量子电路中的各个量子位对之间的量子门的各个数量对图形的各个边进行加权。可以对该量子电路的量子位进行索引,并且可以相应地填充该图形。

在一个方面中,由图形加权组件1410用于生成和/或加权对应于量子电路的图形的技术可以类似于用于生成和/或加权如以上关于矩阵加权组件110所描述的矩阵的元素的那些技术。作为具体的非限制性示例,图15中的简图1500示出了如图10中的简图1000所示的Simon算法的量子电路的图形表示。如上所述,由简图1500所示的图形可以包括与底层量子电路中的各个量子位相对应的顶点以及表示该电路中的各个量子门的边。由于简图1000中具有索引1和6的量子位是通过两个量子门连接的,简图1500中的顶点1与6之间的边可以被图形加权组件1410给予一个权重2。该加权在简图1500中由连接顶点1和6的双线表示。然而,应当理解,该表示仅用于说明性目的,并且权重可以任何合适的方式施加于图形中的各个边。

返回至图14,系统1400进一步包括图形修改组件1420,该图形修改组件可以重新定位在由图形加权组件1410生成和/或处理的图形内的顶点,从而产生经修改的图形。在一方面中,图形修改组件1420可基于图形中的各个顶点的程度(即,经由边连接到给定顶点的顶点的数目)、图形中的各个边的权重和/或其他合适因素来重新定位图形中的顶点。如图14所示的系统1400可以进一步包括置换组件130,该置换组件可以根据该修改的图形以一种与以上针对修改的矩阵关于图1所描述的类似的方式对该量子电路中的这些量子位中的各个量子位进行置换。在一方面,系统1400解决了针对具有局部交互的硬件优化量子电路的问题,从而产生与经由常规技术产生的量子电路相比可以产生更简单和/或更高效的量子电路的解决方案。

在一方面,图形修改组件1420可经由一个或多个图形重新标记技术来重新定位图形中的顶点。更具体地说,图形修改组件1420可以重新定位施加到该图形中的各个顶点上的标记,并且进一步地重新定位量子电路中的对应量子位,同时保持该图形的底层物理结构在其他方面不变。通过非限制性示例,图16中的简图1600示出了在由图形修改组件1420处理之后的简图1500所示的图形。如简图1600所示,图形修改组件1420可以重新标记图形中的顶点,以便优化与底层量子电路相关联的局部连接,而不对图形本身的结构进行物理改变。在一方面,由简图1600示出的图形结构可以产生与图12中由简图1200示出的量子电路类似的量子电路(例如,经由置换组件130)。

现在转向图17,显示了根据在此描述的一个或多个实施例的促进对应于量子电路的图形的优化的系统1700的框图。为了简洁起见,省略对在本文中描述的其他实施例中采用的类似元件的重复描述。如图17所示,系统1700包括图形修改组件1420,该组件可如以上关于图14所描述地操作。在一个方面,图形修改组件1420可以包括搜索组件1710,该搜索组件可以基于图形中的各个顶点的程度以及例如通过图形加权组件1410施加到这些顶点上的各个权重来生成量子位有序列表1720。然后,图形修改组件1420可基于搜索组件1710产生的有序列表1720例如通过以简图1500和1600所示的方式重新标记图形中的顶点来重新定位图形内的顶点。

在一个方面,搜索组件1710可以通过选择与该图形中具有第一程度和第一组合边权重的一个顶点相对应的一个量子位作为有序列表1720中的第一量子位来开始生成有序列表1720。作为非限制性示例,搜索组件1710可以选择量子电路中的对应于图形中的一个具有最低程度(并且,相应地,量子位间连接的最低数量)以及与连接到该顶点的边相关联的最低总边权重的顶点的量子位。搜索组件1710然后可以通过分别从该第一程度和该第一组合边权重增大程度和减小组合边权重来将量子位存储到有序列表1720中。在另一方面,搜索组件1710可反转所生成的有序列表1720以获得反转有序列表。随后,图形修改组件1420可以利用该反转有序列表来重新标记或重新定位该量子电路图形的各个节点。

如上所述,与常规技术相比,搜索组件1710可以通过合并图形边权重(例如,如由图形加权组件1410所施加的)来提供改进的局部量子电路优化。例如,如以上关于图15-16所说明的,搜索组件1710可以根据程度和加权两者产生量子位有序列表1720,从而产生一个优化的量子电路图,如由简图1600所示,与单独对程度进行操作的技术相比,该图可以改进电路性能。在不同示例中,通过以关于图15-16所示的方式利用加权图遍历,搜索组件1710可以将量子电路的门计数和/或深度减少高达一个数量级。

在一方面,搜索组件1710可经由可类似于由以上关于图9描述的搜索组件910利用的技术的一种或多种技术来生成有序列表1720。这些技术可以包括广度优先搜索技术,诸如加权的Cuthill-McKee搜索。然而,与搜索组件910一样,应当理解,搜索组件1710可利用任何合适的搜索算法或算法的组合来生成排序列表1720和/或变换相关联的图形。

现在参见图18,显示了根据在此描述的一个或多个实施例的促进映射局部优化量子电路的多个SWAP门的系统1800的框图。为了简洁起见,省略对在本文中描述的其他实施例中采用的类似元件的重复描述。如图18所示的系统1800包括SWAP映射组件1810,该映射组件可以将SWAP门映射到一个置换的量子电路的各个量子位上,例如,如由置换组件130根据以上关于图1和/或图14提供的说明所处理的。在一个方面,可以利用SWAP映射组件1810来促进直接将置换组件130生成的置换量子电路映射到量子硬件,或者可替代地,可以在置换组件130与SWAP映射组件1810之间插入一个或多个传输器(transpiler)组件和/或其他处理步骤。如上所述,置换组件130可以利用如在此所描述的不同技术来产生具有改进的局部连接性的量子电路。照此,由系统1800中使用的SWAP映射组件1810使用的SWAP门的数量可以低于与常规量子电路相关联的SWAP门的数量。还可以实现其他优点。

接下来参照图19,示出了根据一个或多个实施例的可以用于实现本文所描述的一个或多个方面的处理组件1900。为了简洁起见,省略对在本文中描述的其他实施例中采用的类似元件的重复描述。

如图19所示,处理组件1900可以与至少一个处理器1910(例如,中央处理单元、图形处理单元等)相关联,该处理器可以用于实现如上所述的矩阵加权组件110、带宽减小组件120和/或置换组件130中的一个或多个。处理器1910可经由数据总线1920连接到处理组件1900的一个或多个附加子组件,诸如通信组件1930和/或存储器1940。虽然通信组件1930被示为与处理器1910分开实现,但是在一些实施例中,处理器1910可附加地用于实现通信组件1930。在其他实施例中,通信组件1930可以在处理组件1900外部,并且经由单独的通信链路与处理组件1900通信。

根据本文描述的一个或多个实施例,存储器1940可由处理组件1900用于存储由处理组件1900使用的数据。另外地或可替代地,存储器1940可以具有存储在其上的机器可读指令,所述机器可读指令当由处理组件1900执行时使处理组件1900(和/或其一个或多个处理器1910)实现矩阵加权组件110、带宽减小组件120和/或置换组件130,如上所述。

图20示出了根据一个或多个实施例的可以用于实现本文所描述的一个或多个方面的另一个处理组件2000。为了简洁起见,省略对在本文中描述的其他实施例中采用的类似元件的重复描述。

如图20所示,处理组件2000可以与至少一个处理器2010相关联,该至少一个处理器可以用于实现如上所述的图形加权组件1410、图形修改组件1420和/或置换组件130中的一个或多个。处理器2010可以经由数据总线2020连接至处理组件2000的一个或多个附加子组件,诸如通信组件2030和/或存储器2040。在一方面中,通信组件2030可以类似于上文关于图19所描述的通信组件1930的方式配置。

类似于上文关于图19所描述的存储器1940,根据本文所描述的一个或多个实施例,存储器2040可由处理组件2000利用以存储由处理组件2000利用的数据。另外地或可替代地,存储器2040可以具有存储在其上的机器可读指令,所述机器可读指令当由处理组件2000执行时,使处理组件(和/或其一个或多个处理器2010)实现如上所述的图形加权组件1410、图形修改组件1420和/或置换组件130。

在不同实施例中,图19-20中所示的处理组件1900、2000可以是或包括执行计算任务(例如,与接收到的数据相关联的计算任务)的硬件、软件(例如,一组线程、一组进程、执行中的软件等)或硬件和软件的组合。例如,处理组件1900、2000可以执行大的和/或复杂的多量子位电路的模拟和/或执行人不能执行的其他操作(例如,大于人脑的能力)。例如,由处理组件1900、2000在一段时间内处理的数据量、数据处理的速度和/或数据类型,可以分别比可由单个人脑在相同的时间段内处理的量更大、速度更快和不同数据类型。例如,由处理组件1900、2000处理的数据可以是与一个或多个计算设备相关联的原始数据(例如,原始文本数据、原始数字数据等)和/或压缩的数据(例如,压缩的文本数据、压缩的数字数据等)。此外,处理组件1900、2000可完全操作为执行一个或多个其他功能(例如,完全通电、完全执行等),同时还处理上述数据。

图21示出根据在此描述的一个或多个实施例的促进量子电路的局部优化的一个示例、非限制性计算机实现的方法2100的流程图。为了简洁起见,省略对在本文中描述的其他实施例中采用的类似元件的重复描述。

在2102,可操作地耦合到处理器(例如,处理组件1900的处理器1910)的装置可以(例如,通过矩阵加权组件110)将各个权重施加到对应于量子电路的第一矩阵的矩阵元素。在一个方面,可以根据该量子电路中的各个量子位对之间的量子门的各个数量来施加这些权重。

在2104,该装置可基于如在2102施加的矩阵元素的各个权重(例如,由带宽减少组件120)将第一矩阵变换成第二矩阵。

在2106,该装置可以根据在2104产生的第二矩阵(例如,通过置换组件130)对量子电路中的对应量子位进行置换,从而产生置换的量子电路。

图22显示了根据在此描述的一个或多个实施例促进量子电路的局部优化的替代性示例、非限制性计算机实现的方法2200的流程图。为了简洁起见,省略对在本文中描述的其他实施例中采用的类似元件的重复描述。

在2202,可操作地耦合到处理器(例如,处理组件2000的处理器2010)的设备可以(例如,通过图形加权组件1410)将各个权重施加到对应于量子电路的图形的边。在一个方面,可以根据该量子电路中的各个量子位对之间的量子门的各个数量来施加这些权重。

在2204,该装置可基于图形的顶点中的各个顶点的程度和在2202施加的图形的边中的各个边的权重来(例如,通过图形修改组件1420)重新定位图形的顶点,从而得到经修改的图形。

在2206,该装置可以根据在2204产生的修改的图形来置换(例如,通过置换组件130)量子电路中的各个量子位,从而得到置换的量子电路。

为了简化解释,计算机实现的方法被描绘和描述为一系列动作。应当理解,本发明并不限于所示出的动作和/或动作的顺序,例如,动作可以按不同顺序和/或同时发生,并且与本文未呈现和描述的其他动作一起发生。此外,并非所有示出的动作都是实现根据所公开的主题的计算机实现的方法。此外,本领域技术人员将理解和领会,计算机实现的方法可替代地经由状态图或事件被表示为一系列相互关联的状态。另外,应进一步理解,下文中和贯穿本说明书公开的计算机实现的方法能够被存储在制品上以便于将这样的计算机实现的方法传送和转移到计算机。如本文所使用的,术语制品旨在涵盖可从任何计算机可读设备或存储介质访问的计算机程序。

此外,因为数据包的配置和/或处理组件之间的通信是从电气和机械组件和电路的组合建立的,所以人不能复制或执行该数据包配置和/或处理组件之间的该通信。例如,人不能够生成用于在处理组件等之间通过有线网络和/或无线网络传输的数据。此外,人不能对可以包括与在如上所述的一个或多个过程期间生成的信息相对应的比特序列的数据进行打包,不能发送可以包括与在如上所述的一个或多个过程期间生成的信息相对应的比特序列的数据等。

为了为所公开的主题的各方面提供上下文,图23以及以下讨论旨在提供对其中可实现所公开的主题的各方面的合适环境的一般描述。图23示出其中可促进本文所述的一个或多个实施例的示例非限制性操作环境的框图。为了简洁起见,省略对在本文中描述的其他实施例中采用的类似元件的重复描述。参考图23,用于实现本公开的各个方面的合适的操作环境2300还可以包括计算机2312。计算机2312还可以包括处理单元2314、系统存储器2316和系统总线2318。系统总线2318将包括但不限于系统存储器2316的系统组件耦合到处理单元2314。处理单元2314可以是不同可用处理器中的任何处理器。双微处理器和其他多处理器架构也可以用作处理单元2314。系统总线2318可以是包括存储器总线或存储器控制器、外围总线或外部总线、和/或使用各种可用总线架构的局部总线的若干类型的总线结构中的任何一种,各种总线架构包括但不限于工业标准架构(ISA)、微通道架构(MSA)、扩展ISA(EISA),智能驱动电子装置(IDE)、VESA本地总线(VLB)、外围组件互连(PCI)、卡总线、通用串行总线(USB),高级图形端口(AGP)、火线(IEEE1394)和小型计算机系统接口(SCSI)。系统存储器2316还可以包括易失性存储器2320和非易失性存储器2322。包含诸如在启动期间在计算机2312内的元件之间传输信息的基本例程的基本输入/输出系统(BIOS)被存储在非易失性存储器2322中。作为说明而非限制,非易失性存储器2322可包含只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、快闪存储器或非易失性随机存取存储器(RAM)(例如,铁电RAM(FeRAM))。易失性存储器2320还可以包括充当外部高速缓冲存储器的随机存取存储器(RAM)。作为说明而非限制,RAM以许多形式可用,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、SynchlinkDRAM(SLDRAM)、直接RambusRAM(DRRAM)、直接Rambus动态RAM(DRDRAM)和Rambus动态RAM。

计算机2312还可以包括可移动/不可移动、易失性/非易失性计算机存储介质。图23显示了例如盘存储2324。盘存储2324还可以包括但不限于像磁盘驱动器、固态驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡、或记忆棒的装置。盘存储2324还可包括分开地或与其他存储介质组合的存储介质,包括但不限于光盘驱动器,例如致密盘ROM装置(CD-ROM)、CD可记录驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW驱动器)、数字通用盘ROM驱动器(DVD-ROM)、或蓝光盘驱动器。为了便于将盘存储2324连接到系统总线2318,通常使用可移除或不可移除接口,诸如接口2326。图23还描绘了充当用户和在适当的操作环境2300中描述的基本计算机资源之间的中介的软件。这样的软件还可以包括例如操作系统2328。可以存储在盘存储2324上的操作系统2328用于控制和分配计算机2312的资源。系统应用2330通过程序模块2332和程序数据2334(例如,存储在系统存储器2316中或盘存储2324上)利用操作系统2328对资源的管理。应当理解,本公开可以用不同操作系统或操作系统的组合来实现。用户通过输入设备2336将命令或信息输入到计算机2312中。输入设备2336包括但不限于定点设备,诸如鼠标、轨迹球、指示笔、触摸板、键盘、麦克风、操纵杆、游戏板、碟形卫星天线、扫描仪、TV调谐器卡、数码相机、数码摄像机、网络相机等。这些和其他输入设备经由接口端口2338通过系统总线2318连接到处理单元2314。接口端口2338包括例如串行端口、并行端口、游戏端口、以及通用串行总线(USB)。输出设备2340使用与输入设备2336相同类型的端口中的一些端口。因此,例如,USB端口可以用于向计算机2312提供输入,并且从计算机2312向输出装置2340输出信息。提供输出适配器2342以说明存在需要特殊适配器的一些输出设备2340,比如监视器、扬声器和打印机以及其他输出设备2340。作为说明而非限制,输出适配器2342包括提供输出设备2340与系统总线2318之间的连接手段的视频和声卡。应当注意,其他设备和/或设备系统提供输入和输出能力两者,诸如远程计算机2344。

计算机2312可使用到一个或多个远程计算机(诸如远程计算机2344)的逻辑连接在联网环境中操作。远程计算机2344可以是计算机、服务器、路由器、网络PC、工作站、基于微处理器的器具、对等设备或其他公共网络节点等,并且通常还可以包括相对于计算机2312所描述的许多或所有元件。为了简洁起见,仅示出了具有远程计算机2344的存储器存储设备2346。远程计算机2344通过网络接口2348逻辑地连接到计算机2312,然后经由通信连接2350物理地连接。网络接口2348包括有线和/或无线通信网络,诸如局域网(LAN)、广域网(WAN)、蜂窝网络等。LAN技术包括光纤分布式数据接口(FDDI)、铜线分布式数据接口(CDDI)、以太网、令牌环等。WAN技术包括但不限于点对点链路、电路交换网络(如综合业务数字网(ISDN))及其变型、分组交换网络和数字用户线(DSL)。通信连接2350是指用于将网络接口2348连接到系统总线2318的硬件/软件。虽然为了说明清楚而在计算机2312内部示出了通信连接2350,但是它也可以在计算机2312的外部。用于到网络接口2348的连接的硬件/软件还能够包括(仅出于示范性目的)内部和外部技术,例如包括常规电话级调制解调器、电缆调制解调器和DSL调制解调器的调制解调器、ISDN适配器和以太网卡。

本发明的各种实施例可以是处于任何可能的技术细节集成水平的系统、方法、装置和/或计算机程序产品。所述计算机程序产品可包含上面具有计算机可读程序指令的计算机可读存储介质,所述计算机可读程序指令用于致使处理器执行本发明的一个或多个方面。计算机可读存储介质可以是可以保留和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述各项的任何合适的组合。计算机可读存储介质的更具体的例子的非穷举的列表还可以包括以下:便携式计算机盘,硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存),静态随机存取存储器(SRAM)、便携式致密盘只读存储器(CD-ROM),数字通用盘(DVD)、记忆棒、软盘、机械编码设备(诸如穿孔卡片)或具有记录在其上的指令的凹槽中的凸起结构),以及上述的任意合适的组合。如本文中所使用的计算机可读存储介质不应被解释为瞬态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输媒质传播的电磁波(例如,通过光纤电缆的光脉冲)、或通过导线传输的电信号。

本文所述的计算机可读程序指令可从计算机可读存储介质下载到相应的计算/处理设备,或经由网络(例如,互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。用于执行本发明的一个或多个实施例的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据,或以一种或多种编程语言的任何组合编写的源代码或目标代码,包括面向对象的Smalltalk、C++等编程语言,以及过程式编程语言,例如“C”编程语言或类似的编程语言。这些计算机可读程序指令可以完全地在用户的计算机上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分地在用户的计算机上部分在远程计算机上执行、或者完全地在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。在一些实施例中,电子电路(包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA))可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本发明的一个或多个方面。

本文中参照根据本发明的一个或多个实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的一个或多个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令来实现。这些计算机可读程序指令可以被提供给通用计算机的处理器、专用计算机或其他可编程数据处理装置,以产生一个机器,其通过计算机或其他可编程数据处理装置的处理器执行,创建用于实现在流程图和/或方框图的一个或多个方框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其能够引导计算机、可编程数据处理装置和/或以特定方式起作用的其他设备,使得具有存储在其中的指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各方面的指令。计算机可读程序指令还可以加载到计算机、其他可编程数据处理装置或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作动作,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图图示了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。对此,流程图或框图中的每个方框可以表示模块、段或指令的一部分,其包括用于实现规定的逻辑功能的一个或多个可执行指令。在一些替代实现方式中,框中所标注的功能可以不以图中所标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还将注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合可以由基于专用硬件的系统来实现,所述基于专用硬件的系统执行指定的功能或动作或执行专用硬件与计算机指令的组合。

虽然以上已经在运行在一个计算机和/或多个计算机上的计算机程序产品的计算机可执行指令的一般上下文中描述了本主题的多个部分,但是本领域技术人员将认识到,本披露还可以或可以结合其他程序模块来实现。通常,程序模块包括执行特定任务和/或实现特定抽象数据类型的例程、程序、组件、数据结构等。此外,本领域技术人员将认识到本发明的计算机实现的方法可以用其他计算机系统配置来实践,包括单处理器或多处理器计算机系统、小型计算设备、大型计算机、以及计算机、手持式计算设备(例如,PDA、电话)、基于微处理器的或可编程的消费或工业电子产品等。所示方面还可在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实践。然而,本公开的一些方面(如果不是全部的话)可在独立计算机上实践。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备两者中。

如在本申请中所使用的,术语“组件”、“系统”、“平台”、“接口”等可以指代和/或可以包括计算机相关实体或与具有一个或多个特定功能的操作机器相关的实体。本文公开的实体可以是硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是但不限于在处理器上运行的进程、处理器、对象、可执行文件、执行的线程、程序和/或计算机。作为说明,在服务器上运行的应用和服务器两者可以是组件。一个或多个组件可以驻留在进程和/或执行线程内,并且组件可以位于一个计算机上和/或分布在两个或更多个计算机之间。在另一实例中,相应组件可从具有存储于其上的不同数据结构的不同计算机可读介质执行。组件可以经由本地和/或远程过程通信,诸如根据具有一个或多个数据分组的信号(例如,来自与本地系统、分布式系统中的另一组件交互和/或跨网络(诸如互联网)经由信号与其他系统交互的一个组件的数据)。作为另一示例,组件可以是具有由电气或电子电路操作的机械组件提供的特定功能的装置,该电气或电子电路由处理器执行的软件或固件应用操作。在这种情况下,处理器可以在装置内部或外部,并且可以执行软件或固件应用的至少一部分。作为又一示例,组件可以是通过没有机械组件的电子组件来提供特定功能的装置,其中电子组件可以包括处理器或用于执行软件或固件的其他装置,该软件或固件至少部分地赋予电子组件的功能。在一方面,组件可经由例如云计算系统内的虚拟机来仿真电子组件。

此外,术语“或”旨在表示包含性的“或”而不是排他性的“或”。也就是说,除非另外指明或从上下文中清楚可见,“X采用A或B”旨在意指任何自然的包含性排列。即,如果X采用A;X采用B;或X采用A和B两者,则在任何前述情况下满足“X采用A或B”。此外,在本说明书和附图中使用的冠词“一个/一种(a)”和“一个/一种(an)”总体上应被解释为意指“一个或多个”,除非另外指明或从上下文中清楚看出是针对单数形式。如在此所使用的,术语“示例”和/或“示范性”用于意指充当示例、实例或说明。为了避免疑问,本文公开的主题不受这样的示例的限制。此外,在此描述为“示例”和/或“示范性”的任何方面或设计不一定被解释为比其他方面或设计优选或有利,也不旨在排除本领域普通技术人员已知的等效示范性结构和技术。

如在本说明书中所采用的,术语“处理器”可以指基本上任何计算处理单元或设备,包括但不限于单核处理器;具有软件多线程执行能力的单处理器;多核处理器;具有软件多线程执行能力的多核处理器;具有硬件多线程技术的多核处理器;并行平台;以及具有分布式共享存储器的并行平台。另外,处理器可指代集成电路、专用集成电路(ASIC)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑控制器(PLC)、复杂可编程逻辑装置(CPLD)、离散门或晶体管逻辑、离散硬件组件,或经设计以执行本文中所描述的功能的其任何组合。进一步,处理器可以利用纳米级架构,诸如但不限于基于分子和量子点的晶体管、开关和栅极,以便优化空间使用或增强用户设备的性能。处理器还可以被实现为计算处理单元的组合。在本披露中,诸如“存储”、“存储设备”、“数据存储”、“数据存储设备”、“数据库”等术语以及与组件的操作和功能相关的基本上任何其他信息存储组件被用于指“存储器组件”、体现在“存储器”中的实体、或包括存储器的组件。应了解,本文中所描述的存储器和/或存储器组件可为易失性存储器或非易失性存储器,或可包含易失性存储器和非易失性存储器两者。作为说明而非限制,非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEPROM)、闪存或非易失性随机存取存储器(RAM)(例如,铁电RAM(FeRAM))。易失性存储器可以包括RAM,该RAM可以例如充当外部高速缓存存储器。作为说明而非限制,RAM以许多形式可用,诸如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、SynchlinkDRAM(SLDRAM)、直接RambusRAM(DRRAM)、直接Rambus动态RAM(DRDRAM)和Rambus动态RAM(RDRAM)。另外,本文所公开的系统或计算机实现的方法的存储器组件旨在包括但不限于包括这些和任何其他合适类型的存储器。

上述内容仅包括系统和计算机实现的方法的示例。当然,出于描述本公开的目的,不可能描述组件的每个可想到的组合或计算机实现的方法,但是本领域普通技术人员可以认识到,本公开的许多进一步的组合和排列是可能的。此外,就在详细说明、权利要求、附件和附图中使用术语“包括”、“具有”、“拥有”等而言,此类术语旨在以与术语“包含”类似的方式是包括性的,因为“包含”在权利要求中用作过渡词时被解释。已出于说明的目的呈现了不同实施例的描述,但所述描述并非意在穷举或限于所揭示的实施例。在不背离所描述的实施例的范围和精神的情况下,各种修改和变化对本领域的普通技术人员而言将是显而易见的。选择在此使用的术语以最佳地解释实施例的原理、实际应用或在市场上找到的技术上的技术改进,或使得本领域普通技术人员能够理解在此披露的实施例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号