CN117196021A - 信息处理设备、信息处理方法和存储介质 - Google Patents
信息处理设备、信息处理方法和存储介质 Download PDFInfo
- Publication number
- CN117196021A CN117196021A CN202310443109.1A CN202310443109A CN117196021A CN 117196021 A CN117196021 A CN 117196021A CN 202310443109 A CN202310443109 A CN 202310443109A CN 117196021 A CN117196021 A CN 117196021A
- Authority
- CN
- China
- Prior art keywords
- state
- travel
- information processing
- state variables
- values
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 101
- 238000003672 processing method Methods 0.000 title claims abstract description 6
- 238000000034 method Methods 0.000 claims abstract description 129
- 238000006243 chemical reaction Methods 0.000 claims abstract description 108
- 230000008569 process Effects 0.000 claims abstract description 94
- 230000007704 transition Effects 0.000 claims abstract description 64
- 238000005457 optimization Methods 0.000 claims abstract description 42
- 238000009825 accumulation Methods 0.000 claims abstract description 22
- -1 isooctyl Chemical group 0.000 claims abstract description 4
- 238000012545 processing Methods 0.000 claims description 84
- 230000006870 function Effects 0.000 claims description 59
- 230000008859 change Effects 0.000 claims description 46
- 230000015654 memory Effects 0.000 claims description 17
- 238000010586 diagram Methods 0.000 description 18
- 238000002922 simulated annealing Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 8
- 230000001186 cumulative effect Effects 0.000 description 7
- 230000002457 bidirectional effect Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 230000007423 decrease Effects 0.000 description 3
- 230000005283 ground state Effects 0.000 description 3
- 238000000137 annealing Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000010438 heat treatment Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- XOFYZVNMUHMLCC-ZPOLXVRWSA-N prednisone Chemical compound O=C1C=C[C@]2(C)[C@H]3C(=O)C[C@](C)([C@@](CC4)(O)C(=O)CO)[C@@H]4[C@@H]3CCC2=C1 XOFYZVNMUHMLCC-ZPOLXVRWSA-N 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- NHTMVDHEPJAVLT-UHFFFAOYSA-N Isooctane Chemical compound CC(C)CC(C)(C)C NHTMVDHEPJAVLT-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- JVSWJIKNEAIKJW-UHFFFAOYSA-N dimethyl-hexane Natural products CCCCCC(C)C JVSWJIKNEAIKJW-UHFFFAOYSA-N 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Algebra (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Operations Research (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
涉及信息处理设备、信息处理方法和存储介质。信息处理设备被配置成:存储包括在伊辛模型的能量函数中的N2个状态变量,并且通过重复进行改变四个状态变量的值以满足约束的状态转换来执行从第一状态通过多个状态返回到第一状态的旅行转换处理,在该约束中,在N2个状态变量布置在N行和N列中的情况下,包括在每行中的状态变量的值之和为1,并且包括在每列中的状态变量的值之和为1;指定第二状态,在第二状态中,每个状态转换的能量函数的值的变化量的累积满足预定确定标准;并且通过从第二状态开始搜索由能量函数表示的排列优化问题的解。
Description
技术领域
本文讨论的实施方式涉及信息处理设备、信息处理方法和存储介质。
背景技术
信息处理设备可以用于搜索组合优化问题的解。组合优化问题被转换为伊辛模型的能量函数,所述伊辛模型是表示磁体的自旋行为的模型。能量函数可以被称为评价函数或目标函数。
例如,信息处理设备在包括在能量函数中的状态变量的值的组合中搜索使能量函数的值最小化的组合。在这种情况下,使能量函数的值最小化的状态变量的值的组合对应于基态或由状态变量集合表示的最优解。作为用于在实际时间内获取组合优化问题的近似解的方法,应用了基于马尔可夫链蒙特卡罗(MCMC)方法的模拟退火(SA)方法、副本交换方法等。
同时,一些组合优化问题具有约束,在该约束中包括在能量函数中的多个状态变量中具有值为1的状态变量数仅为一个,例如,独热(1-Hot)约束。根据独热约束,在将N2个状态变量布置在N行和N列的矩阵中的情况下,包括在每行中和包括在每列中的状态变量的值之和为1。独热约束被称为双向独热(2-Way 1-Hot)约束。例如,在将x1至x9布置在3行和3列的矩阵形状中的情况下,其中x1+x2+x3=1、x4+x5+x6=1、x7+x8+x9=1、x1+x4+x7=1、x2+x5+x8=1和x3+x6+x9=1的约束是双向独热约束。旅行商问题、车辆路线问题、二次分配问题、线性排序问题等具有双向独热约束。
在具有双向独热约束的组合优化问题中,N行和N列中的每个状态变量的值可以由N个不同元素的排列(permutation)来表示。例如,假设三个不同的元素由“1,2,3”表示,则3行和3列中的每个状态变量的值由(1、2、3)、(2、1、3)等表示。例如,排列中的元素的位置指示行,并且排列中的元素的值指示状态变量为1的列。以这种方式,满足双向独热约束的解由排列来表示。其中解由排列表示的组合优化问题被称为排列优化问题(permutationoptimization problem)。
例如,存在通过使用双向独热约束来搜索组合优化问题的解的优化设备的建议。
存在优化设备的另一建议,在该优化设备中,在优化问题中从不同的初始状态重复解搜索的情况下,在每次解搜索中所使用的初始状态被设置为下述局部解:该局部解是通过从与过去所获得的解相隔预定距离或更大距离的第一状态来改进目标函数值而获得的。
还存在组合优化设备的另一建议,该组合优化设备搜索使第一能量函数的值最小化的多个状态变量的值。所提出的组合优化设备使用第一能量函数执行第一搜索,在第一搜索之后,使用通过从第一能量函数中去除表示约束条件的项获得的第二能量函数执行第二搜索,以及在第二搜索之后,使用第一能量函数执行第三搜索。
还存在信息处理设备的另一建议,在该信息处理设备中,在用于通过使用伊辛模型获得解的退火中,瞬时磁场的计算、自旋的更新概率的计算以及自旋的更新都并行执行。
日本公开特许公报第2021-157361号、日本公开特许公报第2021-43787号、日本公开特许公报第2021-33657号和美国专利第2021/0072959号作为相关技术被公开。
发明内容
[技术问题]
在对具有双向独热约束的组合优化问题(例如排列优化问题)的解执行搜索的上述优化设备中,在一次状态转换试验中最多改变四个状态变量的值。同时,在仅根据相对于当前状态改变最多四个状态变量的值的状态来确定转换目的地的状态的情况下,例如,在达到局部解的情况下,可能无法逃脱局部解。
根据一个方面,本公开内容的目的是提供一种能够有效搜索各种状态的信息处理设备、信息处理方法和程序。
[问题的解决方案]
根据实施方式的一方面,一种对由伊辛模型的能量函数表示的排列优化问题的解进行搜索的信息处理设备,该信息处理设备包括:存储单元,所述存储单元存储指示伊辛模型的状态的N2个状态变量(N是等于或大于3的整数),N2个状态变量包括在能量函数中;以及处理单元,所述处理单元通过重复进行改变N2个状态变量中的四个状态变量的值以满足约束的状态转换来执行从第一状态通过多个状态返回到第一状态的旅行转换处理(traveling transition process),在该约束中,在N2个状态变量被布置在N行和N列中的情况下,包括在每行中的状态变量的值之和为1,并且包括在每列中的状态变量的值之和为1;在通过旅行转换处理而顺序获得的多个状态中指定第二状态,在所述第二状态中,从第一状态开始的每次状态转换的能量函数的值的变化量的累积满足预定确定标准,并且通过从第二状态开始来搜索由能量函数表示的排列优化问题的解。
[发明的有益效果]
根据一个方面,可以有效地搜索各种状态。
附图说明
图1是用于描述根据第一实施方式的信息处理设备的图;
图2是示出根据第二实施方式的信息处理设备的硬件示例的图;
图3是示出具有双向独热的位翻转控制示例的图;
图4A和图4B是示出伊辛模型的状态与排列(a permutation)之间的对应关系的示例的图;
图5是示出信息处理设备的功能示例的图;
图6是示出正常2W1H模式和旅行转换模式(traveling transition mode)的操作示例的图;
图7是示出信息处理设备的处理示例的流程图;
图8是示出旅行转换模式的另一示例(部分1)的图;
图9是示出旅行转换模式的又一示例(部分2)的图;以及
图10是示出旅行转换模式的再一示例(部分3)的图。
具体实施方式
在下文中,将参照附图描述本实施方式。
[第一实施方式]
将描述第一实施方式。
图1是示出根据第一实施方式的信息处理设备的图。
信息处理设备10通过使用MCMC方法来搜索组合优化问题的解,并且输出搜索到的解。例如,信息处理设备10使用基于MCMC方法的SA方法等来搜索解。信息处理设备10包括存储单元11和处理单元12。
例如,存储单元11是易失性存储装置,例如随机存取存储器(RAM)。存储单元11可以包括电子电路,例如寄存器。处理单元12可以是电子电路,例如中央处理单元(CPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或图形处理单元(GPU)。处理单元12可以是执行程序的处理器。“处理器”可以包括多个处理器的集合(多处理器)。
组合优化问题通过伊辛型能量函数来公式化,并且被例如使能量函数的值最小化的问题替代。能量函数还可以被称为目标函数、评价函数等。能量函数包括多个状态变量。状态变量是取值为“0”或“1”的二进制变量。状态变量还可以被称为位。组合优化问题的解由多个状态变量的值表示。使能量函数的值最小化的解表示伊辛模型的基态,并且对应于组合优化问题的最优解。能量函数的值被表示为能量。
伊辛型能量函数由式(1)表示。
状态向量x具有多个状态变量作为元素,并且表示伊辛模型的状态。式(1)是以二次无约束二进制优化(QUBO)形式表示的能量函数。在使能量最大化的问题的情况下,可以反转能量函数的符号。
式(1)右侧的第一项通过针对可从所有状态变量中选择的两个状态变量的所有组合没有遗漏和重复地对两个状态变量的值与权重系数的乘积进行积分来获得。下标i和下标j是状态变量的索引。xi是第i个状态变量。xj是第j个状态变量。Wij是第i个状态变量与第j个状态变量之间的权重或指示耦合强度的权重系数。Wij=Wji,并且Wii=0。
式(1)右侧的第二项是所有状态变量中每个状态变量的状态变量的值与偏差的乘积之和。bi指示第i个状态变量的偏差(bias)。包括在能量函数中的包括权重系数、偏差等的问题数据存储在存储单元11中。在式(1)中,当状态变量xi的值变为1-xi时,xi的增加可以表示为δxi=(1-xi)-xi=1-2xi。根据xi的变化的能量变化量ΔEi由式(2)表示。
hi被称为局部域(local field)并且由式(3)表示。局部域还可以被称为局部域(LF)。
状态变量xj改变时的局部域hi的变化量δhi (j)由式(4)表示。
通过在状态变量xj的值改变时将变化量δhi (j)与hi相加来获得对应于xj的值改变之后的状态的hi。
在搜索基态时,使用Metropolis方法或Gibbs方法来确定是否允许能量变化为ΔEi的状态转换,例如状态变量xi的值的变化。例如,在用于对从某个状态到能量低于该状态的能量的另一状态的转换进行搜索的邻域搜索中,不仅随机地允许转换到能量降低的状态,而且随机地允许转换到能量增加的状态。例如,接受能量变化ΔE的状态变量的值的变化的概率A由式(5)表示。
β是温度值T(T>0)的倒数(β=1/T),并且被称为反温度。运算符min指示参数的最小值。式(5)的右上侧对应于Metropolis方法。式(5)的右下侧对应于Gibbs方法。针对特定索引i,处理单元12将满足0<u<1的均匀随机数u与A进行比较,并且当u<A时,处理单元12接受状态变量xi的值的变化,并且改变状态变量xi的值。除非u<A,否则处理单元12不接受状态变量xi的值的变化,并且也不改变状态变量xi的值。根据式(5),当ΔE是较大的值时,A较小。例如,当β较小时,T较大,ΔE较大的状态转换更有可能被允许。例如,在使用Metropolis方法的确定标准的情况下,可以由通过修改式(5)得到的式(6)来执行转换确定。
ln(u)×T≤-ΔE (6)
例如,在能量变化ΔE针对均匀随机数u(0<u≤1)满足式(6)的情况下,允许对应状态变量的值的变化。针对均匀随机数u,在能量变化ΔE不满足式(6)的情况下,不允许对应状态变量的值的变化。ln(u)·T对应于热噪声。例如,在SA方法中,在将温度值T从最大温度值逐渐降低到最小温度值的同时搜索解。
处理单元12通过排除对除了满足双向独热约束的状态以外的状态的搜索,有效地解决了具有双向独热约束的组合优化问题,例如排列优化问题。排列优化问题是用于获得使能量函数的值最小化或最大化的排列的问题,该排列由N2个状态变量的值表示。例如,排列优化问题包括二次分配问题(QAP)、旅行商问题(TSP)、车辆路线问题(VRP)、线性排序问题(LOP)等。在排除对除了满足双向独热约束的状态以外的状态的搜索的情况下,处理单元12在一次状态转换中改变四个状态变量的值。
在下文中,假设包括在能量函数中的n=N2(N是等于或大于3的整数)的状态变量具有双向独热约束。通过在一次状态转换中改变四个状态变量的值以使得满足当这些状态变量被布置在N行和N列中时包括在每行和每列中的状态变量的值之和为1的约束,排除了对除了满足双向独热约束的状态以外的状态的搜索。例如,在N2个状态变量布置在N行和N列中的情况下,以相同的方式,x1至xN对应于第一行的第一列至第N列,xN+1至x2N对应于第二行的第一列至第N列,并且然后xN^2-N+1至xN^2对应于第N行的第一列至第N列。
在将取值为0的状态变量之一设置为满足双向独热约束的状态中的更新目标候选的情况下,确定其他三个更新目标候选的状态变量。
例如,假设索引=i,j,k,l(i<j<k<l)的四个状态变量(xi,xj,xk,xl)的值被改变。xi和xj属于同一行。xi和xk属于同一列。xk和xl属于同一行。xj和xl属于同一列。
在取值为0的状态变量xj是更新目标候选的情况下,包括在与xj同一行和同一列中的状态变量中的取值为1的状态变量xi和xl是更新目标候选。在与xi同一列中以及与xl同一行中的取值为0的xk是更新目标候选。这四个状态变量(xi、xj、xk、xl)的值的变化可以由式(7)表示。
xi:1→0,xj:0→1,xk:0→1,xl:1→0 (7)
假设在四个状态变量(xi、xj、xk、xl)的值被改变的情况下伊辛模型的能量变化为ΔEj,ΔEj可以由下面的式(8)表示。
ΔEj=(hi+hl)-(hj+hk)-(Wil+Wjk) (8)
根据xi、xj、xk和xl的变化,局部域的变化量Δhm(m=1、2、…和n)由下面的式(9)表示。
Δhm=Wmj-Wmk-(Wmi-Wml) (9)
以这种方式,在排列优化问题中,式(8)的ΔEj被用于式(5)或式(6)的ΔE。使用式(9)中的Δhm替代式(4)中的δhi (j)。存储单元11保持N2个状态变量的值。存储单元11保持对应于N2个状态变量中的每个状态变量的局部域hm。处理单元12基于存储单元11中保持的hm计算ΔEj。基于ΔEj以及式(5)或式(6),处理单元12确定其值允许被改变的四个状态变量。在保持在存储单元11中的N2个状态变量中,处理单元12通过改变其值允许被改变的四个状态变量的值来转换伊辛模型的状态。当四个状态变量的值被改变时,处理单元12将存储单元11中保持的hm更新为hm=hm+Δhm。
例如,处理单元12可以重复执行以下过程:依次选择四个状态变量作为改变候选,执行ΔEj的计算或者式(5)或式(6)的确定,并且改变其值允许被改变的四个状态变量的值。可替选地,针对改变候选的多组四个状态变量,处理单元12可以并行地执行ΔEj的计算和式(5)或式(6)的确定。在这种情况下,处理单元12重复执行从允许值改变的集合中随机选择一个并且改变属于该集合的四个状态变量的值的过程。
以这种方式,处理单元12具有在排列优化问题的解的搜索中在一次状态转换试验中改变最多四个状态变量的值的机制。N行和N列中的每个状态变量的值可以由排列(apermutation)来表示。例如,排列的元素的位置指示行,并且排列的元素的值指示为1的状态变量的列。图1示出了N=4的情况,例如,排列(1,2,3,4)对应于由4行和4列的总共16个状态变量表示的状态20。例如,从排列的左边起的第p个值q指示由状态20指示的矩阵的从顶部起的第p行且从左边起的第q列的元素是1。从排列的左边起第p个值q可以指示由状态20指示的矩阵的从左边起的第p列且从顶部起的第q行中的元素是1。
由处理单元12改变四个状态变量的值的操作对应于交换排列中任意两个元素的位置的操作。同时,通过处理单元12的一次操作,针对初始排列(1,2,3,4),仅可以交换两个元素,例如(1,2,4,3)、(1,4,3,2)和(4,2,3,1)。
当通过这样的操作确定下一转换目的地的状态时,例如,在达到局部解的情况下,可能无法逃脱局部解,并且可能无法获得更合适的解。因此,处理单元12可以通过以下处理搜索更多不同的解。
例如,处理单元12通过重复进行改变四个状态变量的值的状态转换来执行从第一状态通过多个状态返回到第一状态的旅行转换处理(traveling transition process)。在通过旅行转换处理依次获得的状态中,处理单元12指定第二状态,在第二状态中,从第一状态开始的每个状态转换的能量函数的值的变化量的累积满足预定确定标准。
例如,处理单元12通过重复执行包括以下第一步骤至第四步骤的处理来获取相对于第一状态的第二状态。第一状态是在以下旅行转换处理的起点处的状态。
第一步骤是基于式(8)计算在N2个状态变量中的四个状态变量的值被改变的情况下能量变化量的步骤。预先确定接下来其值要被改变的四个状态变量的集合的选择顺序。
第二步骤是改变四个状态变量的值的步骤。在第二步骤处,处理单元12还基于式(9)更新局部域hm。
第三步骤是确定四个状态变量的值的每次变化的能量变化量的累积是否满足预定确定标准的步骤。从作为起点的第一状态到上一次所获得的能量的变化量的累积保持在存储单元11中。通过将当前第一步骤中所获得的能量变化量与直至前一次所获得的能量变化量的累积相加,处理单元12获得直至本次的能量变化量的累积ΔE'。累积ΔE'是作为起点处状态的第一状态下的能量与当前状态下的能量之间的差。例如,使用上面描述的Metropolis方法或Gibbs方法的确定标准作为预定确定标准。例如,处理单元12将式(5)或式(6)中的ΔE设置为变化量的累积ΔE',并且确定是否满足式(5)或式(6)的确定标准。第二步骤和第三步骤的执行顺序可以颠倒。
第四步骤是在变化量的累积不满足预定确定标准的情况下,选择接下来其值要被改变的四个状态变量的集合的步骤。在第四步骤之后,处理单元12进行至第一步骤,并且执行从第一步骤开始重复的处理。
在第三步骤的确定中能量变化量的累积满足预定确定标准的情况下,处理单元12将当前状态指定为相对于第一状态的第二状态,并且结束上述过程的重复。另一方面,处理单元12将在未指定第二状态的情况下通过多次重复上述包括第一步骤至第四步骤的过程而达到的状态与第一状态进行匹配。
表30和表40指示旅行转换处理的示例,其中状态20被设置为第一状态。表30表示获得了第二状态的情况。表40指示未获得第二状态的情况。表30和表40中的“次数”指示上述包括第一步骤至第四步骤的过程的重复次数。表30和表40的“状态”指示重复状态转换的次数等于重复次数时达到的状态。表30和表40中次数为“0”的记录指示第一状态。
例如,处理单元12使用转换模式,在该转换模式中,通过聚焦在排列(α,β,γ,δ)的最后一个元素δ上,通过依次选择交换目标(γ,δ)、(β,δ)和(α,δ)来执行切换。在这种情况下,每次交换后的排列是(α,β,δ,γ),(α,δ,β,γ)和(δ,α,β、γ)。当δ达到排列的头部时,处理单元12将该状态设置为新的排列(α,β,γ,δ),并且以相同的方式依次选择交换目标。因此,通过重复改变由4行和4列的状态变量表示的状态12次,状态返回至初始状态。
表30示出了在旅行转换处理期间满足确定标准的情况的示例。例如,假设处理单元12确定在上述转换模式以状态20为起点重复四次时的时间点处能量变化量的累积ΔE'满足确定标准。在这种情况下,处理单元12将对应于排列(4、1、3、2)的状态21指定为状态20的第二状态。
表40示出了在旅行转换处理期间不满足确定标准的情况的示例。例如,处理单元12在上述转换模式以状态20为起点重复12次时的时间点处达到状态20。例如,处理单元12将直到达到状态20为止由转换模式生成的所有状态设置为不同的状态。如上所述,通过重复进行利用特定转换模式进行替换来从第一状态开始并再次返回至第一状态的过程被称为旅行场景(traveling scenario)。
以这种方式,利用信息处理设备10,通过重复进行改变四个状态变量的值以满足当N2个状态变量被布置在N行和N列中时包括在每行中的状态变量的值之和为1并且包括在每列中的状态变量的值之和为1的约束的状态转换来执行从第一状态通过多个状态返回至第一状态的旅行转换处理。在通过旅行转换处理而依次获得的多个状态中指定第二状态,在该第二状态中,从第一状态开始的每个状态转换的能量函数的值的变化量的累积满足预定确定标准。同时,由于旅行转换处理可以在当第二状态被指定的时间点处结束,因此在这种情况下,信息处理设备10未获得旅行转换处理中第一状态返回至第一状态的所有状态。
例如,信息处理设备10可以通过多次执行处理单元12的一次改变四个状态变量的值的操作来搜索相对于第一状态的第二状态。因此,例如,信息处理设备10可以相对于由排列(1,2,3,4)表示的第一状态有效地搜索由排列(1,4,2,3)、(4,1,3,2)等表示的更多各种状态,并且获得第二状态。由排列(1,4,2,3)或(4,1,3,2)表示的状态是这样的状态,在该状态中,相对于由排列(1、2、3、4)表示的状态,数量大于4个的状态变量的值被改变。例如,可以说,信息处理设备10通过旅行转换处理来实现相对于第一状态改变数量大于4个的状态变量的值的多位转换。
还考虑到信息处理设备10重复状态转换以使得不返回到第一状态,并且实现相对于第一状态的多位转换。同时,在这种情况下,由于无法保证可以获得第二状态,所以当从第一状态开始状态转换时,信息处理设备10在存储单元11中保持第一状态中每个状态变量的值的副本和每个状态变量的局部域hm的副本。这是因为在未获得第二状态的情况下,可以恢复第一状态。同时,在第一状态中的每个状态变量的值的副本和局部域hm的副本保持在存储单元11中的情况下,存储单元11需要较大的存储容量。例如,在保持了第一状态中的每个状态变量的局部域hm的副本的情况下,为存储单元11请求的存储容量可能变得过大。
因此,通过用旅行转换处理将起点和终点与第一状态匹配,例如,信息处理设备10不必将对应于第一状态的局部域hm的副本保持在存储单元11中。通过旅行转换处理达到第一状态,每个状态变量的局部域hm也变为对应于第一状态的值。因此,例如,信息处理设备10可以搜索更多各种状态,同时例如通过有效地使用存储容量来抑制为存储单元11请求的存储容量的增加。因此,信息处理设备10可以有效地搜索各种状态。
信息处理设备10可以结合正常搜索处理来执行旅行转换处理。正常搜索处理是这样的处理:通过根据在四个状态变量的值相对于当前状态被改变以满足双向独热约束的情况下的能量变化量是否满足上述确定标准确定相对于当前状态的转换目的地的状态来搜索解。
例如,处理单元12首先执行正常搜索处理。在正常搜索处理中达到局部解的情况下,处理单元12可以以局部解作为第一状态来执行旅行转换处理。达到局部解的情况是在正常搜索处理中当前时间点的下一转换目的地候选的所有状态都不满足式(5)或式(6)的确定标准的情况。在这种情况下,当处理单元12通过旅行转换处理获得第二状态时,处理单元12可以从第二状态返回至正常搜索处理。因此,信息处理设备10可以从正常搜索处理中的局部解中逃脱,搜索更合适的解,并且提高解搜索性能。
作为又一示例,信息处理设备10可以通过包括多个旅行场景的旅行转换处理来搜索解。例如,在处理单元12通过第一旅行场景返回至旅行转换处理中的第一状态的情况下,处理单元12可以通过第二旅行场景继续旅行转换处理。在通过第一旅行场景在旅行转换处理中指定了第二状态的情况下,处理单元12可以通过将指定的第二状态设置为新的第一状态来通过第二旅行场景继续旅行转换处理。
例如,在正常搜索处理中达到局部解的情况下,处理单元12进行至通过第一旅行场景进行的旅行转换处理,并且通过第一旅行场景获取第二状态。处理单元12可以通过将第二状态设置为新的第一状态来进行至通过第二旅行场景进行的旅行转换处理,通过第二旅行场景获取第二状态,并且从第二状态返回到正常搜索处理。处理单元12可以仅通过使用多个旅行场景的旅行转换处理而不使用正常搜索处理来搜索解。
以这种方式,通过组合使用多个旅行场景,信息处理设备10可以搜索通过仅一个旅行场景可能无法达到的各种解,并且可以提高解搜索性能。
在周期性降低式(5)或式(6)中使用的温度值T的同时,处理单元12执行上述包括旅行转换处理的对解的搜索。在达到最终温度值后,例如,处理单元12输出到目前为止所获得的解中具有最低能量的解作为排列优化问题的最终解。因此,信息处理设备10可以有效地获得排列优化问题的解。
[第二实施方式]
接下来,将描述第二实施方式。
图2是示出根据第二实施方式的信息处理设备的硬件示例的图。
信息处理设备100通过使用MCMC方法来搜索组合优化问题的解,并且输出搜索到的解。信息处理设备100包括CPU 101、RAM 102、硬盘驱动器(HDD)103、GPU 104、输入接口105、介质读取器106、网络接口卡(NIC)107和加速器卡108。
CPU 101是执行程序的命令的处理器。CPU 101将存储在HDD 103中的程序或数据的至少一部分加载到RAM 102中并且执行该程序。CPU 101可以包括多个处理器核。信息处理设备100可以具有多个处理器。可以通过使用多个处理器或处理器核并行执行下面所描述的处理。多个处理器的集合可以被称为“多处理器”或仅被称为“处理器”。
RAM 102是易失性半导体存储器,其临时存储由CPU 101执行的程序或被CPU 101用于进行操作的数据。信息处理设备100可以包括除了RAM以外的类型的存储器,并且可以包括多个存储器。
HDD 103是非易失性存储装置,其存储数据以及软件的程序,例如操作系统(OS)、中间件或应用软件。信息处理设备100可以包括其他类型的存储装置,例如,闪速存储器和固态驱动器(SSD),并且可以包括多个非易失性存储装置。
GPU 104根据来自CPU 101的命令将图像输出到耦接至信息处理设备100的显示器51。任意类型的显示器例如阴极射线管(CRT)显示器、液晶显示器(LCD)、等离子显示器或有机电致发光(OEL)显示器可以用作显示器51。
输入接口105从耦接至信息处理设备100的输入装置52获取输入信号,并且将输入信号输出至CPU 101。可以使用定点装置例如鼠标、触摸面板、触摸板或轨迹球、键盘、远程控制器、按钮开关等作为输入装置52。多种类型的输入装置可以耦接至信息处理设备100。
介质读取器106是读取记录在记录介质53中的程序或数据的读取装置。例如,可以使用磁盘、光盘、磁光(MO)盘、半导体存储器等作为记录介质53。磁盘包括软盘(FD)或HDD。光盘包括致密盘(CD)或数字多功能光盘(DVD)。
例如,介质读取器106将从记录介质53读取的程序或数据复制到另一记录介质例如RAM 102或HDD 103中。例如,所读取的程序由CPU 101执行。记录介质53可以是便携式记录介质,并且可以用于分发程序和数据。记录介质53和HDD 103在某些情况下可以被称为计算机可读记录介质。
NIC 107是耦接至网络54的接口,并且经由网络54与另一计算机通信。例如,NIC107通过线缆耦接至通信装置例如交换机或路由器。NIC 107可以是无线通信接口。
加速器卡108是通过使用MCMC方法来搜索由式(1)的伊辛型能量函数表示的问题的解的硬件加速器。加速器卡108从CPU 101接收指示关于包括权重系数或偏差的能量函数的信息的问题数据,搜索解并输出搜索到的解。
通过在特定温度下执行MCMC方法或者在多个温度之间交换伊辛模型的状态的副本交换方法,可以使用加速器卡108作为在对应温度下对遵循玻尔兹曼分布的状态进行采样的采样器。为了搜索组合优化问题的解,加速器卡108执行退火处理,例如其中温度值逐渐降低的SA方法或副本交换方法。
SA方法是通过在每个温度值处根据玻尔兹曼分布对状态进行采样并且将用于采样的温度值从高温降低到低温(例如,增加逆温度β)来高效地找到最优解的方法。由于即使在低温侧(例如β较大)的情况下,状态也有一定程度的改变,因此即使温度值迅速降低,也存在可以找到合适的解的较高可能性。例如,在使用SA方法的情况下,加速器卡108在特定温度值下重复状态转换试验特定次数之后,重复进行降低温度值的操作。
副本交换方法是使用多个温度值独立地执行MCMC方法并且针对在各个温度值下获得的状态适当地交换温度值的方法。通过在低温下用MCMC方法搜索窄范围的状态空间,并且在高温下用MCMC方法搜索宽范围的状态空间,可以有效地找到合适的解。例如,在使用副本交换方法的情况下,加速器卡108在多个温度值中的每个温度值处并行地执行状态转换试验,重复进行在每次执行特定数目的试验时针对在每个温度值处获得的状态以预定交换概率交换温度值的操作。
加速器卡108具有FPGA109。FPGA109在加速器卡108中实现解搜索功能。解搜索功能可以通过另一类型的电子电路例如GPU或ASIC来实现。FPGA109包括存储器109a。存储器109a保持用于在FPGA109中搜索的问题数据或在FPGA109中搜索到的解。例如,存储器109a是静态随机存取存储器(SRAM)。FPGA109可以包括包含存储器109a在内的多个存储器。FPGA109是根据第一实施方式的处理单元12的示例。存储器109a是根据第一实施方式的存储单元11的示例。加速器卡108可以具有FPGA109外部的RAM,并且可以根据FPGA 109的处理将存储在存储器109a中的数据临时保存到RAM中。
可以将搜索具有伊辛形式的问题的解的硬件加速器(例如,加速器卡108)称为伊辛机器、玻尔兹曼机器等。
图3是示出具有双向独热的位翻转控制示例的图。
在组合优化问题中可以施加被称为双向独热约束的约束条件。具有双向独热约束的组合优化问题被称为排列优化问题。双向独热简称为2W1H。
独热约束是“在特定的状态变量集合中仅存在一个值为“1”的变量”的约束。例如,图3示出了N行和N列中的N2(其中,N是等于或大于3的整数)个状态变量x1、x2、…。组g11和组g12指示对应于行的状态变量组的示例。组g21和组g22指示对应于列的状态变量组的示例。在将独热约束应用于对应于行的状态变量组的情况下,每行的状态变量之和等于1。例如,属于组g11的状态变量之和等于1。属于组g12的状态变量之和等于1。可替选地,在将独热约束应用于对应于列的状态变量组的情况下,每列的状态变量之和等于1。例如,属于组g21的状态变量之和等于1。属于组g22的状态变量之和等于1。
根据2W1H,通过一次操作改变4个状态变量的值以使得满足两个独热约束。例如,获取了如式(7)中所表示的4位翻转。i、j、k和l是指示要翻转的状态变量集合的一组索引。得到i<j<k<l。图3示出了对应于索引i、j、k和l的状态变量集合的示例。在2W1H中,状态变量数是N2,并且每个状态变量被分组为在N行中的每行和N列中的每列中施加独热约束的组。这种情况下的能量变化ΔEj由式(8)表示。对应于状态变量xm的局部域的变化量Δhm由式(9)表示。m=1,2,…和N2。
图4A和图4B是示出伊辛模型的状态与排列之间的对应关系的示例的图。
图4A示出了在N=5的情况下的伊辛模型的状态61的示例。图4B示出了在N=5的情况下的伊辛模型的状态62。状态61和状态62中的每个状态由25个状态变量x1至x25表示。由状态61和状态62中的每个状态指示的矩阵的第一行是状态变量x1至x5的组。第二行是状态变量x6至x10的组。第三行是状态变量x11至x15的组。第四行是状态变量x16至x20的组。第五行是状态变量x21至x25的组。也在列方向上对每个状态变量进行分组。
在状态61的示例中,在行方向上的每组的状态变量的值如下。{x1,x2,x3,x4,x5}={1,0,0,0,0}。{x6,x7,x8,x9,x10}={0,1,0,0,0}。{x11,x12,x13,x14,x15}={0,0,1,0,0}。{x16,x17,x18,x19,x20}={0,0,0,1,0}。{x21,x22,x23,x24,x25}={0,0,0,0,1}。在这种情况下,状态61被表示为排列(1,2,3,4,5)。如上所述,例如,从排列的左侧起的第p个值q指示由状态61、状态62等指示的矩阵从顶部起的第p行且从左侧起的第q列的元素为1。
在状态62的示例中,在行方向上的每组的状态变量的值如下。{x1,x2,x3,x4,x5}={0,0,0,1,0}。{x6,x7,x8,x9,x10}={0,1,0,0,0}。{x11,x12,x13,x14,x15}={0,0,1,0,0}。{x16,x17,x18,x19,x20}={0,0,0,0,1}。{x21,x22,x23,x24,x25}={1,0,0,0,0}。在这种情况下,状态62由排列(4,2,3,5,1)来表示。
图5是示出信息处理设备的功能示例的图。
信息处理设备100搜索排列优化问题的解。信息处理设备100包括权重系数保持单元110、局部域保持单元120、ΔE计算单元130、确定单元140、状态保持单元150、控制单元160和旅行场景存储单元170。FPGA 109实现权重系数保持单元110、局部域保持单元120、ΔE计算单元130、确定单元140、状态保持单元150、控制单元160和旅行场景存储单元170。存储器109a被用作权重系数保持单元110、局部域保持单元120和旅行场景存储单元170中的数据存储区域。
权重系数保持单元110保持式(1)中的权重系数矩阵W。基于从确定单元140提供的索引j,权重系数保持单元110将权重系数Wmi、Wmj、Wmk和Wml提供给局部域保持单元120。
局部域保持单元120保持局部域h1、h2、…和hn,并且根据通过2W1H的四个状态变量xi、xj、xk和xl的值的变化,基于权重系数保持单元110中保持的权重系数矩阵W,通过式(9)更新局部域h1、h2、……和hn。n是所有状态变量的数量,并且n=N2。
ΔE计算单元130通过式(8)计算在状态变量xi、xj、xk和xl的值被改变的情况下的能量变化ΔEj。对于被设置为改变候选的多个状态变量,ΔE计算单元130可以并行计算多个ΔE。
基于式(6),确定单元140确定是否允许四个状态变量xi、xj、xk和xl的值的改变。在允许的情况下,确定单元140改变状态保持单元150中保持的四个状态变量xi、xj、xk和xl的值,并且将索引i、j、k和l提供给权重系数保持单元110。在ΔE计算单元130并行计算多个ΔE的情况下,确定单元140基于式(6)选择其值允许被改变的多个四个状态变量集合中的任意一个,并且改变属于所选择的集合的四个状态变量的值。
状态保持单元150保持状态变量(x1、x2、…和xn)。通过相对于初始状态中的能量根据状态转换对ΔE进行积分,状态保持单元150可以保持对应于当前状态的能量。
根据保持在旅行场景存储单元170中的旅行场景,控制单元160控制局部域保持单元120和ΔE计算单元130中的旅行转换模式下的操作。旅行转换模式是执行第一实施方式的旅行转换处理的模式。在旅行转换模式下,控制单元160指定状态变量(x1、x2、…和xn)中的哪四个比特例如哪四个状态变量的值要被改变,并且读取局部域,并且执行ΔE的计算。控制单元160控制局部域保持单元120和ΔE计算单元130在正常2W1H模式下的操作与旅行转换模式下的操作之间进行切换。
例如,正常2W1H模式是这样的模式:其中状态变量(x1、x2、…和xn)之一被顺序地选择为xj,并且执行是否要改变四个状态变量xi、xj、xk和xl的值的试验。正常2W1H模式是执行第一实施方式中的正常搜索处理的模式。在正常2W1H模式下,可以针对多个xj并行执行是否要改变四个状态变量xi、xj、xk和xl的值的试验。在正常2W1H模式下要改变的状态变量的数量在每次试验中最多为四个。例如,日本公开特许公报第2021-157361号用作正常2W1H模式下的参考。
旅行场景存储单元170存储关于旅行场景的信息。存储在旅行场景存储单元170中的关于旅行场景的信息从外部可重写。
图6是示出正常2W1H模式和旅行转换模式的操作示例的图。
表200示出了信息处理设备100的正常2W1H模式和旅行转换模式的操作示例。作为示例,设置N=5。例如,初始状态由排列(1,2,3,4,5)来指示。表200中的“替换候选”指示在排列中用作替换候选的两个元素中的每个元素的位置。
在这种情况下,在正常2W1H模式中,排列(1,2,3,4,5)的下一状态转换目的地候选的状态是其中排列的所述两个元素被替换的状态。对于排列(1,2,3,4,5),下一状态转换目的地候选的数目是10。例如,在正常2W1H模式中,在步骤“1”至步骤“10”中式(6)不允许10个状态转换目的地候选中的任何一个的情况下,控制单元160确定达到了局部解,并且使得局部域保持单元120和ΔE计算单元130转换到旅行转换模式。此时,旅行转换模式的起点的状态是对应于局部解的排列(1,2,3,4,5)的状态。
例如,在旅行转换模式下使用以下旅行场景。例如,首先,控制单元160用另一元素替换排列(1,2,3,4,5)的最后一个元素“5”以使得将最后一个元素“5”一个接一个地朝着排列的头部移动。在这种情况下,在四个步骤中,元素“5”到达头部并变为排列(5,1,2,3,4)。控制单元160用另一元素替换排列(5,1,2,3,4)的最后一个元素“4”以使得将最后一个元素“4”一个接一个地朝着排列(5,1,2,3,4)的头部移动。通过重复上述操作,排列以总共20个步骤返回至旅行转换模式的起点的排列(1、2、3、4、5)。可以说,在旅行转换模式下由旅行场景顺序执行的转换是临时转换。
在旅行转换模式下的上述操作期间,ΔE计算单元130计算式(8)的ΔE,并且在每个步骤中累积计算的ΔE。局部域保持单元120根据每个步骤中四个状态变量的值的变化来更新局部域h1至hn。确定单元140在每个步骤中更新状态保持单元150中的对应四个状态变量的值,并且确定累积的ΔE是否满足式(6)的确定标准。
例如,ΔE计算单元130计算开始状态下的下一临时转换目的地#1的ΔE1。即使不接受该转换,也对状态和局部域进行更新。通过使用局部域,ΔE计算单元130获得下一临时转换目的地#2的ΔE12,并且通过设置ΔE1+ΔE12=ΔE2来计算累积ΔE=ΔE2。ΔE2是从开始状态到临时转换目的地#2的状态转换的情况下的能量差。以同样的方式,通过设置ΔE1+ΔE12+ΔE23=ΔE3,获得临时转换目的地#3的累积ΔE=ΔE3。针对这些ΔEi,确定单元140确定是否满足由式(6)表示的Metropolis确定标准。
在满足式(6)的确定标准的阶段,控制单元160以该时间点的状态作为起点从旅行转换模式切换到正常2W1H模式。可替选地,控制单元160在不同的旅行场景中继续旅行转换模式。在继续旅行转换模式的情况下,重置能量差的累积相加,并且从该点重新开始处理。即使在切换到正常2W1H模式或继续旅行转换模式的情况下,也对局部域进行更新,使得局部域不会被新更新。
另一方面,在旅行转换模式下总共20个步骤中的所有步骤都不满足式(6)的确定标准的情况下,状态保持单元150中保持的状态变量x1至xn返回到排列(1,2,3,4,5)的状态。保持在局部域保持单元120中的局部域h1至hn也返回到对应于排列(1,2,3,4,5)的状态的值。例如,在当前旅行场景中状态返回到由排列(1、2、3、4、5)指示的初始状态的情况下,控制单元160可以通过另一旅行场景继续旅行转换模式。
接下来,将对信息处理设备100通过使用SA方法来执行排列优化问题的解的搜索的处理过程进行描述。
图7是示出信息处理设备的处理示例的流程图。
(S10)控制单元160设置在确定单元140中要在式(6)中使用的温度值T。在第一次执行步骤S10的情况下,控制单元160将初始温度值设置为温度值T。在第二次或之后执行步骤S10的情况下,控制单元160将温度值T设置为低于前一值的值。
(S11)控制单元160使局部域保持单元120和ΔE计算单元130在正常2W1H模式下操作以执行解搜索。在2W1H模式下的操作期间,控制单元160执行步骤S12和S17。
(S12)在正常2W1H模式下的解搜索中,控制单元160确定是否达到局部解。在达到局部解的情况下,处理进行至步骤S13。在未达到局部解的情况下,处理进行至步骤S11。例如,在确定单元140拒绝下一转换目的地候选的所有状态的情况下,控制单元160确定达到了局部解。下一转换目的地候选的所有状态都被拒绝的情况是对应于下一转换目的地候选的所有能量变化量都为正且不满足式(5)或式(6)的确定标准的情况。
(S13)控制单元160使局部域保持单元120和ΔE计算单元130转换为旅行转换模式。
(S14)控制单元160使局部域保持单元120和ΔE计算单元130根据旅行场景执行操作。只要在旅行转换模式下不接受转换,下一临时转换中的ΔE就被计算为通过将上一临时转换中的ΔE与累积相加量相加而获得的值。
(S15)控制单元160确定旅行转换模式下的累积ΔE是否减小。在累积ΔE减小的情况下,处理进行至步骤S16。在累积ΔE没有减小的情况下,处理进行至步骤S14。累积ΔE减小的情况可以是累积ΔE变为负的情况。在ΔE<0的情况下,满足式(6)的确定标准。同时,取决于温度值或随机数值,式(6)的确定标准可能允许累积ΔE>0的状态转换。
(S16)控制单元160结束旅行转换模式,并且使局部域保持单元120和ΔE计算单元130转换到正常2W1H模式。处理进行至步骤S11。
(S17)控制单元160确定在正常2W1H模式下的解搜索中是否对改变候选的变量xj进行了定义次数的选择。在对改变候选的变量xj进行了定义次数的选择的情况下,处理进行至步骤S18。在对改变候选的变量xj没有进行定义次数的选择的情况下,处理进行至步骤S11。如上所述,根据对改变候选xj的选择,指定了改变候选的四个状态变量xi、xj、xk和xl。
(S18)控制单元160确定温度值T是否降低了定义的次数。在温度值T降低了定义的次数的情况下,控制单元160输出具有到目前为止所获得的最低能量的解并结束该处理。在温度值T没有降低达定义的次数的情况下,处理进行至步骤S10。
步骤S17和S18可以被认为是在步骤S11中执行的处理。在步骤S11的执行期间,执行步骤S12的确定。
以这种方式,信息处理设备100可以执行正常2W1H模式,并且在正常2W1H模式下达到局部解的情况下,执行以局部解作为起点处的状态的旅行转换模式。在这种情况下,在通过旅行转换模式指定具有比起点状态低的能量的状态的情况下,信息处理设备100可以从指定状态返回到正常2W1H模式。因此,信息处理设备100可以在正常2W1H模式下逃脱本地解,搜索更合适的解,并且提高解搜索性能。
在不是执行旅行转换模式而是执行不返回初始状态的转换模式的情况下,期望存储初始状态的局部域。在这种情况下,期望局部域的存储区域为两倍。
相比之下,在旅行转换模式下,即使在所有转换目的地候选都未被接受的情况下,局部域也返回到旅行转换模式的开始时间点处的值。因此,可以不存储初始状态下的局部域。因此,信息处理设备100可以有效地使用存储区域并提高解搜索性能。
尽管对图7所示的过程中执行SA方法的示例进行了描述,但是信息处理设备100可以执行副本交换方法。在这种情况下,可以通过在副本之间交换温度值来执行步骤S10中的温度值的设置。例如,步骤S18中的确定可以基于温度值的交换是否被执行了定义的次数来进行。
旅行转换模式下的旅行场景可以不同于图6所示的示例。接下来,将对旅行转换模式下所使用的另一旅行场景的示例进行描述。
图8是示出旅行转换模式的另一示例(部分1)的图。
旅行场景71示出了其中排列(1,2,3,4,5)中的元素(4,5)被固定的示例。在旅行场景71中,用另一元素顺序地替换元素“3”以使得从初始状态下的步骤“1”一个接一个地向前移动,以相同的方式用另一元素顺序地替换元素“2”,并且以相同的方式用另一元素顺序地替换元素“1”。通过这样做,步骤“7”中达到的排列与初始排列(1、2、3、4、5)一致。
图9是示出旅行转换模式的另一示例(部分2)的图。
旅行场景72示出了其中排列(1,2,3,4,5)中的元素(3,5)被固定的示例。在旅行场景72中,用另一元素顺序地替换元素“4”以使得通过跳过元素“3”从步骤“1”一个接一个地向前移动。接下来,也以相同的方式通过跳过元素“3”用另一元素顺序地替换元素“2”,并且然后也以相同的方式通过跳过元素“3”用另一元素顺序地替换元素“1”。通过这样做,在步骤“7”中达到的排列与初始排列(1、2、3、4、5)一致。
图10是示出旅行转换模式的另一示例(部分3)的图。
旅行场景73示出了示例,在该示例中,在排列(1,2,3,4,5)中,元素(1,5)在步骤“1”至步骤“4”中固定,元素(1,5)在步骤“5”中被替换,并且元素(1,5)在步骤“6”至步骤“9”中再次固定。在旅行场景73中,用另一元素顺序地替换元素“2”以使得从步骤“1”一个接一个地向后移动。在步骤“4”中,元素(3,4)被替换。用另一元素顺序地替换元素“4”以使得从步骤“6”一个接一个地向后移动。在步骤“9”处,元素(1,5)被替换。通过这样做,步骤“9”中达到的排列与初始排列(1、2、3、4、5)一致。
以这种方式,信息处理设备100可以使用各种旅行场景。如上所述,在旅行转换模式下以特定旅行场景执行搜索之后,信息处理设备100可以在旅行转换模式下以另一旅行场景继续搜索。例如,控制单元160可以在通过使用旅行场景71到达步骤“7”之后使用旅行场景72。在旅行场景71至旅行场景73中例示的排列中的每个值可以表示从步骤“1”中的排列的左侧起计数的每个元素的位置。在这种情况下,例如,在旅行场景71指定了从步骤“1”开始的能量变化的累积满足Metropolis标准的状态的情况下,控制单元160可以通过使用以指定状态作为起点的旅行场景72来继续旅行转换模式。通过组合多个旅行场景,信息处理设备100可以有效地搜索更多各种状态。
如上所述,例如,信息处理设备100执行以下处理。
信息处理设备100存储指示包括在能量函数中的伊辛模型的状态的N2个状态变量。信息处理设备100通过重复进行改变四个状态变量的值以使得满足当N2个状态变量被布置在N行和N列中时包括在每行中的状态变量的值之和为1并且包括在每列中的状态变量的值之和为1的约束的状态转换,来执行从第一状态通过多个状态返回至第一状态的旅行转换处理。在通过旅行转换处理而顺序地获得的状态中,信息处理设备100指定第二状态,在该第二状态中,从第一状态开始的每个状态转换的能量函数的值的变化量的累积满足预定确定标准。
因此,信息处理设备100可以有效地搜索各种状态。例如,通过FPGA109、GPU等来实现信息处理设备100的上述功能。例如,可以通过执行存储在CPU 101中的程序的RAM 102来实现信息处理设备100的上述功能。包括用于FPGA 109、GPU、CPU 101等的算术电路的协处理器或处理器是根据第一实施方式的处理单元12的示例。例如,使用温度值和随机数值的基于Metropolis方法的确定标准或基于Gibbs方法的确定标准是预定确定标准的示例。
例如,在旅行转换处理中,信息处理设备100针对每个状态转换计算从第一状态开始根据该状态转换的能量函数的值的变化量,并且确定每个状态转换的变化量的累积是否满足预定确定标准。在变化量的累积不满足预定确定标准的情况下,信息处理设备100选择接下来其值要被改变的四个状态变量的集合,并且在变化量的累积满足预定确定标准的情况下,信息处理设备100获取当前状态转换之后的状态作为第二状态。
因此,信息处理设备100可以通过使用确定标准例如Metropolis标准来适当地获取第二状态。
信息处理设备100存储对应于N2个状态变量的N2个局部域,所述N2个局部域用于根据状态转换计算能量函数的值的变化量。信息处理设备100将在旅行转换处理的开始点处对应于第一状态的N2个局部域与在旅行转换处理的结束点处对应于第一状态的N2个局部域相匹配。
因此,在执行旅行转换处理时,信息处理设备100可以不保持对应于用作起点的第一状态的每个局部域的副本,并且可以有效地使用存储容量来提高解搜索的效率。
信息处理设备100将旅行转换处理中要经过的多个状态设置为彼此不同的状态。因此,信息处理设备100可以有效地搜索各种状态。
信息处理设备100可以执行正常搜索处理,在正常搜索处理中,根据在四个状态变量的值被改变以满足约束的情况下能量函数的值的变化量是否满足预定确定标准来重复四个状态变量的值的更新。在正常搜索处理中达到局部解的情况下,信息处理设备100可以以局部解作为第一状态来执行旅行转换处理。
因此,在正常搜索处理中的解搜索被延误的情况下,通过切换到旅行转换处理,信息处理设备100可以逃脱在正常搜索处理中达到的局部解,继续进行解搜索,并且提高解搜索性能。
此时,在通过旅行转换处理指定第二状态的情况下,信息处理设备100可以从第二状态重新开始正常搜索处理。因此,信息处理设备100可以在通过使用旅行转换过程逃脱正常搜索处理中达到的局部解之后继续正常搜索处理,并且可以提高解搜索性能。
信息处理设备100可以通过使用第一旅行场景来执行旅行转换处理,该第一旅行场景指示其值要被改变的四个状态变量的集合的第一选择顺序。在没有通过使用第一旅行场景的旅行转换处理指定第二状态的情况下返回第一状态时,信息处理设备100可以通过切换到第二旅行场景来执行旅行转换处理,该第二旅行场景指示不同于第一选择顺序的第二选择顺序。因此,信息处理设备100可以有效地搜索更多各种状态。
当通过使用第一旅行场景的旅行转换处理指定第二状态时,信息处理设备100可以切换到指示不同于第一选择顺序的第二选择顺序的第二旅行场景,并且通过将指定的第二状态设置为新的第一状态来执行旅行转换处理。因此,信息处理设备100可以有效地搜索更多各种状态。
信息处理设备100的上述功能可以应用于排列优化问题,例如QAP、TSP、VRP和LOP。
可以通过使处理单元12执行程序来实现根据第一实施方式的信息处理。可以通过使CPU 101执行程序来实现根据第二实施方式的信息处理。程序可以记录在计算机可读记录介质53中。
例如,可以通过分发其中记录有程序的记录介质53来分发程序。该程序可以存储在另一计算机中,并且该程序可以经由网络分发。例如,计算机可以将记录在记录介质53中或者从另一计算机接收到的程序存储(安装)在存储装置例如RAM 102或HDD 103中,从存储装置读取该程序,并且执行该程序。
Claims (9)
1.一种对由伊辛模型的能量函数表示的排列优化问题的解进行搜索的信息处理设备,所述信息处理设备包括:
存储单元,其存储指示所述伊辛模型的状态的N2个状态变量,N是等于或大于3的整数,所述N2个状态变量包括在所述能量函数中;以及
处理单元,
通过重复进行改变所述N2个状态变量中的四个状态变量的值以满足约束的状态转换来执行从第一状态通过多个状态返回到所述第一状态的旅行转换处理,在所述约束中,在所述N2个状态变量被布置在N行和N列中的情况下,包括在每行中的状态变量的值之和为1,并且包括在每列中的状态变量的值之和为1,
在通过所述旅行转换处理而顺序获得的所述多个状态中指定第二状态,在所述第二状态中,从所述第一状态开始的每次状态转换的所述能量函数的值的变化量的累积满足预定确定标准,以及
通过从所述第二状态开始来搜索由所述能量函数表示的排列优化问题的解。
2.根据权利要求1所述的信息处理设备,其中,在所述旅行转换处理中每次执行所述状态转换时,所述处理单元还被配置成:
根据所述状态转换获取所述能量函数的值的变化量,
确定从所述第一状态开始的每次状态转换的变化量的累积是否满足所述特定确定标准,
在所述变化量的累积不满足所述特定确定标准的情况下,选择接下来其值要被改变的所述四个状态变量的集合,以及
在所述变化量的累积满足所述特定确定标准的情况下,将当前状态转换之后的状态指定为所述第二状态。
3.根据权利要求2所述的信息处理设备,其中,所述存储单元还被配置成:
存储对应于所述N2个状态变量的N2个局部域,所述N2个局部域用于根据所述状态转换获取所述能量函数的值的变化量,以及
所述处理单元还被配置成:
将与所述旅行转换处理的起点处的所述第一状态相对应的所述N2个局部域和与所述旅行转换处理的终点处的所述第一状态相对应的所述N2局部域进行匹配。
4.根据权利要求1所述的信息处理设备,其中,所述处理单元还被配置成:
将所述多个状态设置为彼此不同的状态。
5.根据权利要求1所述的信息处理设备,其中,所述处理单元还被配置成:
执行搜索过程,所述搜索过程重复地进行:根据在所述四个状态变量的值被改变以满足所述约束的情况下所述能量函数的值的变化量是否满足特定确定标准的确定,更新所述四种状态变量的值,以及
在所述搜索过程中达到局部解的情况下,以所述局部解作为所述第一状态来执行所述旅行转换过程。
6.根据权利要求1所述的信息处理设备,其中,所述处理单元还被配置成:
通过使用第一旅行场景来执行所述旅行转换处理,所述第一旅行场景指示其值要被改变的所述四个状态变量的集合的第一选择顺序,
在使用所述第一旅行场景的所述旅行转换处理没有指定所述第二状态的情况下返回到所述第一状态时,切换到第二旅行场景,所述第二旅行场景指示与所述第一选择顺序不同的第二选择顺序,以及
利用所述第二旅行场景执行所述旅行转换处理。
7.根据权利要求1所述的信息处理设备,其中,所述处理单元还被配置成:
通过使用第一旅行场景来执行所述旅行转换处理,所述第一旅行场景指示其值要被改变的所述四个状态变量的集合的第一选择顺序,以及
在使用所述第一旅行场景的所述旅行转换处理指定所述第二状态的情况下切换到第二旅行场景,所述第二旅行场景指示与所述第一选择顺序不同的第二选择顺序,以及
以指定的第二状态作为新的第一状态来执行所述旅行转换处理。
8.一种用于计算机执行处理的信息处理方法,所述处理包括:
存储指示所述伊辛模型的状态的N2个状态变量,N是等于或大于3的整数,所述N2个状态变量包括在所述能量函数中;
通过重复进行改变所述N2个状态变量中的四个状态变量的值以满足约束的状态转换来执行从第一状态通过多个状态返回到所述第一状态的旅行转换处理,在所述约束中,在所述N2个状态变量被布置在N行和N列中的情况下,包括在每行中的状态变量的值之和为1,并且包括在每列中的状态变量的值之和为1;
在通过所述旅行转换处理而顺序获得的所述多个状态中指定第二状态,在所述第二状态中,从所述第一状态开始的每次状态转换的所述能量函数的值的变化量的累积满足预定确定标准;以及
通过从所述第二状态开始来搜索由所述能量函数表示的排列优化问题的解。
9.一种存储信息处理程序的非暂态计算机可读存储介质,所述信息处理程序使得至少一个计算机执行处理,所述处理包括:
存储指示所述伊辛模型的状态的N2个状态变量,N是等于或大于3的整数,所述N2个状态变量包括在所述能量函数中;
通过重复进行改变所述N2个状态变量中的四个状态变量的值以满足约束的状态转换来执行从第一状态通过多个状态返回到所述第一状态的旅行转换处理,在所述约束中,在所述N2个状态变量被布置在N行和N列中的情况下,包括在每行中的状态变量的值之和为1,并且包括在每列中的状态变量的值之和为1;
在通过所述旅行转换处理而顺序获得的所述多个状态中指定第二状态,在所述第二状态中,从所述第一状态开始的每次状态转换的所述能量函数的值的变化量的累积满足预定确定标准;以及
通过从所述第二状态开始来搜索由所述能量函数表示的排列优化问题的解。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022-092706 | 2022-06-08 | ||
JP2022092706A JP2023179849A (ja) | 2022-06-08 | 2022-06-08 | 情報処理装置、情報処理方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117196021A true CN117196021A (zh) | 2023-12-08 |
Family
ID=85980654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310443109.1A Pending CN117196021A (zh) | 2022-06-08 | 2023-04-21 | 信息处理设备、信息处理方法和存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230401279A1 (zh) |
EP (1) | EP4290417A1 (zh) |
JP (1) | JP2023179849A (zh) |
CN (1) | CN117196021A (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7319539B2 (ja) | 2019-08-26 | 2023-08-02 | 富士通株式会社 | 組合せ最適化装置、組合せ最適化方法および組合せ最適化プログラム |
JP7341804B2 (ja) | 2019-09-06 | 2023-09-11 | 株式会社日立製作所 | 情報処理装置および情報処理方法 |
JP7283318B2 (ja) | 2019-09-12 | 2023-05-30 | 富士通株式会社 | 最適化装置、最適化プログラム、及び最適化方法 |
JP7410395B2 (ja) | 2020-03-26 | 2024-01-10 | 富士通株式会社 | 最適化装置及び最適化方法 |
-
2022
- 2022-06-08 JP JP2022092706A patent/JP2023179849A/ja active Pending
-
2023
- 2023-04-06 EP EP23166964.9A patent/EP4290417A1/en active Pending
- 2023-04-07 US US18/297,038 patent/US20230401279A1/en active Pending
- 2023-04-21 CN CN202310443109.1A patent/CN117196021A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230401279A1 (en) | 2023-12-14 |
EP4290417A1 (en) | 2023-12-13 |
JP2023179849A (ja) | 2023-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11915798B2 (en) | Material characteristic prediction apparatus and material characteristic prediction method | |
CN111210046B (zh) | 优化装置及优化装置的控制方法 | |
US20210256179A1 (en) | Information processing method and information processing system | |
US20210065087A1 (en) | Information processing apparatus, combination optimization method, and computer-readable recording medium recording combination optimization program | |
JP7248907B2 (ja) | 最適化装置および最適化装置の制御方法 | |
CN112101512A (zh) | 采样装置和采样方法 | |
JP2021124978A (ja) | 情報処理装置、プログラム、情報処理方法および情報処理システム | |
CN113312741A (zh) | 信息处理装置、信息处理方法和程序 | |
CN114299344A (zh) | 一种针对图像分类的神经网络结构低成本自动搜索方法 | |
CN113761783A (zh) | 信息处理设备、信息处理方法以及计算机可读存储介质 | |
JP2022015503A (ja) | 情報処理システム、情報処理方法及びプログラム | |
CN117196021A (zh) | 信息处理设备、信息处理方法和存储介质 | |
Ha et al. | Leveraging bayesian optimization to speed up automatic precision tuning | |
CN116187491A (zh) | 信息处理设备、信息处理方法以及计算机可读记录介质 | |
CN117193709A (zh) | 信息处理设备、信息处理方法和存储介质 | |
US20210365605A1 (en) | Optimization device, optimization method, and non-transitory computer-readable storage medium for storing optimization program | |
EP4290416A1 (en) | Information processing apparatus, information processing method, and program | |
CN117930940A (zh) | 数据处理设备、数据处理方法和计算机可读记录介质 | |
US20230350972A1 (en) | Information processing apparatus and information processing method | |
JP7439923B2 (ja) | 学習方法、学習装置及びプログラム | |
JP2023170805A (ja) | プログラム、情報処理方法および情報処理装置 | |
CN115329978A (zh) | 程序和信息处理设备 | |
CN116186343A (zh) | 信息处理设备、信息处理方法和计算机可读记录介质 | |
CN118094851A (zh) | 数据处理设备、数据处理方法和可读存储介质 | |
CN113283609A (zh) | 信息处理方法、信息处理设备和信息处理程序 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |