首页 / 专利库 / 电脑零配件 / 量子比特 / 超导量子比特 / 用于量子计算的系统和方法

用于量子计算的系统和方法

阅读:728发布:2020-07-06

专利汇可以提供用于量子计算的系统和方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种用于生成样本的混合计算机,所述混合计算机采用可操作来执行后处理的数字计算机。模拟计算机可通信地耦合到所述数字计算机。所述模拟计算机可操作来返回与哈密顿算子的低 能量 配置相对应的一个或多个样本。本发明还提出了从量子玻尔兹曼分布生成样本以训练量子 玻尔兹曼机 并且从经典玻尔兹曼分布生成样本以训练 受限玻尔兹曼机 的方法。计算系统和方法允许处理具有比模拟处理器的工作图更大和/或至少不完全由所述工作图提供的大小和/或连接性的问题。所述方法可包括确定对第一经典自旋配置的预备偏置,使所述模拟处理器沿第一方向演化;使所述模拟处理器沿第二方向演化,以及使所述模拟处理器沿所述第一方向演化直到所述模拟处理器达到第二经典自旋配置。,下面是用于量子计算的系统和方法专利的具体信息内容。

1.一种经由包括模拟处理器和数字处理器的混合处理器来进行的计算方法,所述方法包括:
经由所述数字处理器确定第一经典自旋配置;
经由所述数字处理器接收伊辛问题;
经由所述数字处理器确定对所述第一经典自旋配置的预备偏置;
经由所述数字处理器在所述模拟处理器中对所述伊辛问题和所述预备偏置进行编程;
使所述模拟处理器沿第一方向演化直到所述模拟处理器达到所述第一经典自旋配置;
在第一停留时间存所述模拟处理器的状态;
经由所述数字处理器对所述模拟处理器进行编程以移除所述预备偏置;
经由所述数字处理器确定隧穿能量
经由所述数字处理器确定第二停留时间;
使所述模拟处理器沿第二方向演化直到所述模拟处理器达到所述隧穿能量,其中所述第二方向与所述第一方向相反;
在所述第二停留时间内暂停所述模拟处理器;以及
使所述模拟处理器沿所述第一方向演化直到所述模拟处理器达到第二经典自旋配置。
2.根据权利要求1所述的计算方法,还包括:
经由所述数字处理器读出所述模拟处理器的状态。
3.根据权利要求2所述的计算方法,其中所述模拟处理器包括量子处理器,并且使所述模拟处理器沿第一方向演化包括使所述量子处理器沿所述第一方向演化。
4.根据权利要求3所述的计算方法,其中在所述量子处理器中对所述伊辛问题和所述预备偏置进行编程包括对每个量子比特磁通偏置DAC的至少最高有效数位进行编程。
5.根据权利要求1所述的计算方法,其中在第一停留时间内锁存所述模拟处理器的状态包括在至少对所述模拟处理器进行编程以移除所述预备偏置所需的时间内锁存所述模拟处理器的状态。
6.根据权利要求1所述的计算方法,其中确定第二停留时间包括确定与所述第一停留时间不相等的第二停留时间。
7.根据权利要求1所述的计算方法,其中使所述模拟处理器沿所述第一方向演化直到所述模拟处理器达到第二经典自旋配置包括使所述模拟处理器沿所述第一方向演化直到所述模拟处理器达到与所述第一经典自旋配置不同的第二经典自旋配置。
8.根据权利要求1所述的计算方法,还包括确定是否已满足退出条件,并且迭代地重复以下操作直到满足所述退出条件:
所述对所述预备偏置进行编程;
所述使所述模拟处理器沿第一方向演化直到所述模拟处理器达到所述第一经典自旋配置;
所述将所述模拟处理器的状态锁存达所述第一停留时间;
所述通过移除所述预备偏置来对所述模拟处理器进行编程;
所述使所述模拟处理器沿第二方向演化直到所述模拟处理器达到所述隧穿能量;
所述将所述模拟处理器暂停达所述第二停留时间;以及
所述使所述模拟处理器沿所述第一方向演化直到所述模拟处理器达到后续经典自旋配置。
9.根据权利要求8所述的计算方法,其中确定是否已满足退出条件包括确定所述方法是否已完成限定的迭代次数。
10.根据权利要求1所述的计算方法,还包括:
经由所述数字处理器确定所述模拟处理器的退火速率。
11.根据权利要求10所述的计算方法,其中确定所述模拟处理器的退火速率包括确定沿所述第一方向的演化的退火速率,所述退火速率不同于沿所述第二方向的演化的所述退火速率。
12.根据权利要求1所述的计算方法,其中使所述模拟处理器沿第一方向演化包括使量子处理器的多个量子比特沿第一方向演化,并且使所述模拟处理器沿第二方向演化包括使所述量子处理器的所述多个量子比特的至少一个子集沿第二方向演化。
13.一种用于量子处理的系统,包括至少一个混合处理器,所述混合处理器包括:
至少一个模拟处理器;以及
至少一个数字处理器,所述至少一个数字处理器执行以下操作:确定所述至少一个模拟处理器的第一经典自旋配置;
接收伊辛问题、归一化演化系数集合s*和停留时间集合t*;
确定对所述第一经典自旋配置的预备偏置;
在所述至少一个模拟处理器中对所述伊辛问题和所述预备偏置进行编程;
使所述至少一个模拟处理器沿第一方向演化直到所述至少一个模拟处理器达到所述第一经典自旋配置;
将所述至少一个模拟处理器的状态锁存达第一停留时间;
对所述至少一个模拟处理器进行编程以移除所述预备偏置;
使所述至少一个模拟处理器沿第二方向演化直到达到归一化演化系数s*,其中所述第二方向与所述第一方向相反;
在停留时间t*内暂停所述至少一个模拟处理器;以及
使所述至少一个模拟处理器沿所述第一方向演化直到所述至少一个模拟处理器达到第二经典自旋配置;
确定是否已满足退出条件;以及
迭代地重复以下操作直到满足所述退出条件:
所述使所述至少一个模拟处理器沿第二方向演化直到达到归一化演化系数s*,其中所述第二方向与所述第一方向相反;
所述在停留时间t*内暂停所述至少一个模拟处理器;以及
所述使所述至少一个模拟处理器沿所述第一方向演化直到所述至少一个模拟处理器达到后续经典自旋配置;以及
所述确定是否已满足所述退出条件。
14.根据权利要求13所述的系统,其中为了确定是否已满足退出条件,所述至少一个数字处理器确定是否已针对所述伊辛问题执行与所述归一化演化系数集合s*的大小相等的迭代次数。
15.根据权利要求13和14中任一项所述的系统,其中所述模拟处理器是量子处理器。
16.根据权利要求13所述的系统,其中所述至少一个模拟处理器包括量子处理器的多个量子比特,所述至少一个数字处理器使所述多个量子比特沿第一方向演化,并且所述至少一个数字处理器使所述多个量子比特的至少一个子集沿第二方向演化。
17.一种经由包括模拟处理器和数字处理器的混合处理器来进行的计算方法,所述方法包括:
经由所述数字处理器确定第一经典自旋配置;
经由所述数字处理器接收伊辛问题、归一化演化系数集合s*和停留时间集合t*;
经由所述数字处理器确定对所述第一经典自旋配置的预备偏置;
经由所述数字处理器在所述模拟处理器中对所述伊辛问题进行编程;
经由所述数字处理器在所述模拟处理器中对所述预备偏置进行编程;
使所述模拟处理器沿第一方向演化直到所述模拟处理器达到所述第一经典自旋配置;
将所述模拟处理器的状态锁存达第一停留时间;
经由所述数字处理器对所述模拟处理器进行编程以移除所述预备偏置;
使所述模拟处理器沿第二方向演化直到达到归一化演化系数s*,其中所述第二方向与所述第一方向相反;
在停留时间t*内暂停所述模拟处理器;
使所述模拟处理器沿所述第一方向演化直到所述模拟处理器达到第二经典自旋配置;
确定是否已满足退出条件;以及
迭代地重复以下操作直到满足所述退出条件:
所述使所述模拟处理器沿第二方向演化直到达到归一化演化系数s*,其中所述第二方向与所述第一方向相反;
所述在停留时间t*内暂停所述模拟处理器;
所述使所述模拟处理器沿所述第一方向演化直到所述模拟处理器达到后续经典自旋配置;以及
所述确定是否已满足所述退出条件。
18.根据权利要求17所述的计算方法,其中确定是否已满足退出条件包括确定所述方法是否已完成与所述归一化演化系数集合s*的大小相等的限定的迭代次数。
19.根据权利要求17和18中任一项所述的计算方法,其中:
在所述模拟处理器中对所述伊辛问题进行编程包括在量子处理器中对所述伊辛问题进行编程;
在所述模拟处理器中对所述预备偏置进行编程包括在所述量子处理器中对所述预备偏置进行编程;
使所述模拟处理器沿第一方向演化直到所述模拟处理器达到所述第一经典自旋配置包括使所述量子处理器沿第一方向演化直到所述量子处理器达到所述第一经典自旋配置;
将所述模拟处理器的状态锁存达第一停留时间包括将所述量子处理器的状态锁存达第一停留时间;
对所述模拟处理器进行编程以移除所述预备偏置包括对所述量子处理器进行编程以移除所述预备偏置;
使所述模拟处理器沿第二方向演化包括使所述量子处理器沿第二方向演化;
将所述模拟处理器的状态锁存达停留时间t*包括将所述量子处理器的状态锁存达停留时间t*;以及
使所述模拟处理器沿所述第一方向演化直到所述模拟处理器达到第二经典自旋配置包括使所述量子处理器沿所述第一方向演化直到所述量子处理器达到第二经典自旋配置。
20.根据权利要求17所述的计算方法,其中使所述模拟处理器沿第一方向演化包括使量子处理器的多个量子比特沿第一方向演化,并且使所述模拟处理器沿第二方向演化包括使所述量子处理器的所述多个量子比特的至少一个子集沿第二方向演化。
21.一种操作模拟处理器的计算方法,所述方法包括:
经由数字处理器在归一化演化系数s的间隔i集合内确定候选演化排程集合;
在所述归一化演化系数s的每个间隔i内迭代地重复以下操作:
迭代地重复以下操作直到已满足退出条件:
经由所述数字处理器使用来自所述候选演化排程集合的候选演化排程对所述模拟处理器进行编程;
使所述模拟处理器沿第一方向从所述演化系数的值si演化到值si+1;以及使所述模拟处理器沿第二方向演化,其中直到达到所述归一化演化系数的值si,所述第二方向与所述第一方向相反。
22.根据权利要求21所述的计算方法,其中所述模拟处理器是量子处理器,并且使所述模拟处理器沿第一方向演化包括使所述量子处理器沿所述第一方向演化。
23.根据权利要求21所述的计算方法,还包括:
确定是否已满足所述退出条件,其中所述退出条件是与每个间隔i内的所述候选演化排程集合中的元素数量相等的限定的迭代次数的完成。
24.根据权利要求23所述的计算方法,还包括:
在确定是否已满足所述退出条件之前读出所述模拟处理器的状态。
25.根据权利要求24所述的计算方法,还包括:
至少部分地基于所述读出,经由所述数字处理器在所述归一化演化系数的每个间隔内确定演化排程。
26.一种用于量子处理的系统,包括:
至少一个数字处理器,所述至少一个数字处理器执行以下操作:
在归一化演化系数s的间隔集合i内确定候选演化排程集合;以及
在所述归一化演化系数的每个间隔i内迭代地重复以下操作:
迭代地重复以下操作直到已满足退出条件:
使用来自所述候选演化排程集合的候选演化排程对模拟处理器进行编程;
使所述模拟处理器沿第一方向从所述演化系数的值si演化到值si+1;以及使所述模拟处理器沿第二方向演化,其中直到达到所述归一化演化系数的值si,所述第二方向与所述第一方向相反。
27.根据权利要求26所述的系统,其中所述模拟处理器是量子处理器,并且所述至少一个数字处理器使所述量子处理器沿所述第一方向演化。
28.根据权利要求26所述的系统,其中所述退出条件是与每个间隔i内的所述候选演化排程集合中的元素数量相等的迭代次数的完成,并且所述至少一个数字处理器还确定是否已完成与每个间隔i内的所述候选演化排程集合中的元素数量相等的所述迭代次数。
29.根据权利要求28所述的系统,其中在所述至少一个数字处理器确定是否已满足所述退出条件之前,所述至少一个数字处理器还读出所述模拟处理器的状态。
30.根据权利要求29所述的系统,其中所述至少一个数字处理器还至少部分地基于所述读出,在所述归一化演化系数的每个间隔内确定演化排程。
31.一种操作模拟处理器的计算方法,所述方法包括:
经由数字处理器在归一化演化系数s的间隔集合i内确定候选链强度集合;
在所述归一化演化系数的每个间隔i内迭代地重复以下操作:
迭代地重复以下操作直到已满足退出条件:
经由所述数字处理器使用来自所述候选链强度集合的候选链强度对所述模拟处理器进行编程;
使所述模拟处理器沿第一方向从所述演化系数的值si演化到值si+1;以及使所述模拟处理器沿第二方向演化,其中直到达到所述归一化演化系数的值si,所述第二方向与所述第一方向相反。
32.根据权利要求31所述的计算方法,其中所述模拟处理器是量子处理器,并且使所述模拟处理器沿第一方向演化包括使所述量子处理器沿所述第一方向演化。
33.根据权利要求31所述的计算方法,还包括:
确定是否已满足退出条件,其中所述退出条件是与每个间隔i内的候选演化排程集合中的元素数量相等的限定的迭代次数的完成。
34.根据权利要求33所述的计算方法,还包括:
在确定是否已满足所述退出条件之前读出所述模拟处理器的状态。
35.根据权利要求34所述的计算方法,还包括:
至少部分地基于所述读出,经由所述数字处理器在所述归一化演化系数的每个间隔内确定链强度。
36.一种用于量子处理的系统,包括:
至少一个数字处理器,所述至少一个数字处理器执行以下操作:
在归一化演化系数s的间隔集合i内确定候选链强度集合;以及
在所述归一化演化系数的每个间隔i内迭代地重复以下操作:
迭代地重复以下操作直到已满足退出条件:
使用来自所述候选链强度集合的候选链强度对模拟处理器进行编程;
使所述模拟处理器沿第一方向从所述演化系数的值si演化到值si+1;以及使所述模拟处理器沿第二方向演化,其中直到达到所述归一化演化系数的值si,所述第二方向与所述第一方向相反。
37.根据权利要求36所述的系统,其中所述至少一个模拟处理器是量子处理器,并且所述至少一个数字处理器使所述量子处理器沿所述第一方向演化。
38.根据权利要求36所述的系统,其中所述退出条件是与每个间隔i内的所述候选链强度集合中的元素数量相等的迭代次数的完成,并且所述至少一个数字处理器还确定是否已完成与每个间隔i内的候选演化排程集合中的元素数量相等的所述迭代次数。
39.根据权利要求38所述的系统,其中在所述至少一个数字处理器确定是否已满足所述退出条件之前,所述至少一个数字处理器读出所述模拟处理器的状态。
40.一种用于生成可用于机器学习的样本的混合计算机,所述混合计算机包括:
数字计算机,所述数字计算机包括存储计算指令集的至少一个非瞬态处理器可读介质以及可操作来执行所述计算指令集以进行后处理的至少一个处理器;以及通信地耦合到所述数字计算机的模拟计算机,所述模拟计算机包括多个量子比特以及选择性地提供各对所述量子比特之间的通信耦合的一个或多个耦合设备,所述模拟计算机可操作来返回与哈密顿算子的低能量配置相对应的一个或多个样本,
其中所述一个或多个样本的至少一个子集被提供给所述数字计算机以便进行后处理,其中所述至少一个处理器对所述一个或多个样本的后处理包括以下至少一种操作:对所述一个或多个样本应用量子蒙特卡罗后处理,或对所述一个或多个样本应用退火重要性采样
41.根据权利要求40所述的混合计算机,其中所述模拟计算机是量子退火机。
42.根据权利要求40和41中任一项所述的混合计算机,其中所述多个量子比特包括多个超导量子比特
43.一种从量子玻尔兹曼分布生成样本以训练量子玻尔兹曼机的方法,所述方法包括:
从物理量子退火机收集一个或多个样本;
由数字计算机从所述物理量子退火机接收所述一个或多个样本;以及
由所述数字计算机对所述一个或多个样本应用量子蒙特卡罗后处理。
44.根据权利要求43所述的方法,其中从物理量子退火机收集一个或多个样本包括由包括多个量子比特的量子处理器进行量子退火,以及经由读出系统读出所述多个量子比特。
45.根据权利要求44所述的方法,其中所述多个量子比特包括多个超导量子比特。
46.根据权利要求43所述的方法,其中从物理量子退火机收集一个或多个样本包括收集与哈密顿算子的低能量配置相对应的一个或多个样本。
47.一种从经典玻尔兹曼分布生成样本以训练受限玻尔兹曼机的方法,所述方法包括:
从物理量子退火机收集一个或多个样本,其中所述物理量子退火机通信地耦合到数字计算机;
由所述数字计算机从所述物理量子退火机接收所述一个或多个样本;以及由所述数字计算机对所述一个或多个样本应用量子蒙特卡罗后处理以从量子玻尔兹曼分布生成一个或多个经后处理的样本。
48.根据权利要求47所述的方法,还包括由所述数字计算机对来自所述量子玻尔兹曼分布的所述一个或多个经后处理的样本应用退火重要性采样。
49.根据权利要求47和48中任一项所述的方法,其中从物理量子退火机收集一个或多个样本包括由包括多个量子比特的量子处理器进行量子退火,以及经由读出系统读出所述多个量子比特。
50.根据权利要求49所述的方法,其中所述多个量子比特包括多个超导量子比特。
51.根据权利要求47所述的方法,其中从物理量子退火机收集一个或多个样本包括收集与哈密顿算子的低能量配置相对应的一个或多个样本。
52.一种从经典玻尔兹曼分布生成样本以训练受限玻尔兹曼机的方法,所述方法包括:
从物理热退火机收集一个或多个样本,其中所述物理热退火机通信地耦合到数字计算机;
由所述数字计算机从所述物理热退火机接收所述一个或多个样本;以及由所述数字计算机对所述一个或多个样本应用经典蒙特卡罗后处理以生成一个或多个经后处理的样本。
53.根据权利要求52所述的方法,还包括由所述数字计算机对所述一个或多个经后处理的样本应用退火重要性采样。

说明书全文

用于量子计算的系统和方法

技术领域

[0001] 本公开整体涉及用于量子计算、并且具体地用于量子退火并用于训练例如在机器学习中有应用的量子玻尔兹曼机受限玻尔兹曼机的系统、设备、方法和制品。

背景技术

[0002] 玻尔兹曼机
[0003] 玻尔兹曼机是概率图模型的实施方式,该概率图模型包括在顶点之间具有无向加权边缘的图。这些顶点(也称为单元)在处于“开”状态还是“关”状态方面遵循随机决策。这些随机决策基于玻尔兹曼分布。每个顶点具有与该顶点相关联的偏置。训练玻尔兹曼机包括确定权重和偏置。
[0004] 玻尔兹曼机可用于机器学习,因为它们可遵循简单学习过程。例如,玻尔兹曼机中的单元可分成可见单元和隐藏单元。这些可见单元对外部世界可见,可分成输入单元和输出单元。这些隐藏单元对外部世界隐藏。可存在不止一层隐藏单元。如果用户提供以多个向量作为输入的玻尔兹曼机,玻尔兹曼机可通过以下方式确定边缘的权重和顶点的偏置:递增地调节权重和偏置直到该机器能够以高概率生成所述多个输入向量。换句话讲,该机器可递增地调节权重和偏置直到在与该机器的可见单元相关联的变量内的边际分布匹配在外部世界中或至少在所述多个输入向量中观察到的经验分布。
[0005] 在受限玻尔兹曼机中,各单元之间没有层内边缘(或连接)。在RBM包括一层可见单元和一层隐藏单元的情况下,各可见单元之间没有边缘,并且各隐藏单元之间没有边缘。
[0006] 可见单元与隐藏单元之间的边缘可为完整的(即,完全二部的)或不太致密的。
[0007] 量子设备
[0008] 量子设备是可观察到量子学效应的结构。量子设备包括电流传输由量子力学效应主导的电路。此类设备包括自旋电子器件(其中电子自旋用作资源)和超导电路。自旋和超导性均是量子力学现象。量子设备可用于测量仪器、计算机器等。
[0009] 量子计算
[0010] 量子计算和量子信息处理是活跃的研究领域,并且限定可销售的产品的类别。量子计算机是直接利用至少一种量子力学现象(诸如叠加、隧穿和纠缠)来执行对数据的操作的系统。量子计算机的元素是量子二进制数字,称为量子比特。量子计算机有希望为某些类别的计算问题(诸如模拟量子物理学的计算问题)提供指数加速。可存在对其他类别的问题的可用加速。
[0011] 一种量子计算模型是绝热量子计算。绝热量子计算可适用于求解例如难优化问题。有关绝热量子计算系统、方法和装置的更多细节描述于例如美国专利7,135,701和7,418,283中。
[0012] 量子退火
[0013] 量子退火是可用于找到系统的低能态(通常优选地为系统的基态)的计算方法。在概念上与经典模拟退火类似,该方法依赖于自然系统趋向较低能态的基本原理,因为较低能态更稳定。虽然经典退火使用经典热波动将系统引导到低能态,但量子退火可使用量子效应(诸如量子隧穿)作为离域源,从而比经典退火更准确和/或更快速地达到能量最低。在量子退火中,可存在热效应和其他噪声。最终低能态可能不是总体能量最低。
[0014] 绝热量子计算可被认为是量子退火的特例。在绝热量子计算中,理想情况下,系统从其基态开始并且在整个绝热演化中保持处于其基态。因此,本领域技术人员将认识到,量子退火系统和方法一般可在绝热量子计算机上实现。在本说明书和所附权利要求书通篇中,除非上下文另有要求,否则对量子退火的任何提及旨在涵盖绝热量子计算。
[0015] 量子退火在退火过程期间使用量子力学作为离域(有时称为无序)源。
[0016] 相关领域的前述示例和与其相关的限制旨在为说明性的,并非是排他性的。在阅读本说明书和研究附图之后,相关领域的其他限制对于本领域技术人员将变得显而易见。发明内容
[0017] 需要能够处理具有比模拟处理器的工作图更大(和/或至少不完全由该工作图提供)的大小和/或连接性的至少一些问题。描述了计算系统和方法,这些计算系统和方法至少在一些实施方式中允许计算具有不适合于模拟处理器的工作图的表示的至少一些问题图(例如,因为问题图表示需要比处理器提供的更多的计算设备和/或更多/其他的耦合器)。
[0018] 经由包括模拟处理器和数字处理器的混合处理器来执行计算方法。该方法可概括为包括经由数字处理器确定第一经典自旋配置,经由数字处理器接收伊辛问题,经由数字处理器确定对第一经典自旋配置的预备偏置,经由数字处理器在模拟处理器中对伊辛问题和预备偏置进行编程;使模拟处理器沿第一方向演化直到模拟处理器达到第一经典自旋配置;在第一停留时间存模拟处理器的状态;经由数字处理器对模拟处理器进行编程以移除预备偏置,经由数字处理器确定隧穿能量,经由数字处理器确定第二停留时间;使模拟处理器沿第二方向演化直到模拟处理器达到隧穿能量,其中第二方向与第一方向相反,在第二停留时间内暂停模拟处理器,以及使模拟处理器沿第一方向演化直到模拟处理器达到第二经典自旋配置。
[0019] 计算方法还可包括经由数字处理器读出模拟处理器的状态。
[0020] 模拟处理器可为量子处理器,并且使模拟处理器沿第一方向演化可包括使量子处理器沿第一方向演化。
[0021] 在量子处理器中对伊辛问题和预备偏置进行编程可包括对每个量子比特磁通偏置DAC的至少最高有效数位进行编程。
[0022] 在第一停留时间内锁存模拟处理器的状态可包括在至少对模拟处理器进行编程以移除预备偏置所需的时间内锁存模拟处理器的状态。
[0023] 第二停留时间可不等于第一停留时间。
[0024] 第二经典自旋配置可不同于第一经典自旋配置。
[0025] 计算方法还可包括确定是否已满足退出条件,并且迭代地重复以下操作直到满足退出条件:对预备偏置进行编程,使模拟处理器沿第一方向演化直到模拟处理器达到第一经典自旋配置,将模拟处理器的状态锁存达第一停留时间,通过移除预备偏置来对模拟处理器进行编程,使模拟处理器沿第二方向演化直到模拟处理器达到隧穿能量,将模拟处理器暂停达第二停留时间,以及使模拟处理器沿第一方向演化直到模拟处理器达到后续经典自旋配置。
[0026] 退出条件可包括完成限定的迭代次数。
[0027] 计算方法还可包括经由数字处理器确定模拟处理器的退火速率。
[0028] 沿第一方向演化的退火速率可不同于沿第二方向演化的退火速率。
[0029] 计算方法可包括使量子处理器的多个量子比特沿第一方向演化,并且使量子处理器的所述多个量子比特的至少一个子集沿第二方向演化。
[0030] 用于量子处理的系统可概括为包括至少一个混合处理器,所述至少一个混合处理器包括至少一个模拟处理器和至少一个数字处理器。所述至少一个数字处理器确定所述至少一个模拟处理器的第一经典自旋配置,接收伊辛问题、归一化演化系数集合s*和停留时间集合t*,确定对第一经典自旋配置的预备偏置,在所述至少一个模拟处理器中对伊辛问题和预备偏置进行编程,使所述至少一个模拟处理器沿第一方向演化直到所述至少一个模拟处理器达到第一经典自旋配置,将所述至少一个模拟处理器的状态锁存达第一停留时间,对所述至少一个模拟处理器进行编程以移除预备偏置。所述至少一个数字处理器可使所述至少一个模拟处理器沿第二方向演化直到达到归一化演化系数s*,其中第二方向与第一方向相反,在停留时间t*内暂停所述至少一个模拟处理器,以及使所述至少一个模拟处理器沿第一方向演化直到所述至少一个模拟处理器达到第二经典自旋配置。所述至少一个数字处理器可确定是否已满足退出条件。所述至少一个数字处理器可迭代地重复以下操作直到已满足退出条件:使所述至少一个模拟处理器沿第二方向演化直到达到归一化演化系数s*,其中第二方向与第一方向相反,在停留时间t*内暂停所述至少一个模拟处理器,使所述至少一个模拟处理器沿第一方向演化直到所述至少一个模拟处理器达到后续经典自旋配置,以及确定是否已满足退出条件。
[0031] 退出条件可被指示为与归一化演化系数集合s*的大小相等的迭代次数的完成。
[0032] 在各种所述实施方式中,模拟处理器可为量子处理器。
[0033] 所述至少一个数字处理器可使量子处理器的多个量子比特沿第一方向演化,并且所述至少一个数字处理器可使所述多个量子比特的至少一个子集沿第二方向演化。
[0034] 经由包括模拟处理器和数字处理器的混合处理器来执行计算方法。
[0035] 计算方法可概括为包括经由数字处理器确定第一经典自旋配置,经由数字处理器接收伊辛问题、归一化演化系数集合s*和停留时间集合t*,经由数字处理器确定对第一经典自旋配置的预备偏置,经由数字处理器在模拟处理器中对伊辛问题进行编程。计算方法包括经由数字处理器在模拟处理器中对预备偏置进行编程,使模拟处理器沿第一方向演化直到模拟处理器达到第一经典自旋配置,将模拟处理器的状态锁存达第一停留时间,经由数字处理器对模拟处理器进行编程以移除预备偏置,使模拟处理器沿第二方向演化直到达到归一化演化系数s*,其中第二方向与第一方向相反,在停留时间t*内暂停模拟处理器,以及使模拟处理器沿第一方向演化直到模拟处理器达到第二经典自旋配置。数字处理器可确定是否已满足退出条件。数字处理器可迭代地重复以下操作直到已满足退出条件:模拟处理器沿第二方向的演化直到达到归一化演化系数s*,其中第二方向与第一方向相反,模拟处理器在停留时间t*内的暂停,模拟处理器沿第一方向的演化直到模拟处理器达到后续经典自旋配置,以及是否已满足退出条件的确定。
[0036] 退出条件可包括完成与归一化演化系数集合s*的大小相等的限定的迭代次数。
[0037] 在各种所述方法中,模拟处理器可为量子处理器。
[0038] 计算方法可包括使量子处理器的多个量子比特沿第一方向演化,并且使量子处理器的所述多个量子比特的至少一个子集沿第二方向演化。
[0039] 经由模拟处理器执行计算方法。该方法可概括为包括经由数字处理器在归一化演化系数s的间隔集合i内确定候选演化排程集合,在归一化演化系数s的每个间隔i内迭代地重复以下操作:迭代地重复以下操作直到已满足退出条件:经由数字处理器使用来自候选演化排程集合的候选演化排程对模拟处理器进行编程,使模拟处理器沿第一方向从演化系数的值si演化到值si+1,以及使模拟处理器沿第二方向演化,其中直到达到归一化演化系数的值si,第二方向与第一方向相反。
[0040] 模拟处理器可为量子处理器。
[0041] 该方法还可包括确定是否已满足退出条件,其中退出条件是与每个间隔i内的候选演化排程集合中的元素数量相等的限定的迭代次数的完成。
[0042] 该方法还可包括在确定是否已满足退出条件之前读出模拟处理器的状态。
[0043] 该方法还可包括至少部分地基于该读出,经由数字处理器在归一化演化系数的每个间隔内确定演化排程。
[0044] 用于量子处理的系统可概括为包括至少一个数字处理器,所述至少一个数字处理器在归一化演化系数s的间隔集合i内确定候选演化排程集合,并且在归一化演化系数的每个间隔i内迭代地重复以下操作:迭代地重复以下操作直到已满足退出条件:使用来自候选演化排程集合的候选演化排程对模拟处理器进行编程,使模拟处理器沿第一方向从演化系数的值si演化到值si+1,以及使模拟处理器沿第二方向演化,其中直到达到归一化演化系数的值si,第二方向与第一方向相反。
[0045] 模拟处理器可为量子处理器。
[0046] 退出条件可为与每个间隔i内的候选演化排程集合中的元素数量相等的迭代次数的完成,并且所述至少一个数字处理器还可确定是否已完成与每个间隔i内的候选演化排程集合中的元素数量相等的迭代次数。
[0047] 在所述至少一个数字处理器确定是否已满足退出条件之前,所述至少一个数字处理器还可读出模拟处理器的状态。
[0048] 所述至少一个数字处理器还可至少部分地基于该读出,在归一化演化系数的每个间隔内确定演化排程。
[0049] 经由模拟处理器执行计算方法。
[0050] 该方法可概括为包括经由数字处理器在归一化演化系数s的间隔集合i内确定候选链强度集合,在归一化演化系数的每个间隔i内迭代地重复以下操作:迭代地重复以下操作直到已满足退出条件:经由数字处理器使用来自候选链强度集合的候选链强度对模拟处理器进行编程,使模拟处理器沿第一方向从演化系数的值si演化到值si+1,以及使模拟处理器沿第二方向演化,其中直到达到归一化演化系数的值si,第二方向与第一方向相反。
[0051] 模拟处理器可为量子处理器。
[0052] 该方法还可包括确定是否已满足退出条件,其中退出条件是与每个间隔i内的候选演化排程集合中的元素数量相等的限定的迭代次数的完成。
[0053] 该方法还可包括在确定是否已满足退出条件之前读出模拟处理器的状态。
[0054] 该方法还可包括至少部分地基于该读出,经由数字处理器在归一化演化系数的每个间隔内确定链强度。
[0055] 用于量子处理的系统可概括为包括至少一个数字处理器,所述至少一个数字处理器在归一化演化系数s的间隔集合i内确定候选链强度集合,并且在归一化演化系数的每个间隔i内迭代地重复以下操作:迭代地重复以下操作直到已满足退出条件:使用来自候选链强度集合的候选链强度对模拟处理器进行编程,使模拟处理器沿第一方向从演化系数的值si演化到值si+1,以及使模拟处理器沿第二方向演化,其中直到达到归一化演化系数的值si,第二方向与第一方向相反。
[0056] 模拟处理器可为量子处理器。
[0057] 退出条件可为与每个间隔i内的候选链强度集合中的元素数量相等的迭代次数的完成,并且所述至少一个数字处理器还确定是否已完成与每个间隔i内的候选演化排程集合中的元素数量相等的迭代次数。
[0058] 在所述至少一个数字处理器确定是否已满足退出条件之前,所述至少一个数字处理器读出模拟处理器的状态。
[0059] 用于生成可用于机器学习的样本的混合计算机可概括为包括:数字计算机,该数字计算机包括存储计算指令集的至少一个非瞬态处理器可读介质以及可操作来执行计算指令集以进行后处理的至少一个处理器;以及通信地耦合到数字计算机的模拟计算机,该模拟计算机包括多个量子比特以及选择性地提供各对量子比特之间的通信耦合的一个或多个耦合设备,该模拟计算机可操作来返回与哈密顿算子的低能量配置相对应的一个或多个样本,其中所述一个或多个样本的至少一个子集被提供给数字计算机以便进行后处理,其中所述至少一个处理器对所述一个或多个样本的后处理包括以下至少一种操作:对所述一个或多个样本应用量子蒙特卡罗后处理,以及对所述一个或多个样本应用退火重要性采样。模拟计算机可为量子退火机。在各种所述实施方式中,所述多个量子比特可包括多个超导量子比特
[0060] 从量子玻尔兹曼分布生成样本以训练量子玻尔兹曼机的方法可概括为包括:从物理量子退火机收集一个或多个样本;由数字计算机从物理量子退火机接收所述一个或多个样本;以及由数字计算机对所述一个或多个样本应用量子蒙特卡罗后处理。从物理量子退火机收集一个或多个样本可包括由包括多个量子比特的量子处理器进行量子退火,以及经由读出系统读出所述多个量子比特。在各种所述方法中,所述多个量子比特可包括多个超导量子比特。从物理量子退火机收集一个或多个样本可包括收集与哈密顿算子的低能量配置相对应的一个或多个样本。
[0061] 从经典玻尔兹曼分布生成样本以训练受限玻尔兹曼机的方法可概括为包括:从物理量子退火机收集一个或多个样本,其中物理量子退火机通信地耦合到数字计算机;由数字计算机从物理量子退火机接收所述一个或多个样本;由数字计算机对所述一个或多个样本应用量子蒙特卡罗后处理以从量子玻尔兹曼分布生成一个或多个经后处理的样本;以及由数字计算机对来自量子玻尔兹曼分布的所述一个或多个经后处理的样本应用退火重要性采样。从物理量子退火机收集一个或多个样本可包括由包括多个量子比特的量子处理器进行量子退火,以及经由读出系统读出所述多个量子比特。在各种所述方法中,所述多个量子比特可包括多个超导量子比特。从物理量子退火机收集一个或多个样本可包括收集与哈密顿算子的低能量配置相对应的一个或多个样本。
[0062] 从经典玻尔兹曼分布生成样本以训练受限玻尔兹曼机的方法可概括为包括:从物理热退火机收集一个或多个样本,其中物理热退火机通信地耦合到数字计算机;由数字计算机从物理热退火机接收所述一个或多个样本;由数字计算机对所述一个或多个样本应用经典蒙特卡罗后处理以生成一个或多个经后处理的样本。在一些实施方案中,该方法包括由数字计算机对所述一个或多个经后处理的样本应用退火重要性采样。

附图说明

[0063] 在附图中,相同的附图标号标识类似的元件或动作。附图中元件的尺寸和相对位置并不一定是按比例绘制的。例如,各种元件的形状和度并不一定是按比例绘制的,并且为了提高附图易读性,这些元件中的一些被任意放大和定位。此外,所绘制元件的特定形状并不一定旨在传达关于特定元件的实际形状的任何信息,而是为了在附图中易于识别而选择。
[0064] 图1是根据本发明系统、设备、制品和方法的示出包括数字计算机和模拟计算机的示例性混合计算机的示意图。
[0065] 图2是根据本发明系统、设备、制品和方法的示意图,其示出了适用于实现图1的模拟计算机的、为量子退火设计的示例性超导量子处理器的一部分。
[0066] 图3是根据本发明系统、设备、制品和方法的流程图,其示出了用于对来自物理量子退火机的样本进行后处理的方法。
[0067] 图4A是示出模拟处理器的演化的曲线图,其中归一化演化系数随时间推移而增加。
[0068] 图4B是示出模拟处理器的示例性演化的曲线图,其中归一化演化系数在退火排程过程的时间内增加和减小。
[0069] 图5是模拟处理器的示例性演化的曲线图,其中模拟处理器在退火排程过程的时间内向后和向前演化。
[0070] 图6是示出使用混合计算系统使模拟处理器演化的计算方法的流程图,其中模拟处理器在退火排程过程的时间内向后和向前演化。
[0071] 图7是示出使用混合计算系统使模拟处理器演化的计算方法的流程图,其中模拟处理器使在退火排程过程的时间内向前和向后的演化迭代。
[0072] 图8是示出使用混合计算系统使模拟处理器演化的计算方法的流程图,其中模拟处理器使在退火排程过程的时间内向前和向后的演化迭代而不必在每次迭代时重新编程。
[0073] 图9是模拟处理器的示例性演化的曲线图,其中模拟处理器在退火排程过程的间隔内向后和向前演化。
[0074] 图10是使用混合计算系统使模拟处理器演化的计算方法的流程图,其中模拟处理器在退火排程过程的间隔内向前和向后演化以便发现更适合每个间隔的退火排程。
[0075] 图11是链强度在混合计算系统的演化过程内的示例性变化的曲线图。
[0076] 图12是使用混合计算系统使模拟处理器演化的计算方法的流程图,其中模拟处理器中的变量的链强度在演化过程内变化。
[0077] 图13是使用混合计算系统使模拟处理器演化的计算方法的流程图,其中模拟处理器向后和向前演化以减轻断链的效应。

具体实施方式

[0078] 在以下描述中,包括一些具体细节以便提供对各种所公开的实施方案的透彻理解。然而,相关领域的技术人员将认识到,可在没有这些具体细节中的一者或多者的情况下或在具有其他方法、部件、材料等的情况下实践实施方案。在其他情况下,未详细示出或描述与量子处理器相关联的熟知结构诸如量子设备、耦合器和控制系统(包括微处理器和驱动电路),以避免不必要地使本发明方法的实施方案的描述模糊不清。在本说明书和所附权利要求书通篇中,词语“元件”和“多个元件”用于涵盖但不限于与量子处理器相关联的所有此类结构、系统和设备,以及它们的相关可编程参数。
[0079] 除非上下文另有要求,否则在本说明书和以下权利要求书通篇中,词语“包括”及其变体诸如“包含”和“具有”将在一种开放式的、包含性的意义上进行解释,即,解释为“包括但不限于”。
[0080] 本说明书通篇对“一个实施方案”、“实施方案”、“另一个实施方案”、“一个示例”、“示例”、“另一个示例”、“一个实施方式”、“另一个实施方式”等的提及是指结合该实施方案、示例或实施方式描述的特定指代特征、结构或特性包括在至少一个实施方案、示例或实施方式中。因此,在本说明书各处出现的短语“在一个实施方案中”、“在实施方案中”、“另一个实施方案”等并不一定全部是指相同实施方案、示例或实施方式。此外,这些特定特征、结构或特性可以以任何合适的方式结合在一个或多个实施方案、示例或实施方式中。
[0081] 应当注意,如在本说明书和所附权利要求书中所用,单数形式的“一个”、“一种”和“该”包括复数指代物,除非文中另外明确指明。因此,例如,对包括“量子处理器”的问题求解系统的提及包括单个量子处理器、或两个或更多个量子处理器。还应当注意,术语“或”通常所使用的意义包括“和/或”,除非文中另外明确指明。
[0082] 本文所提供的标题只是为了方便,并非解释实施方案的范围或含义。
[0083] 包括量子处理器的混合计算系统
[0084] 图1示出了混合计算系统100,该混合计算系统包括耦合到模拟计算机104的数字计算机102。在一些实施方式中,模拟计算机104是量子计算机,并且数字计算机102是经典计算机。
[0085] 示例性数字计算机102包括数字处理器(诸如一个或多个中央处理器单元106),该数字处理器可用于执行本发明系统和方法中所述的经典数字处理任务。相关领域的技术人员将认识到,当被适当配置或编程为形成专用机器时和/或当被通信地耦合以控制模拟计算机(例如量子计算机)时,可使用其他数字计算机配置实践本发明系统和方法,所述其他数字计算机配置包括手持设备、多处理器系统、基于微处理器或可编程的消费电子器件、个人计算机(“PC”)、网络PC、微型计算机、大型计算机等。
[0086] 数字计算机102有时在本文将以单数形式表示,但这并非旨在将该应用限制为单个数字计算机。本发明系统和方法也可在分布式计算环境中实践,在分布式计算环境中,由通过通信网络链接的远程处理设备进行或执行任务或指令集。在分布式计算环境中,计算机可读或处理器可读指令(有时称为程序模)、应用程序和/或数据可位于本地和远程存储器存储设备(例如,非瞬态计算机可读或处理器可读介质)中。
[0087] 数字计算机102可包括至少一个或多个数字处理器(例如,一个或多个中央处理器单元106)、一个或多个系统存储器108以及一个或多个系统总线110,所述一个或多个系统总线将各种系统部件(包括系统存储器108)耦合到中央处理器单元106。
[0088] 数字处理器可为任何逻辑处理单元,诸如具有一个或多个核的一个或多个中央处理单元(“CPU”)、图形处理单元(“GPU”)、数字信号处理器(“DSP”)、专用集成电路(“ASIC”)、现场可编程阵列(“FPGA”)、可编程逻辑控制器(PLC)等。
[0089] 数字计算机102可包括用户输入/输出子系统112。在一些实施方式中,用户输入/输出子系统包括一个或多个用户输入/输出部件,诸如显示器114、鼠标116和/或键盘118。系统总线110可采用任何已知的总线结构或架构,包括具有存储器控制器的存储器总线、外围总线以及本地总线。系统存储器108可包括非易失性存储器,例如只读存储器(“ROM”)、静态随机存取存储器(“SRAM”)、与非型闪存中的一者或多者;以及易失性存储器,例如随机存取存储器(“RAM”)(未示出),所有这些都是非瞬态计算机可读或处理器可读介质的示例。
[0090] 可构成ROM一部分的基本输入/输出系统(“BIOS”)120含有基本例程,这些基本例程有助于诸如在启动期间在数字计算机102内的元件之间传输信息。
[0091] 数字计算机102还可包括其他非易失性存储器122。非易失性存储器122可呈现多种形式,包括:用于从硬盘读取并写入到硬盘的硬盘驱动器、用于从可移除光盘读取并写入到可移除光盘的光盘驱动器、和/或用于从磁盘读取并写入到磁盘的磁盘驱动器,所有这些都是非瞬态计算机可读或处理器可读介质的示例。光盘可为CD-ROM或DVD,而磁盘可为磁软盘或软盘。非易失性存储器122可经由系统总线110与数字处理器进行通信,并且可包括耦合到系统总线110的适当接口或控制器124。非易失性存储器122可充当计算机可读或处理器可读指令、数据结构或数字计算机105的其他数据(也称为程序模块)的非瞬态长期存储器。
[0092] 虽然数字计算机102已被描述为采用硬盘、光盘和/或磁盘,但相关领域的技术人员将认识到,可采用其他类型的非易失性计算机可读介质,诸如磁带盒、闪存卡、闪存、ROM、智能卡等,所有这些都是非瞬态计算机可读或处理器可读介质的另外示例。相关领域的技术人员将认识到,一些计算机架构合并易失性存储器和非易失性存储器。例如,易失性存储器中的数据可被高速缓存到非易失性存储器,或固态磁盘采用集成电路来提供非易失性存储器。一些计算机将传统上存储于磁盘上的数据置于存储器中。此外,传统上被视为易失性的一些介质可具有非易失性形式,例如双列直插式存储器模块的非易失性双列直插式存储器模块变型。
[0093] 各种计算机可读或处理器可读指令(也称为程序模块)、应用程序和/或数据可存储于系统存储器108中。例如,系统存储器108可存储操作系统126以及计算机可读或处理器可读服务器指令集(即,服务器模块)128。在一些实施方式中,服务器模块128包括用于与远程客户端通信并且调度资源(包括数字计算机102和模拟计算机104上的资源)的使用的指令。例如,用于允许数字计算机102经由互联网、企业内联网或其他网络与源交换数据以及与服务器计算机上执行的其他服务器应用程序交换数据的Web服务器应用程序和/或Web客户端或浏览器应用程序。
[0094] 在一些实施方式中,系统存储器108可存储计算机可读或处理器可读计算指令集(即,计算模块130),以便对模拟计算机104执行预处理、共处理和后处理。
[0095] 在一些实施方式中,系统存储器108可存储后处理指令,或利用计算指令模块130中的指令。后处理指令的执行可使处理器(诸如CPU 106)在数字计算机102中执行后处理。例如,数字计算机102可基于计算指令模块130中的后处理指令对从模拟计算机104获取的样本执行后处理。在本公开的以下章节中描述来自物理量子退火机(诸如模拟计算机104)的样本的后处理。后处理可包括例如量子蒙特卡罗和/或退火重要性采样。
[0096] 根据本发明系统和方法,系统存储器108可存储模拟计算机接口模块集合132,该模拟计算机接口模块集合可操作来与模拟计算机104交互。
[0097] 在一些实施方式中,系统存储器108可存储玻尔兹曼机指令集或玻尔兹曼机模块134,以便为模拟计算机104作为玻尔兹曼机的操作提供过程和参数。例如,玻尔兹曼机模块
134可在数字计算机102和模拟计算机104上实现方法(诸如图3的方法300)。遵照玻尔兹曼机模块134中的指令的混合计算机100可实现玻尔兹曼机的各部分的图形表示。
[0098] 在一些实施方式中,系统存储器包括训练和验证指令集或训练和验证指令模块136。可经由监督或监督学习来训练玻尔兹曼机。混合计算机100可实现训练和验证指令模块136中定义的训练方法。此外,玻尔兹曼机一旦经过训练就可需要验证。混合计算机100可遵照训练和验证指令模块136中定义的方法来验证玻尔兹曼机。
[0099] 在一些实施方式中,系统存储器108可存储运行时指令集或运行时指令模块138以提供可执行过程和参数来部署和/或监控玻尔兹曼机。
[0100] 虽然在图1中被示出为存储在系统存储器108中,但所示模块和其他数据也可存储在其他地方,包括非易失性存储器122或一个或多个其他非瞬态计算机可读或处理器可读介质中。
[0101] 模拟计算机104可提供于隔离环境(未示出)中。例如,在模拟计算机104是量子计算机的情况下,该环境屏蔽量子计算机的内部元件,使之免受热、磁场等的影响。模拟计算机104包括一个或多个模拟处理器140。模拟处理器140的示例包括量子处理器,诸如下文参照图2所述的那些。
[0102] 量子处理器包括可编程元件,诸如量子比特、耦合器和其他设备。可经由读出系统142读出量子比特。这些结果被馈送到用于数字计算机102的各种计算机可读或处理器可读指令集(包括服务器模块128、计算模块130、模拟计算机接口模块132或存储在非易失性存储器122中的其他模块),通过网络返回等等。经由量子比特控制系统144控制量子比特。经由耦合器控制系统146控制耦合器。在一些实施方案中,量子比特控制系统144和耦合器控制系统146用于在模拟处理器140上实现如本文所述的量子退火。
[0103] 在一些实施方式中,数字计算机102可使用到至少一个客户端计算机系统的逻辑连接来在网络化环境中操作。在一些实施方式中,数字计算机102可经由逻辑连接来耦合到至少一个数据库系统。这些逻辑连接可使用任何数字通信方式形成,例如通过网络诸如局域网(“LAN”)或广域网(“WAN”)(包括例如互联网)形成。网络化环境可包括有线或无线企业范围计算机网络、内联网、外联网和/或互联网。其他实施方案可包括其他类型的通信网络,诸如电信网路、蜂窝网络、寻呼网络和其他移动网络。经由逻辑连接发送或接收的信息可被加密或可不被加密。当在LAN联网环境中使用时,数字计算机102可通过适配器或网络接口卡(“NIC”)连接到LAN(通信地链接到系统总线110)。当在WAN网络化环境中使用时,数字计算机102可包括用于通过WAN建立通信的接口和调制解调器(未示出)或诸如NIC的设备。除此之外或另选地,可采用非网络化通信。
[0104] 根据本发明系统和设备的一些实施方案,量子处理器(如量子处理器140)可被设计为执行量子退火和/或绝热量子计算。如下构建演化哈密顿算子,该演化哈密顿算子和与问题哈密顿算子成比例的第一项以及与离域哈密顿算子成比例的第二项的总和成比例:
[0105] HE∝A(t)HP+B(t)HD
[0106] 其中HE是演化哈密顿算子,HP是问题哈密顿算子,HD是离域哈密顿算子,并且A(t),B(t)是可控制演化速率的系数,且通常位于范围[0,1]内。
[0107] 在一些实施方式中,将时变包络函数置于问题哈密顿算子上。合适的离域哈密顿算子由下式给出:
[0108]
[0109] 其中N表示量子比特的数量, 是第i个量子比特的泡利x矩阵,并且Δi是在第i个量子比特中引发的单量子比特隧穿劈裂。此处, 项是“非对角”项的示例。
[0110] 通用问题哈密顿算子包括与对角单量子比特项成比例的第一分量以及与对角多量子比特项成比例的第二分量,并且可具有以下形式:
[0111]
[0112] 其中N表示量子比特的数量, 是第i个量子比特的泡利z矩阵,hi和Jij分别是量子比特的无量纲局部场以及量子比特之间的耦合,并且ε是HP的特征能量标度。
[0113] 和 项是“对角”项的示例。前者是单量子比特项,并且后者是双量子比特项。
[0114] 在本说明书通篇中,术语“问题哈密顿算子”和“最终哈密顿算子”可互换使用,除非上下文另外指明。量子处理器的某些状态在能量上是优选的,或只是问题哈密顿算子优选的。这些状态包括基态,但可包括激发态。
[0115] 以上两个方程中分别的哈密顿算子诸如HD和HP可以以多种不同方式物理地实现。特定示例由超导量子比特的实施方式实现。
[0116] 用于量子退火的示例性超导量子处理器
[0117] 图2是为量子退火(和/或绝热量子计算)部件设计的、可由此用于实现本发明系统和设备的示例性超导量子处理器200的一部分的示意图。图2所示的超导量子处理器200的部分包括两个超导量子比特202和204。还示出了经由耦合器210在量子比特202和204之间的可调谐 耦合(对角耦合)(即,提供2-局部交互)。虽然图2所示的量子处理器200的部分包括仅两个量子比特202,204和一个耦合器206,但本领域技术人员将认识到,量子处理器200可包括任何数量的量子比特以及在其间耦合信息的任何数量的耦合器。
[0118] 可实现图2所示的量子处理器200的部分以物理地实现量子退火和/或绝热量子计算。量子处理器200包括用于配置和控制量子处理器200的状态的多个接口208、210、212、214和216。接口208、210、212、214和216中的每一者可由如图所示的相应电感耦合结构实现为编程子系统和/或演化子系统的一部分。这种编程子系统和/或演化子系统可与量子处理器200分开,或其可被局部地包括(即,与量子处理器200一起在芯片上),如例如以下美国专利中所述:7,876,248和8,035,540。
[0119] 在量子处理器200的操作中,接口208和214可各自用于将磁通信号耦合到量子比特202和204的相应复合约瑟夫逊结218和220中,从而实现系统哈密顿算子中的可调谐隧穿x项(Δi项)。该耦合提供哈密顿算子的非对角σ项,并且这些磁通信号是“离域信号”的示例。
[0120] 在一些实施方式中,隧穿项被选择为使量子处理器上的量子比特的第一部分相对于量子比特的第二部分更经典。例如,量子比特202可为玻尔兹曼机中的隐藏单元,并且具有相对于量子比特204更小的隧穿项。
[0121] 类似地,接口210和212可各自用于将磁通信号应用于量子比特202和204的相应量子比特回路中,从而实现系统哈密顿算子中的hi项。该耦合提供系统哈密顿算子中的对角σz项。此外,接口216可用于将磁通信号耦合到耦合器206中,从而实现系统哈密顿算子中的一个或多个Jij项。该耦合提供系统哈密顿算子中的对角 项。
[0122] 在图2中,接口208、210、212、214和216各自对系统哈密顿算子的贡献分别在方框208a、210a、212a、214a和216a中指示。如图所示,在图2的示例中,方框208a、210a、212a、
214a和216a是用于量子退火和/或绝热量子计算的时变哈密顿算子的元素。
[0123] 在本说明书和所附权利要求书通篇中,术语“量子处理器”用于一般地描述物理量子比特(例如,量子比特202和204)和耦合器(例如,耦合器206)的集合。物理量子比特202和204及耦合器206称为量子处理器200的“可编程元件”,并且它们的对应参数(例如,量子比特hi值和耦合器Jij值)称为量子处理器的“可编程参数”。在量子处理器的上下文中,术语“编程子系统”用于一般地描述这样的接口(例如,“编程接口”210、212和216),这些接口用于将可编程参数(例如,hi和Jij项)应用于量子处理器200的可编程元件及其他相关联的控制电路和/或指令。
[0124] 如此前所述,编程子系统的编程接口可与其他子系统进行通信,这些其他子系统可与量子处理器分开或可被局部地包括在处理器上。如随后更详细描述,编程子系统可被配置为接收采用量子处理器的机器语言的编程指令,并且执行编程指令以根据编程指令对可编程元件进行编程。类似地,在量子处理器的上下文中,术语“演化子系统”一般包括这样的接口(例如,“演化接口”208和214),这些接口用于使量子处理器200的可编程元件及其他相关联的控制电路和/或指令演化。例如,演化子系统可包括退火信号线及其到量子比特(202,204)的对应接口(208,214)。
[0125] 量子处理器200还包括读出设备222和224,其中读出设备222与量子比特202相关联,并且读出设备224与量子比特204相关联。在诸如图2所示的一些实施方案中,读出设备222和224中的每一者包括电感耦合到对应量子比特的DC-SQUID。在量子处理器200的上下文中,术语“读出子系统”用于一般地描述读出设备222,224,这些读出设备用于读出量子处理器中的量子比特(例如,量子比特202和204)的最终状态以产生比特串。读出子系统还可包括其他元件,诸如路由电路(例如,锁存元件、移位寄存器或多路复用器电路),和/或可被布置成替代配置(例如,XY可寻址阵列、XYZ可寻址阵列等)。还可使用诸如PCT专利公布WO2012064974中所述的替代电路来执行量子比特读出。
[0126] 虽然图2示出了仅两个物理量子比特202,204、一个耦合器206以及两个读出设备222,224,但量子处理器(例如,处理器200)可采用任何数量的量子比特、耦合器和/或读出设备,包括更大数量(例如,数百、数千或更多)的量子比特、耦合器和/或读出设备。本文教导内容对具有不同(例如,更大)数量计算部件的处理器的应用对于本领域普通技术人员应当是显而易见的。
[0127] 超导量子比特的示例包括超导磁通量子比特、超导电荷量子比特等。在超导磁通量子比特中,约瑟夫逊能量占主导或等于充电能量。在电荷量子比特中,情况正相反。可使用的磁通量子比特的示例包括rf-SQUID(其包括由一个约瑟夫逊结间断的超导回路)、持续电流量子比特(其包括由三个约瑟夫逊结间断的超导回路)等。参见Bocko等人,1997,IEEE Trans.on Appl.Supercond.7,3638;Friedman等人,2000,Nature 406,43;以及Harris等人,2010,Phys.Rev.B 81,134510中的rf-SQUID量子比特的示例;或Mooij等人,1999,Science 285,1036;以及Orlando等人,1999,Phys.Rev.B 60,15398中的持续电流量子比特的示例。另外,还可使用能量相等的混合电荷相位量子比特。超导量子比特的更多细节可见于Makhlin等人,2001,Rev.Mod.Phys.73,357;Devoret等人,2004,arXiv:cond-mat/0411174;Zagoskin和Blais,2007,Physics in Canada 63,215;Clarke和Wilhelm,2008,Nature 453,1031;Martinis,2009,Quantum Inf.Process.8,81;以及Devoret和
Schoelkopf,2013,Science 339,1169。在一些实施方案中,量子比特和耦合器由片上电路控制。片上控制电路的示例可见于以下美国专利:7,876,248;7,843,209;8,018,244;8,
098,179;8,169,231;和8,786,476。可与本发明系统和设备结合使用的示例性量子处理器的更多细节和实施方式在例如美国专利7,533,068、8,008,942、8,195,596、8,190,548和8,
421,053中有所描述。
[0128] 使用物理量子退火机采样
[0129] 物理量子退火机(PQA)可用于改变量子系统的哈密顿算子,并且可引起量子系统的状态的变化。在退火后,量子系统的哈密顿算子可与问题哈密顿算子HP类似或相同。PQA可为开放系统,即与环境交互的系统。就开放系统量子退火机而言,该状态可至少与量子系统的热态近似。在绝热量子退火机(其中该系统与环境隔离)的特例中,该状态可至少与哈密顿算子HP的基态近似。以下段落涉及开放系统量子退火机。
[0130] PQA在归一化时间t(其中t∈[0,1])的状态可由密度矩阵ρij(t)描述,其中i,j表示哈密顿算子H(t)的本征态。该状态可由以下形式的方程建模: 其中F(ρ)是线性矩阵值函数。
[0131] 在退火开始时,密度矩阵是对角的,并且PQA的状态可由量子玻尔兹曼分布描述。在退火期间的中间时间t1,量子系统的状态可开始偏离量子玻尔兹曼分布。出现该偏离的一个原因可为开放系统量子动力学的减缓。
[0132] 该状态开始偏离量子玻尔兹曼分布的点可称为冻析点。经过该点时,该状态将偏离量子玻尔兹曼分布。可存在多个冻析点t1状态空间的逐渐变小的子空间之间的动力学减缓。如果点t1,..tn彼此充分接近,则区域t∈[t1,tn]中的PQA的状态可接近量子玻尔兹曼分布。
[0133] 到PQA的状态接近量子玻尔兹曼分布的时间可表示为 对于归一化时间 而言,该状态可逐渐偏离量子玻尔兹曼分布,并且其演化可被描述为量子配置空间中的“下坡运行”,从而在子空间中局部地达到平衡,而不一定全局地达到平衡。
[0134] 与PQA在归一化时间t的状态相对应的分布可表示为p(t)。对于在时间t的退火参数θ(t)而言,对应量子玻尔兹曼分布可表示为 PQA所返回的样本对应于来自分布p(1)的样本。如上所述,分布 可接近
[0135] 在时间 从PQA获取样本可能不切实际,因此在实践中,通常在退火后从处于其最终状态的PQA获取样本。
[0136] 使用物理量子退火机从中间量子玻尔兹曼分布采样
[0137] 物理量子退火机(PQA)(诸如参照图1和图2所述的超导量子处理器)可返回来自最终分布p(1)的样本。可能有利的是将来自最终分布p(1)的样本转换成来自中间分布的良好质量样本。良好质量样本是满足与来自一个分布的真实样本接近的所确定阈值的样本。良好质量样本可用于需要来自量子玻尔兹曼分布的样本的应用中。
[0138] 此外,可能有利的是将来自中间分布 的良好质量样本转换成来自另一个量子玻尔兹曼分布 的样本,和/或转换成来自经典玻尔兹曼分布的样本。
[0139] 在前述方法中,从PQA获取的来自最终分布p(1)的样本被当作它们来自未知分布那样对待,并且进行后处理(例如,使用经典尔可夫链蒙特卡罗方法)以将它们转换成经典玻尔兹曼分布。前述方法的缺点是很少利用或没有利用中间量子分布 其包含有关最终分布p(1)的全局信息。前述经典后处理方法是局部的,并且一般无法影响该分布的全局特征。因此,对从PQA获取的样本进行后处理的前述方法可错误地表示感兴趣的经典玻尔兹曼分布的全局特征。
[0140] 量子蒙特卡罗后处理
[0141] 本发明所公开的系统和方法可使用量子蒙特卡罗(QMC)后处理来校正PQA所返回的样本中的局部偏置。QMC是可用于从经典计算机上的量子玻尔兹曼分布获取样本的方法。
[0142] QMC后处理可包括从PQA取得最终样本xa,a=1…N,并且使用这些样本 对MCMC链进行初始化。此处x表示量子态,该量子态被表示为例如路径积分QMC的路径配置。MCMC链可使用与感兴趣的分布 相对应的QMC转移算子来演化。转移算子可满足以下细致平衡条件:
[0143]
[0144] 运行QMC链足够长可产生来自分布 的样本。获取从随机状态 开始的此类样本所需的最少时间可称为平衡时间。用PQA样本启动MCMC链可减少平衡时间。一个原因可能是,分布 的全局特征由PQA样本更准确地捕获(这可提供量子状态空间的子空间的相对概率)。
[0145] 为了将样本xa转换成来自 的平衡样本,局部地(即,在子空间内)平衡可能已足够。局部平衡可更快,并且可被视为后处理技术。因此,应用具有M个步骤的QMC后处理可以以相对较小的M产生来自量子玻尔兹曼分布 的良好质量样本
[0146] 一般来讲,冻析点 是未知的。一种方法是选择冻析点,并且在冻析点处停止退火达所确定的时间,然后再重新开始退火。该方法称为“有暂停的退火”或“退火中间暂停”,并且在名称为“SYSTEMS AND METHODS FOR DEGENERACY MITIGATION IN A QUANTUM PROCESSOR”(用于量子处理器中的退化减轻的系统和方法)的国际PCT专利申请公布No.WO2017075246A1和美国专利申请序列号62/331,288中有所描述。
[0147] 确定 的另一种方法是计算各个点t∈[0,1]的量子玻尔兹曼分布 的某些统计数据,并且将 定义为这些统计数据最接近由从物理量子退火机获取的样本计算出的统计数据的点,并如上所述那样进行后处理。此类统计数据可包括自旋和自旋-自旋期望值、平均能量、能量方差以及其他合适的统计数据。可存在统计数据接近的若干点,并且这些点对应于多个冻析点。在一个实施方式中,这些点中的第一个点被选择为
[0148] 退火重要性采样以将来自量子玻尔兹曼分布的样本转换成另一个玻尔兹曼分布[0149] 本发明所公开的系统和方法包括使用退火重要性采样将来自 良好质量样本的样本转换成来自另一个量子玻尔兹曼分布 的样本。
[0150] 中间量子玻尔兹曼分布的序列可生成如下:
[0151]
[0152] 因此上述序列中的每一对连续分布中的分布彼此充分接近。充分接近意指来自上述序列中的一对连续分布的第一分布的重要性采样可使用来自该对连续分布的第二分布中的样本有效地进行。选择参数θk的一种方法是在 和θ'之间进行线性内插,并且将L选择为足够大以使这些分布充分接近。
[0153] 状态序列 可从中间分布 采样,概率如下:
[0154]
[0155] 可按如下方式将权重分配给每个样本:
[0156]
[0157] 其中 是未归一化概率。
[0158] 样本xL可用于按如下方式计算函数F(x)的期望值:
[0159]
[0160] 该方法的效率可按如下方式由有效样本的数量表征:
[0161]
[0162] 如果分布 和 彼此充分不同,则有效样本的数量Neff可足够小而使F(x)的估计器具有相对较高的方差。增加中间分布L的数量可增加有效样本的数量Neff,并且减小F(x)的估计器的方差。
[0163] 训练量子玻尔兹曼机和受限玻尔兹曼机
[0164] 图3是根据本发明系统、设备、制品和方法的流程图,其示出了用于对来自物理量子退火机的样本进行后处理的方法300。方法300中的一个或多个动作可由或经由一个或多个电路(例如一个或多个硬件处理器)执行。在一些示例中,包括混合计算机(图1的这种混合计算机100)的设备执行方法300中的动作。
[0165] 方法300从302开始,例如响应于调用程序、过程、例程或函数的调用而开始。
[0166] 在304处,计算系统(例如,图1的混合计算机100)从物理量子退火机(PQA)收集样本。在306处,计算系统对所收集的样本应用QMC后处理。
[0167] 如果在308处计算系统确定经后处理的样本不用于输入到量子玻尔兹曼机,则方法300进行到310。在310处,计算系统将退火重要性采样(AIS)后处理应用于从QMC输出的经后处理的样本。在312处,方法300结束。
[0168] 如果在308处计算系统确定经后处理的样本要用于输入到量子玻尔兹曼机,则方法300进行到在312处结束。
[0169] 图4A是模拟处理器随时间推移的演化的曲线图400a。模拟处理器可为包括超导量子比特和耦合器的量子处理器。
[0170] 竖直轴线402表示归一化演化系数s,并且平轴线404表示模拟处理器的演化的时间。归一化演化系数s可表示应用于复合约瑟夫逊结的归一化磁通或磁通量子比特的归一化持续电流IP。归一化演化系数s随时间推移单调地改变,从0增加到最大值1。
[0171] 归一化演化系数也可称为退火分数。归一化演化系数(或退火分数)是可随时间在0和1之间变化的参数,并且可用于定义退火排程。
[0172] 本领域技术人员将理解,归一化演化系数s随时间推移的变化速率在图4A中仅出于举例说明的目的而示出,并且在其他实施方式中,归一化演化系数可以以更慢或更快的速率增加。在一些实施方式中,归一化演化系数s可非线性地改变。模拟处理器的演化排程的示例在专利公布No.US2015/0363708中有所描述。
[0173] 本文所述的技术用于操作包括模拟处理器和数字处理器的混合处理器,其中归一化演化系数s可在混合处理器的操作的过程内增加和/或减小。对于某些操作而言,可能希望操作混合处理器,使得模拟处理器在第一或初始演化结束时达到预定经典自旋态。该技术可允许问题动力学的研究,或其可用于从模拟处理器获取样本。
[0174] 图4B是根据本发明系统、方法和装置的模拟处理器随时间推移的示例性演化400b的曲线图,该模拟处理器与数字处理器一起操作而形成混合处理器。模拟处理器可包括量子处理器。竖直轴线402表示归一化演化系数s,并且水平轴线404表示模拟处理器的演化的时间。
[0175] 在示例性演化400b开始之前,混合处理器可确定经典自旋态,并且对模拟处理器应用一个或多个预备偏置以便使模拟处理器的演化以经典自旋态为目标。可经由模拟处理器的电路部件(例如经由片上DAC或模拟线路)来应用预备偏置。预备偏置可影响模拟处理器朝向经典态的演化。当模拟处理器是具有n个量子比特的量子处理器时,存在2n个经典态。
[0176] 在示例性演化400b中,归一化演化系数s从时间t=0的0值增加到时间t1的1值。本领域技术人员将理解,从时间t=0至t1的演化的速率在图4B中仅出于举例说明的目的而示出,并且在其他实施方式中,模拟处理器从0至t1的演化的速率可比所示的更快或更慢。
[0177] 在t1时,暂停演化直到时间t2。在t1与t2之间的时间间隔(图4B中示出为时间间隔406)期间,数字处理器可移除在示例性演化400b开始之前应用的预备偏置。本领域技术人员将理解,时间间隔406可至少部分地取决于构成混合处理器的模拟处理器和数字处理器的特定硬件和配置。数字处理器对模拟处理器进行重新编程并移除所应用的预备偏置所需的时间可与图4B所示的时间不同。在一些实施方式中,时间间隔406可在例如100μs至200μs的范围内。当模拟处理器是量子处理器时,数字处理器可暂停演化,并且通过使量子比特的能量势垒保持为高来保持目标经典自旋态。
[0178] 除此之外或另选地,混合处理器可在比对模拟处理器进行重新编程所需的时间更长的时间间隔内暂停模拟处理器的演化,从而在时间间隔406期间执行其他操作,诸如读出或后处理。
[0179] 在时间间隔406之后,模拟处理器的演化沿与时间间隔406之前的方向相反的方向恢复,即,向后(本申请中也称为沿逆方向)恢复。在该阶段期间,归一化演化系数s从1减小到时间t3的值s*。数字处理器可在示例性演化400b开始之前或在时间间隔406期间确定s*的值。
[0180] 在模拟处理器是量子处理器的情况下,在时间间隔406之后,降低量子比特的能量势垒直到达到中间横向场和/或隧穿能量。可由数字处理器确定中间横向场和/或隧穿能量。
[0181] 在时间t3之后,在时间间隔408(在时间t3与t4之间)内暂停模拟处理器的演化。可由数字处理器在示例性演化400b开始之前或在时间间隔406期间确定时间间隔408。在一些实施方式中,时间间隔408可例如在1μs至几毫秒的范围内。
[0182] 本领域技术人员将理解,归一化演化系数s在时间t2和时间t3之间的变化速率可与在0和时间t1之间的变化速率相同,或可不同。数字处理器可例如确定归一化演化系数的变化速率。
[0183] 在时间间隔408之后,模拟处理器的演化沿与从0至时间t1的演化相同的方向恢复,即,归一化演化系数s从值s*增加到1,直到模拟处理器在时间t5达到经典自旋态。在模拟处理器是量子处理器的情况下,数字处理器可升高量子比特的能量势垒以达到经典自旋态。考虑到已在时间间隔406时移除预备偏置,在时间t5达到的经典自旋态可不与在时间t1达到的经典自旋态相同。
[0184] 在时间t5之后,数字处理器可读出在t5达到的经典自旋态,并且可执行后处理。
[0185] 在替代实施方式中,混合处理器使用经典方法对在时间间隔406时获取的经典自旋态执行后处理。因此,在数字处理器执行后处理操作所需的时长内暂停模拟处理器的演化。经典后处理方法的示例是被执行预定次数的Houdayer集群迁移。可使用其他经典后处理方法。
[0186] 另选地或除此之外,后处理可用于改善模拟处理器在时间t1获取的样本。为了改善从模拟处理器获取的样本的多样性,在t1获取的样本可如上所述那样进行后处理,并且用作反馈以将模拟处理器的演化运行一次或多次。在时间间隔406期间,在数字处理器已完成后处理操作之后,数字处理器可使用经后处理的样本作为输入来对模拟处理器应用预备偏置以影响模拟处理器的演化,使之倾向于获取更多样的样本集合(例如,从模拟处理器此前未考察的能量图景中的区域获取样本)。在时间t2,处理器的演化如上所述的那样向后(即,沿逆向)恢复,直到归一化演化系数在t3达到值s*。如上所指出,在t5获取的样本可不与在t1获取的样本或在t1经后处理的样本相同。在时间t5之后,数字处理器可读出由模拟处理器获取的样本。
[0187] 图5是根据本发明系统、方法和装置的模拟处理器的示例性演化500的曲线图500,该模拟处理器与数字处理器一起操作而形成混合处理器,其中模拟处理器在退火排程的过程中随时间推移向后和向前演化。(向后演化在本申请中也称为逆向退火。)模拟处理器可为包括超导量子比特和耦合器的量子处理器。竖直轴线502表示归一化演化系数s*,并且水平轴线504表示模拟处理器的演化的时间。
[0188] 在示例性演化500开始之前,数字处理器可按如下方式确定归一化演化系数集合:
[0189] s*={s1*,s2*,s3*,…,sn*}
[0190] 示例性演化500类似于示例性演化400b直到时间t5(这在上文有所描述)。
[0191] 在时间t5之后,数字处理器可读出模拟处理器的状态和/或执行后处理。在时间t6,模拟处理器的演化恢复,并且归一化演化系数s从1减小到时间t7的值s2*。时间间隔510是t5与t6之间的时间间隔。
[0192] s2*的值可与s1*的值不同,并且类似地,归一化演化系数s在t6和t7之间的变化速率可与归一化演化系数s在示例性演化500期间的其他时间的变化速率不同。
[0193] 在时间间隔512之后,模拟处理器的演化继续,直到模拟处理器在时间t9达到经典自旋态并且归一化演化系数s达到值1。如此前相对于示例性演化400b所指出,在t9达到的经典自旋态可不与在t1和/或t5达到的经典自旋态相同。
[0194] 在时间t9之后,在时间间隔514内暂停模拟处理器的演化,其中时间间隔514可由数字处理器确定。在时间间隔514期间,数字处理器可读出模拟处理器的状态和/或执行后处理。
[0195] 在时间t10之后,模拟处理器的演化以类似模式恢复,即,分别在时间t11、t12和t13演化到归一化演化系数s的预定值,在时间间隔内暂停,并且恢复直到模拟处理器达到经典自旋态。
[0196] 示例性演化500可用于研究特定问题动力学或从模拟处理器生成样本。
[0197] 图6示出了使用混合计算系统使模拟处理器演化的计算方法600的流程图,其中模拟处理器在退火排程过程的时间内向后和向前演化。混合计算系统包括数字处理器和量子处理器。
[0198] 计算方法600包括动作602至630;但是本领域技术人员将理解,动作的数量是示例性的,并且在一些实施方式中,可省略某些动作,可添加另外的动作,和/或可改变动作的顺序。
[0199] 计算方法600从602开始,例如响应于从另一个例程的调用而开始。
[0200] 在604处,数字处理器确定模拟处理器的经典自旋态。经典自旋态是如下自旋配置集合:
[0201] Si={-1,+1}
[0202] 计算方法600最初将使模拟处理器朝向该经典自旋态演化。
[0203] 在606处,数字处理器接收伊辛问题以便经由模拟处理器求解。这种伊辛问题可为例如优化问题或采样问题。
[0204] 在608处,数字处理器确定需要对模拟处理器的元件应用的预备偏置集合,以使得模拟处理器将朝向在604处确定的经典自旋态演化。在模拟处理器是量子处理器的情况下,预备偏置可为对量子处理器中的一些或所有量子比特应用的磁通偏置。预备偏置可影响量子处理器的演化,使之朝向在604处确定的经典自旋态,从而以高保真度实现经典自旋态(即,实现经典自旋态的概率接近一,例如0.9999)。
[0205] 在610处,数字处理器使用在606处接收到的伊辛问题对模拟处理器进行编程。数字处理器将对伊辛问题的h和J值进行编程。在模拟处理器是量子处理器的情况下,数字处理器将对量子处理器的量子比特和耦合器应用h和J值。
[0206] 在612处,数字处理器使用在608处确定的预备偏置对模拟处理器进行编程。在模拟处理器是量子处理器的情况下,除了伊辛问题偏置项h之外,数字处理器还可将一个或多个脉冲加载到量子比特的磁通偏置DAC的最高有效数位。例如,可应用量子比特的磁通偏置DAC的最高有效数位的两个或更多个阶跃,以使得量子比特可沿与在604处确定的经典自旋态相对应的所需方向偏置。
[0207] 在614处,模拟处理器朝向在604处确定的经典自旋态演化。在614处的演化速率可不恒定,因此演化可为非线性的,例如在特定阶段斜升,或在朝向经典自旋态恢复之前先暂停。
[0208] 在616处,数字处理器在第一停留时间内锁存模拟处理器的状态。在模拟处理器是量子处理器的情况下,量子比特的能量势垒可在第一停留时间内保持为高以保持经典自旋态。数字处理器可将第一停留时间确定为至少为通过移除预备偏置来对模拟处理器进行重新编程所需的时间。在其他实施方式中,第一停留时间可更长。
[0209] 在618处,数字处理器对模拟处理器进行重新编程以移除预备偏置,并且使用在606处接收到的伊辛问题对模拟处理器进行编程。该操作所需的时间可取决于模拟处理器和数字处理器的特定配置。在模拟处理器是量子处理器的情况下,数字处理器可对在612处应用的量子比特的磁通偏置DAC的最高有效数位移除所述一个或多个脉冲,留下在606处接收到的伊辛问题的偏置项h,使得量子处理器此时仅用伊辛问题进行编程。
[0210] 在620处,数字处理器确定演化参数,所述演化参数包括中间隧穿能量和第二停留时间。第二停留时间可独立于模拟处理器编程时间,并且可不同于第一停留时间。
[0211] 在622处,模拟处理器沿向后方向演化直到达到中间隧穿能量。在模拟处理器是量子处理器的情况下,可降低量子比特的能量势垒以实现中间隧穿能量,因此量子处理器中的量子比特在622处可不处于经典自旋态。
[0212] 在一些实施方式中,一个或多个变量可被钳制在经典自旋态中。在模拟处理器是量子处理器的情况下,受钳制的变量可各自由相应一个或多个量子比特表示,并且表示受钳制的变量的量子比特可形成量子处理器的第一量子比特子集。在622处,模拟处理器可使量子处理器的第二量子比特子集沿向后方向演化直到达到中间隧穿能量,该第二子集不包括第一量子比特子集中的量子比特(即,不包括表示受钳制的变量的量子比特)。可降低第二量子比特子集的能量势垒以实现中间隧穿能量,因此量子处理器中的第二量子比特子集中的量子比特在622处可不处于经典自旋态。
[0213] 在624处,数字处理器在620处确定的第二停留时间内暂停模拟处理器。在模拟处理器是量子处理器的情况下,量子比特的能量势垒可保持处于中间隧穿能量级,以使得量子处理器的演化被暂停。
[0214] 在626处,模拟处理器朝向经典自旋态演化。在模拟处理器是量子处理器的情况下,数字处理器升高量子比特的能量势垒以使量子处理器朝向经典自旋态演化。由于在618处移除了预备偏置,在626处达到的经典自旋态可不为在614处达到的相同经典自旋态。
[0215] 在628处,数字处理器读出模拟处理器的状态。在读出操作期间,暂停模拟处理器的演化,以使得其保持经典自旋态。可采用若干方法来读出模拟处理器的状态,用于读出量子处理器的状态的方法和装置的示例在PCT专利申请PCT/US2016/031885中有所描述。
[0216] 在630处,计算方法600结束,例如直到再次被调用。
[0217] 图7示出了使用混合计算系统使模拟处理器随时间推移而演化的计算方法700的流程图,其中模拟处理器在退火排程过程内向后和向前演化。混合计算系统包括数字处理器和量子处理器。
[0218] 计算方法700可被实现为图6的计算方法600的扩展,并且包括动作702至732;但是本领域技术人员将理解,动作的数量是示例性的,并且在一些实施方式中,可省略某些动作,可添加另外的动作,和/或可改变动作的顺序。
[0219] 计算方法700从702开始,例如响应于从另一个例程的调用而开始。
[0220] 在704处,数字处理器确定经典自旋态配置,如上文参照计算方法600的604所述。
[0221] 在706处,数字处理器接收伊辛问题以便由模拟处理器求解,如上文参照计算方法600的606所述。
[0222] 在708处,数字处理器确定预备偏置集合,如上文参照计算方法600的608所述。
[0223] 在710处,数字处理器使用伊辛问题对模拟处理器进行编程,如上文参照计算方法600的610所述。
[0224] 在712处,数字处理器使用预备偏置对模拟处理器进行编程,如上文参照计算方法600的612所述。
[0225] 在714处,模拟处理器朝向经典自旋态演化,如上文参照计算方法600的614所述。
[0226] 在716处,数字处理器在第一停留时间内锁存模拟处理器的状态,如上文参照计算方法600的616所述。
[0227] 在718处,数字处理器对模拟处理器进行重新编程以移除预备偏置,如上文参照计算方法600的618所述。
[0228] 在720处,数字处理器确定演化参数,所述演化参数包括中间隧穿能量和第二停留时间,如上文参照计算方法600的620所述。
[0229] 在722处,模拟处理器沿向后方向演化直到达到中间隧穿能量,如上文参照计算方法600的622所述。
[0230] 在724处,数字处理器在第二停留时间内暂停模拟处理器,如上文参照计算方法600的624所述。
[0231] 在726处,模拟处理器朝向经典自旋态演化,如上文参照计算方法600的626所述。
[0232] 在728处,数字处理器读出模拟处理器的状态。
[0233] 在730处,数字处理器基于退出条件来确定是否要迭代。响应于不满足退出条件,控制进行到712,并且数字处理器执行动作712至728的进一步迭代。在712处,数字处理器使用预备偏置对模拟处理器进行编程。响应于满足退出条件,控制进行到732。退出条件可包括迭代限定的次数。
[0234] 在732处,计算方法700终止,例如直到再次被调用。
[0235] 图8是使用混合计算系统使模拟处理器随时间推移而演化的计算方法800的流程图,其中模拟处理器在退火排程过程内向前和向后迭代,并且其中数字处理器在每次迭代时不对模拟处理器进行重新编程。
[0236] 计算方法800包括动作802至830;但是本领域技术人员将理解,动作的数量是示例性的,并且在一些实施方式中,可省略某些动作,可添加另外的动作,和/或可改变动作的顺序。
[0237] 计算方法800从802开始,例如响应于从另一个例程的调用而开始。
[0238] 在804处,数字处理器确定模拟处理器的经典自旋态,如上文参照计算方法600的604和/或计算方法700的704所述。
[0239] 在806处,数字处理器接收伊辛问题以便由模拟处理器求解。这种伊辛问题可为例如优化问题或采样问题。数字处理器还接收归一化演化系数集合:
[0240] s*={s1*,s2*,s3*,…,sn*}
[0241] 以及停留时间集合:
[0242] t*={t1*,t2*,t3*,…,tn*}
[0243] 在808处,数字处理器确定预备偏置集合,如上文参照计算方法600的608和/或方法700的708所述。
[0244] 在810处,数字处理器使用伊辛问题对模拟处理器进行编程,如上文参照计算方法600的610和/或计算方法700的710所述。
[0245] 在812处,数字处理器使用预备偏置对模拟处理器进行编程,如上文参照计算方法600的612和/或计算方法700的712所述。
[0246] 在814处,模拟处理器朝向经典自旋态演化,如上文参照计算方法600的614和/或计算方法800的714所述。
[0247] 在816处,数字处理器在第一停留时间内锁存模拟处理器的状态,如上文参照计算方法600的616和/或计算方法700的716所述。
[0248] 在818处,数字处理器对模拟处理器进行重新编程以移除预备偏置,如上文参照计算方法600的618和/或方法700的718所述。
[0249] 在820处,模拟处理器向后演化直到归一化演化系数s达到值s1*,即,由数字处理器在806处接收到的集合s*中的s的第一值。在模拟处理器是量子处理器的情况下,降低能量势垒直到归一化演化系数s达到值s1*。当s具有值s1*时,量子处理器中的量子比特可不处于经典自旋态。
[0250] 在822处,数字处理器在停留时间t1*内暂停量子处理器,其中t1*是由数字处理器在806处接收到的停留时间集合t*中的第一值。
[0251] 在824处,模拟处理器朝向经典自旋态演化。在模拟处理器是量子处理器的情况下,数字处理器升高量子比特的能量势垒以使量子处理器朝向经典自旋态演化。在824处达到的经典自旋态可不为在814处达到的相同经典自旋态。
[0252] 在826处,数字处理器读出模拟处理器的状态。
[0253] 在828处,数字处理器基于退出条件来确定是否要迭代。响应于不满足退出条件,控制进行到820,并且数字处理器通过方法800的动作820至826进行迭代。在820处,模拟处理器向后演化直到达到下一个值s*(例如,如果在前一迭代中,向后退火在s3*处暂停,则在当前迭代中,向后退火将在s4*处暂停)。类似地,在822处,数字处理器在与t*的下一个值相对应的停留时间内锁存模拟处理器的状态(例如,如果在前一迭代中,在停留时间t3*内锁存模拟计算机的状态,则在当前迭代中,将在停留时间t4*内锁存模拟计算机的状态)。
[0254] 响应于满足退出条件,控制进行到830。退出条件可包括迭代限定的次数。例如,计算方法800可迭代n次,其中n是集合s*和t*的大小。在830处,计算方法800终止,例如直到再次被调用。
[0255] 与计算方法700相比,可在计算方法800中节省或至少减少使用伊辛问题和预备偏置对处理器进行重新编程所需的时间。计算方法800可具有比计算方法700更快的执行循环。
[0256] 计算方法600、700和/或800可用于操作混合计算机以便研究问题动力学,其中确定初始经典自旋态并且需要在退火排程期间的不同点处研究脱离经典自旋态的逃逸率。另选地或除此之外,计算方法700和/或800可用于采样。通过重复向后和向前退火,模拟处理器可考察接近初始经典自旋配置的邻域。例如,计算方法700和/或800可用于估计玻尔兹曼采样分布。
[0257] 可在计算方法700和/或800的每次迭代(分别在动作726和826)时执行读出,或可将模拟处理器的状态暂时存储在非瞬态存储器存储设备中直到这些迭代结束,并且数字处理器可分别在计算方法700和/或800结束时读出所有经典自旋态。在模拟处理器是量子处理器的情况下,量子磁通参量(QFP)移位寄存器(每个量子比特有n个QFP,其中n是计算方法700和/或800的迭代次数,可存储在计算方法700和/或800的执行期间获得的所有经典自旋态。
[0258] 本领域技术人员可理解,混合计算系统可递增地操作计算方法700和800,其中计算方法700构成外部回路,并且计算方法800的动作820-826构成内部回路。
[0259] 图9是根据本发明系统、方法和装置的模拟处理器的示例性演化900的曲线图,该模拟处理器与数字处理器一起操作而形成混合处理器,其中模拟处理器在若干间隔内向前和向后演化。模拟处理器可包括量子处理器。竖直轴线902表示归一化演化系数s,并且水平轴线904表示模拟处理器的演化的时间。
[0260] 在演化开始之前,数字处理器可将问题编程到模拟处理器上。在模拟处理器是量子处理器的情况下,数字处理器可例如将偏置和耦合强度分配给量子处理器的一些或所有量子比特和耦合器。数字处理器确定模拟处理器的退火排程(例如,数字处理器可确定退火速率)。
[0261] 在示例性演化900中,归一化演化系数s从0增加到时间t1中的值s1。本领域技术人员将理解,从0至t1的演化的速率在图9中仅出于举例说明的目的而示出,并且在其他实施方式中,模拟处理器从0至s1的演化的速率可比所示的更快或更慢。另外,在模拟处理器是量子处理器的情况下,量子处理器中的一些量子比特可具有与其他量子比特不同的退火速率或它们可在稍后时间开始退火。
[0262] 在时间t1,数字处理器使用第一候选退火排程对模拟处理器进行编程。第一候选退火排程可与数字处理器在演化开始之前确定的初始退火排程相同。
[0263] 在时间t1,可在恢复之前对候选退火排程(图9中未示出)进行编程或出于其他目的而所需的时间内暂停模拟处理器的演化,直到归一化演化系数s在时间t2达到值s2,其中s2>s1。值s1和s2、和/或t1和t2可由数字处理器在演化开始之前确定,并且可至少部分地由要编程到模拟处理器中的问题类别确定。
[0264] 在时间t2,模拟处理器的演化沿相对于在时间t2之前的演化方向的相反方向(即,向后)进行。在时间t3,归一化演化系数s减小到值s1。
[0265] 在时间t3,数字处理器使用第二候选退火排程对模拟处理器进行编程,该第二候选退火排程可与第一候选退火排程不同。可在将第二候选退火排程编程到模拟处理器中所需的时间内暂停模拟处理器的演化。
[0266] 在时间t3之后,模拟处理器的演化沿第一方向(即,向前)进行直到归一化演化系数s再次达到值s2的时间t4,然后沿相反方向(即,向后)进行直到归一化演化系数在时间t5达到值s1。
[0267] 在时间t2和t4,数字处理器可读出模拟处理器的自旋配置。
[0268] 虽然在图9中模拟处理器的演化被示出为在值s1和s2之间向前和向后移动两次,但本领域技术人员将理解,模拟处理器可在s1和s2之间演化超过两次或仅一次。
[0269] 类似地,模拟处理器的演化在s2和s3之间向前和向后进行,并且接着在归一化演化系数s3和1的值之间进行。
[0270] 虽然在图9中模拟处理器的演化被示出为在归一化演化系数s的三个值s1-s3之间向前和向后进行,但本领域技术人员将理解,模拟处理器的演化可如所述的那样在归一化演化系数s的少于三个或超过三个值之间进行。
[0271] 在时间t14,在居间时间t6到t13之后,模拟处理器可能已在归一化演化系数s的间隔之间尝试了多个候选退火排程以试图寻找每个间隔的最佳退火排程。根据要由模拟处理器求解的问题或问题类别,具体退火排程可比其他退火排程更适于寻找例如更多样的样本集合、具有较低能量的解决方案、或需要较少后处理的解决方案。
[0272] 图10是流程图,其示出了使用混合计算系统使模拟处理器随时间推移而演化的计算方法1000,其中模拟处理器在归一化演化系数s的间隔内向前和向后演化以试图确定更适合每个间隔的退火排程。
[0273] 计算方法1000包括动作1002至1020;但是本领域技术人员将理解,动作的数量是示例性的,并且在一些实施方式中,可省略某些动作,可添加另外的动作,和/或可改变动作的顺序。
[0274] 计算方法1000从1002开始,例如响应于从另一个例程的调用而开始。
[0275] 在1004处,数字处理器将计数器i初始化为初始值i=0,并且确定方法1000应运行的归一化演化系数s的间隔数量。该间隔数量可确定计数器i的值。数字处理器还可确定s每个间隔的候选退火排程集合。另选地,可由单独过程或例程确定候选排程集合,并且将该候选排程集合传输到数字处理器作为计算方法1000的输入,或可在计算方法1000的迭代中已计算间隔i内的候选排程之后确定i+1每个间隔内的候选排程集合。
[0276] 在1006处,数字处理器使用间隔[si,si+1]内的候选退火排程之一对模拟处理器进行编程。
[0277] 在1008处,模拟处理器按照在1006处编程的候选退火排程开始沿第一方向演化,直到归一化演化系数达到值si+1。通常,第一方向是向前方向(即,朝向s=1)。
[0278] 在1010处,数字处理器读出模拟处理器的状态。数字处理器可将该信息存储在存储器元件中以供将来计算和/或比较。在一些实施方式中,在数字处理器可读出模拟处理器的状态之前,模拟处理器可需要演化直到s=1。在演化直到s=1中,模拟处理器可比1008处的演化更快地演化。在一些情况下,模拟处理器可顺着斜坡到达s=1。
[0279] 在1012处,数字处理器确定是否已满足退出条件。在一个实施方式中,退出条件是限定的迭代次数的完成,该迭代次数对应于间隔[si,si+1]内的候选退火排程的数量。在该实施方式中,退出条件确保已尝试了这些候选退火排程。如果已满足退出条件,控制转到1016,否则转到1014。
[0280] 在1014处,模拟处理器的演化沿相反方向(通常沿向后或逆方向,即,远离s=1)进行,直到归一化演化系数再次减小到值si。在1014之后,控制返回到1006,其中数字处理器使用在1004处确定的候选排程中的不同一者对模拟处理器进行编程。
[0281] 在1016处,数字处理器确定对于计数器i的当前值而言,是否满足条件si+1=1。如果满足该条件,则模拟处理器的演化已到达终点,计算方法1000已在s的前述间隔内迭代,并且方法1000进行到1020。计算方法1000在1020处终止,直到例如其再次被调用。另选地,在终止计算方法1000的执行之前,数字处理器可至少部分地基于在1010处收集的读出信息来确定更适合每个间隔的退火排程,并且对模拟处理器进行编程以根据更适合每个间隔的退火排程来演化。
[0282] 如果不满足该条件,控制转到1018。在1018处,数字处理器将计数器i的值递增到i+1,从而将计算方法1000的执行推进到s的下一个间隔。然后控制转到1006,其中数字处理器使用在1004处确定的间隔[si,si+1]内的候选退火排程之一对模拟处理器进行编程。
[0283] 模拟处理器可求解涉及超过一个变量的计算问题。在模拟处理器是量子处理器的情况下,问题的变量可由量子比特表示。
[0284] 根据量子处理器的问题和拓扑结构,该问题中的一个或多个变量可在量子处理器中由超过一个量子比特表示。例如,一个变量可由两个或更多个量子比特的群组表示,所述两个或更多个量子比特受可编程耦合器的影响而表现为单个量子比特。此类量子比特群组通常称为链。这些链不同于上述QMC链和MCMC链。链中的量子比特在量子处理器的演化结束时可采取彼此相同的自旋(自旋向上或自旋向下)。
[0285] 数字处理器可将耦合强度分配给可编程耦合器,以使得该链中的量子比特表现为单个量子比特。该链越强,该链中的量子比特可越可能表现为单个量子比特。耦合强度或链强度可在量子处理器的演化内改变。例如,链强度可被定义为该链中的量子比特的耦合强度与最强逻辑图耦合的比率。
[0286] 图11是链强度在混合计算系统的演化过程内的示例性变化的曲线图,该混合计算系统包括与模拟处理器通信的数字处理器。具体地讲,图11示出了在模拟处理器的演化过程内四个变量的链强度1102a、1102b、1102c和1102d(统称1102)的示例性变化。竖直轴线1104表示这四个变量的链强度,并且水平轴线1106表示模拟处理器的演化的时间。一个或多个变量可在量子处理器中由超过一个量子比特表示,以使得一个变量的链强度可为连接该链中的量子比特的耦合器的耦合器强度的组合。
[0287] 在图11中,链强度1102a在模拟处理器的演化过程内保持大约恒定,而链强度1104b、1104c和1104d改变。本领域技术人员将理解,模拟处理器可用超过四个变量或用少于四个变量表示计算问题,并且每个变量的链强度可大约恒定,或在演化过程内改变,或在演化的一个阶段内大约恒定且在演化的另一个阶段内改变。
[0288] 混合计算系统中的数字处理器在演化开始时对每个链的链强度进行编程,从而将链强度设定为初始值。然而,在演化期间,一些链强度可根据例如外部影响或模拟处理器中的噪声而改变。因此,链强度的初始值在整个演化中可不为最佳值或优选值。
[0289] 为了补偿链强度的变化,数字处理器可在预定时间暂停模拟处理器的演化以读出这些变量的链强度。在图11中,数字处理器可在时间t1至t8以Δt的时间间隔读出这四个变量的链强度。
[0290] 虽然在图11中数字处理器以规则时间间隔读出链强度的值,但本领域技术人员将理解,在不同实施方式中,数字处理器可以以不规则(或不相等)间隔读出链强度的值。
[0291] 图12是使用混合计算系统使模拟处理器演化的计算方法1200的流程图,其中模拟处理器中的变量的链强度在演化过程内改变,并且其中数字处理器基于在演化期间读出链强度来确定每个问题变量和每个间隔的更佳或优选链强度。模拟处理器可为量子处理器。
[0292] 计算方法1200包括动作1202至1220;但是本领域技术人员将理解,动作的数量是示例性的,并且在一些实施方式中,可省略某些动作,可添加另外的动作,和/或可改变动作的顺序。
[0293] 计算方法1200从1202开始,例如响应于从另一个例程的调用而开始。
[0294] 在1204处,数字处理器将计数器i初始化为初始值i=0。数字处理器确定方法1200应运行的归一化演化系数s的间隔数量。该间隔数量可确定计数器i的值。与此同时,数字处理器可对模拟处理器的其他元件进行编程以便使模拟处理器准备好求解计算问题。数字处理器还至少部分地基于要求解的问题来确定每个间隔内的候选链强度集合。另选地,可由单独例程确定链强度集合,并且传输该链强度集合作为计算方法1200的输入,或可在经由计算方法1200的迭代计算了间隔i内的候选链强度之后确定i+1每个间隔内的候选链强度集合。
[0295] 每个链的链强度可至少部分地取决于要由模拟处理器求解的问题,和/或就量子处理器而言,取决于包括量子处理器的每个变量和/或其他特征的量子比特的数量。
[0296] 在1206处,数字处理器使用来自候选链强度集合的候选链强度之一对模拟处理器进行编程。数字处理器还可根据需要对模拟处理器的其他参数进行编程。
[0297] 在1208处,模拟处理器的演化开始并且一直持续到归一化演化系数的值si+1。
[0298] 在1210处,数字处理器读出由模拟处理器中的链表示的变量的链强度的值。与此同时,数字处理器可读出模拟处理器的其他元件的其他值。为此,模拟处理器的演化可在执行读出操作所需的时间内暂停。除此之外或另选地,模拟处理器可在执行读出操作之前以更快的速率演化或使演化斜升,直到归一化演化系数达到值1。
[0299] 在1212处,数字处理器确定是否已满足退出条件。如果已满足退出条件,控制转到1216,否则控制转到1214。退出条件可为例如迭代次数的执行,其中该迭代次数对应于归一化演化系数的每个间隔内的候选链强度的数量。替代退出条件可为达到性能量度的阈值。
[0300] 在1214处,模拟处理器的演化沿相反方向进行(即,沿向后或逆方向进行-逆向演化在本申请中也称为逆向退火)直到归一化演化系数的值s减小到si。然后控制转到1206,其中数字处理器使用来自候选链强度集合的候选链强度中的另一者对模拟处理器进行编程。数字处理器还可根据需要对模拟处理器的其他参数进行编程。另选地或除此之外,数字处理器可基于候选链强度中的另一者与1208处的读出的组合来对链强度进行编程。
[0301] 在1216处,数字处理器确定是否值si+1=1。在这种情况下,所有模拟处理器将已在归一化演化系数的所有间隔i内尝试了所有候选链强度。在满足该条件后,控制转到1220,否则转到1218。
[0302] 在1218处,数字处理器将计数器i的值增加到i+1,从而将计算方法1200的执行推进到s的下一个间隔。然后控制转到1206,其中数字处理器在s的下一个间隔内对候选链强度进行编程。
[0303] 在1220处,计算方法1200终止,直到其再次被调用。另选地,在终止计算方法1200的执行之前,数字处理器可至少部分地基于在1208处收集的读出信息来确定更适合每个间隔的链强度,并且对模拟处理器进行编程以根据更适合s的每个间隔的链强度来演化。
[0304] 图13是使用混合计算系统使模拟处理器演化的计算方法1300的流程图,其中模拟处理器向后和向前演化以减轻断链的效应。
[0305] 当问题需要使用链来编程到量子处理器的具体拓扑结构中时,可能出现的情况是在量子处理器的演化结束时,一个或多个链包含自旋不相符的量子比特,例如单个链中的一些量子比特具有自旋向上,而相同链中的其他量子比特具有自旋向下。在这种情况下,该链被认为已断裂。
[0306] 包含断链的解决方案可能没有意义,并且可能需要后处理。除此之外或另选地,重复使用量子处理器求解相同问题可有助于减轻断链的效应。
[0307] 计算方法1300试图通过以下方式减轻解决方案中的断链的效应:仅使量子处理器中的断链向后演化,然后使它们向前演化。
[0308] 计算方法1300包括动作1302至1318;但是本领域技术人员将理解,动作的数量是示例性的,并且在一些实施方式中,可省略某些动作,可添加另外的动作,和/或可改变动作的顺序。
[0309] 计算方法1300从1302开始,例如响应于从另一个例程的调用而开始。
[0310] 在1304处,模拟处理器通过演化并达成解决方案来求解问题。数字处理器可通过对模拟处理器的参数(包括链强度)进行编程来将问题编程到模拟处理器中。
[0311] 在1306处,数字处理器读出模拟处理器的状态。在模拟处理器是量子处理器的情况下,数字处理器读出量子比特的自旋配置。
[0312] 在1308处,数字处理器确定在1306处读出的解决方案中是否存在任何断链。在模拟处理器是量子处理器的情况下,数字处理器检查链内的量子比特的自旋配置是否彼此相符。数字处理器可检查这些链中的一者或多者。如果在1306处读出的解决方案中不存在断链,控制转到1310,否则转到1312。
[0313] 在1312处,数字处理器对模拟处理器的状态进行设定或编程,以使得未断裂的链保持固定。在模拟处理器是量子处理器的情况下,数字处理器可通过将不属于断链的量子比特的自旋配置设定为固定的来对量子处理器进行编程。
[0314] 在1314处,模拟处理器的演化向后进行,以使得归一化演化系数s的值减小。考虑到已在1312处设定了未断裂的链的状态,模拟处理器的仅一部分将向后演化。数字处理器将确定何时暂停模拟处理器的向后退火,从而尝试在链未断裂之时暂停该向后退火。为此,数字处理器可能必须在向后(逆向)退火期间的各个点处读出模拟处理器的状态一次或多次。
[0315] 在1316处,模拟处理器的演化向前进行直到演化结束,此时归一化演化系数s达到值1。考虑到未断裂的链在1312处保持固定,只有在1308处具有断链的处理器的部分才会向前演化。
[0316] 在1318处,数字处理器读出模拟处理器的状态。在1318之后,控制往回转到1308,其中数字处理器确定在1318处读出的解决方案中是否存在断链。方法1300迭代直到该解决方案中没有断链。
[0317] 在1310处,计算方法1300终止,直到例如其再次被调用。
[0318] 另选地,可在不使模拟处理器向后演化的情况下实现计算方法1300。在1314处,模拟处理器并不向后演化,而是可仅为这些断链启动新演化循环,其中未断裂的链在1312处被设定为固定的。
[0319] 如上所述,数字处理器可在每次迭代时检查由模拟处理器获得的解决方案中是否存在断链,并且重复使断链演化直到产生没有断链的结果。另选地,数字处理器可基于限定的迭代次数的完成而决定停止迭代。
[0320] 存在对用模拟处理器获得的样本进行后处理的其他方法。一些后处理技术在美国专利公布No US2015363708、美国专利No 7,307,275、美国专利No 8,244,650、美国专利No 8,494,993以及美国专利公布No 20160071021中有所描述。
[0321] 一些后处理方法是经典的,即,它们使用数字处理器对来自模拟处理器的样本进行后处理。如本申请中所述,其他方法使用混合计算系统,该混合计算系统包括模拟处理器和数字处理器,其中在模拟处理器上执行后处理操作。
[0322] 在模拟处理器是量子处理器的情况下(该量子处理器产生问题哈密顿算子(h,J)的样本s,其中h是应用于量子比特的偏置并且J是耦合强度,其在量子处理器硬件上嵌入有哈密顿算子(h’,J’)),样本s上的一些链可为断裂的。假设变量b1,…,bn具有断链(即,bi中的所有量子比特并不都采取相同自旋)并且变量a1,…,am没有断链。数字处理器可按如下方式构建要由量子处理器求解的后处理哈密顿算子(h(s),J(s))。
[0323] 对于与变量ai相对应的未断裂的链而言,自旋s(ai)可被定义为由链中的量子比特获得的独特自旋值。考虑到ai表示未断裂的链,ai中的量子比特可在演化循环结束时采取彼此相同的自旋值。
[0324] 对于与断链相对应的每个变量bi而言,可以将 和 分别定义为bi内具有向上自旋和向下自旋的量子比特集合。
[0325] 因此,可以将 定义为与bi相对应的链的连通分量。即,每个 是与bi相对应的链的最大子集,使得 中的每一个量子比特具有相同自旋,并且如果 与 之间存在耦合器,则 和 中的自旋具有相反值。类似地,可以将 定义为连通分量 中的所有量子比特所采取的独特自旋。
[0326] 使用与断链的连通分量 相对应的变量v1,…vN来定义后处理哈密顿算子(h(s),J(s))。数字处理器在分析样本s并且确定其包含断链之后,将按如下方式向量子处理器中编程量子比特偏置 以及变量 之间的交互。
[0327] 量子比特偏置 (其中vx是与链分量 相对应的变量)定义如下:
[0328]
[0329] 在 中,沿着链分量收集量子比特偏置,并且将来自未断裂的链的贡献移动到自旋偏置中。
[0330] 与链分量 和 相对应的变量vx和vy之间的两项交互由嵌入式哈密顿算子(h',J')中的两个链分量之间的问题交互给出:
[0331]
[0332] 然后可由量子处理器经由后处理哈密顿算子(h(s),J(s))对这些断链进行后处理。可对由量子处理器获得的每个样本s重复该方法。
[0333] 下面示出了产生后处理哈密顿算子的上述技术的实施方式:
[0334]
[0335] 可通过存储在一个或多个非瞬态处理器可读介质上的一系列处理器可读指令来实现上述一种或多种方法、一个或多个过程或一种或多种技术。上述一种或多种方法、一个或多个过程或一种或多种技术方法的一些示例部分地由专用设备(诸如绝热量子计算机或量子退火机)执行,或由编程或以其他方式控制绝热量子计算机或量子退火机的操作的系统(例如包括至少一个数字处理器的计算机)执行。上述一种或多种方法、一个或多个过程或一种或多种技术可包括各种动作,但本领域技术人员将认识到,在替代示例中,可省略某些动作和/或可添加附加动作。本领域技术人员将认识到,所示的动作顺序仅出于示例性目的而示出,并且可在替代示例中改变。上述一种或多种方法、一个或多个过程或一种或多种技术的一些示例性动作或操作迭代地执行。上述一种或多种方法、一个或多个过程或一种或多种技术的一些动作可在每次迭代期间、在多次迭代之后或在所有迭代结束时执行。
[0336] 以上对所示实施方案的描述(包括说明书摘要中的描述内容)并非旨在为详尽的或将这些实施方案限于所公开的精确形式。尽管本文为举例说明的目的描述了特定实施方案和示例,但相关领域技术人员将认识到,在不脱离本公开的精神和范围的前提下可以做出各种等同的修改。本文所提供的各种实施方案的教导内容可应用于其他模拟处理器,而不一定是上文一般性地描述的示例性量子处理器。
[0337] 上述各种实施方案可组合以提供另外的实施方案。在它们与本文的特定教导内容和定义不相矛盾的程度上,本说明书中提到和/或申请数据表中列出的所有美国专利、美国专利申请公布、美国专利申请(包括2016年6月8日提交的美国临时专利申请No.62/347,421;2016年7月19日提交的美国临时专利申请No.62/364,169;以及2016年11月4日提交的美国临时专利申请No.62/417,940)全文以引用方式并入本文。如有必要,可以修改这些实施方案的各方面,以采用各种专利、申请和公布的系统、电路和概念来提供另外的实施方案。
[0338] 鉴于以上的详细描述,可对这些实施方案做出这些和其他改变。一般来讲,在以下权利要求中,所使用的术语不应当解释为将权利要求限制于本说明书和权利要求中所公开的特定实施方案,而是应当解释为包括所有可能的实施方案,以及这些权利要求所享有的等同物的整个范围。因此,权利要求并不受到公开内容的限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈