首页> 中国专利> 增强用于优化的混合量子经典算法

增强用于优化的混合量子经典算法

摘要

一种用于增强用于组合优化的混合经典算法的方法包括在量子处理器上执行变分算法,该执行在预定义时间段内产生变分算法的解的集合(解空间)的子集,变分算法计算对应于组合优化问题的量子系统的量子状态,该子集中的每个解具有对应的值;根据排序准则对解的子集进行排序;基于排序来隔离解的子集的一部分,其中对应于该部分中的每个解的值在由阈值界定的边界内;从解的子集的该部分计算解的平均值;以及更改该变分算法以产生解的第二子集,使得解的第二子集包括具有该边界内的值的解。

著录项

说明书

技术领域

本发明总体上涉及使用量子计算的变分算法(variational algorithm)。更具体地,本发明涉及用于增强用于优化的混合量子经典算法的方法。

背景技术

除非在使用时明确区分,在下文中,短语的字中的“Q”前缀指示在量子计算上下文中该字或短语的引用。

分子和亚原子粒子遵循量子力学定律,量子力学是探索物理世界如何在最基本的水平上工作的物理学分支。在这个水平,粒子以奇特的方式表现,同时呈现多于一个状态,并且与非常远的其他粒子相互作用。量子计算利用这些量子现象来处理信息。

我们今天使用的计算机被称为经典计算机(在此也被称为“传统”计算机或传统节点,或“CN”)。在所谓的Von Neumann架构中,传统计算机使用利用半导体材料和技术制造的传统处理器、半导体存储器、以及磁性或固态存储装置。具体地,传统计算机中的处理器是二进制处理器,即,对在1和0中表示的二进制数据进行操作。

量子处理器(q-处理器)使用缠结的量子位器件(在此紧凑地称为“量子位”、多个“量子位”)的奇数性质来执行计算任务。在量子力学运行的具体领域中,物质粒子能以多种状态存在,如“开”状态、“关”状态以及同时“开”和“关”状态。在使用半导体处理器的二进制计算被限制为仅使用开和关状态(在二进制代码中相当于1和0)的情况下,量子处理器利用这些物质的量子状态来输出在数据计算中可用的信号。

传统计算机以位编码信息。每个位可以取1或0的值。这些1和0用作最终驱动计算机功能的开/关开关。另一方面,量子计算机是基于量子位的,其根据量子物理学的两个关键原理:叠加和纠缠来操作。叠加意味着每个量子位可以同时表示1和0两者。纠缠意味着叠加中的量子位能够以非经典的方式彼此相关;即,一个量子位(无论是1还是0或者两者)的状态可以取决于另一个量子位的状态,并且当两个量子位纠缠时存在比当单独对它们进行处理时可以确认的关于这两个量子位的更多信息。

使用这两种原理,量子位作为更复杂的信息处理器运行,使量子计算机能够以允许它们解决使用传统计算机难于处理的复杂问题的方式起作用。IBM已经成功地构建并且证明了使用超导量子位的量子处理器的可操作性(IBM是国际商业机器公司在美国和其他国家的注册商标。)

说明性实施例认识到,量子处理器可以执行各种算法,目前可用的传统处理器要么不能执行,要么只能以不希望的准确度或计算资源消耗执行。变分算法使用试验波函数,该试验波函数被改变以确定量子系统的基态能量的上限。波函数是诸如量子系统的量子状态的数学描述。在量子处理器上将量子状态表示为作用在量子位上的一系列量子逻辑门。量子系统的每个量子状态包括对应的能量值。

量子系统的基态的总能量对应于该量子系统的总能量的最小可能值。哈米尔顿算子(Hamiltonian)是描述一个量子状态的总能量的算子(operator)。作用于波函数的哈米尔顿算子确定对应于量子状态的总能量的值。

为了计算量子系统的基态能量的上限,变分算法从初始波函数开始执行众多评估。每个评估计算对应于被评估的波函数的量子状态的总能量。然后,变分算法可以改变所评估的波函数的参数以产生新的波函数,例如,改变一组量子逻辑门中的至少一个量子逻辑门以对量子位执行旋转。新波函数的评估计算对应于新波函数的新量子状态的总能量。变分算法将先前波函数的总能量与新波函数的总能量进行比较。

传统处理器执行改变波函数的参数的优化算法。量子处理器计算该波函数的相应的总能量。基于新波函数与先前的波函数的总能量之间的比较,优化算法确定如何改变波函数的参数,以便最小化量子系统的计算的总能量。

变分算法可以继续执行评估,直到计算的总能量相对稳定,例如,连续评估计算阈值百分比内的总能量。来自最终评估的稳定的计算的总能量对应于量子系统的基态的最小能量的上限。相应的波函数表示量子系统的本征函数的近似。

说明性实施例认识到可以使用各种算法解决任何一般组合优化问题。组合优化涉及确定目标函数的最小值或最大值。例如,旅行销售人员问题涉及确定恰好访问每个城市一次的n个城市之间的最短可能路径。组合优化涉及以最低成本确定解(城市之间的路径)。组合优化问题的解空间是可能的解的集合。处于风险中的条件值聚焦于解的集合的特定子集。例如,金融风险测量情况可以查看最坏的5%的情况下的预期的回报(增益/损耗)。

说明性实施例认识到量子系统中的粒子的量子状态可以纠缠。不能独立于量子系统中的其他粒子的状态来描述纠缠的量子状态。纠缠的量子状态要求作为整体描述量子系统。说明性实施例认识到,变分算法的每次迭代仅确定用于量子系统的量子状态的单个潜在解。

说明性实施例认识到,组合优化问题的解空间通常太大而不能使用传统计算机彻底搜索。对于许多组合优化问题,使用传统计算来计算整个解空间的足够大的样本是成本高昂的或当前不可能的,但是使用量子计算架构可能是可能的。

说明性实施例进一步认识到,用于近似组合优化问题的真实解的传统变分算法集中于变分算法的每一迭代的解的整个集合(解空间)上的平均值。说明性实施例认识到,解集合的子集中的一些潜在解决方案可能更接近组合优化问题的真实解。说明性实施例还认识到,取最接近最小值或最大值解的潜在解的平均值可帮助变分算法确定对真实解的较接近近似。

此外,由于量子计算资源是稀缺且昂贵的,所以存在以最小可能的量子计算成本计算足够大的解空间样本及其最大值和最小值的需要。因此,说明性实施例认识到需要一种新颖的方法来在量子计算平台上执行变分算法,其方式为使得用于产生大的解空间样本及其最大值和最小值的量子计算成本被最小化而不损失准确度。

发明内容

说明性实施例提供了用于增强用于组合优化的混合量子经典算法的方法、系统和计算机程序产品。实施例包括一种用于增强用于组合优化的量子经典算法的方法,包括在量子处理器上执行变分算法,该执行在预定义的时间段内产生变分算法的解的集合(解空间)的一个子集,变分算法计算对应于组合优化问题的量子系统的基态,子集中的每个解具有相应的值。该实施例还包括根据排序准则对解的子集进行排序。

实施例进一步包括基于排序来隔离解的子集的一部分,其中对应于该部分中的每个解的值在由阈值界定的边界内。实施例还包括从解的子集的该部分计算解的平均值。实施例还包括更改变分算法以产生解的第二子集,使得解的第二子集包括具有该边界内的值的解。

对解的子集进行排序的实施例包括根据排序准则以升序来布置解的子集。实施例中,解的子集的该部分对应于解的子集的最低5%。

实施例包括在量子处理器上执行更改的变分算法,该执行在第二预定义的时间段内产生更改的变分算法的解的第二子集,第二子集中的每个解具有对应的值。实施例包括在隔离解的子集的该部分之前,接收对应于阈值的输入变量。

实施例中,输入变量是百分比值。实施例包括在隔离解的子集的该部分之前,接收对应于阈值的第一输入变量和对应于第二阈值水平的第二输入变量。实施例进一步包括在量子处理器上执行变分算法的一组迭代,该执行针对变分算法的每次迭代产生变分算法的解的集合(解空间)的子集,变分算法的每次迭代计算对应于组合优化问题的量子系统的量子状态,每个子集中的每个解具有相应的值。

实施例包括根据排序准则来排序解的第二子集和解的第三子集。实施例包括基于排序来隔离解的第二子集的第二部分,其中对应于第二部分中的每个解的值在由阈值界定的边界内。

实施例包括计算来自解的第二子集的该部分的解的平均值。实施例包括基于排序来隔离解的第三子集的第三部分,其中对应于第三部分中的每个解的值在由第二阈值界定的第二边界内。

在一个实施例中,执行变分算法包括计算量子系统的量子状态的期望值,其中量子系统的量子状态对应于量子处理器上的一组量子逻辑门。实施例中,这些解的平均值形成解空间的一个极值。

实施例中,该方法被体现在计算机程序产品中,计算机程序产品包括一个或多个计算机可读存储设备和存储在一个或多个计算机可读有形存储设备上并且由一个或多个处理器执行的计算机可读程序指令。

实施例包括计算机可用程序产品。计算机可用程序产品包括计算机可读存储设备以及存储在存储设备上的程序指令。

实施例包括计算机系统。计算机系统包括处理器、计算机可读存储器和计算机可读存储设备,以及存储在存储设备上的用于由处理器经由存储器执行的程序指令。

附图说明

在所附权利要求中阐述了被认为是本发明特征的新颖特征。然而,当结合附图阅读时,通过参考说明性实施例的以下详细说明,将最好地理解本发明本身以及使用的优选模式、其进一步的目的和优点,在附图中:

图1描绘了可以实现说明性实施例的数据处理系统的网络的框图;

图2描绘了可以实现说明性实施例的数据处理系统的框图;

图3描绘了根据说明性实施例的用于增强量子经典混合变分算法的示例配置的框图;

图4描绘了根据说明性实施例的用于增强量子经典混合变分算法的示例方法的流程图;并且

图5描绘了根据说明性实施例的用于增强量子经典混合变分算法的隔离步骤的示例图。

具体实施方式

用于描述本发明的说明性实施例总体上定位和解决用于量子计算的变分算法的上述问题。说明性实施例提供了一种用于增强用于组合优化的量子经典算法的方法。

实施例提供了一种用于增强用于组合优化的量子经典算法的方法。实施例提供了一种传统或量子计算机可用的程序产品,该程序产品包括计算机可读存储装置以及存储在该存储装置上的多个程序指令,这些存储的程序指令包括一种用于增强用于组合优化的量子经典算法的方法。这些指令是使用传统或量子处理器可执行的。另一个实施例提供了一种计算机系统,该计算机系统包括传统或量子处理器、计算机可读存储器、以及计算机可读存储装置、以及存储在该存储装置上用于经由该存储器由该处理器执行的程序指令,所存储的程序指令包括一种用于增强用于组合优化的量子经典算法的方法。

这些说明性实施例认识到,量子处理器可以执行各种算法以计算量子系统的基态能量的近似值,例如,针对具有给定的原子间间隔的分子的电子轨道配置。变分量子特征值求解器(Variational Quantum Eigensolver,VQE)是用量子处理器执行的变分算法的非限制性实例。VQE改变参数以准备量子状态并确定所准备的量子状态的特性。在量子处理器上准备量子状态作为作用在量子位上的一系列量子逻辑门。

变分算法迭代以产生新的量子状态并最小化对应于量子状态的属性。变分算法包括优化器以最小化对应于量子状态的属性。由变分算法执行的每个评估包括改变参数以产生新量子状态、计算新量子状态的属性、比较新量子状态和先前量子状态的属性、以及基于比较确定在连续评估中如何改变参数。例如,该变分算法可以进行评估以确定量子系统的基态能量的上限。

变分算法改变参数以产生新量子状态并且将新量子状态的总能量与先前量子状态的总能量进行比较。变分算法的优化器确定哪些参数和/或如何改变该参数以减少生成的量子状态的计算的总能量。变分算法继续执行评估,直到所计算的总能量达到最小值,变得相对稳定。用于最终评估的计算的总能量对应于该量子系统的基态能量的上限。

为了描述的清楚,并且在不暗示对其的任何限制的情况下,使用一些示例配置来描述说明性实施例。根据本公开,本领域普通技术人员将能够想到用于实现所描述目的的所描述配置的许多更改、适配和修改,并且这些更改、适配和修改被考虑在说明性实施例的范围内。

此外,在图和说明性实施例中使用数据处理环境的简化图。在实际计算环境中,在不脱离说明性实施例的范围的情况下,可存在本文中未示出或描述的额外结构或组件,或不同于所示出的但用于如本文中描述的类似功能的结构或组件。

此外,仅作为示例关于特定的实际或假设组件来描述说明性实施例。由不同说明性实施例描述的步骤可以被适配为使用不同的组件来增强用于组合优化的量子经典算法,这些组件可以被有目的化或者重新目的化以便在数据处理环境内提供所描述的功能,并且此类适配被构想在说明性实施例的范围内。

仅作为实例关于某些类型的步骤、应用、量子逻辑门和数据处理环境来描述说明性实施例。这些和其他类似物的任何特定表示不旨在限制本发明。可以在说明性实施例的范围内选择这些和其他类似物的任何合适的表示。

本公开中的示例仅用于描述的清楚,并且不限于说明性实施例。在此列出的任何优点仅是示例并且不旨在限制这些说明性实施例。可以通过特定的说明性实施例来实现另外的或不同的优点。此外,特定说明性实施例可具有上文列出的优点中的一些、全部或没有上文列出的优点。

参考附图,特别是参见图1和2,这些图是可以实现说明性实施例的数据处理环境的示例图。图1和2仅是示例并且不旨在断言或暗示关于其中可以实现不同实施例的环境的任何限制。特定实施例可基于以下描述对所描绘的环境做出许多修改。

图1描绘了可以实现说明性实施例的数据处理系统的网络的框图。数据处理环境100是其中可以实现说明性实施例的计算机网络。数据处理环境100包括网络102。网络102是用于在数据处理环境100内连接在一起的不同设备和计算机之间提供通信链路的介质。网络102可包括连接,诸如有线、无线通信链路或光纤电缆。

客户端或服务器仅是连接到网络102的某些数据处理系统的示例角色,并且不旨在排除这些数据处理系统的其他配置或角色。服务器106与存储单元108一起耦合到网络102。服务器106是传统的数据处理系统。量子处理系统140耦合到网络102。量子处理系统140是量子数据处理系统。软件应用程序可以在数据处理环境100中的任何量子数据处理系统上执行。被描述为在图1中的量子处理系统140中执行的任何软件应用程序可以被配置为以一种类似的方式在另一个量子数据处理系统中执行。在图1中的量子处理系统140中存储或产生的任何数据或信息可以被配置为以类似的方式在另一个量子数据处理系统中存储或产生。量子数据处理系统(例如量子处理系统140)可以包含数据并且可以具有在其上执行量子计算过程的软件应用程序或软件工具。

客户端110、112和114也耦合到网络102。诸如服务器106或客户端110、112或114之类的传统数据处理系统可以包含数据并且可以具有在其上执行传统计算过程的软件应用或软件工具。

仅作为实例,并且不暗示对此类架构的任何限制,图1描绘了在实施例的示例实现中可用的某些组件。例如,服务器106和客户端110、112、114仅作为示例被描绘为服务器和客户端,而不暗示对客户端-服务器架构的限制。作为另一个实例,一个实施例可以分布在如图所示的几个传统数据处理系统、量子数据处理系统、以及一个数据网络上,而另一个实施例可以在说明性实施例范围内的单一的传统数据处理系统或单一的量子数据处理系统上实施。传统数据处理系统106、110、112和114还表示集群中的示例节点、分区和适于实现实施例的其他配置。

设备132是本文描述的传统计算设备的示例。例如,设备132可以采取智能电话、平板计算机、膝上型计算机、固定或便携式形式的客户端110、可穿戴计算设备或任何其他合适的设备的形式。被描述为在图1中的另一传统数据处理系统中执行的任何软件应用可被配置成以类似方式在设备132中执行。在图1中的另一传统数据处理系统中存储或产生的任何数据或信息可被配置成以类似方式在装置132中存储或产生。

服务器106、存储单元108、量子处理系统140、以及客户端110、112和114、以及装置132可以使用有线连接、无线通信协议、或其他适当的数据连接性连接到网络102上。客户端110、112和114可以是例如个人计算机或网络计算机。

所描绘的示例中,服务器106可以向客户端110、112和114提供数据,诸如启动文件、操作系统镜像、和应用。在此示例中,客户端110、112和114可以是服务器106的客户端。客户端110、112、114或其某种组合可以包括它们自己的数据、启动文件、操作系统映像、和应用程序。数据处理环境100可以包括额外的服务器、客户端和未示出的其他设备。

所描绘的示例中,存储器144可以向量子处理器142提供数据,如启动文件、操作系统镜像、以及应用。量子处理器142可以包括其自己的数据、启动文件、操作系统镜像、和应用。数据处理环境100可以包括额外的存储器、量子处理器、以及未示出的其他装置。根据一个或多个实施例,存储器144包括应用105,其可以被配置成用于实施在此描述的用于收敛用于量子计算的变分算法解空间的一个或多个功能。

所描绘的示例中,数据处理环境100可以是互联网。网络102可表示使用传输控制协议/互联网协议(TCP/IP)和其他协议来彼此通信的网络和网关的集合。互联网的核心是主节点或主机计算机之间的数据通信链路的主干,包括路由数据和消息的数以千计的商业、政府、教育和其他计算机系统。当然,数据处理环境100还可以被实现为许多不同类型的网络,例如内联网、局域网(LAN)、或广域网(WAN)。图1旨在作为示例,而不是作为不同说明性实施例的架构限制。

除了其他用途之外,数据处理环境100可以用于实现其中可以实现说明性实施例的客户端-服务器环境。客户端-服务器环境使得软件应用和数据能够跨网络分布,使得应用通过使用传统客户端数据处理系统和传统服务器数据处理系统之间的交互来起作用。数据处理环境100还可采用面向服务的架构,其中跨网络分布的可互操作软件组件可被一起封装为一致的业务应用。数据处理环境100还可以采取云的形式,并且采用服务交付的云计算模型以便实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机、和服务)的共享池的便利的、按需的网络访问,可配置计算资源可以用最小的管理努力或与服务提供者的交互来快速供应和释放。

参见图2,该图描绘了可以实现说明性实施例的数据处理系统的框图。数据处理系统200是传统计算机的示例,诸如图1中的服务器104和106、或客户端110、112和114、或针对说明性实施例的实现过程的计算机可用程序代码或指令可以位于其中的另一类型的设备。

数据处理系统200还表示传统数据处理系统或其中的配置,诸如图1中的传统数据处理系统132,实现说明性实施例的过程的计算机可用程序代码或指令可以位于其中。数据处理系统200仅作为示例被描述为计算机,而不限于此。其他设备(诸如图1中的设备132)形式的实现可诸如通过添加触摸界面来修改数据处理系统200,并且甚至从数据处理系统200中消除某些所描绘的组件,而不背离本文描述的数据处理系统200的操作和功能的一般描述。

在所描绘的示例中,数据处理系统200采用包括北桥和存储器控制器集线器(NB/MCH)202和南桥和输入/输出(I/O)控制器集线器(SB/ICH)204的集线器架构。处理单元206、主存储器208和图形处理器210耦合到北桥和存储器控制器集线器(NB/MCH)202。处理单元206可以包含一个或多个处理器并且可以使用一个或多个异构处理器系统来实现。处理单元206可以是多核处理器。在某些实现中,图形处理器210可以通过加速图形端口(AGP)耦合到NB/MCH202。

所描绘的示例中,局域网(LAN)适配器212耦合到南桥和I/O控制器集线器

(SB/ICH)204。音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、通用串行总线(USB)和其他端口232、以及PCI/PCIe设备234通过总线238耦合到南桥和I/O控制器集线器204。硬盘驱动器(HDD)或固态驱动器(SSD)226和CD-ROM 230通过总线240耦接到南桥和I/O控制器集线器204。PCI/PCIe设备234可包括例如用于笔记本计算机的以太网适配器、附加卡和PC卡。PCI使用卡总线控制器,而PCIe不使用。ROM 224可以是例如闪存二进制输入/输出系统(BIOS)。硬盘驱动器226和CD-ROM 230可以使用例如集成驱动电子设备(IDE)、串行高级技术附件(SATA)接口、或者诸如外部SATA(eSATA)和微型SATA(mSATA)的变型。超级I/O(SIO)设备236可以通过总线238耦合到南桥和I/O控制器集线器(SB/ICH)204。

诸如主存储器208、ROM 224或闪存(未示出)之类的存储器是计算机可用存储设备的一些示例。硬盘驱动器或固态驱动器226、CD-ROM 230和其他类似可用的设备是包括计算机可用存储介质的计算机可用存储设备的一些示例。

操作系统在处理单元206上运行。操作系统协调和提供对图2中的数据处理系统200内的不同组件的控制。操作系统可以是用于任何类型的计算平台的商业上可获得的操作系统,包括但不限于服务器系统、个人计算机、和移动设备。面向对象或其他类型的编程系统可以结合操作系统来操作,并且提供从数据处理系统200上执行的程序或应用对操作系统的调用。

用于操作系统、面向对象的编程系统、以及应用或程序(诸如图1中的应用105)的指令,位于存储设备上,诸如以硬盘驱动器226上的代码226A的形式,并且可以被加载到一个或多个存储器(诸如主存储器208)中的至少一个,用于由处理单元206执行。说明性实施例的处理可以由处理单元206使用计算机实现的指令来执行,这些指令可以位于存储器(例如,主存储器208、只读存储器224、或者一个或多个外围设备中)中。

此外,一种情况中,代码226A可通过网络201A从远程系统201B下载,其中类似的代码201C存储在存储设备201D上。另一情况中,代码226A可通过网络201A下载到远程系统201B,其中下载的代码201C存储在存储设备201D上。

图1-2中的硬件可以取决于实现方式而变化。除了图1-2中描绘的硬件之外或代替图1-2中描绘的硬件,可以使用其他内部硬件或外围设备,诸如闪存、等效非易失性存储器、或光盘驱动器等。此外,说明性实施例的处理可以应用于多处理器数据处理系统。

一些说明性示例中,数据处理系统200可以是个人数字助理(PDA),其通常配置有闪存存储器以提供用于存储操作系统文件和/或用户产生的数据的非易失性存储器。总线系统可以包括一个或多个总线,例如系统总线、I/O总线、和PCI总线。当然,总线系统可以使用任何类型的通信结构或架构来实现,该通信结构或架构提供附连到该结构或架构的不同组件或设备之间的数据传送。

通信单元可包括用于发送和接收数据的一个或多个设备,诸如调制解调器或网络适配器。存储器可以是例如主存储器208或高速缓存,诸如在北桥和存储器控制器集线器202中找到的高速缓存。处理单元可以包括一个或多个处理器或CPU。

图1-2中描绘的示例和上述示例不意味着暗示架构限制。例如,除了采取移动或可穿戴设备的形式之外,数据处理系统200还可以是平板计算机、膝上型计算机、或电话设备。

在计算机或数据处理系统被描述为虚拟机、虚拟设备或虚拟组件的情况下,虚拟机、虚拟设备或虚拟组件使用数据处理系统200中描绘的一些或所有组件的虚拟化表现来以数据处理系统200的方式操作。例如,在虚拟机、虚拟设备或虚拟组件中,处理单元206表现为主机数据处理系统中可用的全部或一些数量的硬件处理单元206的虚拟化实例,主存储器208表现为在主机数据处理系统中可用的主存储器208的全部或一些部分的虚拟化实例,并且磁盘226表现为在主机数据处理系统中可用的磁盘226的全部或一些部分的虚拟化实例。在这种情况下,主机数据处理系统由数据处理系统200表示。

参见图3,该图描绘了用于增强量子计算的量子经典混合变分算法的示例配置300的框图。示例实施例包括应用302。在特定实施例中,应用程序302是图1的应用程序105的实例。

应用302接收输入变量304和参数306。输入变量304确定从变分算法的迭代中选择的潜在解的部分。例如,输入变量304可以是阈值,诸如潜在解的百分比。参数306表示对应于量子系统的量子状态的波函数。

一些实施例中,用户输入一组变量。例如,用户可以输入初始阈值和最终阈值。变分算法的第一迭代使用初始阈值。应用302改变用于后续迭代的阈值,直到达到最终阈值。例如,应用302将阈值从第一迭代的初始阈值线性地改变到最终迭代的最终阈值。

应用302包括解空间搜索组件308、停止条件组件310、解空间排序器组件312、解空间隔离器组件314、和算法调谐器组件316。在该实施例中,解空间搜索组件308在量子处理器上执行变分算法以产生解的集合(解空间)的子集。例如,量子处理器可以执行变分算法的若干次迭代以计算解的一个子集,该子集中的每个解对应于来自该变分算法的一次迭代的值。

在一个实施例中,停止条件组件310监测并且控制由量子处理器执行的迭代次数。例如,停止条件组件310可从用户接收输入以执行变分算法的五十次迭代。一些实施例中,停止条件是执行变分算法的预定义的时间段。在一些实施例中,停止条件在达到最终阈值时发生。

实施例中,解空间排序器组件312根据排序准则来安排并排序解的子集。例如,解空间排序器组件312可按升序来安排解的子集。实施例中,解空间隔离器组件314选择解的子集的一部分。该部分中的每一个解在由阈值界定的边界内。例如,如果输入变量是5%,则解空间隔离器组件314可隔离对应于解的子集中的解总数的5%的解的子集的一部分。

一些实施例中,解空间隔离器组件314从形成解空间的一个极端的部分计算平均解。平均解对应于处于组合优化问题的风险中的条件值。例如,解空间隔离器组件314可从解空间的最小端处的解的子集的部分计算平均解。实施例中,算法调谐器部件316改变变分算法以产生解的第二子集。例如,算法调谐器部件316可改变变分算法以产生解的第二子集,使得解的第二子集包括具有边界内的值的解。

参见图4,该图描绘了根据说明性实施例的用于操作数据处理系统的示例方法400的流程图,该数据处理系统用于增强用于组合优化的量子经典算法。在框402中,应用程序302在量子处理器上执行变分算法。执行变分算法在预定义的时间段内产生变分算法的解的集合(解空间)的子集。变分算法实施组合优化问题。子集中的每个解具有对应的值。例如,变分算法可以计算具有给定原子间间隔的分子的哈密尔顿算子的期望值作为每次迭代的解。在实施例中,该组期望值中的每个期望值对应于作为每次迭代的解的哈密尔顿算子的期望值。

在框404中,应用302根据排序准则对解的子集进行排序。例如,应用302可按升序排列该组值。在框406中,应用302隔离解的子集的一部分。对应于该部分中的每一个解的值在由阈值界定的边界内。例如,应用302可选择表示所排列的值的集合的第一α%的期望值的子集的一部分,其中,α是输入变量。应用302基于排序的排列来选择解的子集的一部分。例如,应用302可选择对应于有序排列中的前n个值的解的子集的一部分。

在框408中,应用302从解的子集的该部分计算平均解。来自该部分的平均解形成解空间的一个极端。例如,应用302计算对应于解的子集的最低百分之五的解的子集的一部分的平均值。在框410中,应用302确定是否需要更改变分算法。应用302基于所计算的平均解和所产生的解的集合的子集来执行变分算法的分析。

如果应用302确定变分算法需要调谐(框410的“是”路径),则应用302提示用户更改变分算法的方面。一些实施例中,应用302更改变分算法以产生解的第二子集,使得解的第二子集包括具有边界内的值的解。例如,在量子处理器上执行更改的变分算法产生解的第二子集,这样使得解的第二子集包括具有在该边界之内的值的解。实施例中,应用302返回到框402以再次利用更改的变分算法来执行方法400。如果应用302确定变分算法不需要调谐(框410的“否”路径),则方法400结束。

参见图5,该图描绘了根据说明性实施例的用于增强量子经典混合变分算法的隔离步骤的示例图500。线502表示使用变分算法计算的值的集合的百分之五的选择。计算出的值的集合的百分之五在图中的线502之下。线504表示所计算的一组值的平均值。线504表示从所计算的值的整个集合确定平均值。

在此参照相关附图描述本发明的不同实施例。在不脱离本发明的范围的情况下,可以设计可选实施例。例如,方法400中可以包括用于量子计算的额外的变分算法而不脱离本发明的范围。

以下定义和缩写用于解释权利要求书和说明书。如在此使用的,术语“包含(comprise)”、“包含(comprising)”、“包括(include)”、“包括(including)”、“具有(has)”、“具有(having)”、“含有(contain)”或“含有(containing)”或其任何其他变型旨在覆盖非排他性的包含。例如,包含一系列元素的组合物、混合物、工艺、方法、制品或设备不一定仅限于那些元素,而是可包括未明确列出的或此类组合物、混合物、工艺、方法、制品或设备固有的其他元素。

另外,术语“说明性”在此用于指“充当示例、实例或说明”。在此描述为“说明性”的任何实施例或设计不一定被解释为比其他实施例或设计优选或有利。术语“至少一个”和“一个或多个”应理解为包括大于或等于一的任何整数,即一、二、三、四等。术语“多个”应理解为包括大于或等于二的任何整数,即二、三、四、五等。术语“连接”可以包括间接“连接”和直接“连接”。

说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用指示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可以或可以不包括该特定特征、结构或特性。此外,这样的短语不一定指代相同的实施例。进一步,当结合实施例描述特定特征、结构或特性时,认为结合无论是否明确描述的其他实施例来影响这样的特征、结构或特性在本领域技术人员的知识范围内。

术语“约”、“基本上”、“大约”及其变型旨在包括与基于在提交本申请时可用的设备的具体量的测量相关联的误差程度。例如,“约”可以包括给定值的±8%或5%、或2%的范围。

已经出于说明的目的呈现了本发明的不同实施例的描述,但并不旨在是穷尽性的或局限于所披露的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对本领域的普通技术人员而言将是显而易见的。选择本文中所使用的术语以最佳地解释实施例的原理、实际应用或对市场中所发现的技术的技术改进,或使得本领域的其他普通技术人员能够理解本文中所描述的实施例。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号