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

优化设备、优化方法和记录优化程序的记录介质与流程

2021-10-23 00:24:00 来源:中国专利 TAG:优化 本文 实施 方式 程序


1.本文讨论的实施方式涉及优化设备、优化方法和优化程序。


背景技术:

2.在我们的社会中,存在许多“组合优化问题”,例如对灾难恢复过程的优化以及对递送路线的优化,这些组合优化问题中的每一个都在诸如有限人力资源和有限时间的约束下从许多要素的组合之中选择最优组合。作为搜索组合优化问题的最优解的方法之一,存在应用了被称为模拟退火方法的一种蒙特卡洛(monte carlo)方法的伊辛(ising)计算装置。模拟退火方法是通过使用随机数值来随机获得解的方法。
3.伊辛计算装置是搜索使由预定评价公式表示的伊辛模型的能量最小化的变量的组合的计算装置。在一些情况下,该变量被称为自旋,变量的值被称为自旋状态,并且自旋状态的转变被称为反转。
4.伊辛计算装置基于反转确定公式确定是否反转每个自旋,并且通过依次转变状态来搜索最低能量。将实际问题各自公式化到伊辛模型的能量公式中,并且利用伊辛计算装置搜索使能量最小化的自旋状态的组合,使得可以求解各种类型的组合优化问题。
5.将简要描述模拟退火方法中的最低能量搜索方法。伊辛计算装置从初始状态开始搜索,在初始状态中,将0或1代入表示要求解的问题的评价函数中的每个变量。伊辛计算装置选择与变量组合的当前状态接近的状态并且考虑向接近状态进行转变。与当前状态接近的状态是例如其中一个变量的状态被改变的状态。接下来,伊辛计算装置计算随着向所选择的状态转变的能量变化量,并且根据所计算的值随机地选择是接受该状态转变还是拒绝该状态转变并维持当前状态。当将针对能量减小的情况的接受概率设置为高于针对能量增大的情况的接受概率时,沿能量平均减小的方向发生状态变化,并且伊辛计算装置最终能够达到最优解处的能量或接近最优解处的能量。如果在能量减小的情况下确定地接受状态转变并且在能量增大的情况下拒绝状态转变,则从广义上讲能量的变化将随时间单调减小。然而,当达到局部解时,不会发生其他状态转变,并且难以期望达到最优解。因此,在针对组合优化问题的搜索中,随机地确定是否接受状态转变很重要。
6.在退火方法中,通过确定例如将1和e

(δe/t)
中较小的值用作状态转变的接受概率,证明了状态在无限次数的极限内被优化。此处,t是被称为温度的参数。伊辛计算装置将t设置为足够高作为初始温度并且根据搜索的迭代次数来降低t。在通过使用遵循上述公式设置的接受概率在足够大迭代次数之后达到稳态的情况下,每种状态所占的概率在力学中的热平衡下遵循玻尔兹曼分布。因此,当温度从高温逐渐降低时,低能量状态的占有率增大。出于这个原因,当温度充分降低时,伊辛计算装置能够获得接近最优解的低能量状态。
7.伊辛计算装置从初始状态开始、迭代上述处理并在完成特定次数迭代时结束操作,在初始状态中,适当地设置自旋状态的初始值、局部字段(local field)的初始值以及可根据自旋状态的初始值计算的能量。伊辛计算装置此时保持的最低能量值和自旋状态的组即为搜索结果。
8.近年来,出于解决具有较大规模并且难度较高的问题的原因以及其他原因,已经提出了通过伊辛计算装置与软件协作来搜索最低能量而不是单独通过伊辛计算装置来搜索最低能量的方法。在这样的方法中,软件通过预处理预先确定用于开始计算的自旋状态或者在计算过程中取出伊辛计算装置的结果、更改某些自旋状态并且然后将所得自旋状态再次返回给伊辛计算装置以继续搜索。
9.作为用于求解组合优化问题的方法,存在如下相关技术:在所述相关技术中,将具有最低能量的局部解中的偏移值设置为大于在能量不是最低的情况下的偏移值,并且然后将该偏移与能量的变化量相加以进行接受确定。
10.在日本公开特许公报第2018

63626号中公开了相关技术。


技术实现要素:

11.然而,如上所述,在计算开始之前,伊辛计算装置根据自旋状态设置能量并且设置每个自旋的初始局部字段。用于计算这些值的计算是在自旋状态取任何值的情况下对自旋数量的平方的数量的元素的计算。通过软件来计算这些值在计算时间上涉及太大开销并且是不实际的。因此,在相关技术中,通过从自旋的自旋状态都被设置为0的状态开始计算来避免用于生成初始状态的计算。这是因为,在自旋状态为0的情况下,能量仅是常数项,并且局部字段仅是每个自旋的偏置项。在相关技术中,在从特定自旋状态开始计算的情况下,软件方面的开销是可以容忍的。如上所述,在相关技术中,生成适当的初始状态并不容易并且难以提高伊辛计算装置的处理性能。
12.即使通过使用其中偏移与能量的变化量相加以进行接受确定的相关技术中的偏移,依然难以计算初始状态下的局部字段和能量并且难以提高伊辛计算装置的处理性能。
13.鉴于以上讨论而提出了所公开的技术,并且所公开技术的目的是提供提高针对组合优化问题的处理性能的优化设备、优化方法和优化程序。
14.在本技术中公开的优化设备、优化方法和优化程序的一方面中,温度控制单元控制指示温度的温度值。能量变化量计算单元计算在通过改变在表示能量的评价函数中包括的多个状态变量中的任一状态变量的状态来执行状态转变的情况下由评价函数表示的能量的变化量。确定单元根据能量的变化量与基于温度值和随机(random)数值计算的阈值之间的关系,随机地(stochastically)确定是否接受状态转变。期望值保存单元保存多个状态变量的状态中的每个状态的期望值。期望值比较单元将由期望值保存单元保存的期望值中的每个期望值与状态变量的状态的值中的对应值进行比较,并且提取每个不相等的状态变量。确认单元选择由期望值比较单元提取的状态变量并且改变所选择的状态变量的状态直至状态变量的状态的值全部等于期望值,以及在状态变量的状态的值一旦等于期望值之后选择被确定单元接受的状态转变的状态变量并且改变所选择的状态变量的状态。能量计算单元计算由确认单元选择的状态变量的状态被改变之后的转变后能量。在由能量计算单元计算的转变后能量小于最低能量的情况下,搜索单元将转变后能量设置为最低能量。
15.一方面,本发明可以提高针对组合优化问题的处理性能。
附图说明
16.图1是根据实施方式1的伊辛计算装置的框图。
17.图2是示出根据实施方式1的退火单元的细节的框图。
18.图3a和图3b是根据实施方式1的由伊辛计算装置进行的最优解搜索处理的流程图。
19.图4是伊辛计算装置的布置配置的图。
20.图5是单元电路的电路图像的图。
21.图6是根据实施方式1的使用伊辛计算装置的处理的流程图。
22.图7是在与软件协作的情况下的伊辛计算装置的框图。
23.图8是使用与软件协作的伊辛计算装置的处理的流程图。
24.图9是用于说明通过与软件协作来进行加速的图。
具体实施方式
25.在下文中,将参照附图详细描述在本技术中公开的优化设备、优化方法和优化程序的实施方式。在本技术中公开的优化设备、优化方法和优化程序不限于以下实施方式。
26.[实施方式1]
[0027]
图1是根据实施方式1的伊辛计算装置的框图。伊辛计算装置1包括多个退火单元10、温度控制单元20、阈值生成单元30、随机数生成单元40、反转自旋选择单元50、能量计算单元60、搜索结果保存单元70以及初始设置控制单元80。例如,一个伊辛计算装置1配备有1024个退火单元10。
[0028]
伊辛计算装置1是搜索使由作为评价函数的公式(1)至(4)表示的伊辛模型的能量最小化的变量x
i
(x0,x1,...,x
n
)的组合的优化设备。此处,公式(1)中的变量x
i
是状态变量并且取0或1的值。在下面的描述中,变量x
i
被称为“自旋”,变量x
i
的值被称为“自旋状态”,并且自旋状态的转变被称为“反转”。例如,自旋状态被表示为0或1。反转是自旋状态从0到1或从1到0的转变。
[0029]
[数学式1]
[0030][0031]
[数学式2]
[0032][0033]
[数学式3]
[0034][0035]
[数学式4]
[0036][0037]
此处,e是能量,并且δe
i
是在x
i
被反转的情况下的能量变化量。另外,h
i
是x
i
的局部字段,并且δh
i
是x
i
的局部字段的变化量。能量的变化量也可以由下面的δe表示。
[0038]
温度控制单元20是控制温度参数的值的电路。温度参数是用于控制温度的温度值。温度参数也可以由下面的t表示。
[0039]
例如,根据模拟退火方法,温度控制单元20通过与搜索的迭代次数成比例地逐渐减小温度参数的值来从足够高的初始温度起降低温度。在从初始状态开始之后,在温度控制单元20降低温度的同时迭代该操作,并且在满足结束确定条件例如已经完成了特定次数的迭代或能量下降到特定值以下的条件时结束该操作。替代地,温度控制单元20也可以使用副本交换方法,在副本交换方法中,通过并行执行具有不同温度条件的被称为副本的若干系统并且在每预定迭代次数之后对这些系统进行交换,来在低温条件和高温条件下执行最低能量搜索。
[0040]
随机数生成单元40是生成随机数值的电路。随机数生成单元40将所生成的随机数输出至阈值生成单元30和反转自旋选择单元50。
[0041]
阈值生成单元30是生成用于确定是否将每个自旋设置为反转候选的阈值的电路。阈值生成单元30从温度控制单元20获取温度参数。阈值生成单元30从随机数生成单元40获取随机数值。
[0042]
在本实施方式中,根据以下公式(5)接受变量的反转。例如,通过使用e

δe/t
和1中的较小值作为接受概率来接受变量的反转。
[0043]
[数学式5]
[0044][0045]
在本实施方式中,利用由随机数生成单元40生成的随机数,根据公式(5)随机地接受反转自旋。在这种情况下,接受概率遵循公式(5)的条件等效于在满足以下使用均匀随机数r的公式(6)时接受反转的条件。
[0046]
[数学式6]
[0047][0048]
公式(6)是用于确定是否接受反转的公式,并且在下面一些情况下被称为“反转确定公式”。
[0049]
阈值生成单元30使用温度参数和随机数值生成公式(6)右侧的值。阈值生成单元30将所生成的公式(6)右侧的值输出至退火单元10。
[0050]
当伊辛当计算装置1开始操作时,初始设置控制单元80输出初始化信号。此后,当随着期望的初始状态的形成而完成了初始化并且不存在需要设置反转候选标志的自旋时,初始设置控制单元80从反转自旋选择单元50接收到不存在反转候选标志的通知。在这种情况下,初始设置控制单元80停止输出初始化信号。在下文中,在一些情况下,初始设置控制单元80输出初始化信号的状态被称为初始化信号启用(on)的状态,并且初始设置控制单元80停止输出初始化信号的状态被称为初始化信号停用(off)的状态。
[0051]
退火单元10是这样的电路,该电路保存1位自旋例如1个自旋的自旋状态和局部字段,并且基于与自身自旋的反转相关联的能量变化量来确定是否将自身自旋设置为反转候选。在下文中,将参照图2更详细地描述退火单元10。图2是示出根据实施方式1的退火单元的细节的框图。如图1所示,存在多个退火单元10。退火单元10控制不同的自旋但是执行相
同的处理。因此,下面将描述特定的退火单元10。在下面的描述中,将由每个退火单元10控制的自旋称为自身自旋。
[0052]
如图2所示,退火单元10包括局部字段管理单元101、自旋状态管理单元102、能量变化量计算单元103、反转候选标志生成单元104、信号选择器电路105、自旋编号保存单元106、期望值保存单元107以及期望值比较单元108。
[0053]
自旋编号保存单元106保存用于识别自身自旋的自旋编号。例如,在将自旋表示为x
i
的情况下,自旋编号为i。在自身自旋为自旋x
i
的退火单元10中,自旋编号保存单元106将i作为用于识别自旋x
i
的自旋编号保存。自旋编号保存单元106将所保存的自旋编号输出至自旋状态管理单元102和反转自旋选择单元50。
[0054]
自旋状态管理单元102保存自身自旋的当前自旋状态并且管理自身自旋的自旋状态。例如,自旋状态管理单元102接收在最优解搜索处理开始时对自身自旋的自旋状态的初始值的设置。自旋状态管理单元102从自旋编号保存单元106获取自旋编号。自旋状态管理单元102将自旋状态与自旋编号一起输出至能量变化量计算单元103和期望值比较单元108。
[0055]
此后,在自旋的反转被接受的情况下,自旋状态管理单元102从反转自旋选择单元50接收对反转自旋的确认的通知以及反转自旋的自旋编号。如果自身自旋是反转自旋,则自旋状态管理单元102通过将经反转的自旋状态设置为自身自旋的当前自旋状态来更新所保存的自旋状态。
[0056]
局部字段管理单元101保存关于当前局部字段的信息并且管理自身自旋的局部字段。此处,由于可以基于局部字段和自旋状态根据公式(2)计算在自身自旋被反转的情况下的能量变化量,因此每个退火单元中的局部字段管理单元101保存关于局部字段的信息以便使得退火单元10能够计算能量的变化量。局部字段管理单元101将所保存的局部字段输出至能量变化量计算单元103。
[0057]
例如,局部字段管理单元101接收在最优解搜索处理开始时对自身自旋的局部字段的初始值的设置。替代地,局部字段管理单元101可以接收自旋的初始值的输入并计算自身自旋的局部字段的初始值。此后,在反转自旋被确认的情况下,局部字段管理单元101如稍后所述更新所保存的自身自旋的局部字段的信息。局部字段管理单元101将所保存的关于局部字段的信息输出至能量变化量计算单元103。
[0058]
在反转被接受的情况下,局部字段管理单元101从反转自旋选择单元50接收对反转自旋的确认的通知以及反转自旋的自旋编号。接下来,局部字段管理单元101使用被确认要反转的反转自旋的自旋编号,根据公式(4)计算局部字段的变化量。局部字段管理单元101通过将所计算的局部字段的变化量加至由局部字段管理单元101自身保存的关于局部字段的信息来计算自身自旋的局部字段。此后,局部字段管理单元101通过将所计算的关于局部字段的信息设置为关于当前局部字段的信息来更新所保存的关于局部字段的信息。
[0059]
能量变化量计算单元103从局部字段管理单元101接收关于局部字段的信息的输入。能量变化量计算单元103从自旋状态管理单元102接收自身自旋的自旋状态的输入。能量变化量计算单元103通过使用公式(2)来计算与自身自旋的反转相关联的能量变化量。此后,能量变化量计算单元103将所计算的与自身自旋的反转相关联的能量变化量输出至反转候选标志生成单元104和反转自旋选择单元50。
[0060]
反转候选标志生成单元104从能量变化量计算单元103接收与自身自旋的反转相关联的能量变化量的输入。反转候选标志生成单元104从阈值生成单元30接收由公式(6)表示的反转确定公式右侧的值的输入。反转候选标志生成单元104确定能量的变化量是否满足将从阈值生成单元30获取的值代入公式(6)右侧的反转确定公式。
[0061]
如果能量的变化量满足反转确定公式,则反转候选标志生成单元104生成指示自身自旋是反转候选的反转候选标志,并且将该反转候选标志输出至反转自旋选择单元50。另一方面,如果能量的变化量不满足反转确定公式,则反转候选标志生成单元104生成指示自身自旋不是反转候选的反转候选标志,并且将该反转候选标志输出至反转自旋选择单元50。例如,假设反转候选标志为f,则反转候选标志生成单元104在反转候选标志指示自身自旋是反转候选的情况下将值f设置为1,并且在反转候选标志指示自身自旋不是反转候选的情况下将值f设置为0。此后,反转候选标志生成单元104将所生成的反转候选标志输出至信号选择器电路105。反转候选标志生成单元104是“确定单元”的示例。
[0062]
期望值保存单元107从输入装置(未示出)等接收在计算开始时间处的自身自旋的期望值的输入。此处,计算开始时间是在所有自旋的自旋状态转变为预定初始状态之后开始实质退火的定时。期望值是指示在评价函数中赋予每个自旋的并且在计算开始时间被确定为初始状态的自旋状态的值。期望值保存单元107将0或1作为期望值。期望值保存单元107保存所获取的在计算开始时间处的期望值。
[0063]
期望值比较单元108确定经反转的自旋状态是否等于期望值并且输出确定结果。例如,期望值比较单元108从自旋状态管理单元102接收自身自旋的经反转的自旋状态的输入。期望值比较单元108从期望值保存单元107获取自身自旋的期望值。期望值比较单元108将自身自旋的经反转的自旋状态与期望值进行比较。如果自身自旋的经反转的自旋状态不等于期望值,则期望值比较单元108生成指示自身自旋是反转候选的反转候选标志。如果自身自旋的经反转的自旋状态等于期望值,则期望值比较单元108生成指示自身自旋不是反转候选的反转候选标志。此后,期望值比较单元108将所生成的反转候选标志输出至信号选择器电路105。
[0064]
信号选择器电路105从反转候选标志生成单元104接收基于反转确定公式的反转候选标志的输入。信号选择器电路105还从期望值比较单元108接收基于期望值的反转候选标志的输入。
[0065]
在伊辛计算装置1开始操作并执行初始化的情况下,信号选择器电路105从初始设置控制单元80接收初始化信号的输入。如果初始化信号为启用,则信号选择器电路105将从期望值比较单元108获取的反转候选标志输出至反转自旋选择单元50。因此,在初始化执行期间,经反转的自旋状态等于期望值的自旋被设置为反转候选自旋,而不管能量是增大或减少。
[0066]
当初始化完成并且初始化信号被停用时,信号选择器电路105将从反转候选标志生成单元104获取的反转候选标志输出至反转自旋选择单元50。例如,在初始化完成之后,经反转的自旋状态满足反转确定公式的自旋被设置为反转候选自旋。
[0067]
返回至图1,继续进行描述。反转自旋选择单元50从退火单元10的自旋编号保存单元106获取每个退火单元10中的自身自旋的自旋编号。反转自旋选择单元50从每个退火单元10的能量变化量计算单元103接收能量变化量的输入。反转自旋选择单元50从每个退火
单元10的信号选择器电路105接收反转候选标志的输入。反转自旋选择单元50从随机数生成单元40接收随机数的输入。
[0068]
反转自旋选择单元50对从各个退火单元10获取的反转候选标志进行检查并且确定是否存在如下反转候选自旋:该反转候选自旋是具有指示自旋是反转候选的反转候选标志的自旋。
[0069]
如果存在反转候选自旋,则反转自旋选择单元50根据从随机数生成单元40获取的随机数从所获取的反转候选自旋之中选择一个反转候选自旋。反转自旋选择单元50将所选择的反转候选自旋确认为反转自旋。此后,反转自旋选择单元50将对反转自旋的确认的通知以及反转自旋的自旋编号和自旋状态输出至退火单元10、能量计算单元60和搜索结果保存单元70。反转自旋选择单元50是“确认单元”的示例。
[0070]
如果不存在反转候选自旋,则反转自旋选择单元50向初始设置控制单元80输出反转候选自旋的不存在。由此,反转自旋选择单元50向初始设置控制单元80通知初始化完成。
[0071]
以这种方式,在初始化信号处于启用状态时,反转自旋选择单元50将具有等于期望值的反转结果的自旋视为反转候选自旋。从而,在初始化信号处于启用状态时,依次反转具有等于期望值的反转结果的每个自旋直至不存在反转候选自旋,并且获得这些自旋的等于相应期望值的自旋状态作为初始化状态。此后,停用初始化信号,并从期望的初始化状态起执行最优解搜索处理。
[0072]
能量计算单元60具有例如各个自旋的初始值,其中所有自旋状态被预先设置为0。能量计算单元60使用各个自旋的初始值根据公式(1)获得能量并保存该能量。
[0073]
此后,能量计算单元60从反转自旋选择单元50接收对反转自旋的确认的通知以及反转自旋的自旋编号和自旋状态的输入。接下来,能量计算单元60通过反转具有由反转自旋选择单元50通知的每个自旋编号的自旋的自旋状态来对保存在能量计算单元60中的自旋的自旋状态进行处理,并且从而生成这些自旋的新的自旋状态。
[0074]
能量计算单元60从反转自旋选择单元50获取在反转自旋的自旋状态被反转的情况下的能量变化量。能量计算单元60通过将所获取的能量变化量和已经保存的能量之和设置为新的能量来更新所保存的能量。
[0075]
能量计算单元60保存在反转自旋的自旋状态被反转的状态下的自旋的自旋状态。能量计算单元60将在反转自旋的自旋状态被反转的状态下计算的能量输出至搜索结果保存单元70。
[0076]
搜索结果保存单元70将初始能量设置为最低能量的初始值。接下来,搜索结果保存单元70从能量计算单元60接收关于所计算的能量的信息的输入。搜索结果保存单元70从反转自旋选择单元50接收反转自旋的自旋编号和自旋状态的输入。
[0077]
搜索结果保存单元70将所获取的能量与所保存的最低能量进行比较。如果所获取的能量小于最低能量,则搜索结果保存单元70将所获取的能量设置为最低能量。搜索结果保存单元70保存实现所获取的能量的自旋的自旋状态。另一方面,如果所获取的能量等于或大于最低能量,则搜索结果保存单元70继续保存该最低能量以及已经保存的自旋的自旋状态。搜索结果保存单元70是“搜索单元”的示例。
[0078]
接下来,将参照图3a和图3b给出对根据本实施方式的伊辛计算装置1的最优解搜索处理的序列的描述。图3a和图3b是根据实施方式1的由伊辛计算装置进行的最优解搜索
处理的流程图。
[0079]
基于来自操作者等的输入信息,在自旋编号保存单元106中设置自身自旋的自旋编号,并且在每个退火单元10的自旋状态管理单元102中设置自身自旋的自旋状态的初始值。此处,自旋的自旋状态全部为0。在局部字段管理单元101中,设置自身自旋的局部字段的初始值(步骤s101)。在这种情况下,由于每个自旋的自旋状态为0,因此局部字段是自旋的偏置项。
[0080]
在期望值保存单元107中,基于来自操作者等的输入信息设置计算开始时间处的自身自旋的期望值(步骤s102)。
[0081]
能量计算单元60基于来自操作者等的输入信息,获取各个自旋的自旋状态的初始值,并且根据所获取的自旋的自旋状态获取并设置能量的初始值(步骤s103)。在这种情况下,由于所有自旋的自旋状态为0,因此能量是常数项本身。
[0082]
初始设置控制单元80将初始化信号输出至退火单元10的信号选择器电路105以启用初始化信号(步骤s104)。
[0083]
每个退火单元10的能量变化量计算单元103获取由局部字段管理单元101保存的关于局部字段的信息。能量变化量计算单元103从自旋状态管理单元102接收自身自旋的经反转的自旋状态的输入。能量变化量计算单元103通过使用公式(2)来计算与自身自旋的反转相关联的能量变化量(步骤s105)。此后,能量变化量计算单元103将所计算的与自身自旋的反转相关联的能量变化量输出至反转候选标志生成单元104和反转自旋选择单元50。
[0084]
反转候选标志生成单元104从能量变化量计算单元103接收与自身自旋的反转相关联的能量变化量的输入。反转候选标志生成单元104从阈值生成单元30接收要用作阈值的公式(6)右侧的值的输入。反转候选标志生成单元104确定所获取的能量变化量是否满足其中从阈值生成单元30获取的值被代入公式(6)右侧的反转确定公式,并且生成基于反转确定公式的反转候选标志(步骤s106)。此后,反转候选标志生成单元104将基于反转确定公式的反转候选标志输出至信号选择器电路105。
[0085]
另外,期望值比较单元108将从期望值保存单元107获取的期望值与从自旋状态管理单元102获取的自身自旋的经反转的自旋状态进行比较以确定这两个值是否彼此相等(步骤s107)。
[0086]
接下来,根据比较结果,期望值比较单元108生成基于期望值的反转候选标志(步骤s108)。此后,期望值比较单元108将基于期望值的反转候选标志输出至信号选择器电路105。
[0087]
信号选择器电路105从反转候选标志生成单元104接收基于反转确定公式的反转候选标志的输入。信号选择器电路105还从期望值比较单元108接收基于期望值的反转候选标志的输入。信号选择器电路105确定初始化信号是否为启用(步骤s109)。
[0088]
如果初始化信号为启用(步骤s109:是),则信号选择器电路105将从期望值比较单元108获取的基于期望值的反转候选标志输出至反转自旋选择单元50(步骤s110)。
[0089]
另一方面,如果初始化信号为停用(步骤s109:否),则信号选择器电路105将从反转候选标志生成单元104获取的基于反转确定公式的反转候选标志输出至反转自旋选择单元50(步骤s111)。
[0090]
反转自旋选择单元50从退火单元10接收各个退火单元10中的自身自旋的自旋编
号以及自旋状态、能量变化量和反转候选标志的输入。反转自旋选择单元50基于反转候选标志确定是否存在反转候选自旋(步骤s112)。
[0091]
如果不存在反转候选自旋(步骤s112:否),则反转自旋选择单元50向初始设置控制单元80通知不存在反转候选自旋。响应于接收到不存在反转候选自旋的通知,初始设置控制单元80停止向信号选择器电路105输出初始化信号以停用初始化信号(步骤s113)。
[0092]
另一方面,如果存在反转候选自旋(步骤s112:是),则反转自旋选择单元50根据从随机数生成单元40输入的随机数值,从退火单元10获取的反转候选自旋之中选择一个反转候选自旋。反转自旋选择单元50将所选择的反转候选自旋确认为反转自旋(步骤s114)。此后,反转自旋选择单元50将确认反转自旋的通知以及反转自旋的自旋编号和自旋状态输出至能量计算单元60和搜索结果保存单元70。
[0093]
当接收到确认反转自旋的通知时,能量计算单元60通过反转具有从反转自旋选择单元50获取的每个自旋编号的自旋的自旋状态来对所保存的自旋的自旋状态进行处理。能量计算单元60从反转自旋选择单元50获取在反转自旋的自旋状态被反转的情况下的能量变化量。然后,能量计算单元60通过将所获取的能量变化量和已经保存的能量之和设置为新的能量来更新所保存的关于能量的信息(步骤s115)。
[0094]
此后,能量计算单元60将所计算的能量输出至搜索结果保存单元70。搜索结果保存单元70确定从能量计算单元60获取的能量是否小于所保存的最低能量(步骤s116)。如果从能量计算单元60获取的能量等于或大于所保存的最低能量(步骤s116:否),则最优解搜索处理进行至步骤s118。
[0095]
另一方面,如果从能量计算单元60获取的能量小于所保存的最低能量(步骤s116:是),则搜索结果保存单元70通过将从能量计算单元60获取的能量设置为最低能量来更新所保存的最低能量。搜索结果保存单元70将所保存的自旋的自旋状态之中反转自旋的自旋状态被反转的自旋的自旋状态作为实现最低能量的新的自旋状态保存(步骤s117)。
[0096]
每个退火单元10从反转自旋选择单元50接收对反转自旋的确认以及反转自旋的自旋编号的输入。如果被确认要反转的反转自旋是自身自旋,则自旋状态管理单元102更新自身自旋的自旋状态(步骤s118)。
[0097]
局部字段管理单元101使用被确认要反转的反转自旋的自旋编号,根据公式(4)计算局部字段的变化量。局部字段管理单元101通过使用所计算的局部字段的变化量和自身保存的局部字段的信息来计算自身自旋的局部字段。此后,局部字段管理单元101通过将关于所计算的局部字段的信息设置为关于当前局部字段的信息来更新所保存的关于局部字段的信息(步骤s119)。
[0098]
之后,搜索结果保存单元70确定是否已经完成预定次数的计算迭代(步骤s120)。如果尚未完成预定次数的计算迭代(步骤s120:否),则最优解搜索处理返回至步骤s105。另一方面,如果已经完成了预定次数的计算迭代(步骤s120:是),则搜索结果保存单元70将在该时刻保存的实现最低能量的自旋状态确定为最优解,并结束最优解搜索处理。
[0099]
图4是伊辛计算装置的布置配置的图。根据本实施方式的伊辛计算装置1等效于图4中的退火电路201。退火电路201是能够执行退火的功能单元。每个退火电路201包括多个单元电路202和控制电路203。例如,一个退火电路201配备有1024个单元电路202。单元电路202是用于实现一个自旋的确定和状态管理的逻辑单元并且用作退火单元10。控制电路203
是在退火电路201中执行控制的电路并且用作能量计算单元60、搜索结果保存单元70等。例如,控制电路203选择由各个单元电路202处理的自身自旋中的任一自身自旋作为反转候选自旋、接受该反转候选自旋并且在对该反转自旋进行确认后通知单元电路202。
[0100]
图5是示出单元电路的电路图的图。图5中示出的寄存器221是局部字段管理单元101的示例。此处,h
i
表示局部字段的值。寄存器222是自旋状态管理单元102的示例。此处,x
i
表示自旋x
i
的自旋状态。
[0101]
电路223是能量变化量计算单元103的示例。电路223使用局部字段h
i
和自旋x
i
的自旋状态计算能量变化量δe
i

[0102]
电路224是反转候选标志生成单元104的示例。电路224将能量变化量δe
i
与阈值th进行比较并且输出反转候选标志的值。
[0103]
寄存器226是期望值保存单元107的示例。此处,x
exp
表示期望值。
[0104]
电路227是期望值比较单元108的示例。电路227将自旋x
i
的自旋状态与期望值x
exp
进行比较并且输出反转候选标志的值。
[0105]
选择器电路225是信号选择器电路105的示例。在接收到初始化信号的输入的情况下,选择器电路225选择并输出从电路227输入的反转候选标志的值。在没有接收到初始化信号的输入的情况下,选择器电路225选择并输出从电路224输入的反转候选标志的值。
[0106]
图6是在使用根据实施方式1的伊辛计算装置时的处理的流程图。此处,将使用伊辛计算装置1的人称为用户。
[0107]
存在用户期望解决的求解问题51。用户通过使用计算机等执行将求解问题转换为伊辛模型的问题转换(步骤s151)。作为结果,获得由公式(1)表示的伊辛模型能量公式53。获取自旋状态、局部字段和能量的初始值54。
[0108]
另外,在将问题转换为伊辛模型之后,用户确定计算开始时的自旋状态(步骤s152)。从而,获取计算开始时的自旋状态的期望值55。
[0109]
接下来,将伊辛模型能量公式53、自旋状态、局部字段和能量的初始值54以及期望值55作为参数输入至伊辛计算装置1。将执行最优解搜索处理的操作条件52例如计算迭代的次数也作为参数输入至伊辛计算装置1(步骤s153)。
[0110]
之后,伊辛计算装置1执行计算(步骤s154)。该处理是通过上述伊辛计算装置1进行的最优解搜索处理。作为该计算的执行结果,获得计算结果56。
[0111]
用户获取计算结果56(步骤s155)。用户对所获取的计算结果56进行解译(在步骤s156中)。从而,用户获得求解问题51的求解问题的解57。
[0112]
如上所述,根据本实施方式的伊辛计算装置执行自旋状态反转使得每个自旋的自旋状态等于期望值,并且从而生成期望的初始状态。伊辛计算装置通过根据所生成的初始状态执行最优解搜索处理来获得解。因此,可以从期望的自旋状态开始在伊辛计算装置中进行最优解搜索处理,并且可以在较短的时间内达到最低能量。由于针对各个自旋并行地计算局部字段,因此计算速度高于在通过软件执行用于获取初始状态的计算的情况下的计算速度。因此,可以提高针对组合优化问题的伊辛计算装置的处理性能。
[0113]
根据本实施方式的伊辛计算装置在用于选择反转候选直至向初始状态的转变完成的方法方面进行了修改,但是在能量和局部字段的计算方面与相关技术保持相同。因此,在达到期望的初始状态之后,可以通过执行相关技术中的最优解搜索处理来获得正确值。
伊辛计算装置还实现了抑制物理资源的增加。
[0114]
例如,在计算自旋的能量和局部字段的情况下,能够对n位自旋进行计算的伊辛计算装置以n的平方步的量级执行计算。相比之下,尽管步数取决于要反转的自旋的数量,但是即使在最坏的情况下,根据本实施方式的伊辛计算装置也能够以n步执行上述计算。当要处理的自旋的数量为约1024时,就步数而言,计算速度为约1024倍快。由于软件还引起存储器访问等的等待时间,因此更高的效果是可以预期的。与用于传送针对问题设置的相互作用系数的时间或用于计算能量搜索的时间相比,用于向初始状态转变的时间的值可以忽略不计。
[0115]
在以上描述中,操作者确定期望值并将期望值输入至伊辛计算装置,但是实施方式不限于此。例如,伊辛计算装置可以在内部配备有创建期望值并且将自旋的自旋状态设置为等于期望值的功能。在这种情况下,使得伊辛计算装置能够在内部进行向特定状态的转变。这样的功能可以应用于例如位操作,例如等能量集群移动的平行回火(parallel tempering with isoenergetic cluster moves,pticm)。利用这样的功能,使得伊辛计算装置还能够执行将所有自旋的自旋状态重置为1的处理。
[0116]
[实施方式2]
[0117]
图7是示出根据实施方式2的信息处理系统的框图。根据本实施方式的伊辛计算装置1在与通过软件的处理协作地求解问题的约束条件的同时执行最优解搜索处理。在下面的描述中,将省略与实施方式1中的单元相同的单元的一些操作。
[0118]
一些组合优化问题对于要在组合中使用的值具有约束条件。约束条件的示例是:在分配了分别表示自旋的位的情况下,预定位数的自旋中的n位为1。该约束条件被称为“n

热约束”。将描述求解具有这样的约束条件的优化问题的情况。
[0119]
退火单元10接收对每个自旋在期望的初始状态下的期望值的设置。此后,在确认计算结果之后,退火单元10接收被调整为满足预定约束条件的计算结果的输入,并且将所获取的经调整的计算结果中的自旋状态设置为期望值。
[0120]
搜索结果保存单元70保存在预定次数的计算迭代结束之后获得最低能量的搜索结果。该搜索结果不一定满足约束条件。因此,搜索结果保存单元70将计算结果输出至执行软件的信息处理装置2。
[0121]
伊辛计算装置1中的单元通过使用期望值来生成初始状态、从所生成的初始状态开始最优解搜索处理以及获取计算结果。
[0122]
此后,在通过软件调整以满足约束条件的计算结果被输入时,伊辛计算装置1通过使用新设置的期望值生成初始状态、从所生成的初始状态开始最优解搜索处理以及获取计算结果。伊辛计算装置1将与软件交换计算结果迭代预定次数并且然后结束计算。
[0123]
由信息处理装置2执行的软件从搜索结果保存单元70接收计算结果的输入。该软件确定所输入的计算结果是否满足约束条件。如果计算结果满足约束条件,则软件将计算结果中的自旋状态照原样发送至伊辛计算装置1的退火单元10。另一方面,如果计算结果不满足约束条件,则软件对计算结果进行调整以满足约束条件,并且将经调整的自旋的自旋状态作为期望值发送至退火单元10以使退火单元10存储它们。
[0124]
图8是使用与软件协作的伊辛计算装置的处理的流程图。在下文中,将参照图8描述在使用根据本实施方式的伊辛计算装置1的情况下的问题求解处理的序列。
[0125]
存在用户期望解决的求解问题61。用户通过使用计算机等执行将求解问题转换为伊辛模型的问题转换(步骤s161)。作为结果,获得由公式(1)表示的伊辛模型能量公式63。获取自旋状态、局部字段和能量的初始值64。
[0126]
在将问题转换为伊辛模型之后,用户确定计算开始时的自旋状态以满足计算的约束条件。从而,获取计算开始时的自旋状态的期望值65。
[0127]
接下来,将伊辛模型能量公式63、自旋状态、局部字段和能量的初始值64以及期望值65作为参数输入至伊辛计算装置1。将用于执行最优解搜索处理的操作条件62例如计算迭代的次数也作为参数输入至伊辛计算装置1(步骤s162)。
[0128]
之后,伊辛计算装置1执行计算(步骤s163)。该处理是通过以上描述的伊辛计算装置1进行的最优解搜索处理。通过执行该计算获得计算结果66(步骤s164)。
[0129]
伊辛计算装置1确定使用通过软件调节的计算结果的计算是否已经被执行预定迭代次数(步骤s165)。
[0130]
如果使用通过软件调整的计算结果66作为期望值的计算的迭代次数没有达到预定次数(步骤s165:否),则伊辛计算装置1将计算结果66发送至信息处理装置2。信息处理装置2上的软件接收计算结果66的输入,并且改变计算结果66中的自旋状态以满足用于计算的约束条件(步骤s166)。此后,信息处理装置2上的软件将被改变以满足用于计算的约束条件的计算结果66作为在计算开始时的自旋状态的期望值65发送至伊辛计算装置1。之后,处理返回至步骤s162。
[0131]
另一方面,如果使用通过软件调整的计算结果66的计算的迭代次数达到预定次数(步骤s165:是),则用户对计算结果66进行解译(步骤s167)。从而,用户获得求解问题61的求解问题的解67。
[0132]
如上所述,在求解具有约束条件的优化问题的情况下,根据本实施方式的伊辛计算装置通过使用满足约束条件的自旋状态作为期望值来执行最优解搜索处理。伊辛计算装置迭代如下操作:在所述操作中,在通过软件对搜索结果进行调整以满足约束条件之后,通过使用经调整的搜索结果作为初始值来再次执行最优解搜索处理。以这种方式,与伊辛计算装置独自求解问题的情况相比,使得伊辛计算装置能够获得具有约束条件的优化问题的更优解。
[0133]
[实施方式3]
[0134]
接下来,将描述实施方式3。作为用于最优值的搜索方法的示例,已经提出了用于通过迭代如下过程来搜索最低能量的方法:将两个系统进行并行计算得到的自旋状态进行比较、提取在两个系统之间具有不同值的自旋以及交换这些值中的一些值。这样的搜索方法被称为等能量集群移动的平行回火(pticm)。在例如z.zhu、c.fang和h.g.katzgramer,borealis——a generalized global update algorithm for boolean optimization problems,arxiv:1605.09399(2016)中公开了这样的搜索方法。在执行这样的搜索处理时,根据本实施方式的伊辛计算装置通过使软件执行以下处理来与软件协作执行搜索:交换所提取的自旋的自旋状态并获取处理的结果。在图7的框图中也示出了根据本实施方式的伊辛计算装置1。
[0135]
退火单元10首先获取例如其中所有自旋的自旋状态均为0的便利值作为期望值。此后,在对搜索结果进行确认之后,退火单元10从信息处理装置2上的软件接收要在下次计
算中作为初始状态使用的各个自旋的自旋状态的输入。退火单元10将从信息处理装置2获取的自旋状态设置为用于下次计算的初始值。
[0136]
伊辛计算装置1中的单元在两个系统中并行地执行最优值搜索处理并获取相应的搜索结果。伊辛计算装置1中的单元使用从信息处理装置2输入到退火单元10的自旋状态作为期望值再次在两个系统中并行地执行最优值搜索处理,并获取相应的搜索结果。伊辛计算装置1中的单元将从信息处理装置2获取的自旋状态作为期望值使用的计算执行预定迭代次数。
[0137]
搜索结果保存单元70获取保存的两个系统中的搜索结果。搜索结果保存单元70确定将从信息处理装置2获取的自旋状态作为期望值使用的计算是否已经被执行预定迭代次数。如果迭代次数没有达到预定次数,则搜索结果保存单元70将两个系统中的搜索结果输出至软件。如果迭代次数达到预定次数,则搜索结果保存单元70此时在保存两个系统中的搜索结果的同时结束最优解搜索处理。
[0138]
图8还示出了使用根据本实施方式的伊辛计算装置时的处理的流程图。在下文中,将描述与实施方式2不同的处理,并且将省略对其他处理的描述。
[0139]
在本实施方式中,在步骤s163中,在两个系统中并行执行最优解搜索处理。伊辛计算装置1获取两个系统的搜索结果作为运算结果66。
[0140]
在步骤s165中,伊辛计算装置1确定将通过软件在两个系统之间交换的自旋状态作为期望值使用的计算是否已经被执行预定迭代次数(步骤s165)。
[0141]
如果使用通过软件改变的自旋状态的计算的迭代次数没有达到预定次数(步骤s165:否),则伊辛计算装置1将计算结果66发送至信息处理装置2。由信息处理装置2执行的软件对包括在计算结果66中的两个系统的搜索结果进行相互比较,并且提取两个系统之间具有不同自旋状态的自旋。接下来,由信息处理装置2执行的软件将所提取的自旋中的一些自旋进行交换以改变两个系统的搜索结果的自旋状态(步骤s166)。此后,由信息处理装置2执行的软件将两个系统的搜索结果的经改变的自旋状态作为期望值65发送至伊辛计算装置1。处理返回至步骤s162。
[0142]
图9是用于说明通过与软件协作来加速的图。图9中的流程301表示通过根据本实施方式的伊辛计算装置1进行的最优解搜索处理的序列。流程302表示不使用期望值的最优解搜索处理的序列。
[0143]
参照流程301,将描述通过根据本实施方式的伊辛计算装置1进行的最优解搜索处理。由操作者进行对伊辛计算装置1的初始设置(步骤s201)。在本实施方式中,用于建立初始值的处理时间可以被认为是零,因为所有自旋的自旋状态的第一期望值仅必须被设置为0。
[0144]
接下来,伊辛计算装置1对两个系统执行搜索处理(步骤s202)。因此,伊辛计算装置1获取两个系统的搜索结果(步骤s203)。
[0145]
此后,如果搜索处理的迭代次数没有达到预定次数,则伊辛计算装置1将搜索结果发送至信息处理装置2。由信息处理装置2执行的软件对两个系统的搜索结果执行位操作(步骤s204)。
[0146]
接下来,由信息处理设备2执行的软件将两个系统中对其执行了位操作的自旋的自旋状态作为期望值发送至伊辛计算装置1(步骤s205)。
[0147]
伊辛计算装置1设置初始状态使得每个自旋的自旋状态等于所获取的期望值(步骤s206)。之后,处理返回至步骤s202中的搜索处理。
[0148]
与此相比,将参照流程302描述通过伊辛计算装置1进行的不使用期望值的最优解搜索处理。由操作者进行对伊辛计算装置1的初始设置(步骤s211)。在这种情况下,所有自旋的自旋状态被设置为0。该处理与流程301的步骤s201中的处理相同。
[0149]
接下来,伊辛计算装置1对两个系统执行搜索处理(步骤s212)。从而,伊辛计算装置1获取两个系统的搜索结果(步骤s213)。这些处理与流程301的步骤s202和s203中的处理相同。
[0150]
此后,如果搜索处理的迭代次数没有达到预定次数,则伊辛计算装置1将搜索结果发送至信息处理装置2。由信息处理装置2执行的软件对两个系统的搜索结果执行位操作(步骤s214)。
[0151]
接下来,由信息处理装置2执行的软件根据两个系统中对其执行了位操作的自旋的自旋状态计算局部字段和能量(步骤s215)。此后,由信息处理装置2执行的软件将关于所计算的局部字段和能量的信息发送至伊辛计算装置1(步骤s216)。
[0152]
伊辛计算装置1将所获取的局部字段和能量设置为初始值并返回至步骤s212中的搜索处理。
[0153]
在这种情况下,在步骤s215中,在通过软件执行自旋状态交换之后进行的局部字段和能量的计算涉及大量的计算,并且因此在计算时间方面要求大的开销。相比之下,在流程301的步骤s205和s206中的处理中,伊辛计算装置获取交换之后的自旋状态并设置初始状态使得可以减少计算时间。
[0154]
如上所述,在通过使用被称为pticm的方法求解优化问题的情况下,根据本实施方式的伊辛计算装置通过使用如下自旋的自旋状态作为初始值来迭代最优解搜索处理:其中通过软件交换两个系统中的特定自旋状态。在相关技术中,在使用被称为pticm的方法求解优化问题的情况下,每次都执行以下操作:在自旋状态交换之后计算局部字段和能量;以及将计算结果发送至伊辛计算装置。相比之下,根据本实施方式的伊辛计算装置通过获取经软件交换之后的自旋状态作为要用于继续计算的期望值来执行计算的第二次以及之后的迭代。因此,可以缩短最优解搜索处理的执行时间。
[0155]
在实施方式2和实施方式3中描述的由信息处理装置2执行的软件是“状态改变单元”的示例。在实施方式2和实施方式3中,搜索最优解的伊辛计算装置1和执行软件的信息处理装置2被描述为不同的装置,但是这些装置可以被合并到同一设备中以形成单个优化设备。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜