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

具有中间再优化以求解量子计算中的困难变分量子问题的绝热进展的制作方法

2021-11-09 20:46:00 来源:中国专利 TAG:

具有中间再优化以求解量子计算中的困难变分量子问题的绝热进展
1.相关申请
2.本技术要求于2019年4月9日提交的标题为“adiabatic progression with intermediate re

optimization to solve hard variational quantum problems in quantum computing”的美国临时申请序列号62831418的优先权,该申请通过引用整体并入本文。本技术还要求美国申请号16/427043和美国申请号16/427080的优先权。
技术领域
3.本发明通常涉及用于运行量子计算数据处理环境以求解某些类型的问题的方法、系统以及计算机程序产品。更具体地,本发明涉及用于具有中间再优化以求解量子计算中的困难变分量子问题的绝热进展的方法、系统和计算机程序产品。


背景技术:

4.在下文中,除非在使用时明确区分,否则短语的词中的“q”前缀指示在量子计算上下文中引用该词或短语。
5.分子和亚原子粒子遵循量子力学定律,量子力学是探索物理世界如何在最基本的水平上工作的物理学分支。在这个水平,粒子以奇怪的方式表现,同时呈现多于一个状态,并且与非常远的其他粒子相互作用。量子计算利用这些量子现象来处理信息。
6.我们今天使用的计算机被称为经典计算机(在此也被称为“传统”计算机或传统节点,或“cn”)。在所谓的冯诺依曼架构中,传统计算机使用利用半导体材料和技术制造的传统处理器、半导体存储器、以及磁性或固态存储设备。具体地,传统计算机中的处理器是二进制处理器,即,对以1和0表示的二进制数据进行操作。
7.量子处理器(q

处理器)使用纠缠的量子位器件(在此紧凑地称为“量子位”、多个“量子位”)的奇数性质来执行计算任务。在量子力学运行的具体领域中,物质粒子能以多种状态存在,诸如“开”状态、“关”状态以及同时“开”和“关”状态二者。在使用半导体处理器的二进制计算被限制为仅使用开和关状态(在二进制代码中相当于1和0)的情况下,量子处理器利用这些物质的量子状态来输出在数据计算中可用的信号。
8.传统计算机以位编码信息。每个位可以取1或0的值。这些1和0用作最终驱动计算机功能的开/关开关。另一方面,量子计算机是基于量子位的,这些量子位根据量子物理学的两个关键原理来操作:叠加和纠缠。叠加意味着每个量子位可以同时表示1和0两者。纠缠意味着叠加中的量子位能够以非经典的方式彼此相关;即,一个量子位(无论它是1还是0还是两者)的状态可以取决于另一量子位的状态,并且当这两个量子位纠缠时比当它们被单独处理时存在更多可以关于这两个量子位确认的信息。
9.使用这两种原理,量子位作为更复杂的信息处理器运行,使量子计算机能够以允许它们求解难于使用传统计算机处理的问题的方式起作用。ibm已经成功地构建并且证明了使用超导量子位的量子处理器的可操作性(ibm是国际商业机器公司在美国和其他国家
的注册商标。)
10.超导量子位包括约瑟夫逊结。约瑟夫逊结是通过用非超导材料将两个薄膜超导金属层分离而形成的。当使超导层中的金属变得超导时,例如通过将金属的温度降低到指定的低温温度,电子对可以从一个超导层穿过非超导层隧穿到另一超导层。在量子位中,该约瑟夫逊结(其作为分散的非线性电感器起作用)与一个或多个电容性设备并联地电耦接,从而形成非线性微波振荡器。该振荡器具有由该量子位中的电感和电容的值确定的共振/过渡频率。除非在使用时明确区分,否则任何对术语“量子位”的引用都是对采用约瑟夫逊结的超导量子位振荡器电路的引用。
11.由量子位处理的信息以微波频率范围内的微波信号/光子的形式被携带或传输。量子位输出的微波频率由量子位的共振频率确定。微波信号被捕获、处理和分析,以解译其中编码的量子信息。读出电路是与量子位耦接以捕获、读取和测量量子位的量子状态的电路。读出电路的输出是可由q处理器用来执行计算的信息。
12.超导量子位具有两个量子状态——|0>和|1>。这两个状态可以是原子的两个能量状态,例如超导人工原子(超导量子位)的基态(|g>)和第一激发态(|e>)。其他示例包括核或电子自旋的自旋向上和自旋向下、晶体缺陷的两个位置、以及量子点的两个状态。因为系统具有量子性质,所以这两个状态的任何组合都是被允许的并且有效的。
13.为了使使用量子位的量子计算可靠,量子电路(例如,量子位本身、与量子位相关联的读出电路、以及量子处理器的其他部分)必须不以任何显著的方式改变量子位的能量状态(诸如通过注入或耗散能量)或影响量子位的|0>与|1>状态之间的相对相位。对以量子信息操作的任何电路的这种操作约束使得制造在这种电路中使用的半导体和超导结构的特殊考虑成为必要。
14.量子计算通常可以用于比传统计算更快地求解问题。例如,一种量子算法是grover的搜索,其实现了利用比传统计算中的情况更少的查找搜遍n个项目的无序列表。
15.量子门是用于量子计算的基本构件,以经典逻辑门作用于位的方式一次一个和两个地作用于量子位,从而以可控的方式改变量子位状态。x门将单个量子位的状态反相,非常像在经典计算中非门将单个位的状态反相。h门或hadamard门将单个量子位置于叠加状态,0和1量子状态的组合。当测量时,量子位仅解析到确定的状态。例如,当提供有具有量子状态0的输入时,在hadamard门内,量子状态处于叠加,但是输出有50%的概率处于量子0状态并有50%的概率处于量子1状态。其他单量子位门以其他定义的方式改变量子位状态。
16.多量子位门实施在量子位之间执行条件逻辑的门,意味着一个量子位的状态取决于另一量子位的状态。例如,受控非门或cnot门具有两个量子位,目标量子位和控制量子位。如果控制量子位处于1量子状态,那么cnot门将目标量子位的状态反相。如果控制量子位处于0量子状态,那么cnot门不改变目标量子位的状态。
17.多个量子位也可以纠缠。尽管两个或更多个量子位相距太远而不能彼此影响,当它们以单独地是随机的但也太强相关而不能通过假设每个物体彼此独立来解释的方式表现时,这两个或更多个量子位是纠缠的。因此,可以预测纠缠的多量子位系统的组合特性,但是不能预测在这种系统中测量每个单独量子位的单独结果。
18.类似于传统计算,量子计算门可以被组装成更大的组(称为量子电路)以执行更复杂的操作。例如,交换一对量子位的状态的swap门可以由三个cnot门构成。
19.量子电路可以并行执行一些操作,并且串行执行一些操作。程序中最长系列的长度也被称为量子电路的深度。例如,构成swap门的三个cnot门串联布置,给出深度3。具有较浅深度的程序花费较少的执行时间并且提供更好的性能,因此是优选的。
20.传统计算机不必用指定指令步骤(诸如以特定于处理器的汇编语言提供的那些指令步骤)手动编程。相反,程序员以更高级语言编写独立于硬件的代码,并且编译器将该代码翻译成汇编语言以便在指定处理器上执行。类似地,在量子计算中,程序员不必指定单独的门。相反,程序员可以用更高级语言编写更高级代码。编译器解析此代码并且将其映射到量子电路中。最后,量子处理器执行量子电路。量子程序员还可以利用已经编程的库,用于求解诸如化学、人工智能和优化之类的领域中的问题。
21.存在称为变分问题的一类问题,其中存在子类——困难变分问题和容易变分问题。优化问题为变分问题的非限制性示例,其取决于维度、节点的数目、所期望的准确度水平以及其他因素而可以是困难的或容易的。优化问题是针对不同的问题确定最佳或最优解的计算问题,其中该不同的问题具有若干可能的解。
22.例如,该不同的问题可以是著名的旅行销售人员问题,其中必须在若干城市之间确定路线,使得旅行销售人员覆盖每个城市而不修改任何城市。这个问题具有许多可能的解——城市之间的路线。与旅行销售人员问题相关的优化问题是从许多可能的路线中找到最短路线(即最佳或最优路线),这许多可能的路线中的每一个路线都满足旅行销售人员问题的要求。
23.该不同的问题的另一示例是最大割问题。在图中,求解最大割问题意味着顶点集合的子集s,使得s与互补子集(不在s中的顶点的子集)之间的边的数量尽可能大。
24.计算解离曲线是变分问题的另一非限制性示例,其取决于维度、所期望的准确度水平以及其他因素而可以是困难的或容易的。解离曲线在曲线图上绘制了将分子中的原子拉开的能量成本。曲线图的x轴是原子之间的距离,并且曲线图的y轴是能量的量。
25.配置变分问题以用于在计算机上执行使得计算机可在多项式时间内计算出最优解本身是困难的问题。直到最近,可用于执行变分问题的仅有计算资源是如本文所述的传统计算机。许多变分问题对于传统计算机而言太困难或太复杂而不能用合理的资源在多项式时间内计算。通常,可以在合理的时间内用合理的资源计算的近似解在这样的情况下被接受作为近似最优解。
26.量子计算的出现已经在许多计算领域中呈现了先进的可能性,包括变分问题的计算。因为量子计算系统可以一次评估来自解空间的许多解,所以说明性实施例认识到这样的系统特别适合于求解变分问题。
27.变分量子算法使用经典的优化器来搜索高维非凸参数空间以寻找求解特定问题的量子电路。通常,在高维非凸空间中的优化非常困难,并且随着(有意义的)维数的增加,收敛到解变得越来越困难。对于量子变分问题,这意味着使用现在的技术求解大多数需要在高维非凸空间中进行优化的问题(如果不是不可能的话)将是非常困难的。现有技术的化学或组合优化问题可能需要数以千计的变分参数来可靠地收敛,而现代方法通常努力仅以几十个此类参数来收敛。根据优选实施例,作为本发明主题的系统已经允许我们改进化学和优化问题的收敛前景,其中收敛到所期望的准确度先前是不可能的。相关主题包括用于改善解离曲线收敛的自举、基于门的量子绝热方法、用于凸优化的同伦方法和用于优化的
内点方法。


技术实现要素:

28.说明性实施例提供了一种方法、系统和计算机程序产品。实施例包括用于具有中间再优化以求解量子计算中的困难变分量子问题的绝热进展的方法。实施例配置混合经典量子计算设备以执行对应于变分问题的量子电路。该配置进一步包括使混合经典量子计算设备通过执行绝热进展操作来执行量子电路,其中该绝热进展操作包括将变分问题的难度从问题的简化版本增加到变分问题。
29.实施例包括计算机可用程序产品。计算机可用程序产品包括计算机可读存储设备以及存储在存储设备上的程序指令。
30.实施例包括计算机系统。计算机系统包括处理器、计算机可读存储器和计算机可读存储设备、以及存储在存储设备上以供由处理器经由存储器执行的程序指令。
31.根据一个方面,提供了一种计算机实现的方法,包括:配置混合经典量子计算设备以执行对应于变分问题的量子电路,其中该配置进一步包括:使混合经典量子计算设备通过执行绝热进展操作来执行量子电路;生成对应于变分问题的参数化的优化问题的连续参数的第一增加,其中连续参数的当前状态对应于优化问题的可解状态;生成对应于第一增加的变分参数集合,变分参数集合指定量子电路的配置;以及响应于确定量子电路的输出与问题的已知正确解相差小于或等于阈值量,用第一增加来代替连续参数的当前状态。
32.根据另一方面,提供了一种计算机可用程序产品,该计算机可用程序产品包括一个或多个计算机可读存储设备以及存储在该一个或多个存储设备中的至少一个上的程序指令,所存储的程序指令包括:用于配置混合经典量子计算设备以执行对应于变分问题的量子电路的程序指令,其中该配置进一步包括:使混合经典量子计算设备通过执行绝热进展操作来执行量子电路;生成对应于变分问题的参数化的优化问题的连续参数的第一增加,其中连续参数的当前状态对应于优化问题的可解状态;生成对应于第一增加的变分参数集合,变分参数集合指定量子电路的配置;以及响应于确定量子电路的输出与问题的已知正确解相差小于或等于阈值量,用第一增加来代替连续参数的当前状态。
33.根据另一方面,提供了一种计算机系统,该计算机系统包括一个或多个处理器、一个或多个计算机可读存储器和一个或多个计算机可读存储设备、以及存储在该一个或多个存储设备中的至少一个上以供由该一个或多个处理器中的至少一个经由该一个或多个存储器中的至少一个执行的程序指令,所存储的程序指令包括:用于配置混合经典量子计算设备以执行对应于变分问题的量子电路的程序指令,其中该配置进一步包括:使混合经典量子计算设备通过执行绝热进展操作来执行量子电路;生成对应于变分问题的参数化的优化问题的连续参数的第一增加,其中连续参数的当前状态对应于优化问题的可解状态;生成对应于第一增加的变分参数集合,变分参数集合指定量子电路的配置;以及响应于确定量子电路的输出与问题的已知正确解相差小于或等于阈值量,用第一增加来代替连续参数的当前状态。
附图说明
34.现在将仅通过举例并且参考以下附图来描述本发明的优选实施例:
35.图1描绘了可以在其中实现说明性实施例的数据处理系统的网络的框图;
36.图2描绘了可以在其中实现说明性实施例的数据处理系统的框图。
37.图3描绘了根据说明性实施例的用于具有中间再优化以求解量子计算中的困难变分量子问题的绝热进展的示例配置的框图;
38.图4描绘了根据说明性实施例的用于具有中间再优化以求解量子计算中的困难变分量子问题的绝热进展的示例配置的框图;
39.图5描绘了根据说明性实施例的困难变分量子问题的示例,该困难变分量子问题适合于使用具有中间再优化以求解量子计算中的困难变分量子问题的绝热进展来求解;
40.图6描绘了根据说明性实施例的使用具有中间再优化的绝热进展来求解最大割问题的示例;
41.图7描绘了根据说明性实施例的使用具有中间再优化的绝热进展来计算解离曲线的示例;
42.图8描绘了根据说明性实施例的使用具有中间再优化的绝热进展来计算解离曲线的另一示例;
43.图9描绘了根据说明性实施例的用于具有中间再优化以求解量子计算中的困难变分量子问题的绝热进展的示例处理的流程图;以及
44.图10描绘了根据说明性实施例的用于具有中间再优化以求解量子计算中的困难变分量子问题的绝热进展的另一示例处理的流程图。
具体实施方式
45.变分问题的计算是公认的努力技术领域。使用由量子量子位形成的处理器的量子计算是另一公认的努力技术领域。结合这两个努力领域的技术的当前状态具有某些缺点和限制。说明性实施例的操作和/或配置赋予附加的或新的能力以改进这些努力技术领域中的现有技术,尤其是在具有中间再优化以求解量子计算中的困难变分量子问题的绝热进展方面。
46.说明性实施例认识到,在量子计算中求解诸如优化问题之类的问题典型地需要将优化问题连同其输入一起转换成伊辛哈密顿量,并且然后将伊辛哈密顿量传递到变分量子算法,诸如变分量子本征求解器(vqe)算法和量子近似优化算法(qaoa)。
47.伊辛(z.physik,31,253,1925)介绍了一种由“自旋”变量si的晶格组成的模型,其仅可以取值 1(

)和

1(

)。每个自旋与其最近邻(一维中有2个)以及与外部磁场h相互作用。参见示例一维伊辛模型,图3。
48.示例伊辛模型的哈密顿量是
[0049][0050]
求和<i,j>在最近邻上(在一维中j=i
±
1)。
[0051]
j是规定相互作用强度的常数。伊辛模型中的术语“自旋”和“磁场”源自其初始应用于铁磁材料(诸如铁)中的自发磁化现象。每个铁原子具有不成对的电子并且因此具有净自旋(或磁矩)。在低温处,自旋自发地对准,从而产生非零宏观磁矩。当温度超过居里温度
(其对于铁为1043k)时,宏观磁矩消失。
[0052]
伊辛模型可以应用于磁性之外的许多其他问题,例如二元合金中的相分离、晶体生长和求解优化问题。较高维度的伊辛模型通常用于求解许多问题。
[0053]
在周期性边界条件下在n个自旋的方形晶格上定义二维伊辛模型。同样,哈密顿量可以被写为
[0054][0055]
j描述相互作用的强度,h是外部磁场,并且求和是在所有<i,j>最近邻对上。每个自旋具有4个最近邻。
[0056]
优化和其他变分问题是计算密集型任务。在商业上可获得的传统计算机上,优化或其他变分问题的解空间的彻底分析可以容易地花费若干年。因此,说明性实施例还认识到,使用目前可用的方法,使用量子计算机以时间有效的方式计算最优解甚至更加困难。
[0057]
说明性实施例通过以下方式将困难变分问题求解到所期望的准确度:从问题的简化版本开始,这可以被求解到用户的准确度,并且然后小心地增加问题的复杂性同时一路求解每个更复杂的问题,直到最终求解出所期望的问题。增加问题的复杂性同时一路求解每个更复杂的问题,在本文中也被称为绝热进展。作为示例,在化学中解离曲线的情况下,这可以意味着从解离曲线的容易区段开始并且使哈密顿量朝向曲线的更困难的、更受激的区段进展。作为另一示例,在目标系统被表示为图的优化问题中,它可以意味着仅从几个节点或部件开始到问题,并且然后逐渐增加奇异点的数量。
[0058]
关键地,说明性实施例提供了用于控制使问题的难度进展的步速的方法,这是这里的主要挑战(尝试直接求解问题可以被视为差的步速——从容易问题一步跳到完全问题)。如果步骤的步速太激进,则中间优化的起点可能跳出吸引池(其包括所期望的解),使得优化器更不太可能找到解,或者使得其花费更长的时间来收敛。
[0059]
说明性实施例控制该步速以确保中间解达到用户所期望的准确度水平。当前技术的一些示例问题以及说明性实施例相对于现有技术的改进如下。首先,说明性实施例的方法与下面的“倒回(rewind)”方法一起使用,以将解离曲线和最大割问题完成到先前通过经由“自举”(窗口深度等于1的外推的形式)或直接地用变分算法求解为不可能的准确度。第二,相对于使用经典同伦或内点方法的改进在于实施例能够使用量子解——与问题的大小相比,中间解的波函数能够以指数方式保持许多概率。最后,在不久的将来,量子硬件将足够大,使得我们将不能以经典方式验证量子算法的解,并且增加我们的量子计算的可靠性的问题是紧迫的。
[0060]
说明性实施例认识到,目前可用的工具或解决方案没有解决这些需求或者为这些需求提供足够的解决方案。用于描述本发明的说明性实施例通常通过具有中间再优化以求解量子计算中的困难变分量子问题的绝热进展来解决和求解上述问题和其他相关问题。
[0061]
实施例可以被实现为软件应用程序。实现实施例的应用程序或其一个或多个部件可以被配置作为对现有的量子经典混合数据处理系统的修改(即,经典计算系统中的本机应用程序,该本机应用程序为量子计算系统产生输入),作为在通过网络与现有的量子计算系统通信的经典数据处理系统中执行的应用程序,作为以其他方式与现有量子经典系统结
合操作的单独应用程序,用于在经典系统上执行的独立应用程序,或者其某种组合。
[0062]
实施例配置混合数据处理环境,该混合数据处理环境包括经典计算环境和量子计算环境。根据说明性实施例,环境包括实施例可以在其上执行的至少一个传统节点(cn)和至少一个量子计算节点(qcn)。这种计算环境在下文中被称为量子计算环境(qce)。qce可以包括采用合适的配置(诸如集群)的一个或多个cn以使用传统二进制计算执行应用程序。混合环境可以但不必使用云计算架构来实现。为了求解给定的问题,实施例在经典计算环境中产生使用量子计算环境执行的量子电路。
[0063]
实施例如下工作:当提供具有单个连续参数z的参数化问题时,其中属性为对应于z=0的问题易于求解,并且对应于z=1(或更高一些,用户指定的z)的问题是实施例要求解的目标(潜在困难)问题。例如,如果要求解的问题是对图的优化(诸如最大割),那么参数化问题可以控制图中的边的数量,其中,当z=0时,图具有一条边(并且该问题易于求解),并且当z=1时,图具有原始问题实例中的所有边。在实施例中,从容易问题(z=0)到困难问题(z=1)的平滑进展是可获得的(这在同伦优化和内点方法的领域中进行了详细研究)。
[0064]
实施例以已知的容易问题开始。容易问题具有对应的连续参数z。连续参数z具有对应的变分参数集合。变分参数集合定义可以用于求解问题的量子电路的配置。因此,为了增加问题的复杂性,实施例将连续参数z增加一定量,因此相应地改变变分参数集合。经改变的变分参数集合定义量子电路的新配置,其可用于尝试求解更复杂的问题。
[0065]
实施例可以遵循许多方法之一,包括倒回实施例和竞争实施例之一或两者,以执行复杂性增加。每种方法不同地执行复杂性增加。
[0066]
倒回实施例适合于在问题的已知正确解还可以通过另一手段获得时使用。倒回实施例以简单状态中的连续参数z开始,并且将z增加到目标状态(即,最大z)。倒回实施例生成与新的z对应的变分参数集合。然后,倒回实施例使用由变分参数集合定义的量子电路配置来尝试求解问题。倒回实施例将量子电路的输出与通过另一手段获得的问题的已知正确解进行比较(诸如通过使用该解的多项式时间验证的某种形式,或通过与精确的经典解进行比较)。如果量子电路的输出低于与已知正确解的阈值差,则实施例已经求解了困难问题,满足了目标。相反,如果量子电路的输出高于与已知正确解的阈值差,或者量子电路未能完成执行并且在预定时间段内产生解,则倒回实施例推断z的增加已经过大。
[0067]
如果z的增加已经过大,则倒回实施例从起点选择z的较小增加。在一个实施例中,z的较小增加是先前增加的大小的一半。在另一实施例中,z的较小增加是1/3。在另一实施例中,较小增加是1/n乘以先前增加的大小,其中n是大于1的任何正整数。在另一实施例中,可以使用另一合适的方法来选择较小增加。
[0068]
一旦倒回实施例已经确定较小增加,实施例就重复以下处理:生成对应于新的z的变分参数集合,然后使用由新的变分参数集合定义的量子电路配置来尝试求解问题。如果新的z成功求解问题,则实施例将新的z作为起点,并且尝试以本文描述的方式增加z。
[0069]
如果新的z没有成功求解问题,则倒回实施例从起点选择z的甚至更小的增加。在一个实施例中,甚至更小的增加是1/n乘以先前增加的大小,其中n是大于1的任何正整数。在另一实施例中,可以使用另一合适的方法来选择更小增加。一旦倒回实施例已经确定甚至更小的增加,实施例就重复以下处理:生成对应于新的z的变分参数集合,然后使用由新的变分参数集合定义的量子电路配置来尝试求解问题。
[0070]
倒回实施例重复该处理,直到它从起点到达确实求解出问题的z的增加。实施例使新的z成为起点,并且尝试以本文描述的方式再次增加z。因此,倒回实施例在每个步骤中尽可能多地增加z,直到实施例生成具有z的目标值的正确量子电路配置。
[0071]
因此,如果每个增加小于先前的增加,那么倒回实施例的操作可以被理解为当使用前任者的变分参数时对位于吸引池内部的下一个点执行搜索(例如,当每个增加是先前的增加的一半时为二分搜索)。该搜索受到无限倒回并且从不取得进展的可能性的限制,因此在实践中,搜索优选地应该选择不看到或使用非常接近前任者的一些点。
[0072]
如果没有验证方法可用,则竞争实施例适合使用。竞争实施例使用一种或多种伪验证方法来选择若干可能的后继点中的一个。例如,在一个竞争实施例中,当在吸引池内部与外部时使用基于梯度的优化器收敛到最优点的时间差被用作关于进展的伪条件。这意味着,如果实施例确定吸引池内部的点非常快速地收敛,并且池外部的点花费10倍久,那么实施例可以使这些点的执行彼此“竞争”以选择下一个点。
[0073]
因此,竞争实施例从容易状态中的连续参数z开始,并且从起点生成z的增加的集合。在一个实施例中,增加的集合中的每个增加是与先前增加的固定距离,从而将从起点到目标状态的范围划分为相等大小的区段。另一实施例使用相等大小的区段,但仅达到中间状态而不是目标状态。另一实施例使用基于待求解的问题的已知特性而选择的不相等大小的区段,以最大化到达问题的可解状态的机会。例如,增加可以在z的一个值附近更小,而在z的另一值附近更大。另一实施例使用生成增加的集合的另一合适方法。
[0074]
对于集合中的每个新z,竞争实施例生成对应于每个新z的变分参数集合。然后,竞争实施例使用由每个变分参数集合定义的量子电路配置来尝试求解问题。
[0075]
每个量子电路配置并行执行。因为该组量子电路的执行时间倾向于集群,所以竞争实施例记录第一量子电路完成执行的时间。从该时间开始,实施例等待该组中的其他电路完成执行的附加时间段。在一个实施例中,附加时间段与第一电路完成的时间相同。在另一实施例中,附加时间段是第一电路完成的时间的两倍。在一个实施例中,附加时间段是第一电路完成的时间的三倍。其他实施例可配置为使用可调整时间段(诸如第一电路完成的时间的五倍或十倍)或绝对时间段(例如,十秒或一分钟)。
[0076]
实施例考虑在附加时间段内完成执行的任何电路作为该问题的潜在解。因为在附加时间段结束时仍在执行的任何电路都不是问题的潜在解,所以实施例停止这些电路的执行。实施例选择对应于解的组中的电路的z的最大值。实施例使新的z成为起点,并且尝试以本文描述的方式再次增加z。因此,竞争实施例在每个步骤中尽可能多地增加z,直到实施例达到z的目标值。
[0077]
伪验证方法的另一实施例使用每个候选点的计算的变分成本函数与它们各自的外推参数的比较。
[0078]
当实施例达到连续参数z的目标值(已经求解了困难问题)时,它终止并返回问题解。如果实施例未能达到z的目标值,则实施例返回可达到的z的值以及问题的对应复杂性水平的解。
[0079]
本文描述的实施例提供一种方法,该方法使用绝热进展来求解化学问题、机器学习问题、以及优化问题,但是不必执行昂贵的颤动或哈密顿量求幂步骤,这些步骤使得qaoa或绝热模拟对于嘈杂中间尺度量子(nisq)设备而言是无法实现的。实施例产生非常方形的
电路,其最佳地适合于nisq设备。实施例控制使问题的难度进展的精确步速。
[0080]
在涉及量子计算的努力技术领域中特别是在涉及操作量子数据处理环境以求解困难变分问题的努力技术领域中的目前可用的方法中,本文描述的具有中间再优化以求解量子计算中的困难变分量子问题的绝热进展的方式是不可用的。本文描述的实施例的方法当被实施以在设备或数据处理系统上执行时包括该设备或数据处理系统的功能在具有中间再优化以求解量子计算中的困难变分量子问题的绝热进展中的实质性进步。
[0081]
仅作为示例,关于某些类型的算法、库、代码、指令、维度、数据、设备、数据处理系统、环境、部件和应用程序来描述说明性实施例。这些和其他类似产物的任何特定表现不旨在限制本发明。可以在说明性实施例的范围内选择这些和其他类似产物的任何合适的表现。
[0082]
此外,说明性实施例可以相对于任何类型的数据、数据源或通过数据网络对数据源的访问来实现。在本发明的范围内,任何类型的数据存储设备可以在数据处理系统处本地或通过数据网络向本发明的实施例提供数据。在使用移动设备描述实施例的情况下,在说明性实施例的范围内,适合于与移动设备一起使用的任何类型的数据存储设备可在移动设备处本地或经由数据网络将数据提供到此实施例。
[0083]
说明性实施例使用特定代码、设计、架构、协议、布局、示意图和工具仅作为示例来描述,且不限于说明性实施例。此外,为了描述的清楚起见,在一些实例中说明性实施例使用特定软件、工具和数据处理环境仅作为示例来描述。说明性实施例可以结合其他可比较的或类似用途的结构、系统、应用程序或架构来使用。例如,在本发明的范围内,其他可比较的移动设备、结构、系统、应用程序或其架构可以结合本发明的这样的实施例来使用。说明性实施例可在硬件、软件或其组合中实施。
[0084]
本公开中的示例仅用于描述的清楚性,并且不限于说明性实施例。从本公开中可以想到附加的数据、操作、动作、任务、活动和操纵,并且这些附加的数据、操作、动作、任务、活动和操纵被构想在说明性实施例的范围内。
[0085]
在此列出的任何优点仅是示例并且不旨在限制说明性实施例。附加的或不同的优点可以通过特定的说明性实施例来实现。此外,特定说明性实施例可具有上文列出的优点中的一些、全部或没有上文列出的优点。
[0086]
参考附图并且特别是参考图1和图2,这些图是可以在其中实现说明性实施例的数据处理环境的示例图。图1和图2仅是示例并且不旨在断言或暗示关于其中可以实现不同实施例的环境的任何限制。特定实施例可基于以下描述对所描绘的环境做出许多修改。
[0087]
图1描绘了可以在其中实现说明性实施例的数据处理系统的网络的框图。数据处理环境100是其中可以实现说明性实施例的经典计算机的网络。数据处理环境100包括网络102。网络102是用于在数据处理环境100内连接在一起的各种设备和计算机之间提供通信链路的介质。网络102可包括连接,诸如有线、无线通信链路或光纤线缆。
[0088]
客户端或服务器仅是连接到网络102的某些数据处理系统的示例角色,并且不旨在排除这些数据处理系统的其他配置或角色。服务器104和服务器106是经典数据处理系统并且耦接到网络102以及存储单元108。软件应用程序可在数据处理环境100中的任何计算机上执行。客户端110、112和114也耦接到网络102。诸如服务器104或106或客户端110、112或114之类的数据处理系统可以包含数据并且可以具有在其上执行的软件应用程序或软件
工具。
[0089]
仅作为示例,并且不暗示对此类架构的任何限制,图1描绘了在实施例的示例实现中可用的某些部件。例如,服务器104和106以及客户端110、112、114仅作为示例被描绘为服务器和客户端,而不暗示对客户端

服务器架构的限制。作为另一示例,实施例可以如图所示分布在若干数据处理系统和数据网络上,而另一实施例可以在说明性实施例的范围内在单个数据处理系统上实现。数据处理系统104、106、110、112和114还表示集群中的示例节点、分区和适于实现实施例的其他配置。
[0090]
设备132是本文描述的设备的示例。例如,设备132可以采取智能电话、平板计算机、膝上型计算机、固定或便携形式的客户端110、可穿戴计算设备或任何其他合适的设备的形式。被描述为在图1中的另一数据处理系统中执行的任何软件应用程序可以被配置成以类似方式在设备132中执行。在图1中的另一数据处理系统中存储或产生的任何数据或信息可以被配置成以类似方式在设备132中存储或产生。
[0091]
qce 140是本文描述的qce的示例。作为示例,qce 140包括cn 104、106和许多其他类似的cn 142。作为示例,cn 106和142可以被配置为cn的集群144。qce 140进一步包括一个或多个qcn,诸如qcn 146。诸如qcn 146之类的qcn包括一个或多个q处理器148。当前可行的量子位是q处理器148的示例。应用程序105实现本文描述的实施例。应用程序105在cn上运行,诸如qce 140中的服务器104。应用程序105将操作库、电路和元数据存储在存储单元108中或存储在任何其他合适的存储设备中。
[0092]
qce 140可以使用有线连接、无线通信协议、或其他合适的数据连接来耦接到网络102。客户端110、112和114可以是例如个人计算机或网络计算机。网络102可以表示使用传输控制协议/因特网协议(tcp/ip)和其他协议来彼此通信的网络和网关的集合。图1旨在作为示例,而不是作为不同说明性实施例的架构限制。
[0093]
数据处理环境100也可以采取云的形式,并且采用服务递送的云计算模型以使得能够实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用程序、虚拟机和服务)的共享池的方便的按需网络访问,所述可配置计算资源可以用最小的管理努力或与服务供应商的交互来快速供应和释放。
[0094]
参考图2,该图描绘了可以在其中实现说明性实施例的数据处理系统的框图。数据处理系统200是计算机的示例,诸如图1中的服务器104和106或客户端110、112和114,或另一类型的设备,其中实现处理的计算机可用程序代码或指令可以被定位以用于说明性实施例。
[0095]
数据处理系统200也表示数据处理系统或其中的配置,诸如图1中的数据处理系统132,实现说明性实施例的处理的计算机可用程序代码或指令可以位于其中。数据处理系统200仅作为示例被描述为计算机,而不限于此。其他设备(诸如图1中的设备132)的形式的实现可以修改数据处理系统200(诸如通过添加触摸界面),并且甚至从数据处理系统200中消除某些所描绘的部件,而不背离本文描述的数据处理系统200的操作和功能的一般描述。
[0096]
在所描绘的示例中,数据处理系统200采用包括北桥和存储器控制器集线器(nb/mch)202以及南桥和输入/输出(i/o)控制器集线器(sb/ich)204的集线器架构。处理单元206、主存储器208和图形处理器210耦接到北桥和存储器控制器集线器(nb/mch)202。处理单元206可以包含一个或多个处理器并且可以使用一个或多个异构处理器系统来实现。处
理单元206可以是多核处理器。在某些实现方式中,图形处理器210可以通过加速图形端口(agp)耦接到nb/mch 202。
[0097]
在所描绘的示例中,局域网(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。
[0098]
诸如主存储器208、rom 224或闪存(未示出)之类的存储器是计算机可用存储设备的一些示例。硬盘驱动器或固态驱动器226、cd

rom 230和其他类似的可用设备是计算机可用存储设备的一些示例,计算机可用存储设备包括计算机可用存储介质。
[0099]
操作系统在处理单元206上运行。操作系统协调图2中的数据处理系统200内的各种部件和提供对图2中的数据处理系统200内的各种部件的控制。操作系统可以是用于任何类型的计算平台的商业上可获得的操作系统,包括但不限于服务器系统、个人计算机和移动设备。面向对象或其他类型的编程系统可以结合操作系统来操作,并且提供从在数据处理系统200上执行的程序或应用程序对操作系统的调用。
[0100]
用于操作系统、面向对象的编程系统和应用程序或程序(诸如图1中的应用程序105)的指令位于存储设备上,诸如以硬盘驱动器226上的代码226a的形式,并且可以被加载到一个或多个存储器中的至少一个(诸如主存储器208)以供由处理单元206执行。说明性实施例的处理可以由处理单元206使用计算机实现的指令来执行,这些指令可以位于存储器中,诸如例如主存储器208、只读存储器224,或者一个或多个外围设备中。
[0101]
此外,在一种情况下,代码226a可以通过网络201a从远程系统201b下载,其中类似的代码201c存储在存储设备201d上。在另一情况下,代码226a可以通过网络201a下载到远程系统201b,其中下载的代码201c存储在存储设备201d上。
[0102]
图1

图2中的硬件可以取决于实现方式而变化。除了图1

图2中描绘的硬件之外或代替图1

图2中描绘的硬件,可以使用其他内部硬件或外围设备,诸如闪存、等效非易失性存储器或光盘驱动器等。此外,说明性实施例的处理可以应用于多处理器数据处理系统。
[0103]
在一些说明性示例中,数据处理系统200可以是个人数字助理(pda),其通常配置有闪存以提供用于存储操作系统文件和/或用户生成的数据的非易失性存储器。总线系统可以包括一个或多个总线,例如系统总线、i/o总线和pci总线。当然,总线系统可以使用任何类型的通信结构或架构来实现,该通信结构或架构提供附连到该结构或架构的不同部件或设备之间的数据传送。
[0104]
通信单元可以包括用于发送和接收数据的一个或多个设备,诸如调制解调器或网络适配器。存储器可以是例如主存储器208或高速缓存,诸如在北桥和存储器控制器集线器202中找到的高速缓存。处理单元可以包括一个或多个处理器或cpu。
[0105]
图1

图2中描绘的示例和上述示例不意味着暗示架构限制。例如,除了采取移动或可穿戴设备的形式之外,数据处理系统200还可以是平板计算机、膝上型计算机或电话设备。
[0106]
在计算机或数据处理系统被描述为虚拟机、虚拟设备或虚拟部件的情况下,虚拟机、虚拟设备或虚拟部件使用数据处理系统200中描绘的一些或所有部件的虚拟化表现来以数据处理系统200的方式操作。例如,在虚拟机、虚拟设备或虚拟部件中,处理单元206表现为主机数据处理系统中可用的全部或一些数量的硬件处理单元206的虚拟化实例,主存储器208表现为可以在主机数据处理系统中可用的主存储器208的全部或一些部分的虚拟化实例,并且盘226表现为可以在主机数据处理系统中可用的盘226的全部或一些部分的虚拟化实例。这种情况下的主机数据处理系统由数据处理系统200表示。
[0107]
参考图3,该图描绘了根据说明性实施例的用于具有中间再优化以求解量子计算中的困难变分量子问题的绝热进展的示例配置的框图。云300是图1中的qce 140的示例。经典计算环境310是图1中的ccn 104的示例。量子计算环境320是图1中的qcn 146的示例。应用程序312是图1中的应用程序105的示例,并且在图1中的服务器104或图1中的任何其他合适的设备中执行。
[0108]
在经典计算环境310内,应用程序312接收具有单个连续参数z的参数化问题作为输入。应用程序312生成对应于z的各种值的量子电路。
[0109]
然后,在量子计算环境320内,包括量子位344和读出电路346的量子处理器340执行量子电路。量子计算环境320还包括量子处理器支持模块330,该模块输出执行量子电路的结果作为原始输入问题描述的解。
[0110]
参考图4,该图描绘了根据说明性实施例的用于具有中间再优化以求解量子计算中的困难变分量子问题的绝热进展的示例配置的框图。应用程序312与图3中的应用程序312相同。
[0111]
应用程序312接收已知的容易问题作为输入。容易问题具有对应的连续参数z。应用程序312也接收z的目标值作为输入,z的目标值表示要求解的问题的期望复杂性。
[0112]
步骤生成器410生成连续参数z的一个或多个增加。当实施倒回实施例时,模块410以简单状态中的连续参数z开始,并且将z增加到目标状态(即,最大z)。如果z的增加证明是太大的,则模块410从起点选择z的较小增加。如果新的z成功求解问题,则模块410使新的z成为起点,并再次将z增加到目标状态或者新的起点或目标状态之间的另一中间状态。模块410在每个步骤中尽可能多地继续增加z,直到应用程序312生成具有z的目标值的正确的量子电路配置。
[0113]
当实施竞争实施例时,模块410以容易状态中的连续参数z开始,并且从起点生成z的增加的集合。一旦一组对应的量子电路完成执行,模块410就选择与该组解中的电路对应的z的最大值。模块410使新的z成为起点,并且生成z的增加的新集合。模块410在每个步骤中尽可能多地继续增加z,直到应用程序312生成具有z的目标值的正确的量子电路配置。
[0114]
参数集合生成器420生成与由步骤生成器410生成的z的每个增加对应的变分参数集合。变分参数集合定义可以用于求解问题的量子电路的配置。
[0115]
问题求解器接口模块430采用由变分参数集合定义的量子电路配置作为输入。模块430将量子电路配置传递给量子计算环境320用于执行,并且从量子计算环境320接收回
执行结果。模块430还监测量子电路配置的执行时间和完成时间。
[0116]
解验证器接口模块440将量子电路的输出与通过另一手段获得的问题的已知正确解进行比较(诸如通过使用解的多项式时间验证的某种形式,或通过与精确的经典解进行比较)。
[0117]
参考图5,该图描绘了根据说明性实施例的困难变分量子问题的示例,该困难变分量子问题适合于使用具有中间再优化以求解量子计算中的困难变分量子问题的绝热进展来求解。
[0118]
曲线图510描绘了氟分子的解离曲线。每个氟分子由两个氟原子组成。曲线图510的x轴是两个原子之间的距离,并且曲线图510的y轴是能量的量。因此,曲线图510绘制了当原子距彼此处于特定距离时将两个原子拉开所需的能量的量。计算解离曲线中的每个点是特定复杂性的变分问题。
[0119]
曲线图520对应于曲线图510,并且描绘了与使用传统方法计算曲线图510相关联的经典计算相比的两个误差测量:总自旋和总能量。具体地,区域530指示解离曲线上的计算点的误差突增至基线上方的区域。因此,解离曲线的在区域530左侧的x轴上的点对应于较容易的要求解的问题。解离曲线的在区域530右侧的x轴上的点对应于相对较困难的要求解的问题。解离曲线的在区域530内的x轴上的点对应于最困难的要求解的问题。如果计算解离曲线的问题被参数化为变分问题,则在区域530左侧的在x轴上的点具有低z值,在区域530右侧的点具有中等尺度z值,并且区域530内的点具有高z值,其中z值在共同尺度上(例如0

1)。氟的解离曲线是非限制性示例。许多其他的解离曲线具有类似的特性,并且求解此类曲线上的点呈现类似量的比较计算复杂性。
[0120]
参考图6,该图描绘了根据说明性实施例的使用具有中间再优化的绝热进展来求解最大割问题的示例。可以使用图3中的应用程序312以本文描述的方式来求解该问题。
[0121]
如所描绘的,每次迭代表示z值的位置,z是对图上的优化问题(诸如最大割)进行参数化的从0至1的连续参数。在z=0时,图具有一条边(并且问题易于求解),并且在z=1时,图具有原始问题实例中的所有边。
[0122]
在迭代600中,使用倒回方法的应用程序312执行步骤0,以简单状态中的连续参数z(0)开始,并且将z增加到目标状态(即,最大值z或1)。然后,应用程序使用由变分参数集合定义的量子电路配置来尝试求解问题。应用程序将量子电路的输出与通过另一手段获得的问题的已知正确解进行比较,并且确定步骤0误差是5.16*10
‑7,高于与已知正确解的预定义阈值差。因此,应用程序推断将z从0增加到1的步骤0太大。
[0123]
在迭代610中,应用程序执行步骤1,从起点选择z的较小增加——在此,该较小增加是先前增加的大小的一半或者是0.5。然后,应用程序使用由变分参数集合定义的量子电路配置来尝试求解问题。应用程序将量子电路的输出与通过另一手段获得的问题的已知正确解进行比较,并且确定步骤1误差为3.42*10
‑8,仍然高于与已知正确解的预定义阈值差。因此,应用程序推断将z从0增加到0.5的步骤1也太大。
[0124]
在迭代620中,应用程序执行步骤2,从起点选择z的甚至更小的增加——在此,该甚至更小的增加是先前增加的大小的一半或者是0.25。然后,应用程序使用由变分参数集合定义的量子电路配置来尝试求解问题。这次,步骤2误差为4.56*10
‑9,低于与已知正确解的预定义阈值差。
[0125]
因此,在迭代630中,应用程序执行步骤3,将z从0.25增加到0.5,并且获得对应的量子电路配置的结果。这次,步骤3误差为3.59*10
‑9,仍低于与已知正确解的预定义阈值差。
[0126]
因此,在迭代640中,应用程序执行步骤4,将z从0.5增加到1,并且获得对应的量子电路配置的结果。这次,步骤4误差为2.23*10
‑9,也低于与已知正确解的预定义阈值差。因为误差低于阈值差且z=1,所以问题的目标状态已被求解。
[0127]
图6中描绘的增加没有描绘应用程序能够已经执行以达到目标状态的附加步骤。在不脱离说明性实施例的范围的情况下,应用程序能够已经执行了附加步骤、更少的步骤、或不同大小的增加。
[0128]
参考图7,该图描绘了根据说明性实施例的使用具有中间再优化的绝热进展计算解离曲线的示例。曲线上的点可以使用图3中的应用程序312以本文描述的方式来求解。
[0129]
曲线图700描绘了使用应用程序312获得的解离曲线上的点。曲线图700的x轴表示以埃测量的原子间距离,并且y轴描绘了解离能。曲线图700也描绘了使用另一种方法获得的理想解离曲线710。
[0130]
区域720描绘了已知具有较高复杂性的x轴的部分,其由高z值(例如,在0

1尺度上接近1)参数化。因此,应用程序开始求解在x轴上更向左的曲线上的点。
[0131]
具体地,应用程序从已经解出的点730开始。在步骤740中,使用倒回方法的应用程序增加z,以尝试求解具有比点730的x值高的x值的点。然而,应用程序的初始解高于与具有相同x值的曲线710上的点的阈值差。
[0132]
因此,在步骤750中,应用程序生成比步骤740的z的增加更小的z的增加。更小的增加导致在与具有相同x值的曲线710上的点的阈值差以下的解。
[0133]
因此,步骤750的z值变为新的起点。在步骤760中,应用程序再次将z增加到与在步骤740中尝试的相同水平。步骤750也导致在与具有相同x值的曲线710上的点的阈值差以下的解。应用程序以本文描述的方式继续,直到解离曲线上的所有期望的点都已经被解出。
[0134]
参考图8,该图描绘了根据说明性实施例的使用具有中间再优化的绝热进展计算解离曲线的另一示例。曲线上的点可以使用图3中的应用程序312以本文描述的方式来求解。曲线图700、曲线710和点730与图7中的曲线图700、曲线710和点730相同。
[0135]
应用程序以点730开始,点730已被解出。使用竞争方法的应用程序生成z的增加的集合以尝试求解具有比点730的x值高的x值的点。应用程序生成对应于z的增加的集合的量子电路,并且等待量子电路完成执行的预定时间段。在时间段结束时,对应于区域840的所有量子电路已经完成执行。对应于沿x轴进一步向右的点(例如,点860和870)的量子电路尚未完成执行。因为点850表示与区域840内的电路对应的从点730的z的最高增加,所以应用程序选择对应于点850的z值作为新起点并且重复处理。应用程序以本文描述的方式继续,直到解离曲线上的所有期望的点都已经被解出。
[0136]
参考图9,该图描绘了根据说明性实施例的用于具有中间再优化以求解量子计算中的困难变分量子问题的绝热进展的示例处理的流程图。处理900可以在图3或图4中的应用程序312中实现,并且示出了本文描述的倒回方法的操作。
[0137]
在框902中,应用程序生成参数化的优化问题的连续参数的增加,其中连续参数中的当前状态对应于问题的可解状态。在框904中,应用程序生成对应于增加的变分参数集合。在框906中,应用程序使用由变分参数集合指定的量子电路配置来求解问题。在框908
中,应用程序检查问题解是否大于与问题的已知正确解不同的阈值。如果不是(框908的“否”路径),则在框910中,应用程序生成问题的连续参数的小于先前增加的另一增加,并且然后返回到框904。否则(框908的“是”路径),在框912中,应用程序检查连续参数z是否处于目标状态。如果是,则应用程序结束。否则(框912的“否”路径),应用程序返回到框902。
[0138]
参考图10,该图描绘了根据说明性实施例的用于具有中间再优化以求解量子计算中的困难变分量子问题的绝热进展的另一示例处理的流程图。处理1000可以在图3或图4中的应用程序312中实现,并且示出本文描述的竞争方法的操作。
[0139]
在框1002中,应用程序生成参数化的优化问题的连续参数的不同大小的增加的集合,其中连续参数中的当前状态对应于问题的可解状态。在框1004中,应用程序生成对应于每个增加的变分参数集合。在框1006中,应用程序使用由每个变分参数集合指定的量子电路配置来求解问题。在框1008中,应用程序在量子电路之一完成执行之后等待预定时间段。在框1010中,应用程序选择也在该时间段内完成执行的与连续参数的最大增加对应的量子电路,并且用该最大增加代替z的当前值。在框1012中,应用程序检查连续参数z是否处于目标状态。如果是,则应用程序结束。否则(框1012的“否”路径),应用程序返回到框1002。
[0140]
因此,在说明性实施例中提供了用于具有中间再优化以求解量子计算中的困难变分量子问题的绝热进展和其他相关特征、功能或操作的计算机实现的方法、系统或装置、以及计算机程序产品。在关于一种类型的设备描述实施例或其部分的情况下,计算机实现的方法、系统或装置、计算机程序产品或其部分被适配或配置为与该类型的设备的合适且可比较的表现一起使用。
[0141]
在实施例被描述为在应用程序中实现的情况下,在说明性实施例的范围内设想了软件即服务(saas)模型中的应用程序的传递。在saas模型中,通过在云基础设施中执行应用程序来向用户提供实现实施例的应用程序的能力。用户可以通过瘦客户端接口(诸如web浏览器(例如,基于web的电子邮件))或其他轻量级客户端应用程序使用各种客户端设备来访问应用程序。用户不管理或控制包括网络、服务器、操作系统或云基础设施的存储的底层云基础设施。在一些情况下,用户甚至可以不管理或控制saas应用程序的能力。在一些其他情况下,应用程序的saas实现可以允许有限的特定于用户的应用程序配置设置的可能例外。
[0142]
本发明可以是任何可能的集成技术细节水平的系统、方法和/或计算机程序产品。计算机程序产品可以包含其上具有计算机可读程序指令的(一个或多个)计算机可读存储介质,所述计算机可读程序指令用于使处理器执行本发明的方面。
[0143]
计算机可读存储介质可以是能够保留和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述各项的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存),静态随机存取存储器(sram)、便携式致密盘只读存储器(cd

rom)、数字通用盘(dvd)、记忆棒、软盘、机械编码设备(诸如穿孔卡片或具有记录在其上的指令的凹槽中的凸起结构)以及前述各项的任何合适的组合。计算机可读存储介质(包括但不限于如本文所使用的计算机可读存储设备)不能理解为瞬态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例
如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
[0144]
本文所述的计算机可读程序指令可从计算机可读存储介质下载到相应的计算/处理设备,或经由网络(例如,因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输线缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以供在相应计算/处理设备内的计算机可读存储介质中存储。
[0145]
用于执行本发明的操作的计算机可读程序指令可以是汇编指令,指令集架构(isa)指令、机器指令、依赖机器指令、微代码、固件指令、状态设置数据,集成电路的配置数据,或以一种或多种编程语言的任何组合编写的源代码或目标代码,编程语言包括面向对象的编程语言(诸如smalltalk、c 等)以及过程式编程语言(诸如“c”编程语言或类似的编程语言)。计算机可读程序指令可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立软件包执行、部分在用户的计算机上并且部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用因特网服务供应商的因特网)。在一些实施例中,电子电路(包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla))可以通过利用计算机可读程序指令的状态信息以使电子电路个性化来执行计算机可读程序指令,以便执行本发明的方面。
[0146]
本文中参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图描述本发明的方面。应当理解,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合,都可以由计算机可读程序指令来实现。
[0147]
这些计算机可读程序指令可以被提供给通用计算机的处理器、专用计算机或其他可编程数据处理装置以产生机器,使得指令在经由计算机的处理器或其他可编程数据处理装置执行时创建用于实现在流程图和/或框图的一个或多个框中指定的功能/动作的手段。这些计算机可读程序指令还可以被存储在可以引导计算机、可编程数据处理装置和/或其他设备以特定方式起作用的计算机可读存储介质中,使得具有存储在其中的指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的方面的指令。
[0148]
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使一系列操作步骤在计算机、其他可编程装置或其他设备上执行以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
[0149]
附图中的流程图和框图图示了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。对此,流程图或框图中的每个框可以代表模块、段或指令的部分,其包括用于实现指定的(一个或多个)逻辑功能的一个或多个可执行指令。在一些替代实施方式中,框中所标注的功能可以不以图中所标注的次序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的次序执行。还将注意的是,框图和/或流程图图示中的每个框、以及框图和/或流程图图示中的框的组合可以由基于专用硬件的系统来实现,所述基于专用硬件的系统执行指定的
功能或动作或者执行专用硬件与计算机指令的组合。
[0150]
本发明的实施例也可以作为与客户端公司、非盈利性组织、政府实体、内部组织结构等的服务参与的一部分来递送。这些实施例的方面可以包括配置计算机系统来执行和部署实现本文描述的方法中的一些或全部的软件、硬件和web服务。这些实施例的方面还可以包括分析客户端的操作、响应于分析来创建推荐、构建实现推荐的部分的系统、将系统集成到现有处理和基础设施中、计量系统的使用、向系统的用户分配费用以及对系统的使用记账。虽然本发明的上述实施例每个都已经通过分别陈述其各自的优点进行了描述,但是本发明不限于其特定组合。相反,根据本发明的预期部署,这些实施例还可以以任何方式和数量进行组合,而不损失其有益效果。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献