用于求解离散二次模型的混合算法的系统和方法与流程

文档序号:31696522发布日期:2022-10-01 05:39阅读:92来源:国知局
用于求解离散二次模型的混合算法的系统和方法与流程

1.本披露内容总体上涉及使用吉布斯采样(gibbs sampling)和交叉玻尔兹曼更新(cross-boltzmann update)来求解离散二次模型的混合算法。


背景技术:

2.量子处理器
3.量子处理器可以采取超导量子处理器的形式。超导量子处理器可以包括多个超导量子位和相关联的局部偏置设备。超导量子处理器还可以包括选择性地提供量子位之间的通信耦合的耦合设备(也被称为耦合器)。
4.在例如美国专利7,533,068、8,008,942、8,195,596、8,190,548以及8,421,053中描述了可以与本系统和设备结合使用的示例性量子处理器的进一步细节和实施例。
5.量子计算
6.量子计算机是直接使用比如叠加、隧穿和纠缠等至少一种量子力学现象来执行数据运算的系统。量子计算机的元素是量子位。量子计算机可以为某些类别的计算问题(如模拟量子物理的计算问题)提供加速。
7.量子退火
8.量子退火是一种计算方法,该计算方法可以用于找出系统的低能态,通常优选地是系统的基态。该方法所依赖的基本原理在于自然系统趋向于较低能态,因为较低能态更加稳定。量子退火可以使用量子效应(如量子隧穿)作为离域来源以达到能量最小值。
9.量子处理器可以被设计成执行量子退火和/或绝热量子计算。同与问题哈密尔顿算子(hamiltonian)成比例的第一项以及与离域哈密尔顿算子成比例的第二项之和成比例的演化哈密尔顿算子可以被构造如下:
10.he∝
a(t)h
p
+b(t)hd11.其中,he是演化哈密尔顿算子,h
p
是问题哈密尔顿算子,hd是离域哈密尔顿算子,并且a(t)、b(t)是可以控制演化速率并且通常处于范围[0,1]内的系数。
[0012]
在一些实施方式中,可以对问题哈密尔顿算子应用时变包络函数。合适的离域哈密尔顿算子由下式给出:
[0013][0014]
其中,n表示量子位数量,是第i个量子位的泡利x-矩阵,并且δi是在第i个量子位中诱发的单量子位隧道分裂。此处,项是“非对角”项的示例。
[0015]
常见问题哈密尔顿算子包括与对角单量子位项成比例的第一分量以及与对角多量子位项成比例的第二分量,并且可以是以下形式:
[0016][0017]
其中,n表示量子位数量,是第i个量子位的泡利z-矩阵,hi和j
ij
是量子位的无量纲的局部场和量子位之间的耦合,并且ε是h
p
的某种特性能量标度。
[0018]
此处,和项是“对角”项的示例。前者是单量子位项并且后者是双量子位项。
[0019]
贯穿本说明书,除非上下文另外指明,否则术语“问题哈密尔顿算子”和“最终哈密尔顿算子”被可互换地使用。量子处理器的某些状态在能量上是优选的,或者简单地在问题哈密尔顿算子上是优选的。这些状态包括基态,但可以包括激发态。
[0020]
可以用各种不同的方式在物理上实现哈密尔顿算子(如在以上两个方程式中分别为hd和h
p
)。通过实施超导量子位而实现具体的示例。
[0021]
采样
[0022]
贯穿本说明书和所附权利要求,使用了术语“样本”、“采样”、“采样设备”和“样本生成器”。
[0023]
在统计学中,样本是群体的子集,即,从统计群体中选取的数据。在电气工程和相关学科中,采样涉及取模拟信号或某个其他物理系统的一组测量结果。
[0024]
在许多领域,包括物理系统模拟和计算、特别是模拟计算,上述含义可能会合并。例如,混合计算机可以从模拟计算机中抽取样本。作为样本提供者的模拟计算机是样本生成器的示例。模拟计算机可以被操作用于从选定的概率分布中提供样本,该概率分布将相应的被采样概率分配给群体中的每个数据点。群体可以对应于处理器的所有可能状态,并且每个样本可以对应于处理器的相应状态。
[0025]
马尔可夫链蒙特卡罗(markov chain monte carlo)
[0026]
马尔可夫链蒙特卡罗(mcmc)是一类计算技术,其包括例如模拟退火、并行回火、群体退火和其他技术。马尔可夫链可以被描述为一系列离散随机变量和/或一个随机过程,在该随机过程中,在每个时间步长,状态只取决于前一状态。
[0027]
马尔可夫链可以通过根据马尔可夫提议过程提出新点来获得。新点要么被接受,要么被拒绝。如果新点被拒绝,则做出新提议,依此类推。所接受的新点是使目标分布依概率收敛的点。
[0028]
吉布斯采样
[0029]
吉布斯采样是在给定所有其他变量的情况下从目标分布的一个变量的条件分布进行采样的马尔可夫链蒙特卡罗(mcmc)算法。与其他mcmc算法一样,吉布斯采样生成样本的马尔可夫链,每个样本都与附近的样本相关。
[0030]
softmax分布
[0031]
softmax函数是将具有k个实数的向量作为输入并将其归一化为由与输入数的指数成比例的k个概率组成的概率分布的函数。即,在应用softmax之后,每个分量都会在区间(0,1)内,并且这些分量加起来等于1,因此这些分量可以被解释为概率。softmax通常用于神经网络,以将网络的非归一化输出映射到预测输出类别的概率分布。
[0032]
相关技术的上述示例以及与其相关的限制旨在是说明性的而非排他性的。在阅读本说明书和研究附图之后,相关领域的其他限制将对本领域的技术人员变得显而易见。


技术实现要素:

[0033]
一些类别的问题(例如,具有任意变量的问题)无法高效地映射到二次无约束二元优化(qubo)问题或伊辛哈密尔顿算子(ising hamiltonian)问题。因此,这些问题需要在经典或数字处理器上执行一些开销(例如,变量的转换),然后由量子计算机求解。因此,期望通过高效地将问题映射到模型(例如,二元二次模型)来高效地求解任意变量问题,该模型然后可以由量子计算机求解。描述了一种基于处理器的系统中的计算方法。该方法可以包括:将算法应用于具有n个任意变量vi的问题;从该算法获得每个任意变量vi的两个候选值;构造使用二进制值si来确定每个任意变量vi应该取该两个候选值中的哪一个的哈密尔顿算子;基于该哈密尔顿算子来构造二元二次模型;以及从量子处理器获得来自该二元二次模型的样本作为该问题的解。吉布斯采样器可以应用于具有n个任意变量vi的问题;并且每个任意变量vi的两个候选值可以从吉布斯采样器获得。将算法应用于具有n个任意变量vi的问题可以包括:对于这些任意变量中的每一个,基于该任意变量与这些任意变量中的其他任意变量的相互作用来计算该任意变量的每个状态的能量;对于这些任意变量中的每一个,针对该任意变量的一定数量di个不同值中的每一个计算该任意变量的相应指数权重;以及计算每个任意变量取这些值di之一的归一化概率,该归一化概率与这些指数权重成比例。将算法应用于具有n个任意变量vi的问题可以包括:对于这些任意变量中的每一个,根据该任意变量的大小和这些任意变量中的所有其他任意变量的当前状态计算该任意变量的能量;对于这些任意变量中的每一个,针对该任意变量的相应数量di个不同值中的每一个计算该任意变量的相应指数权重;对于这些任意变量中的每一个,计算该任意变量的可行区域,该可行区域包括遵守一组约束的一组值;对于这些任意变量中的每一个,计算该任意变量在该相应数量di个不同值中的每一个处的掩码;以及对于这些任意变量中的每一个,计算共同表示该任意变量取该任意变量的相应数量di个不同值之一的概率的归一化概率,该归一化概率与这些指数权重和该掩码成比例。构造二元二次模型可以包括根据si和该两个候选值来定义新变量xi并将该问题转化为si的空间中的优化问题。构造二元二次模型可以包括使用惩罚项将约束二元优化问题放宽为无约束二元优化问题;以及对该两个候选值求和。该方法可以进一步包括在从该量子处理器获得来自该二元二次模型的样本之前将嵌入算法应用于该二元二次模型以定义该量子处理器上的嵌入。该方法可以进一步包括:迭代重复直到满足退出条件:将算法应用于具有n个任意变量vi的问题;从该算法获得每个任意变量vi的两个候选值;构造使用二进制值si来确定每个任意变量vi应该取该两个候选值中的哪一个的哈密尔顿算子;基于该哈密尔顿算子来构造二元二次模型;从该量子处理器获得来自该二元二次模型的样本;以及将这些样本整合到该问题中。该方法可以进一步包括确定是否已经满足退出条件。该退出条件可以包括确定是否满足表示对这些任意变量的质量评估的度量。该问题可以是资源调度问题。包括至少一个经典处理器的基于处理器的系统能够操作用于执行上述任何方法。该基于处理器的系统可以包括通信地耦合到该至少一个经典处理器的量子处理器。
[0034]
蛋白质设计问题可以被制定为组合优化问题。该优化问题可以使用分支定界算法
和/或模拟退火来求解。模拟退火方法使用梅特罗波利斯提议(metropolis proposal);然而,随着分类分布中情况数量的增加,梅特罗波利斯提议的使用变得效率低下;因此,导致计算时间较长,使得这些方法对于复杂问题效率低下。本披露内容描述了用于提高计算效率的系统和方法,这些系统和方法可以例如用于高效地执行蛋白质侧链优化。描述了一种在基于处理器的系统中计算具有n个变量的输入问题的softmax分布的操作方法。每个变量取相应数量di个不同值。该方法包括:对于该输入问题的每个变量,基于该相应变量与这些变量中的其他变量的相互作用来计算该输入问题的变量的每个状态的能量;对于该输入问题的每个变量,计算该变量在该变量的相应数量di个不同值中的每一个处的相应指数权重;对于该输入问题的每个变量,计算共同表示该变量取该变量的相应数量di个不同值之一的概率的归一化概率,该归一化概率与这些指数权重成比例;以及从多个归一化概率中获得多个样本。多个样本可以经由逆变换采样从这些归一化概率中获得。输入问题可以是蛋白质侧链优化问题。该方法可以进一步包括:迭代重复直到满足退出条件:对于该输入问题的每个变量,基于该相应变量与这些变量中的其他变量的相互作用来计算该变量的每个状态的能量;对于该输入问题的每个变量,计算该变量在该变量的相应数量di个不同值中的每一个处的相应数量个指数权重;对于该输入问题的每个变量,计算共同表示该变量取该变量的相应数量di个不同值之一的概率的归一化概率,该归一化概率与这些指数权重成比例;从这些归一化概率中获得多个样本;以及将该多个样本整合到该输入问题中。该方法可以进一步包括确定是否已经满足退出条件。该退出条件可以包括确定是否满足表示对这些变量的质量评估的度量。包括至少一个经典处理器的基于处理器的系统能够操作用于执行上述任何方法。
[0035]
整数问题通常使用基于树的算法来求解,如分支定界,或者例如,死端消除(dee)。在某些情况下,整数问题可以通过将整数变量放宽为连续变量来求解;然而,放宽变量并不能保证在可行空间中找到最优解。另外地,当问题规模增加时,许多当前求解器不能很好地扩展;因此,导致计算时间非常长,这可能不适用于所有应用。描述了一种在基于处理器的系统中计算具有n个变量的输入问题的softmax分布的操作方法。每个变量取相应数量di个不同值。该方法包括:对于该输入问题的每个变量,根据该变量的大小和这些变量中的所有其他变量的当前状态计算该输入问题的变量的能量;对于该输入问题的每个变量,计算该变量在该变量的相应数量di个不同值中的每一个处的多个指数权重;对于该输入问题的每个变量,计算该变量的可行区域,该可行区域包括遵守一组约束的一组值;对于该输入问题的每个变量,计算该变量在该变量的相应数量di个不同值中的每一个处的掩码;对于该输入问题的每个变量,计算表示该变量取该变量的相应数量di个不同值之一的概率的多个归一化概率,该多个归一化概率与这些指数权重和该掩码成比例;以及从多个归一化概率中获得多个样本。输入问题可以是约束二次整数问题。来自多个归一化概率的多个样本可以经由逆变换采样来获得。该方法可以进一步包括:迭代重复直到满足退出条件:对于该输入问题的每个变量,根据该变量的大小和这些变量中的所有其他变量的当前状态计算该输入问题的变量的能量;对于该输入问题的每个变量,计算该变量在该变量的相应数量di个不同值中的每一个处的相应数量个指数权重;对于该输入问题的每个变量,计算该变量的可行区域,该可行区域包括遵守一组约束的一组值;对于该输入问题的每个变量,计算该变量在该变量的相应数量di个不同值中的每一个处的掩码;对于该输入问题的每个变量,计算
该变量取该变量的相应数量di个不同值之一的多个归一化概率,该多个归一化概率与这些指数权重和该掩码成比例;从这些归一化概率中获得多个样本;以及将该多个样本整合到该输入问题中。该方法可以进一步包括确定是否已经满足退出条件。退出条件可以包括确定是否满足表示对这些变量的质量评估的度量。包括至少一个经典处理器的基于处理器的系统能够操作用于执行上述任何方法。
附图说明
[0036]
在附图中,相同的附图标记标识相似的元件或动作。元件在附图中的尺寸和相对位置不一定是按比例绘制的。例如,不同元件的形状以及角度不一定按比例绘制,并且这些元件中的一些可以被任意地放大和定位以提高附图的易读性。进一步地,所绘出的这些元件的特定形状不一定旨在传达与这些特定元件的实际形状有关的任何信息,而可能只是为了方便在图中识别而选取的。
[0037]
图1是包括量子处理器和经典处理器的示例混合计算系统的示意图。
[0038]
图2是用于在分类分布的各情况下从softmax分布进行采样的计算系统的示例操作方法的流程图。
[0039]
图3是用于在分类分布的各情况下从softmax分布进行采样的计算系统的示例迭代操作方法的流程图。
[0040]
图4是用于在具有约束的分类分布的各情况下从softmax分布进行采样的计算系统的示例操作方法的流程图。
[0041]
图5是用于在具有约束的分类分布的各情况下从softmax分布进行采样的计算系统的示例迭代操作方法的流程图。
[0042]
图6是使用交叉玻尔兹曼更新的混合计算系统的示例操作方法的流程图。
[0043]
图7是使用交叉玻尔兹曼更新的混合计算系统的示例迭代操作方法的流程图。
[0044]
图8是用于在分类分布的各情况下从softmax分布进行采样并使用交叉玻尔兹曼更新的混合计算系统的示例操作方法的流程图。
[0045]
图9是用于在分类分布的各情况下从softmax分布进行采样并使用交叉玻尔兹曼更新的混合计算系统的示例迭代操作方法的流程图。
[0046]
图10是用于在使用约束的分类分布的各情况下从softmax分布进行采样并使用交叉玻尔兹曼更新的混合计算系统的示例操作方法的流程图。
[0047]
图11是用于在使用约束的分类分布的各情况下从softmax分布进行采样并使用交叉玻尔兹曼更新的混合计算系统的示例迭代操作方法的流程图。
[0048]
图12是用于优化资源调度的混合计算系统的示例操作方法的流程图。
具体实施方式
[0049]
在以下说明中,阐述了某些特定的细节以便提供对所披露的各种实施方式的全面理解。然而,相关领域的技术人员将认识到,可以在没有这些特定的细节中的一个或多个的情况下或者使用其他方法、部件、材料等来实践实施方式。在其他实例中,尚未示出或详细描述与计算机系统、服务器计算机、和/或通信网络相关联的公知结构,以避免不必要地模糊对这些实施方式的描述。
[0050]
除非上下文另外要求,否则贯穿本说明书和所附权利要求,单词“包括(comprising)”与“包括(including)”同义并且是包括性或开放式的(即,不排除附加的、未列举的元件或方法动作)。
[0051]
贯穿本说明书,对“一个实施方式(one implementation)”或“实施方式(an implementation)”的提及意味着结合该实施方式所描述的具体特征、结构或特性被包括在至少一个实施方式中。因此,贯穿本说明书在各个地方出现的短语“在一个实施方式中”或“在实施方式中”不一定全部指同一实施方式。此外,具体的特征、结构、或特性可以以任何合适的方式结合在一个或多个实施方式中。
[0052]
如在本说明书和所附权利要求中所使用的,除非上下文另外明确指明,否则单数形式的“一个(a)”、“一种(an)”以及“该”包括复数对象。还应注意,除非上下文另外明确指明,否则术语“或”总体上所使用的意义包括“和/或”。
[0053]
贯穿本说明书和所附权利要求,术语“样本”、“采样”、“样本生成器”旨在具有其在统计学和电气工程领域的对应含义。在统计学中,样本是群体的子集,例如单个数据、数据点、对象,或者数据、数据点或对象的子集。在电气工程中,采样是指收集物理系统的多个测量值,例如模拟信号。
[0054]
混合计算系统可以从模拟处理器中抽取样本。模拟处理器可以被配置为从统计分布中提供样本,从而成为样本生成器。可以作为样本生成器操作的处理器的示例是被设计成用于执行量子退火的量子处理器,其中每个样本对应于处理器的一个状态,而群体对应于处理器的所有可能状态。
[0055]
本文提供的本披露内容的小标题和摘要只是为了方便起见,而并非解释实施方式的范围或含意。
[0056]
图1展示了包括耦合到量子计算机104的经典计算机102的混合计算系统100。示例经典计算机102包括数字处理器(cpu)106,该cpu可以用于执行经典数字处理任务,并且因此在本文和权利要求中被称为经典处理器。
[0057]
经典计算机102可以包括至少一个数字处理器(比如具有一个或多个核的中央处理器单元106)、至少一个系统存储器108、以及将各种系统部件(包括系统存储器108)耦合到中央处理器单元106的至少一个系统总线110。数字处理器可以是任何逻辑处理单元,比如一个或多个中央处理单元(“cpu”)、图形处理单元(“gpu”)、数字信号处理器(“dsp”)、专用集成电路(“asic”)、可编程门阵列(“fpga”)、可编程逻辑控制器(plc)等。
[0058]
经典计算机102可以包括用户输入/输出子系统112。在一些实施方式中,用户输入/输出子系统包括一个或多个用户输入/输出部件,比如显示器114、鼠标116、和/或键盘118。
[0059]
系统总线110可以采用任何已知的总线结构或架构,包括具有存储器控制器的存储器总线、外围总线和局部总线。系统存储器108可以包括:非易失性存储器,诸如只读存储器(“rom”)、静态随机存取存储器(“sram”)、闪存nano;以及易失性存储器,比如随机存取存储器(“ram”)(未示出)。
[0060]
经典计算机102还可以包括其他非暂态计算机可读存储介质或处理器可读存储介质或非易失性存储器120。非易失性存储器120可以采取各种形式,包括:用于从硬盘读取和写入该硬盘的硬盘驱动器、用于从可移动光盘读取和写入该可移动光盘的光盘驱动器、和/
或用于从磁盘读取和写入该磁盘的磁盘驱动器。光盘可以是cd-rom或dvd,而磁盘可以是磁软盘或软磁盘。非易失性存储器120可以经由系统总线110与数字处理器通信并且可以包括耦合到系统总线110的适当接口或控制器122。非易失性存储器120可以充当用于经典计算机102的处理器可读指令或计算机可读指令、数据结构、或其他数据(有时也被称为程序模块)的长期存储装置。
[0061]
尽管经典计算机102已经被描述为采用硬盘、光盘和/或磁盘,但相关领域的技术人员将认识到,可以采用其他类型的非易失性计算机可读介质,比如磁带盒、闪存卡、闪存、rom、智能卡等。相关领域的技术人员将认识到,一些计算机架构采用了易失性存储器和非易失性存储器。例如,易失性存储器中的数据可以被缓存到非易失性存储器或采用集成电路来提供非易失性存储器的固态盘。
[0062]
各种处理器可读指令或计算机可读指令、数据结构或其他数据可以存储在系统存储器108中。例如,系统存储器108可以存储用于与远程客户端进行通信并调度资源(包括经典计算机102和量子计算机104上的资源)的使用的指令。例如,系统存储器108可以存储处理器可读指令或计算机可读指令、数据结构或其他数据,这些指令和数据在由处理器或计算机执行时,使(多个)处理器或(多个)计算机执行方法200(图2)至1100(图11)的一个、多个或所有动作。
[0063]
在一些实施方式中,系统存储器108可以存储处理器可读计算指令或计算机可读计算指令以对量子计算机104执行预处理、协处理和后处理。系统存储器108可以存储一组量子计算机接口指令以与量子计算机104交互。
[0064]
量子计算机104可以包括一个或多个量子处理器,比如量子处理器124。可以在隔离环境中提供量子计算机104,例如,使量子计算机的内部元件避开热、磁场和其他外部噪声(未示出)的隔离环境。量子处理器124包括可编程元件,比如量子位、耦合器和其他器件。根据本披露内容,量子处理器(比如量子处理器124)可以被设计成用于执行量子退火和/或绝热量子计算。美国专利7,533,068中描述了量子处理器的示例。
[0065]
蛋白质由氨基酸(一组天然存在的小分子)构成,并且蛋白质的一级结构由氨基酸序列确定。蛋白质的二级和三级结构由受静电力(例如,范德华、盐桥、氢键、偶极-偶极

)影响的折叠蛋白质的3d结构确定,其中,蛋白质折叠是蛋白质链获取其天然3维结构的物理过程。因此,蛋白质折叠的问题可以被概括为在给定氨基酸序列的情况下确定蛋白质的三级结构。蛋白质设计这一逆问题是寻找形成具有期望性质的期望折叠结构的氨基酸序列的问题。可能期望的性质的示例包括药代动力学、结合、热稳定性、功能、灵活性、可开发性和/或可制造性。
[0066]
侧链优化是蛋白质设计的一部分,该蛋白质设计制定了组合优化问题以找到氨基酸序列及其最优配置,该最优配置使某个目标函数的能量最小化。侧链优化是计算肽设计的核心,在生物化学和制药工业中有应用。侧链优化被很好地表示为组合优化问题。该优化问题可以使用分支定界算法和/或模拟退火来求解。用于侧链优化的算法的示例是死端消除(dee)。模拟退火方法使用梅特罗波利斯提议,在该梅特罗波利斯提议中提出了分类变量的变化并且然后测量接受率。然而,随着分类分布中情况数量的增加,梅特罗波利斯提议的使用变得效率低下;因此,导致计算时间较长,使得这些方法对于复杂的问题效率低下。
[0067]
本披露内容描述了用于提高计算效率的系统和方法,这些系统和方法可以例如用
于高效地执行蛋白质侧链优化。经典计算机可以使用马尔可夫链蒙特卡罗(mcmc)方法(例如,模拟退火、平行回火和群体退火),用吉布斯采样代替梅特罗波利斯提议移动。
[0068]
侧链优化问题可以表示为
[0069][0070]
其中,变量xi可以取di值或状态:
[0071][0072]
i=1,

,n
ꢀꢀ
(3)
[0073]
j=1,

,diꢀꢀ
(4)
[0074][0075]
在mcmc方法的任何给定阶段,梅特罗波利斯提议移动被吉布斯采样所代替。变量xi的每个状态的有效能量是基于该变量与其他变量的相互作用来计算的。变量xi和所有情况j=(1,2,...,di)的能量
[0076][0077]
用于计算指数权重:
[0078][0079]
变量xi取状态j的概率与权重w
ij
成比例。该概率被称为softmax概率分布。为了从概率分布中获得样本,从而获得变量的状态的样本,权重被归一化:
[0080][0081]
其中,β是执行采样时的逆温。
[0082]
样本可以利用标准算法或方法(例如逆变换采样)从eq(6)的softmax分布中获得。
[0083]
获得的样本可以由量子计算机进一步细化,例如作为使用聚类收缩的混合算法的一部分。在美国专利申请公开号20200234172中更详细地披露了聚类收缩混合算法。
[0084]
图2是用于在分类分布的各情况下从softmax分布进行采样的计算系统的示例操作方法200的流程图。方法200可以在包括至少一个数字或经典处理器和量子处理器的混合计算系统(例如图1的混合计算系统100)上执行,或者可以由包括至少一个数字或经典处理器的经典计算系统执行。
[0085]
方法200包括动作201至206;然而,本领域技术人员将理解,所展示的动作的数量是示例,并且在一些实施方式中,可以省略某些动作,可以添加其他动作,和/或可以改变动作的顺序。
[0086]
方法200例如响应于来自其他例程的调用而在201处开始。
[0087]
在202处,数字处理器计算具有n个分类变量的输入问题的有效能量基于变量xi与其他变量的相互作用来计算分类变量xi、i=1,..,n,的每个状态j=1,

,di的能量(eq 6)。问题可以在201处作为一组输入的一部分被接收。问题可以例如是蛋白质侧链优化问题。
[0088]
在203处,数字处理器计算变量xi的所有情况j的指数权重w
ij
(eq 7)。
[0089]
在204处,数字处理器计算每个变量xi取状态j的归一化概率p
ij
(eq 8),该归一化概率与在203处计算的权重w
ij
成比例。
[0090]
在205处,数字处理器例如使用逆变换采样从概率分布p
ij
中获得样本。
[0091]
在206处,方法200终止,直到例如再次被调用。
[0092]
图3是用于在分类分布的各情况下从softmax分布进行采样的计算系统的示例迭代操作方法300的流程图。方法300可以在包括至少一个数字或经典处理器和量子处理器的混合计算系统(例如图1的混合计算系统100)上执行,或者可以由包括至少一个数字或经典处理器的经典计算系统执行。
[0093]
方法300包括动作301至308;然而,本领域技术人员将理解,所展示的动作的数量是示例,并且在一些实施方式中,可以省略某些动作,可以添加其他动作,和/或可以改变动作的顺序。
[0094]
方法300例如响应于来自其他例程的调用而在301处开始。
[0095]
在302处,数字处理器计算具有n个分类变量的输入问题的有效能量基于变量xi与其他变量的相互作用来计算分类变量xi、i=1,..,n,的每个状态j=1,

,di的能量(eq 6)。输入问题可以在301处作为一组输入的一部分被接收。问题可以例如是蛋白质侧链优化问题。
[0096]
在303处,数字处理器计算变量xi的所有情况j的指数权重w
ij
(eq 7)。
[0097]
在304处,数字处理器计算每个变量i取状态j的归一化概率p
ij
(eq 8),该归一化概率与在303处计算的权重w
ij
成比例。
[0098]
在305处,数字处理器例如使用逆变换采样从概率分布p
ij
中获得样本。
[0099]
在306处,数字处理器将在305处获得的样本整合到302的输入问题中。
[0100]
在307处,数字处理器检查是否已经满足退出条件。如果已经满足退出条件,则控制传递到308,否则控制传递到302,在此根据eq(6)再次计算具有整合样本的问题的有效能量示例性退出条件可以是确定满足表示变量质量的度量或参数。变量质量的度量的示例是变量的能量。确定可以例如基于对变量的评估,该评估由数字处理器执行。
[0101]
在308处,方法300终止,直到例如再次被调用。
[0102]
约束整数问题是数学优化或可行性问题,其中一些或所有变量被限制为整数并且必须遵守一组约束。整数问题通常使用基于树的算法来求解,如分支定界,或者例如,死端消除(dee)。在某些情况下,整数问题可以通过将整数变量放宽为连续变量来求解;然而,放宽变量并不能保证在可行空间中找到最优解。另外地,当问题规模增加时,许多当前求解器
不能很好地扩展;因此,导致计算时间非常长,这可能不适用于所有应用。
[0103]
本披露内容描述了用于使用包括至少一个经典或数字计算机和量子计算机的计算系统(例如图1的混合计算系统100)或者通过包括至少一个数字或经典计算机的经典计算系统来求解约束二次整数问题的系统和方法。经典或数字计算机可以使用马尔可夫链蒙特卡罗(mcmc)方法(例如,模拟退火、平行回火和群体退火),用具有约束的吉布斯采样代替梅特罗波利斯提议移动。
[0104]
整数变量xi的有效能量e可以由数字处理器根据整数的大小和所有其他变量的当前状态计算:
[0105][0106]
其中,hi是变量xi的偏置,q
i,j
是两个变量xi和xj的成对相互作用。
[0107]
所有变量xi和所有情况或值j的能量用于计算指数权重:
[0108][0109]
变量xi取值j的概率与权重(eq 10)成比例。该概率被称为softmax概率分布。为了从概率分布中获得样本,从而获得变量x i
的状态的样本,权重被归一化:
[0110][0111]
其中,di是变量xi的可能值的数量。
[0112]
样本可以利用标准算法或方法(例如逆变换采样)从softmax分布中获得。然而,从eq 11的概率分布p(xi)进行取样将导致违反问题的一个或多个约束;因此,不会提供感兴趣的约束二次整数问题的解。
[0113]
假设约束c可以表示为
[0114][0115]
其中,s表示必须遵守约束c的一组变量,变量xi的可行区域是
[0116][0117]
变量xi的掩码mj可以被定义为下式的二进制值:
[0118][0119]
因此,变量xi仅在可行区域中取值j的概率为:
[0120][0121]
样本可以例如使用逆变换采样从上述概率分布(eq 15)中获得。
[0122]
获得的样本可以由量子计算机进一步细化,例如作为使用聚类收缩的混合算法的
一部分。在美国专利申请公开号20200234172中更详细地披露了聚类收缩混合算法。
[0123]
图4是用于在使用约束的分类分布的各情况下从softmax分布进行采样的计算系统的示例操作方法400的流程图。方法400可以在包括至少一个数字或经典处理器和量子处理器的混合计算系统(例如图1的混合计算系统100)上执行,或者可以由包括至少一个数字或经典处理器的经典计算系统执行。
[0124]
方法400包括动作401至408;然而,本领域技术人员将理解,所展示的动作的数量是示例,并且在一些实施方式中,可以省略某些动作,可以添加其他动作,和/或可以改变动作的顺序。
[0125]
方法400例如响应于来自其他例程的调用而在401处开始。
[0126]
在402处,数字处理器计算具有n个整数变量的输入问题的整数变量的有效能量e。根据eq 9,整数变量xi的能量e(xi)根据整数的大小和其他变量的当前状态计算。输入问题可以在401处作为一组输入的一部分被接收。
[0127]
在403处,数字处理器根据eq 10来计算每个变量xi和所有情况j的指数权重w
ij

[0128]
在404处,数字处理器根据eq 13来计算每个整数变量xi的可行区域其中,可行区域取决于约束c。
[0129]
在405处,数字处理器根据eq 14来计算取值j的每个变量xi的掩码mj。
[0130]
在406处,数字处理器根据eq 15来计算每个变量xi仅在可行区域中采取状态j的归一化概率p
ij
,其中,变量xi采取状态j的概率与指数权重和掩码m成比例。
[0131]
在407处,数字处理器例如通过使用逆变换采样从在406处计算的概率分布p
ij
中获得样本。
[0132]
在408处,方法400终止,直到例如再次被调用。
[0133]
图5是用于在具有约束的分类分布的各情况下从softmax分布进行采样的计算系统的示例迭代操作方法500的流程图。方法500可以在包括至少一个数字或经典处理器和量子处理器的混合计算系统(例如图1的混合计算系统100)上执行,或者可以由包括至少一个数字或经典处理器的经典计算系统执行。
[0134]
方法500包括动作501至510;然而,本领域技术人员将理解,所展示的动作的数量是示例,并且在一些实施方式中,可以省略某些动作,可以添加其他动作,和/或可以改变动作的顺序。
[0135]
方法500例如响应于来自其他例程的调用而在501处开始。
[0136]
在502处,数字处理器计算输入问题的整数变量的有效能量e,如上文参考方法400的动作402所描述的。
[0137]
在503处,数字处理器根据eq 10来计算每个变量xi和所有情况j的指数权重w
ij

[0138]
在504处,数字处理器根据eq 13来计算每个整数变量xi的可行区域其中,可行区域取决于约束c。
[0139]
在505处,数字处理器根据eq 14来计算取值j的每个变量xi的掩码mj。
[0140]
在506处,数字处理器根据eq 15来计算每个变量xi仅在可行区域中采取状态j的归一化概率p
ij
,其中,变量xi采取状态j的概率与指数权重和掩码m成比例。
[0141]
在507处,数字处理器例如使用逆变换采样从在506处计算的概率分布p
ij
中获得样本。
[0142]
在508处,数字处理器将在507处获得的样本整合到502的输入问题中。
[0143]
在509处,数字处理器检查是否已经满足退出条件。如果已经满足退出条件,则控制传递到510,否则控制传递到502,在此再次计算具有整合样本的问题的有效能量e。退出条件可以是确定满足表示变量质量的度量或参数。变量质量的度量的示例是变量的能量。确定可以例如基于对变量的评估,该评估由数字处理器执行。
[0144]
在510处,方法500终止,直到例如再次被调用。
[0145]
一些类别的问题(例如,具有任意变量的问题)无法高效地映射到二次无约束二元优化(qubo)问题或伊辛哈密尔顿算子(ising hamiltonian)问题。因此,这些问题需要在经典或数字处理器上执行一些开销(例如,变量的转换),然后由量子计算机求解。因此,期望通过高效地将问题映射到模型(例如,二元二次模型)来高效地求解任意变量问题,该模型然后可以由量子计算机求解。在本披露内容和所附权利要求中,项任意变量用于表示连续变量、离散变量或二元变量。
[0146]
本披露内容描述了用于使用包括至少一个经典或数字计算机和量子计算机的混合计算系统(例如图1的混合计算系统100)利用交叉玻尔兹曼更新来求解具有任意变量的问题的系统和方法。该至少一个经典或数字计算机使用交叉玻尔兹曼更新来构建二元问题,该二元问题然后可以由量子计算机求解。
[0147]
问题可以包括多个任意变量v,该多个任意变量可以是连续的、离散的或二元的。数字计算机可以将算法应用于具有多个任意变量的问题,其中,具有旧值的任意变量vi可以被更新后的值所代替。如果vi取更新后的值(即更新被接受),则二元变量si等于预定值(例如一)。在简单更新规则的情况下,是否更新变量vi的决策是独立于问题的多个变量中的其他变量做出的。然而,可以计算与更新两个vi和vj相关联的能量:
[0148][0149][0150][0151]
其中,hi和hj分别是单独更新变量vi和vj的能量成本,并且j
ij
是一起或相互依赖地更新两个变量的能量成本。
[0152]
然后,是否更新变量vi和vj的决策可以通过哈密尔顿算子h来表示:
[0153][0154]
二元变量si(例如,阶乘伯努利决策(factorial bernoulli decision))
[0155]
si~p(si|v
t-1
)
ꢀꢀ
(20)
[0156]
可以用来自玻尔兹曼分布的样本代替:
[0157][0158]
其中,z表示配分函数。
[0159]
对于每个非二元变量vi,数字处理器可以选择两个候选值。数字处理器可以使用整数变量或连续变量的空间中的本地采样器来选择候选值。在至少一个实施方式中,本地采样器可以是吉布斯采样器。例如,本地采样器可以返回两个独立的样本x1和x2。然后,数字处理器可以根据二元变量si来定义新的变量xi:
[0160][0161]
然后,输入问题(空间x中的优化问题)被转变为空间s中的搜索并可以以这种形式发送到量子处理器:
[0162]
min
x
f(x)=minsf((x
1-x2)s+x2)
ꢀꢀ
(23)
[0163]
对于离散的非二元变量vi,问题可以通过以下方式转换为二次无约束二元优化(qubo)问题。能量函数e等同于qubo:
[0164][0165]
其中,λ是惩罚项的系数并且n是变量的数量。
[0166]
上述eq 24表示具有约束的离散的非二元问题,使得仅之一可以取值一。因此,使用系数为λ的惩罚项将约束二元优化问题放宽为无约束二元优化问题。
[0167]
上述问题可以直接用量子处理器(例如量子退火器)或者经由模拟经典退火来求解。然而,由于每个变量的量子位数量庞大,因此直接求解eq 24可能效率低下。
[0168]
代替直接求解eq 24,以下eq 25形式的子问题可以由量子处理器求解。
[0169][0170]
其中,j2和l2是变量j和l的不同值。
[0171]
eq 25的问题类似于输入问题,但不是对变量x的所有可能值求和,而是对由数字处理器利用本地采样器选择的两个值求和。eq 25可以通过设置来简化。
[0172][0173]
图6是使用交叉玻尔兹曼更新的混合计算系统的示例操作方法600的流程图。方法600可以在包括至少一个数字或经典处理器和量子处理器的混合计算系统(例如图1的混合计算系统100)上执行。
[0174]
方法600包括动作601至608;然而,本领域技术人员将理解,所展示的动作的数量是示例,并且在一些实施方式中,可以省略某些动作,可以添加其他动作,和/或可以改变动作的顺序。
[0175]
方法600例如响应于来自其他例程的调用而在601处开始。
[0176]
在602处,数字处理器将算法应用于具有n个任意变量xi的输入问题。n个任意变量可以是连续变量、离散变量或二元变量。输入问题可以在601处作为一组输入的一部分被接收。数字处理器可以对输入问题应用本地求解器,例如吉布斯采样器。
[0177]
在603处,数字处理器经由在602处应用的本地求解器来获得输入问题的每个变量的两个候选值。候选值可以是独立样本。
[0178]
在604处,数字处理器使用二进制值si来构造问题的哈密尔顿算子h,其中,如果具有旧值v
t-1
的变量vi采取更新值v
t
,则si取值一,并且哈密尔顿算子h取决于二元变量s:
[0179][0180]
上文介绍了eq 19并且为了清楚起见在此处再现。上文参考eq 19解释了细节。
[0181]
在605处,数字处理器从动作604的哈密尔顿算子h构造问题的二元二次模型。根据任意变量xi的性质,数字处理器以不同的方式构造二元二次模型。对于非二元变量,新变量xi根据si被定义为:
[0182][0183]
如上文在第一次参考eq 22时更详细描述的。
[0184]
对于离散的非二元变量,构造子问题e
[0185][0186]
如上文在第一次参考eq 26时更详细描述的。
[0187]
在606处,数字处理器将605的二元二次模型发送到量子处理器。在至少一个实施方式中,将嵌入算法(例如次要嵌入)应用于动作605的模型,从而生成可以被发送到量子处理器的嵌入问题。嵌入技术的示例可以在美国专利7,984,012、美国专利8,244,662、美国专利9,727,823、美国专利9,875,215和美国专利10,789,540中找到。
[0188]
在607处,数字处理器接收来自在605处发送的由量子处理器生成的模型的样本。这些样本表示输入问题的解。
[0189]
方法600在608处终止,直到例如再次被调用。
[0190]
图7是使用交叉玻尔兹曼更新的混合计算系统的示例迭代操作方法700的流程图。方法700可以在包括至少一个数字或经典处理器和量子处理器的混合计算系统(例如图1的混合计算系统100)上执行。
[0191]
方法700包括动作701至710;然而,本领域技术人员将理解,所展示的动作的数量是示例,并且在一些实施方式中,可以省略某些动作,可以添加其他动作,和/或可以改变动作的顺序。
[0192]
方法700例如响应于来自其他例程的调用而在701处开始。
[0193]
在702处,数字处理器将算法应用于具有n个任意变量xi的输入问题,如上文参考方法600的动作602所描述的。
[0194]
在703处,数字处理器获得输入问题的每个变量的两个候选值,如上文参考方法600的动作603所描述的。
[0195]
在704处,数字处理器使用二进制值si来构造问题的哈密尔顿算子h,如上文参考方法600的动作604所描述的。
[0196]
在705处,数字处理器从动作704的哈密尔顿算子h构造问题的二元二次模型,如上文参考方法600的动作605所描述的。
[0197]
在706处,数字处理器将二元二次模型发送到量子处理器,如上文参考方法600的动作606所描述的。
[0198]
在707处,数字处理器接收来自在706处发送的由量子处理器生成的模型的样本。
[0199]
在708处,数字处理器将在707处接收的样本整合到输入问题中。
[0200]
在709处,数字处理器检查是否已经满足退出条件。如果已经满足退出条件,则控制传递到710,否则控制传递到702,在此数字处理器再次将算法应用于具有整合样本的输
入问题。退出条件可以是确定满足表示变量质量的度量或参数。变量质量的度量的示例是变量的能量。确定可以例如基于对变量的评估,该评估由数字处理器执行。
[0201]
在710处,方法700终止,直到例如再次被调用。
[0202]
也可以在求解可能受益于从分类分布中获得样本的问题(例如优化蛋白质结构的问题)时应用方法600和700,如上文参考图2的方法200和图3的方法300所描述的。
[0203]
图8是用于在分类分布的各情况下从softmax分布进行采样并使用交叉玻尔兹曼更新的混合计算系统的示例操作方法800的流程图。方法800可以在包括至少一个数字或经典处理器和量子处理器的混合计算系统(例如图1的混合计算系统100)上执行。
[0204]
方法800包括动作801至810;然而,本领域技术人员将理解,所展示的动作的数量是示例,并且在一些实施方式中,可以省略某些动作,可以添加其他动作,和/或可以改变动作的顺序。
[0205]
方法800例如响应于来自其他例程的调用而在801处开始。
[0206]
在802处,数字处理器计算具有n个分类变量的输入问题的有效能量基于分类变量与其他变量的相互作用来计算分类变量xi、i=1,..,n,的每个状态j=1,

,di的能量(eq 6)。问题可以在801处作为一组输入的一部分被接收。
[0207]
在803处,数字处理器计算变量xi的所有情况j的指数权重w
ij
(eq 7)。
[0208]
在804处,数字处理器计算每个变量i取状态j的归一化概率p
ij
(eq 8),该归一化概率与在803处计算的权重w
ij
成比例。
[0209]
在805处,数字处理器经由从在804处计算的概率进行采样来获得输入问题的每个变量的两个候选值。候选值可以是独立样本。
[0210]
在806处,数字处理器使用二进制值si来构造问题的哈密尔顿算子h,其中,如果具有旧值v
t-1
的变量vi采取更新值v
t
,则si取值一,并且哈密尔顿算子h取决于二元变量s:
[0211][0212]
如上文在第一次参考eq 19时所解释的。
[0213]
在807处,数字处理器从动作806的哈密尔顿算子h构造问题的二元二次模型。根据任意变量的性质,数字处理器以不同的方式构造二元二次模型,如上文参考方法600的动作605所描述的。
[0214]
在808处,数字处理器将二元二次模型发送到量子处理器。在至少一个实施方式中,将嵌入算法(例如次要嵌入)应用于动作807的模型,从而生成可以被发送到量子处理器的嵌入问题。
[0215]
在809处,数字处理器接收来自在808处发送的由量子处理器生成的模型的样本。这些样本表示输入问题的解。
[0216]
在810处,方法800终止,直到例如再次被调用。
[0217]
图9是用于在分类分布的各情况下从softmax分布进行采样并使用交叉玻尔兹曼更新的混合计算系统的示例迭代操作方法900的流程图。方法900可以在包括至少一个数字或经典处理器和量子处理器的混合计算系统(例如图1的混合计算系统100)上执行。
[0218]
方法900包括动作901至912;然而,本领域技术人员将理解,所展示的动作的数量是示例,并且在一些实施方式中,可以省略某些动作,可以添加其他动作,和/或可以改变动作的顺序。
[0219]
方法900例如响应于来自其他例程的调用而在901处开始。
[0220]
在902处,数字处理器计算具有n个分类变量的输入问题的有效能量如上文参考方法800的动作802所描述的。
[0221]
在903处,数字处理器计算变量xi的所有情况j的指数权重w
ij
(eq 7)。
[0222]
在904处,数字处理器计算每个变量i取状态j的归一化概率p
ij
(eq 8),该归一化概率与在903处计算的权重w
ij
成比例。
[0223]
在905处,数字处理器经由从在904处计算的概率进行采样来获得输入问题的每个变量的两个候选值。候选值可以是独立样本。
[0224]
在906处,数字处理器使用二进制值si来构造问题的哈密尔顿算子h,如上文参考方法800的动作806所描述的。
[0225]
在907处,数字处理器从动作906的哈密尔顿算子h构造问题的二元二次模型,如上文参考方法800的动作807所描述的。
[0226]
在908处,数字处理器将二元二次模型发送到量子处理器。在至少一个实施方式中,将嵌入算法(例如次要嵌入)应用于动作907的模型,从而生成可以被发送到量子处理器的嵌入问题。
[0227]
在909处,数字处理器接收来自在908处发送的由量子处理器生成的模型的样本。这些样本表示输入问题的解。
[0228]
在910处,数字处理器将在909处接收的样本整合到902的输入问题中。
[0229]
在911处,数字处理器检查是否已经满足退出条件。如果已经满足退出条件,则控制传递到912,否则控制传递到902,在此数字处理器再次计算具有整合样本的输入问题的有效能量退出条件可以是确定满足表示变量质量的度量或参数。变量质量的度量的示例是变量的能量。确定可以例如基于对变量的评估,该评估由数字处理器执行。
[0230]
在912处,方法900终止,直到例如再次被调用。
[0231]
可以在求解可能受益于从分类分布获得样本的问题(例如约束二次整数问题)时应用方法800和900,如上文参考图4的方法400和图5的方法500所描述的。
[0232]
图10是用于在使用约束的分类分布的各情况下从softmax分布进行采样并使用交叉玻尔兹曼更新的混合计算系统的示例操作方法1000的流程图。方法1000可以在包括至少一个数字或经典处理器和量子处理器的混合计算系统(例如图1的混合计算系统100)上执行。
[0233]
方法1000包括动作1001至1012;然而,本领域技术人员将理解,所展示的动作的数量是示例,并且在一些实施方式中,可以省略某些动作,可以添加其他动作,和/或可以改变动作的顺序。
[0234]
方法1000例如响应于来自其他例程的调用而在1001处开始。
[0235]
在1002处,数字处理器计算具有n个整数变量的输入问题的整数变量的有效能量e。根据eq 9,整数变量xi的能量e(xi)根据整数的大小和其他变量的当前状态计算。输入问
题可以在1001处作为一组输入的一部分被接收。
[0236]
在1003处,数字处理器根据eq 10来计算每个变量xi和所有情况j的指数权重w
ij

[0237]
在1004处,数字处理器根据eq 13来计算每个整数变量xi的可行区域其中,可行区域取决于约束c。
[0238]
在1005处,数字处理器根据eq 14来计算具有值j的每个变量xi的掩码mj。
[0239]
在1006处,数字处理器根据eq 15来计算每个变量xi仅在可行区域中采取状态j的归一化概率p
ij
,其中,变量xi采取状态j的概率与指数权重w
xi
和掩码m成比例。
[0240]
在1007处,数字处理器经由从在1006处计算的概率进行采样来获得输入问题的每个变量的两个候选值。候选值可以是独立样本。
[0241]
在1008处,数字处理器使用二进制值si来构造问题的哈密尔顿算子h,其中,如果具有旧值v
t-1
的变量vi采用更新值v
t
,则si取值一,并且哈密尔顿算子h取决于二元变量s,
[0242][0243]
如上文在第一次参考eq 19时所解释的。
[0244]
在1009处,数字处理器从动作1008的哈密尔顿算子h构造问题的二元二次模型。根据变量xi的性质,数字处理器以不同的方式构造二元二次模型,如上文参考方法600的动作605所描述的。
[0245]
在1010处,数字处理器将二元二次模型发送到量子处理器。在至少一个实施方式中,将嵌入算法(例如次要嵌入)应用于动作1009的模型,从而生成可以被发送到量子处理器的嵌入问题。
[0246]
在1011处,数字处理器接收来自在1010处发送的由量子处理器生成的模型的样本。这些样本表示输入问题的解。
[0247]
在1012处,方法1000终止,直到例如再次被调用。
[0248]
图11是用于在使用约束和交叉玻尔兹曼更新的分类分布的情况下从softmax分布进行采样的混合计算系统的示例迭代操作方法1100的流程图。方法1100可以在包括至少一个数字或经典处理器和量子处理器的混合计算系统(例如图1的混合计算系统100)上执行。
[0249]
方法1100包括动作1101至1114;然而,本领域技术人员将理解,所展示的动作的数量是示例,并且在一些实施方式中,可以省略某些动作,可以添加其他动作,和/或可以改变动作的顺序。
[0250]
方法1100例如响应于来自其他例程的调用而在1101处开始。
[0251]
在1102处,数字处理器计算具有n个整数变量的输入问题的整数变量的有效能量e,如上文参考方法1000的动作1002所描述的。
[0252]
在1103处,数字处理器根据eq 10来计算每个变量xi和所有情况j的指数权重w
ij

[0253]
在1104处,数字处理器根据eq 13来计算每个整数变量xi的可行区域其中,可行区域取决于约束c。
[0254]
在1105处,数字处理器根据eq 14来计算具有值j的每个变量xi的掩码mj。
[0255]
在1106处,数字处理器根据eq 15来计算每个变量xi仅在可行区域中采取状态j的
归一化概率p
ij
,其中,变量xi采取状态j的概率与指数权重和掩码m成比例。
[0256]
在1107处,数字处理器经由从在1106处计算的概率进行采样来获得输入问题的每个变量的两个候选值。候选值可以是独立样本。
[0257]
在1108处,数字处理器使用二进制值si来构造问题的哈密尔顿算子h,如上文参考方法1000的动作1008所描述的。
[0258]
在1109处,数字处理器从动作1108的哈密尔顿算子h构造问题的二元二次模型,如上文参考方法1000的动作1009所描述的。
[0259]
在1110处,数字处理器将动作1109的二元二次模型发送到量子处理器,如上文参考方法1000的动作1010所描述的。
[0260]
在1111处,数字处理器接收来自在1110处发送的由量子处理器生成的模型的样本。这些样本表示输入问题的解。
[0261]
在1112处,数字处理器将在1111处接收的样本整合到输入问题中。
[0262]
在1113处,数字处理器检查是否已经满足退出条件。如果已经满足退出条件,则控制传递到1114,否则控制传递到1102,在此数字处理器再次计算具有整合样本的输入问题的有效能量退出条件可以是确定满足表示变量质量的度量或参数。变量质量的度量的示例是变量的能量。确定可以例如基于对变量的评估,该评估由数字处理器执行。
[0263]
在1114处,方法1100终止,直到例如再次被调用。
[0264]
上文所描述的系统和方法可以用于优化资源调度,例如为某一位置的任务分配调度设备和/或人员。资源调度是np困难问题并且可以被制定为例如线性整数规划。线性整数规划可以用可商购的软件求解,例如,scip求解器、优化器或优化器。然而,将资源调度制定为整数线性规划引入了二元变量来加强逻辑约束,从而增加了复杂性,并且因此增加了求解资源调度问题所需的计算时间。较长计算时间可能需要资源管理器花费大量时间将资源分配给例如任务或班次或位置,从而增加了业务的低效率。
[0265]
资源调度可以被制定为对独热约束进行编码并且然后在量子处理器上求解的离散的二次模型f。这种模型可以被认为是具有独热约束的二元二次模型,如上文参考eq 19所解释的:
[0266][0267]
其中,∑jx
ij
=1、x
ij
∈{0,1}以及h
ij
和q
ijkl
分别是线性偏置和二次偏置。
[0268]
可以为每个资源i和每天d定义变量x
d,i
。资源可以在不同的时间并且在不同的部门和位置中启动,持续不同的持续时间。在这些属性的所有组合中,一次只能选择一个选项。例如,x
(d,i),(s,u,j,l)
指示在d天,资源i将在位置l处在部门j中在时间s时启动持续u个小时。鉴于上述制定仅考虑启动时间,所描述的时间、小时、部门和位置的任何可用组合不可能同时发生。
[0269][0270]
其中,s
d,i
={(s,u,j,l),如果a
d,i,s,u,j,l
=1}是资源可用的属性集合(s,u,j,l),并
且a是资源i在d天在位置l处在部门j中在开始时间s时持续u个小时的可用性。
[0271]
通过用情况0(指示没有选择情况)来扩充集合s
d,i
,可以将上述不等式转换为等式。
[0272][0273]
在一些实施方式中,期望将某些资源(例如,更高效的资源、更新的资源

)调度到某些任务、班次或位置,并且这样做不会引入新的变量,从而避免增加问题的复杂性。资源调度问题可以通过偏置单个资源来优化。
[0274][0275]
其中,函数f0施加偏置,在该偏置上,资源i在d,天在部门j和位置l中在开始时间s被调度持续u个小时,并且α表示偏置。
[0276]
可以通过使每天、时间、部门和地点的预定小时与所需小时之间的差距最小化来优化资源需求。函数f1使预定资源与资源需求之间的差距最小化。
[0277][0278]
其中,b是时间仓,sb={(s,u,):s≤b《s+u}是仓b中重叠的开始时间s和小时u的集合,并且r
d,b,j,l
是在d天在位置l中的部门j中对时间仓b的资源需求。
[0279]
还可能期望向问题添加另一个目标函数f2以确保为每个资源被分配一定数量的小时u。函数f2使预定小时与计划小时之间的差距最小化,其中,si是计划小时的集合。
[0280][0281]
在一些实施方式中,可能期望添加另一个目标函数f3以确保给定资源被调度持续不活动周期(例如,连续两天不活动),这里用0表示(即,未被调度)。在某些实施方式中,可能期望调度两个连续的休息日,例如,用于预定的维护。
[0282][0283]
以及
[0284][0285]
以下是可以应用于资源调度问题的一组示例约束。然而,本领域技术人员将理解,以下一组约束仅用于示例目的并且一些约束可能不被使用,并且可以添加其他约束:
[0286]
基于资源可用性为每个资源分配工作小时。
[0287]
班次长度可能不同,例如取决于分配或位置的类型。
[0288]
两个连续班次之间的时间可能不同,例如取决于两个连续班次的物理位置之间的距离或者取决于设备的预定维护。在一个示例实施方式中,资源的班次之间的时间可以是至少15小时。
[0289][0290]
其中,s
δt
={(s,u,s

):ts′-t
s,u
≤t
gap
}。
[0291]
分配给每个资源的小时数接近计划的小时数。
[0292]
每个资源可以被分配预定的不活动周期。例如,由于预定的每周维护,设备可能每周有一天或每周有连续两天处于闲置状态。
[0293]
每个部门每天和每周被分配接近所需资源数量的资源。
[0294]
多个部门或位置可以一起优化,共享相同的资源。
[0295]
然后可以使用混合计算系统(例如图1的混合计算系统100)分别使用图6、图7、图8、图9、图10和图11的方法600、700、800、900、1000和1100中的任何方法来求解用上述约束构造的二元二次模型。
[0296]
图12是用于优化资源调度的混合计算系统的示例操作方法1200的流程图。方法1200可以在包括至少一个数字或经典处理器和量子处理器的混合计算系统(例如图1的混合计算系统100)上执行。
[0297]
方法1200包括动作1201至1206;然而,本领域技术人员将理解,所展示的动作的数量是示例,并且在一些实施方式中,可以省略某些动作,可以添加其他动作,和/或可以改变动作的顺序。
[0298]
方法1200例如响应于来自其他例程的调用而在1201处开始。方法1200可以采用关于每个资源的一组输入数据,例如计划的可用性和计划的不活动周期,以及关于每个工作部门和位置的数据,例如所需的资源。
[0299]
在1202处,数字处理器将输入数据制定为针对每个资源、日期、时间、部门和位置的一组约束。在至少一个实施方式中,数字处理器制定以下约束:基于资源可用性为每个资源分配工作小时;班次长度可能不同,例如取决于分配或位置的类型;两个连续班次之间的时间可能不同,例如取决于两个连续班次的物理位置之间的距离或者取决于设备的预定维护;分配给每个资源的小时数接近计划的小时数。每个资源可以被分配预定的不活动周期;每个部门每天和每周被分配接近所需资源数量的资源。
[0300]
在1203处,数字处理器基于在1202处制定的一组约束来构造二元二次模型。数字处理器可以分别采用图6、图7、图8、图9、图10和图11的方法600、700、800、900、1000和1100中的任何方法。
[0301]
在1204处,数字处理器将在1203处构造的二元二次模型发送到量子处理器。在至少一个实施方式中,将嵌入算法(例如次要嵌入)应用于动作1203的模型,从而生成可以被发送到量子处理器的嵌入问题。
[0302]
在1205处,数字处理器接收来自在1204处发送的由量子处理器生成的模型的样本。这些样本表示输入问题的解。
[0303]
在1206处,方法1200终止,直到例如再次被调用。
[0304]
以上描述的(多种)方法、(多个)过程、或(多种)技术可以通过存储在一个或多个非暂态处理器可读介质上的一系列处理器可读指令来实施。以上描述的(多种)方法、(多个)过程、或(多种)技术方法的一些示例部分地是由专用设备比如绝热量子计算机或量子退火器、或对绝热量子计算机或量子退火器进行编程或以其他方式控制其操作的系统(例如包括至少一个数字处理器的计算机)来执行。以上描述的(多种)方法、(多个)过程、或(多种)技术可以包括各种动作,但本领域技术人员应了解的是,在替代性示例中可以省略某些动作,和/或可以添加附加动作。本领域技术人员还应了解的是,所展示的动作顺序是仅出于示例目的而示出的并且可以在替代性示例中改变。上文所描述的(多种)方法、(多个)过程、或(多种)技术的示例动作或操作中的一些被迭代地执行。可以在每次迭代期间、在多次迭代之后、或在所有迭代结束时执行上文所描述的(多种)方法、(多个)过程、或(多种)技术中的一些动作。
[0305]
对所展示的实施方式的以上描述(包括摘要中所描述的内容)并非旨在是穷尽性的或将实施方式限于所披露的精确形式。如相关领域的技术人员将认识到的,尽管本文出于说明性目的描述了具体实施方式和示例,但是可以在不脱离本披露内容的精神和范围的情况下做出各种等效修改。本文所提供的各种实施方式的传授内容可以应用于量子计算的其他方法,并不一定是上文总体上所描述的示例量子计算方法。
[0306]
上文所描述的各种实施方式可以被组合以提供进一步的实施方式。在本说明书中提及的和/或在申请数据表中列出的所有普通转让的美国专利申请出版物、美国专利申请、外国专利和外国专利申请通过引用整体并入本文,包括但不限于:美国专利号7,533,068、美国专利公开号20200234172、美国专利号7,984,012、美国专利号8,244,662、美国专利号9,727,823、美国专利号9,875,215、美国专利号10,789,540、以及美国临时专利申请号62/951,749。
[0307]
鉴于以上详细描述,可以对实施方式做出这些和其他改变。通常,在以下权利要求中,所使用的术语不应该被解释为将权利要求限制为本说明书和权利要求中披露的具体实施方式,而是应该被解释为包括所有可能的实施方式,连同此权利要求有权获得的等效物的整个范围。因此,权利要求不受本披露内容的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1