CN113761783A - 信息处理设备、信息处理方法以及计算机可读存储介质 - Google Patents
信息处理设备、信息处理方法以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113761783A CN113761783A CN202110233714.7A CN202110233714A CN113761783A CN 113761783 A CN113761783 A CN 113761783A CN 202110233714 A CN202110233714 A CN 202110233714A CN 113761783 A CN113761783 A CN 113761783A
- Authority
- CN
- China
- Prior art keywords
- state
- search
- value
- unit
- group
- 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
Images
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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
- G06N10/60—Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
Abstract
本申请涉及信息处理设备、信息处理方法以及计算机可读存储介质。一种信息处理设备,包括:通信电路,所述通信电路被配置成与搜索电路进行通信,所述搜索电路被配置成搜索使目标函数的值最小化的解;以及处理电路,所述处理电路被配置成:使搜索电路通过使用第一状态和第二状态中的每一个作为起点来执行搜索,所述搜索被配置成在促进目标函数的值的增加的方向上改变影响目标函数的值的增加或减小的预定外部参数的值;获取使用第一状态获得的第一状态组和使用第二状态获得的第二状态组;通过使用第一状态组和第二状态组来确定未搜索状态中的第三状态;以及使搜索电路通过使用第三状态作为起点来执行搜索。
Description
技术领域
本文讨论的实施方式涉及信息处理设备、信息处理方法以及存储程序的非暂态计算机可读存储介质。
背景技术
存在信息处理系统,其通过利用作为表示磁体的自旋(spin)行为的模型的伊辛模型(Ising model)替代优化问题来计算诺伊曼型(Neumann-type)计算机不擅长的多变量优化问题。信息处理系统通过诸如例如模拟退火(simulated annealing,SA)方法或副本交换方法的马尔可夫链蒙特卡罗(Markov chain Monte Carlo)方法来搜索其中与所述问题对应的目标函数的值为最小的基态。目标函数也可以称为能量函数、评估函数等。基态对应于优化问题的最优解。
例如,提出了用于交互式地解决非线性规划问题的交互式规划装置,该非线性规划问题可能具有多个局部最优解,例如工厂设备的布置计划。所提出的交互式规划装置基于已经找到的局部最优解与搜索起点之间的距离来确定是否从搜索出发点执行优化,从而减少无用局部优化的次数。
还提出了最优值搜索装置,该最优值搜索装置基于每个搜索步骤的最优值的趋势来改变影响搜索范围的预定水平宽度。
发明内容
[技术问题]
如上面所描述的,由通过SA方法、副本交换方法等的搜索获得的解是局部解,但可能不是最优解。例如,存在在整个搜索空间的未搜索部分中存在最优解的可能性。
实施方式的一方面的目的是提供增加达到最优解的可能性的信息处理设备、信息处理方法、程序以及信息处理系统。
[问题的解决方案]
根据实施方式的一方面,提供了一种信息处理设备,包括:通信单元,所述通信单元被配置成与搜索单元进行通信,所述搜索单元被配置成通过改变由目标函数中包括的多个状态变量的值表示的状态来搜索使所述目标函数的值最小化的解;以及处理单元,所述处理单元被配置成执行处理,所述处理包括:使所述搜索单元通过使用第一状态和第二状态中的每一个作为起点来执行搜索,所述搜索被配置成在促进所述目标函数的值的增加的方向上改变影响所述目标函数的值的增加或减小的预定外部参数的值;经由所述通信单元从所述搜索单元获取第一状态组和第二状态组,所述第一状态组是由所述搜索单元使用所述第一状态获得的状态组,所述第二状态组是由所述搜索单元使用所述第二状态获得的状态组;通过使用所述第一状态组和所述第二状态组来确定未搜索状态中的第三状态;以及使所述搜索单元通过使用所述第三状态作为所述起点来执行所述搜索。
[发明的效果]
一方面可以增加达到最优解的可能性。
附图说明
图1示出了根据第一实施方式的信息处理系统的处理示例;
图2示出了根据第二实施方式的信息处理系统的硬件示例;
图3示出了信息处理设备的功能的示例;
图4示出了邻近状态表的示例;
图5示出了映射状态的第一示例;
图6示出了映射状态的第二示例;
图7示出了起点候选状态的计算示例;
图8是示出信息处理系统的整体控制示例的流程图;
图9是示出强化(intensification)阶段的示例的流程图;
图10是示出多样化(diversification)阶段的示例的流程图;
图11是示出起点候选状态的计算示例的流程图;以及
图12示出了在局部解的邻域中的状态的能量值的示例。
具体实施方式
下面将参照附图描述实施方式。
[第一实施方式]
将描述第一实施方式。
图1示出了根据第一实施方式的信息处理系统的处理示例。
信息处理系统1搜索组合优化问题的解,并且输出该解。信息处理系统1具有信息处理设备10和搜索单元20。信息处理设备10耦合至搜索单元20。
搜索单元20由例如诸如中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)或现场可编程门阵列(FPGA)的半导体集成电路实现。搜索单元20可以包括诸如随机存取存储器(RAM)或寄存器的存储单元。例如,通过使用诸如FPGA的集成电路实现的搜索电路可以用作搜索单元20。搜索单元20可以包括多个子搜索单元,并且可以通过并行地使用多个子搜索单元来搜索解。在这种情况下,多个子搜索单元可以通过被分配至多个设备来布置。
基于通过使组合优化问题公式化而获得的伊辛型目标函数,搜索单元20改变由目标函数中包括的多个状态变量的值表示的状态,从而搜索使目标函数的值最小化的解,例如最优解。为了搜索解,例如使用诸如SA方法或副本交换方法的马尔可夫链蒙特卡罗方法。
状态是由多个状态变量的值表示的伊辛模型的状态。状态变量是取值为“0”或“1”的二进制变量。目标函数表示与状态对应的能量值。目标函数也称为能量函数、评估函数、哈密顿函数(Hamiltonian)等。目标函数的值可以称为能量值、评估值等。
如上面所描述的,组合优化问题被公式化为用于获得使目标函数的值最小化的解的问题。在这种情况下,使目标函数的值最小化的解表示伊辛模型的基态,并且对应于组合优化问题的最优解。伊辛型目标函数E(x)由例如式(1)表示。
状态向量x具有多个状态变量作为元素,并且表示伊辛模型的状态。在使目标函数的值最大化的问题的情况下,目标函数的符号可以相反。
式(1)右侧的第一项通过以下操作获得:对于可以从所有状态变量中选择的两个状态变量的所有组合,在没有遗漏和重复的情况下对两个状态变量的值与加权系数的乘积进行合并。xi是第i状态变量。xj是第j状态变量。Wij是第i状态变量与第j状态变量之间的权重或指示耦合强度的加权系数。
式(1)右侧的第二项是所有状态变量中的每一个状态变量的偏置系数与该状态变量的值的乘积之和。bi指示第i状态变量的偏置系数。
例如,伊辛模型中自旋的“-1”对应于状态变量的值“0”。伊辛模型中自旋的“+1”对应于状态变量的值“1”。因此,状态变量也可以称为取值为0或1的位。
包括与对应于组合优化问题的目标函数有关的信息的问题数据由信息处理设备10输入至搜索单元20。首先,基于问题数据,搜索单元20通过使用不同的初始状态以第一搜索方法执行m次(m为2或更大的整数)搜索来搜索基态,并且获得m个局部解作为结果。在搜索单元包括多个子搜索单元的情况下,可以通过使多个子搜索单元并行地执行搜索来提高处理速度。子搜索单元可以称为副本。
在第一搜索方法中,通过逐渐地减小影响目标函数的值的增加或减小的预定外部参数的值来搜索基态。外部参数是与表示组合优化问题的问题数据分开地向搜索单元20赋予的参数。外部参数可以是例如指示作用于伊辛模型的外部环境的预定物理量的参数或者模拟该物理量的参数。外部参数可以是用于调节作用于伊辛模型的物理量的影响的强度的参数。哪个参数用作外部参数根据搜索方法而变化。
第一搜索方法的示例包括SA方法、副本交换方法等。如稍后所述,第一搜索方法的示例还包括量子退火(QA)方法和模拟量子退火(SQA)方法。
例如,在SA方法或副本交换方法中,使用温度值作为外部参数。在使用SA方法的情况下,搜索单元20基于从信息处理设备10赋予的温度安排(schedule)来搜索基态。例如,在SA方法中,在搜索处理中,执行安排,使得用于搜索的温度值从最大温度值逐渐减小到最小温度值。
在针对基态的搜索中,通过改变特定状态变量(例如,位)来重复执行状态转换。在SA方法或副本交换方法中,使用Metropolis方法或Gibbs方法来确定通过改变特定位而从特定状态转换到下一状态的概率。搜索单元20基于当多个位中的任何一个位被改变时目标函数的值的改变量与噪声值之间的比较结果来确定是否允许该位的改变。在搜索单元20确定允许所述改变的情况下,搜索单元20通过改变该位的值来使状态转换发生。基于温度值或随机数获得噪声值。温度值越大,噪声值的幅度越大。在噪声值的幅度较大时,可能允许目标函数的值的增加量大的状态转换。因此,在温度值较大时,促进目标函数的值增加。例如,可能发生目标函数的值相对显着增加的状态转换。
搜索单元20将作为通过第一搜索方法的搜索的结果而获得的m个局部解输出至信息处理设备10。局部解是通过借助于第一搜索方法的搜索达到的解中使目标函数的值最小化的解。通过执行搜索m次(m是2或更大的整数),获得m个局部解。
搜索单元20并不总是搜索由多个状态变量表示的所有状态(例如,整个搜索空间)并输出解。因此,由搜索单元20输出的解是例如局部解的局部最佳解。另一方面,局部解不一定是例如最优解的全局最佳解。信息处理设备10使搜索单元20基于局部解执行重新搜索,从而提供了增加获得最优解的可能性的功能。
信息处理设备10具有通信单元11和处理单元12。
通信单元11与搜索单元20通信。通信单元11由IO接口实现,该IO接口执行去往/来自搜索单元20的存储器或由搜索单元20所参考的信息处理设备10中的存储器的输入/输出(IO)。在搜索单元20由经由网络耦合的另一装置实现的情况下,通信单元11可以由耦合至网络的通信接口例如网络接口卡(NIC)来实现。
处理单元12可以包括诸如CPU、DSP、ASIC和FPGA的集成电路。处理单元12可以是执行程序的处理器。本文提及的“处理器”还可以包括一组多个处理器(多处理器)。处理单元12经由通信单元11与搜索单元20通信。
尽管未示出,但是信息处理设备10包括存储用于处理单元12的处理的数据(例如,状态)的存储单元,例如RAM或HDD。
处理单元12经由通信单元11在搜索单元20中设置第一状态和第二状态。例如,处理单元12依次设置第一状态和第二状态,并且使搜索单元20在以第一状态和第二状态中的每一个作为起点的情况下通过第二搜索方法执行搜索。在搜索单元20具有多个子搜索单元的情况下,可以在多个子搜索单元中的两个中同时设置第一状态和第二状态。第一状态和第二状态中的每一个是在通过第一搜索方法的搜索结束紧之后的阶段由通过第一搜索方法的搜索获得的两个局部解。
通过第二搜索方法的搜索是以下搜索:其在促进目标函数的值的增加的方向上改变外部参数的值。例如,外部参数具有该外部参数可能具有的最小值作为初始值。每当状态改变预定次数或经过预定时间段时,处理单元12就指示搜索单元20增加外部参数的值。每一次外部参数的增加宽度可以是固定宽度,或者可以以诸如0.1、1、10、100、1000等的对数宽度逐渐增加。如上所述,外部参数例如是温度值。即使在搜索单元20包括多个子搜索单元并且使用副本交换方法作为第一搜索方法的情况下,在通过第二搜索方法的搜索中,也不执行子搜索单元之间的副本交换,例如温度值或状态的交换,并且由每个子搜索单元独立地执行搜索。
通过第二搜索方法的搜索要搜索起点附近的状态。例如,如上所述,进行状态转换,同时温度值从最小温度值开始(每隔特定数目的状态转换)逐步增加,以及起点附近的状态被进行采样。例如,距起点的汉明距离小于特定值的状态或当温度值从最小温度值起的增加量小于特定值时采样的状态是该起点附近的状态。
在通过第二搜索方法的搜索处理中,处理单元12获取基于第一状态获得的第一状态组和基于第二状态获得的第二状态组。例如,在将三个局部解设置为起点的情况下,处理单元12从搜索单元20获取三个状态组{s1}、{s2}和{s3}。处理单元12将状态组{s1}、{s2}和{s3}与分别作为状态组{s1}、{s2}和{s3}的起点的状态相关联地存储在信息处理设备10的存储单元中。状态组{s1}、{s2}和{s3}可以包括作为起点的状态。例如,状态组{s1}可以被视为第一状态组的示例,并且状态组{s2}可以被视为第二状态组的示例。
基于所获取的第一状态组和第二状态组,处理单元12确定未搜索的状态中的要用作新起点的第三状态。例如,以以下方式执行操作。
处理单元12生成指示包括在第一状态组和第二状态组中的每一个中的状态之间的关系的映射信息。该映射信息例如是通过将采样状态组的状态(包括起点)之间的关系映射到n维(n为2或更大的整数)坐标系而获得的信息。状态之间的关系表示两个状态之间的相似的程度,例如相似程度。例如,相似程度由两个状态之间的汉明距离表示。在这种情况下,汉明距离越小,两个状态之间的相似程度越高。替选地,相似程度可以是组合优化问题中的由一个状态表示的多个第一参数值p11、p12等与由另一状态表示的多个第二参数值p21、p22等之间的距离{Σ(p2i-p1i)^2}^(1/2)。在这种情况下,距离越小,两个状态之间的相似程度越高。可以以与这些示例不同的尺度来评估状态之间的相似程度。
处理单元12可以生成维度数目小于状态的维度数目(例如,多个状态变量的数目)的映射信息。在这种情况下,生成映射信息,使得保持任何两个状态之间的相似程度。可以使用多维尺度法(MDS,multidimensional scaling)作为生成这种映射信息的方法。对于MDS,可以参考以下文献1。
文献1:J.B.Kruskal,“Multidimensional scaling by optimizing goodness offit to a nonmetric hypothesis”,Psychometrika.29(1),1964,第1页至27页。
作为示例,映射信息30指示状态之间的关系由二维坐标系表示的情况。坐标系具有x轴和y轴。映射信息30包括关于与作为起点的状态和针对该起点采样的状态对应的xy坐标的信息。两个状态之间的相似关系由在坐标系中绘制的对应于一个状态的坐标与对应于另一状态的坐标之间的距离表示。
例如,映射信息30包括坐标a0至a5、b0至b4以及c0至c3。
坐标a0对应于通过第二搜索方法的搜索的第一起点。坐标a1至a5中的每一个对应于包括在状态组{s1}中的任何状态。
坐标b0对应于通过第二搜索方法的搜索的第二起点。坐标b1至b4中的每一个对应于包括在状态组{s2}中的任何状态。
坐标c0对应于通过第二搜索方法的搜索的第三起点。坐标c1至c3中的每一个对应于包括在状态组{s3}中的任何状态。
处理单元12基于映射信息以及起点与状态组之间的对应关系来确定未搜索的状态中的第三状态。
例如,处理单元12指定与第一起点对应的坐标a0以及与从第一起点搜索的状态组{s1}对应的坐标a1至a5。处理单元12获得围绕与第一起点和状态组{s1}对应的所有坐标的图形。该图形例如可以是围绕坐标a0至a5的最小边界多边形或最小边界矩形。图形R1是围绕与包括第一起点的状态组{s1}对应的所有坐标的图形的示例。
处理单元12指定与第二起点对应的坐标b0以及与从第二起点搜索的状态组{s2}对应的坐标b1至b4。处理单元12获得围绕与作为起点的第二起点和状态组{s2}对应的所有坐标的图形R2。
处理单元12指定与第三起点对应的坐标c0以及与从作为起点的第三起点搜索的状态组{s3}对应的坐标c1至c3。处理单元12获得围绕与作为起点的第三起点和状态组{s3}对应的所有坐标的图形R3。
在这种情况下,图形R1、R2和R3被估计为与整个搜索空间中的已搜索部分空间对应的区域。因此,如果存在不同于已经获得的解的最优解,则估计在整个搜索空间中与所述区域的外部对应的未搜索的部分空间中存在最优解的可能性高。因此,处理单元12基于属于图形R1、R2和R3中的各图形的状态获得不属于图形R1、R2和R3的第三状态。
例如,处理单元12可以通过以下方法获得第三状态,该第三状态与同图形R1、R2和R3对应的已搜索部分空间相距适当的距离。
处理单元12比较包括作为与图形Rl对应的起点的状态的状态组{s1}的各个状态,并且将状态组{s1}的各个状态的在相同位置处的位分为一致为1的位、一致为0的位以及为1或0的位。状态组{s1}的分类结果称为第一位模式。
处理单元12比较包括作为与图形R2对应的起点的状态的状态组{s2}的各个状态,并且将状态组{s2}的各个状态的在相同位置处的位分为一致为1的位、一致为0的位以及为1或0的位。状态组{s2}的分类结果称为第二位模式。
处理单元12比较包括作为与图形R3对应的起点的状态的状态组{s3}的各个状态,并且将状态组{s3}的各个状态的在相同位置处的位分为一致为1的位、一致为0的位以及为1或0的位。状态组{s3}的分类结果称为第三位模式。
例如,针对两个状态组{s1}和{s2},处理单元12如下生成作为第三状态的候选的候选状态。首先,对于在第一位模式和第二位模式两者中共同地一致为1或一致为0的位,处理单元12也将与所述位对应的候选状态的位设置为相同值。其次,对于在第一位模式和第二位模式中的一个中一致为1而在第一位模式和第二位模式的另一个中一致为0的位,处理单元12使与所述位对应的候选状态的位一半具有值1,一半具有值0。第三,在第一准则和第二准则均不满足的情况下,处理单元12将候选状态的对应位随机确定为1或0。处理单元12将以此方式获得的候选状态映射到映射信息30,并且在与候选状态对应的坐标不属于图形R1、R2和R3中的任何一个的情况下将候选状态决定为第三状态。
在映射信息30中,示例出不属于图形R1、R2和R3中的任何一个的坐标d0、e0和f0。坐标d0是与针对状态组{s1}和{s2}获得的状态sd对应的坐标。坐标e0是与针对状态组{s2}和{s3}获得的状态se对应的坐标。坐标f0是与针对状态组{s3}和{s1}获得的状态sf对应的坐标。状态sd、se和sf中的每一个都是第三状态的示例。
处理单元12使搜索单元20通过使用第三状态作为起点执行搜索。例如,处理单元12将状态sd输出至搜索单元20,使搜索单元20通过使用状态sd作为起点(例如,起点状态)执行通过第二搜索方法的搜索,并且获取通过搜索获得的状态。处理单元12将状态se输出至搜索单元20,使搜索单元20通过使用状态se作为起点执行通过第二搜索方法的搜索,并且获取通过搜索获得的状态。处理单元12将状态sf输出至搜索单元20,使搜索单元20通过使用状态sf作为起点执行通过第二搜索方法的搜索,并且获取通过搜索获得的状态。
在获得比已经获得的状态更好的状态(例如,与现有解相比具有更小的目标函数的值的解)作为通过搜索单元20进行的重新搜索的结果的情况下,处理单元12采用新获得的解,并且将最终获得的最佳解输出至外部。处理单元12可以针对每个起点从搜索单元20获取新获得的状态组,基于该状态组将上述过程重复执行预定时间或预定次数,并且使搜索单元20搜索更好的解。
在以上示例中,虽然三个状态sd、se和sf被示出为第三状态,但是第三状态的数目可以是一个,或者可以是两个或四个或更多个。例如,处理单元12可以基于与第一状态组对应的图形R1和与第二状态组对应的图形R2获得一个状态sd作为第三状态。
利用信息处理系统1,执行搜索,该搜索使用第一状态和第二状态中的每一个作为起点并且在促进目标函数的值的增加的方向上改变影响目标函数的值的增加或减小的预定外部参数的值。在搜索过程中获取基于第一状态获得的第一状态组和基于第二状态获得的第二状态组。基于第一状态组和第二状态组,在未搜索的状态中确定第三状态。以第三状态作为起点执行搜索。
因此,可以增加达到最优解的可能性。通过关注整个搜索空间中未搜索的部分,可以有效地搜索解,并且可以在短时间内获得最优解。可以改善针对组合优化问题的求解性能。
搜索单元20可以由通过使用数字电路执行SA方法、副本交换方法等的硬件来实现,或者可以由执行QA方法的硬件来实现。执行SA方法、副本交换方法、QA方法等的硬件可以称为优化设备。执行SA方法、副本交换方法或SQA方法的搜索单元20可以由包括在信息处理设备10中的诸如CPU的处理器来实现。
在QA方法或SQA方法中,将横向磁场项添加到与目标函数对应的哈密顿函数。例如,包含横向磁场项的哈密顿函数H(t)表示为H(t)=H0+Γ(t)H1。
t是时间。H0是伊辛模型的哈密顿函数。H1是表示横向磁场的哈密顿函数。Γ(t)H1是横向磁场项。横向磁场项Γ(t)H1中的Γ(t)是表示横向磁场对目标函数的影响强度的系数。Γ(t)可以说是表示横向磁场的强度的系数。
在QA方法或SQA方法中,通过随时间减小横向磁场项中的系数Γ(t),执行控制,使得减小横向磁场对伊辛模型的影响。例如,在QA方法或SQA方法中,使用包括在横向磁场项中的系数Γ(t)作为外部参数。因此,在使用QA方法或SQA方法作为第一搜索方法的情况下,考虑在第二搜索方法中,系数Γ(t)的值从相对小的值开始随着时间逐渐增大,使得横向磁场的影响被控制为逐渐增大,并且搜索单元20执行搜索。
[第二实施方式]
接下来,将描述第二实施方式。
图2示出了根据第二实施方式的信息处理系统的硬件示例。
信息处理系统2包括信息处理设备100和优化设备200。
信息处理设备100具有CPU 101、RAM 102、硬盘驱动器(HDD)103、IO接口104、图像信号处理单元105、输入信号处理单元106、介质读取器107和NIC 108。CPU 101是第一实施方式的处理单元12的示例。IO接口104是第一实施方式的通信单元11的示例。
CPU 101是执行程序的命令的处理器。CPU 101将存储在HDD 103中的程序或数据的至少一部分加载至RAM 102中,并且执行该程序。CPU 101可以包括多个处理器核。信息处理设备100可以具有多个处理器。多个处理器的集合可以称为“多处理器”或简单地称为“处理器”。
RAM 102是易失性半导体存储器,其临时存储由CPU 101执行的程序和用于由CPU101进行的操作的数据。信息处理设备100可以包括除RAM以外的类型的存储器,并且可以包括多个存储器。
HDD 103是非易失性存储装置,其存储操作系统(OS)和软件例如中间件和应用软件的程序、以及数据。信息处理设备100可以包括其他类型的存储装置例如闪存和固态驱动器(SSD),并且可以包括多个非易失性存储装置。
IO接口104被耦合至优化设备200,并且IO接口104根据来自CPU 101的命令向优化设备200输入数据和从优化设备200输出数据。例如,IO接口104根据来自CPU 101的命令,将RAM 102的数据写入优化设备200的暂存器或存储器,或者从优化设备200读取数据并将数据写入RAM 102。例如,使用快速外围部件互连(PCI-e)等作为IO接口104。
图像信号处理单元105根据来自CPU 101的命令向耦合至信息处理设备100的显示器111输出图像。可以使用任何类型的显示器,例如,阴极射线管(CRT)显示器、液晶显示器(LCD)、等离子体显示器或有机电致发光(OEL)显示器作为显示器111。
输入信号处理单元106从耦合至信息处理设备100的输入装置112获取输入信号,并且将输入信号输出至CPU 101。可以使用诸如鼠标的指向装置、触摸面板、触摸板或轨迹球、键盘、遥控器、按钮开关等作为输入装置112。多种类型的输入装置可以被耦合至信息处理设备100。
介质读取器107是读取记录在记录介质113中的程序和数据的读取装置。例如,可以使用磁盘、光盘、磁光(MO)盘、半导体存储器等作为记录介质113。磁盘包括软盘(FD)或HDD。光盘包括致密盘(CD)或数字多功能盘(DVD)。
介质读取器107例如将从记录介质113读取的程序和数据复制至诸如RAM 102或HDD 103的另一记录介质。读取程序例如由CPU 101执行。记录介质113可以是便携式记录介质,或者可以用于分发程序和数据。记录介质113和HDD 103可以被称为计算机可读记录介质。
NIC 108是耦合至网络40并且经由网络40与另一计算机通信的接口。NIC 108例如通过线缆耦合至包括在网络40中的诸如交换机或路由器的通信装置。
优化设备200是加速器,其基于通过对组合优化问题进行公式化而获得的目标函数来利用硬件使用SA方法或副本交换方法执行基态搜索。优化设备200例如通过使用诸如FPGA的集成电路来实现。优化设备200也可以被称为玻耳兹曼机、伊辛机、伊辛优化设备等。在第二实施方式中,目标函数可以被称为能量函数,并且目标函数的值可以被称为能量值。
优化设备200包括搜索单元210。搜索单元210使用SA方法、副本交换方法等搜索基态。
CPU 101在搜索单元210中设置用于搜索的温度值。例如,搜索单元210可以根据由CPU 101设置的温度安排来通过SA方法搜索基态。搜索单元210可以通过使用多个温度值的副本交换方法(而不是SA方法)来搜索基态。如稍后所述,搜索单元210可以在由CPU 101设置的固定温度下执行搜索。
执行SA方法、副本交换方法等的搜索单元210的功能可以通过CPU 101或执行预定软件的被耦合至网络40的另一信息处理设备的CPU来实现。信息处理设备100可以是计算机。
图3示出了信息处理设备的功能的示例。
信息处理设备100具有存储单元120、控制单元130和状态获取单元140。可以使用RAM 102或HDD 103的存储区域作为存储单元120。控制单元130和状态获取单元140通过CPU101来实现,所述CPU 101执行存储在RAM 102中的程序。
存储单元120存储邻近状态表。邻近状态表包括以特定状态作为起点而重新搜索的起点附近的状态。术语“邻近”意味着例如相对于作为起点的状态的汉明距离小于特定值。术语“重新搜索”意指基于通过SA方法或副本交换方法搜索的局部解来进一步执行搜索的阶段。
存储单元120将通过由搜索单元210进行的搜索所获得的状态连同能量值一起保存。存储单元120将所获得的状态中具有最小能量值的状态作为最佳解保存。
控制单元130在搜索单元210中设置组合优化问题的问题数据。控制单元130在搜索单元210中设置通过SA方法或副本交换方法进行的搜索的初始状态或温度安排、重新搜索的起点状态或温度值、重新搜索中的状态的采样率等。温度值是第一实施方式的外部参数的值的示例。
控制单元130使搜索单元210首先通过SA方法或副本交换方法搜索解。当通过SA方法或副本交换方法获得多个局部解时,控制单元130使搜索单元210使用多个局部解执行重新搜索。在重新搜索中,控制单元130控制搜索单元210,使得温度值从低值逐渐增加至高值。
重新搜索包括称为强化阶段和多样化阶段的两个处理阶段。在强化阶段中,执行从起点状态起对邻近状态进行采样的处理。在多样化阶段中,基于所采样的邻近状态执行生成新的起点状态的处理。对于强化阶段和多样化阶段,可以参考以下文献2。
文献2:M.Morita,H.Ochiai,K.Tamura和K.Yasuda,“Multi-point SearchCombinatorial Optimization Method Based on Neighborhood Search UsingEvaluation of Big Valley Structure”,2015IEEE International Conference onSystems,Man,and Cybernetics,九龙,2015,第2835至2840页。
状态获取单元140获取由搜索单元210获得的状态和与该状态相对应的能量值,并且将该状态和能量值提供至控制单元130。状态获取单元140可以将获取的状态和能量值存储在存储单元120中。状态获取单元140基于获得的状态和能量值更新存储在存储单元120中的最佳解。
搜索单元210具有子搜索单元211、212、213等。子搜索单元211、212、213等中的每一个子搜索单元基于由上述式(1)表示的能量函数来针对相同的组合优化问题通过SA方法、副本交换方法等来搜索基态。子搜索单元211、212、213等中的每一个子搜索单元可以被称为副本、副本电路等。子搜索单元211、212、213等可以通过被分布至多个设备来布置。例如,子搜索单元211、212、213等中的每一个子搜索单元可以通过单独伊辛机实现。子搜索单元211、212、213等中的每一个子搜索单元具有保存通过其自身搜索获得的状态、能量值等的存储器或暂存器。
在式(1)中的状态变量xi的值改变成1-xi的情况下,状态变量xi的增加量可以表示为δxi=(1-xi)-xi=1-2xi。因此,伴随着能量函数E(x)的状态变量xi的改变的能量值的改变量ΔEi由式(2)表示。
hi称为局部场(local field),并且由式(3)表示。
当状态变量xj改变时局部场hi的改变量δhi (j)由式(4)表示。
子搜索单元211、212、213等中的每一个子搜索单元将局部场hi保存在其自身的存储器或暂存器中,并且当状态变量xj的值改变时将改变量δhi (j)添加至hi,从而获得与位反转之后的状态相对应的hi。
例如,考虑到梯度下降被用于搜索用于使能量值最小化的基态。然而,在梯度下降的情况下,一旦搜索单元陷于局部解,就难以从局部解脱离。
鉴于此,在子搜索单元211、212、213等中,在搜索基态时使用Metropolis方法或吉布斯(Gibbs)方法确定是否允许其中能量值的改变量变为ΔEi的状态转换(状态变量xi的值的改变)。例如,在对从某一状态至能量值低于该某一状态的能量值的另一状态的转换进行搜索的邻近搜索中,子搜索单元211、212、213等随机地不仅允许到能量值减小的状态的转换,而且还允许到能量值增加的状态的转换。例如,接受能量值的改变量为ΔE的状态变量的值的改变的概率A(ΔE)由式(5)表示。
此处,反温度β是温度值T(T>0)的倒数(β=1/T)。min运算符指示获取参数的最小值。因此,例如,在使用Metropolis方法并且能量值的改变量ΔE满足针对均匀随机数u(0<u≤1)的式(6)的情况下,允许状态变量的值的改变。
ln(u)×T≤-ΔE (6)
控制单元130可以通过并行地使用子搜索单元211、212、213等,通过SA方法或副本交换方法执行搜索。
然而,在子搜索单元211、212、213等通过副本交换方法搜索局部解的情况下,在重新搜索中,不执行子搜索单元之间的副本交换,例如,温度值或状态的交换,并且搜索由每个子搜索单元独立地执行。
图4示出了邻近状态表的示例。
邻近状态表121存储在存储单元120中。邻近状态表121指示起点与通过从起点起进行的搜索所获得的状态组之间的对应关系。邻近状态表121包括起点的项和邻近状态的项。
起点的状态记录在起点的项中。在邻近状态的项中,记录在重新搜索的强化阶段中通过从起点起进行的搜索所采样的邻近状态。
例如,在邻近状态表121中,记录了起点“开始1(start1)”和邻近状态“开始1_状态1(start1_state1)”、“开始1_状态2(start1_state2)”等的记录。所述记录指示状态组{“开始1_状态1”、“开始1_状态2”等}被采样为相对于作为由“开始1”指示的起点的状态的邻近状态。
在邻近状态表121中,还记录了指示其他起点和与其他起点相对应的邻近状态的记录。
图5示出了映射状态的第一示例。
记录在邻近状态表121中的每个状态通过使用上述MDS的方法被映射至预定坐标系中的坐标。映射目的地的坐标系的维数可以不同于状态的维数。例如,在映射目的地的坐标系的维数小于状态的维数的情况下,状态的维数被压缩至映射目的地的维数。映射目的地的坐标系的维数可以是二或更大。
坐标系50是作为通过MDS的映射目的地的二维坐标系的示例。坐标系50例如具有彼此正交的x轴和y轴。坐标系50中的两个(x,y)坐标之间的距离(MDS距离)反映在与这两个坐标相对应的两个状态之间的相似程度,所述相似程度以预定尺度来评估。例如,可以使用由两个状态表示的组合优化问题中的两个参数组之间的距离或两个状态之间的汉明距离,作为用于评估相似程度的尺度。然而,可以使用另一尺度来评估状态之间的相似程度。关于坐标系50中的与每个状态相对应的坐标的信息是第一实施方式的映射信息30的示例。
以这种方式,通过经由MDS将每个状态映射至坐标系50,可以基于坐标之间的距离来更容易地评估各个状态彼此分开的程度以及从某个状态到达另一状态的困难程度。还可以将z轴添加至坐标系50,并且z轴可以表示为能量值。
在坐标系50中,示出了表示坐标的标记。加号(+)标记(例如,坐标A1上的标记)指示与重新搜索中的先前起点状态相对应的坐标。圆(○)标记(例如,坐标B1上的标记)指示与通过重新搜索获得的邻近状态相对应的坐标。交叉十字(×)标记(坐标C1至坐标C4中的每一个坐标上的标记)指示与重新搜索中的下一起点状态相对应的坐标。
在坐标系50中,还示出了多边形51、52、53和54。多边形51、52、53和54中的每一个多边形是具有三个或更多个顶点并且包围先前起点状态和从该起点状态起通过重新搜索而搜索的邻近状态的图形。多边形51、52、53和54中的每一个多边形可以是最小边界多边形或最小边界矩形(矩形)。对于最小边界矩形,可以参考URL“https://en.wikipedia.org/wiki/Minimum_boundig_rectangle”(于2020年5月21日搜索的)。“WIKIPEDIA”是注册商标。
例如,在多边形51和52中,多个图形的部分可以彼此交叠。
多边形51、52、53和54被估计为与整个搜索空间中的已搜索部分空间相对应的区域。因此,如果存在不同于已经获得的解的最优解,则估计在整个搜索空间中的与所述区域外部相对应的未搜索部分空间中存在最优解的可能性高。控制单元130基于属于多边形51、52、53和54中的各多边形的状态来获得不属于多边形51、52、53和54的下一起点状态。
例如,控制单元130针对多边形51和52获得与坐标C1相对应的下一起点状态。控制单元130针对多边形52和54获得与坐标C2相对应的下一起点状态。控制单元130针对多边形53和54获得与坐标C3相对应的下一起点状态。控制单元130针对多边形54和另一多边形(未示出)获得与坐标C4相对应的下一起点状态。
图6示出了映射状态的第二示例。
在坐标系50a中,多边形55、56、57和58被添加至坐标系50。多边形55、56、57和58是围绕状态组的多边形,这些状态组是通过从对应于坐标C1、C2、C3和C4的下一起点状态起重新搜索来采样的。坐标系50a中的星形标记指示对应于最优解的坐标D1。
控制单元130可以在显示器111上显示如图5和图6所示的图像(在该图像中,z轴的能量值被添加至坐标系50和50a)或坐标系50和50a,或者可以经由网络40在另一装置上显示该图像。因此,用户可以监视搜索状态。
图7示出了起点候选状态的计算示例。
图7示出了其中针对与属于多边形51的坐标组对应的状态组和与属于多边形52的坐标组对应的状态组,计算起点候选状态的示例。
控制单元130将与属于多边形51的坐标组对应的各个状态中的相同位置处的位彼此进行比较以生成位模式61。在位模式61中,在每个位置处,在该位置处的位一致为1的情况下,该位置被分类为等效位(1),并且在该位置处的位一致为0的情况下,该位置被分类为等效位(0)。在位置处的位为1或0的情况下,该位被分类为差异位(图中的“不关心”)。
例如,位模式61指示:针对对应于多边形51的各个状态,在第0位置至第9位置处的各个位(位0至位9)被分类如下。第0位、第2位、第4位和第6位是等效位(1)。第1位、第3位和第5位是等效位(0)。第7位、第8位和第9位是差异位。
类似地,控制单元130针对多边形52生成位模式62。例如,位模式62指示:针对对应于多边形52的各个状态,在第0位置至第9位置处的各个位(位0至位9)被分类如下。第0位、第2位、第4位和第5位是等效位(1)。第1位、第6位和第7位是等效位(0)。第3位、第8位和第9位是差异位。
控制单元130基于位模式61和62生成如下的起点候选状态,使得容易瞄准未搜索部分的中心。
在位模式61和62中的相同位置处的位都是等效位(1)或者都是等效位(0)的情况下,控制单元130将起点候选状态的在所述位置处的位的属性设置为“保持”。在位模式61和62的示例中,在第0位置、第1位置、第2位置和第4位置的每一个位置处的位都是等效位(1)或者都是等效位(0),并且因此将属性设置为“保持”。
在位模式61和62中的相同位置处的位之一是等效位(1)并且其另一个位是等效位(0)的情况下,控制单元130将起点候选状态的在所述位置处的位的属性设置为“优先重新链接目标”。在图7中,优先重新链接目标被简称为“优先”。在位模式61和62的示例中,在第5位置和第6位置的每一个位置处的位之一是等效位(1)并且其另一个是等效位(0),并且因此将属性设置为优先重新链接目标。
在位模式61和62中的相同位置处的位中的至少一个是差异位的情况下,控制单元130将起点候选状态的在所述位置处的位的属性设置为“非优先重新链接目标”。在图7中,非优先重新链接目标被简称为“非优先”。在位模式61和62的示例中,在第3位置、第7位置、第8位置和第9位置的每一个位置处的位中的至少一个是差异位,并且因此将属性设置为非优先重新链接目标。
控制单元130根据起点候选状态的每个位置处的位的属性来确定该位置处的位的值。例如,在属性是“保持”的情况下,控制单元130将起点候选状态的对应位置处的位设置为与位模式61和62中相同位置处的位相同的值。例如,针对位模式61和62,控制单元130将起点候选状态的第0位、第2位和第4位设置为1,并且将第1位设置为0。
在属性是优先重新链接目标的情况下,控制单元130确定起点候选状态的对应位置处的位的值,使得作为优先重新链接目标的多个位具有大约相同数目的1和0。例如,当仅关注作为优先重新链接目标的位时,位模式61与起点候选状态之间的汉明距离等于位模式62与起点候选状态之间的汉明距离。例如,在位模式61和62的示例中,当控制单元130将起点候选状态的第5位设置为1时,控制单元130将起点候选状态的第6位设置为0。当控制单元130将起点候选状态的第5位设置为0时,控制单元130将起点候选状态的第6位设置为1。
在属性是非优先重新链接目标的情况下,控制单元130将起点候选状态的对应位置处的位随机地确定为1或0。例如,针对位模式61和62,控制单元130将起点候选状态的第3位、第7位、第8位和第9位的值随机地确定为1或0。
控制单元130在坐标系50中绘制生成的起点候选状态。例如,控制单元130通过MDS方法获得坐标系50中对应于起点候选状态的坐标。在对应于起点候选状态的绘制坐标没有包括在任何多边形中的情况下,控制单元130将起点候选状态决定为下一起点状态。
通过以这种方式生成下一起点状态,在整个搜索空间的未搜索部分中生成适当离开已搜索部分的起点状态变得容易。
接下来,将描述信息处理系统2的处理过程。
图8是示出信息处理系统的整个控制示例的流程图。
(S10)控制单元130并行使用子搜索单元211、212、213等,通过SA方法或副本交换方法从不同的初始状态搜索针对组合优化问题的解。子搜索单元211、212、213等中的每一个向信息处理设备100输出具有通过搜索获得的最小能量值的解,例如局部解。状态获取单元140获取由子搜索单元211、212、213等输出的多个局部解。多个局部解中的每一个都是强化阶段中的初始起点状态。
(S11)控制单元130执行强化阶段的处理。在强化阶段中,对起点状态的邻近状态进行采样。状态获取单元140获取邻近状态,并且将获取的邻近状态与起点状态相关联地记录在邻近状态表121中。强化阶段的细节将稍后描述。
(S12)控制单元130基于多个起点状态和针对多个起点状态中的每一个采样的邻近状态组来执行MDS计算。控制单元130执行MDS计算以将多个起点状态和多个采样的邻近状态映射至例如坐标系50,同时保持表示状态之间的相似程度的距离。
(S13)控制单元130通过起点状态来区分在强化阶段中获得的邻近状态。例如,基于邻近状态表121,控制单元130针对每个起点状态指定起点状态和坐标系50中的对应于起点状态的坐标组。
(S14)控制单元130执行多样化阶段的处理。在多样化阶段中,产生下一强化阶段中的新的起点状态。多样化阶段的细节将稍后描述。
(S15)控制单元130确定是否满足预定结束条件。在满足结束条件的情况下,控制单元130进行至步骤S16中的处理。在不满足结束条件的情况下,控制单元130进行至步骤S11中的处理。结束条件例如是步骤S11至步骤S14的过程被执行特定次数,或者从整个控制的开始起已经经过了特定时间段。
(S16)控制单元130输出最佳解。例如,控制单元130输出在整个控制的处理中获取的状态之中的最佳状态——例如使能量函数的值最小化的状态——作为最终解。例如,控制单元130可以使显示器111显示表示解的图像,或者可以经由网络40将关于解的信息传输至另一计算机。整个控制的处理结束。
图9是示出强化阶段的示例的流程图。
强化阶段对应于步骤S11。
(S20)控制单元130在子搜索单元211、212、213等中分别设置不同的起点状态。
(S21)控制单元130使各个子搜索单元在初始温度值下并行地开始搜索。初始温度值例如是可以作为温度值的最小温度值。然而,可以将大于最小温度值的温度值设置为初始温度值。
(S22)子搜索单元211、212、213等中的每一个通过使用当前温度值,针对当前保持的状态基于式(6)执行一位的位改变。例如,子搜索单元211可以基于式(6)确定是否允许每个位的改变,例如每个状态变量的值的改变,可以使用随机数随机选择允许改变的一个位,并且可以针对所选择的位执行一位的位改变。子搜索单元212、213等也以与子搜索单元211相同的方式执行位改变。
(S23)子搜索单元211、212、213等确定是否达到由控制单元130预先设置的迭代数目。在达到设置的迭代数目的情况下,子搜索单元211、212、213等向信息处理设备100输出当前状态,并且使处理进行至步骤S24。在没有达到设置的迭代数目的情况下,子搜索单元211、212、213等使处理进行至步骤S22。迭代数目对应于当前温度值下步骤S22的执行数目。
(S24)针对对应于起点状态的当前状态和起点状态的每个集合,控制单元130确定起点状态与当前状态之间的距离是否小于特定值。在起点状态与当前状态之间的距离小于特定值的情况下,针对对应的集合,处理进行至步骤S25。在起点状态与当前状态之间的距离等于或大于特定值的情况下,丢弃这次从对应子搜索单元获得的针对对应集合的当前状态,并且结束对应子搜索单元的强化阶段的处理。强化阶段结束的子搜索单元等待,直到其他子搜索单元的强化阶段完成。起点状态与当前状态之间的距离通过例如汉明距离来评估。由用户在信息处理设备100中预先设置用于确定的特定值。
(S25)控制单元130将这次从对应子搜索单元获得的当前状态与起点状态相关联地记录在邻近状态表121中的邻近状态的项中。
(S26)控制单元130增加对应子搜索单元的温度值。例如,控制单元130增加用于通过对应子搜索单元进行的搜索的温度值。温度值的增加宽度由用户在信息处理设备100中预先设置。温度值的增加宽度可以是固定宽度,或者可以以对数宽度例如0.1、1、10、100、1000等逐渐增加。控制单元130进行至步骤S22的处理。
以这种方式,对起点状态的邻近状态进行采样。
图10是示出多样化阶段的示例的流程图。
多样化阶段对应于步骤S14。
(S30)控制单元130针对每个起点状态获取在强化阶段中获得的邻近状态组。
(S31)针对每个起点状态,控制单元130计算围绕起点状态和邻近状态组的MDS坐标的多边形。该多边形可以被称为最小边界多边形或最小边界矩形。
(S32)控制单元130计算针对多边形对的起点候选状态。计算起点候选状态的处理的细节将稍后描述。
(S33)控制单元130确定对应于计算的起点候选状态的MDS坐标是否在步骤S31中获得的多边形中的任一个中。在MDS坐标在多边形中的任一个中的情况下,控制单元130进行至步骤S34的处理。在MDS坐标不在多边形中的任一个中的情况下,控制单元130进行至步骤S35的处理。
(S34)控制单元130丢弃对应的起点候选状态。控制单元130进行至步骤S36的处理。
(S35)控制单元130将对应的起点候选状态决定为下一强化阶段的起点状态。控制单元130进行至步骤S36的处理。
(S36)控制单元130确定是否已经针对所有多边形对执行了步骤S32的处理。在已经针对所有多边形对执行了处理的情况下,控制单元130结束多样化阶段的处理。在尚未针对所有多边形对执行处理的情况下,控制单元130进行至步骤S32的处理。
图11是示出起点候选状态的计算示例的流程图。
起点候选状态的计算对应于步骤S32。
(S40)控制单元130获取每个多边形的附属点的状态信息。要从其获取状态信息的多边形是用于计算起点候选状态的两个多边形。
(S41)控制单元130针对每个多边形提取与该多边形对应的各个状态的等效位和差异位,并且针对每个多边形生成等效位和差异位的位模式。图7所示的方法可以用于提取等效位和差位并且生成位模式。
(S42)控制单元130确定是否存在尚未对其执行步骤S41的处理的多边形。在存在尚未对其执行处理的多边形的情况下,控制单元130进行至步骤S41的处理。在不存在尚未对其执行处理的多边形的情况下,控制单元130进行至步骤S43的处理。可以针对每个多边形执行一次步骤S41的处理。为此,在已经针对要针对起点候选状态计算的多边形生成了位模式的情况下,针对该多边形可以跳过步骤S41。
(S43)控制单元130顺序地提取多边形对的各个位模式中的相同位置处的位。
(S44)控制单元130确定两个位是否都是等效位并且具有相同值。在两个位都是等效位并且具有相同值的情况下,控制单元130进行至步骤S45的处理。在两个位并非都是等效位或者不具有相同值的情况下,控制单元130进行至步骤S46的处理。
(S45)控制单元130将在起点候选状态的相应位置处的位的值的属性设置为“保持”,并且将该位的值确定为与各个位模式中的相同位置处的两个位相同的值。控制单元130进行至步骤S49的处理。
(S46)控制单元130确定两个位是否都是等效位并且具有不同值。在两个位都是等效位并且具有不同值的情况下,控制单元130进行至步骤S47的处理。否则,控制单元130进行至步骤S48的处理。
(S47)控制单元130将在起点候选状态的相应位置处的位的属性设置为优先重新链接目标。控制单元130进行至步骤S49的处理。
(S48)控制单元130将在起点候选状态的相应位置处的位的属性设置为非优先重新链接目标。控制单元130进行至步骤S49的处理。
(S49)控制单元130确定是否已经处理了所有位置处的位。在已经处理了所有位置处的位的情况下,控制单元130进行至步骤S50的处理。在尚未处理所有位置处的位的情况下,控制单元130进行至步骤S43的处理。
(S50)控制单元130根据相应位的属性来确定起始候选状态的每个位置处的位的值。在步骤S45中,可能已经将起点候选状态的位中的一些确定为1或0。如图7所示,控制单元130针对作为优先重新链接目标的多个位将1和0设置得相等。然而,在仅存在一个位作为优先重新链接目标的情况下,可以随机地设置1或0。控制单元130针对作为非优先重新链接目标的位来随机地设置1或0。控制单元130结束计算起点候选状态的处理。
以这种方式,可以高效地生成起点候选状态。
如上所述,利用第二实施方式的信息处理设备100,可以增加达到最优解的可能性。可以通过关注整个搜索空间中的未搜索部分来高效地搜索解,并且可以增加在短时间内获得最优解的可能性。可以提高针对组合优化问题的解性能。
例如,根据上述多样化阶段的过程,“与未搜索部分对应的多边形的中心”被容易地定为下一起点状态。“与未搜索的部分对应的多边形的中心”的状态是方便的表达,并且该状态意指由诸如汉明距离的预定尺度评估的距离适当地远离整个搜索空间的每个已搜索部分的状态。这可以降低已搜索状态被冗余地搜索的可能性,并且可以进一步提高搜索解的效率。这进一步增加了在短时间内获得最优解的可能性。
在使用诸如SA方法或副本交换方法的元启发式方法的诸如搜索单元210的优化求解器中,当求解组合优化问题时以邻域为基础来搜索解的搜索空间。然而,根据要求解的问题的类型,难以达到最优解。这样的问题的示例包括二次分配问题和背包问题。
难以达到最优解的原因是,例如存在在SA方法或副本交换方法中在相对高的温度值下容易改变,但在相对低的温度值下几乎不改变的特定位或特定位集所表示的特定变量。另一方面,由于所有位在相对高的温度值下容易改变,因此特定位或特定位集难以成为最优解的值。因此,搜索单元容易困在局部解处,并且因此可能难以达到最优解。
信息处理设备100可以通过使搜索单元210通过关注仅通过诸如SA方法或副本交换方法的第一搜索方法难以搜索的部分来执行搜索,从而增加快速达到最优解的可能性。
图12示出了局部解的邻域中的状态的能量值的示例。
曲线图70示出了相对于状态的能量值,其中水平轴指示状态,而垂直轴指示能量值E。然而,在曲线图70中,为了方便起见,搜索空间中的每个状态以一维表示。
如上所述,在SA方法或副本交换方法中,搜索单元可能容易困在局部解L1和L2处。能量值E1与能量值E2之间的差可能极小,能量值E1是在局部解L1附近的相对高的能量垒,能量值E2是在局部解L2附近的相对高的能量垒。在这种情况下,在达到局部解L1或局部解L2之后,为了从所达到的局部解L1或局部解L2脱离并且达到最优解,需要极其精确地设置温度值,并且难以达到最优解。
另一方面,利用信息处理设备100,例如可以通过在强化阶段指定局部解L1和L2中的每个局部解的邻近状态组并且通过在多样化阶段获得适当地远离所指定的邻近状态组的下一起点状态来执行重新搜索。因此,可以在避免局部解L1和L2的邻域的同时高效地执行搜索,并且可以更快地达到最优解。
作为由子搜索单元211、212、213等中的每个子搜索单元使用的第一搜索方法,除了上述例示的SA方法和副本交换方法之外,还考虑QA方法和SQA方法。
在QA方法或SQA方法被用作用于获得局部解的第一搜索方法的情况下,如上所述,表示横向磁场的影响强度的系数Γ(t)被用作外部参数。在这种情况下,在与强化阶段对应的第二搜索方法中,考虑通过随时间从相对小的值(例如,0)开始逐渐增加通过使组合优化问题公式化获得的哈密顿函数中包括的系数Γ(t)的值来执行对邻近状态的搜索。
总之,第二实施方式的信息处理设备100具有例如以下功能。
控制单元130在搜索单元210中设置第一状态和第二状态。控制单元130使搜索单元210执行搜索,该搜索使用第一状态和第二状态中的每一个作为起点并且在促进目标函数值增加的方向上改变影响目标函数值增加或减小的预定外部参数的值。状态获取单元140获取在搜索处理中基于第一状态获得的第一状态组和基于第二状态获得的第二状态组。控制单元130基于第一状态组和第二状态组确定未搜索状态中的第三状态。控制单元130使搜索单元210通过使用第三状态作为起点来执行搜索。
因此,可以增加达到最优解的可能性。可以通过关注整个搜索空间中的未搜索的部分来高效地搜索解,并且可以增加在短时间内获得最优解的可能性。可以提高组合优化问题的解性能。
例如,在通过SA方法或副本交换方法获得在首次执行重新搜索之前要获得的局部解的情况下,外部参数是指示温度值的参数。在通过QA方法或SQA方法获得局部解的情况下,外部参数是指示横向磁场对目标函数的影响强度的参数。
在强化阶段中,可以通过随时间而逐渐增加温度值或指示横向磁场的影响强度的外部参数的值来适当采样作为起点的状态的邻域中的状态。
在使用第一状态和第二状态中的每一个作为起点的搜索中,每当由搜索单元210将状态改变预定次数或者每当经过预定时间段时,控制单元130就增加外部参数的值。
可以适当地采样作为起点的状态的邻域中的状态。
在使用第一状态作为起点的搜索中,当由搜索单元210获得的状态与第一状态之间的距离超过特定值时,控制单元130结束基于第一状态的搜索。在使用第二状态作为起点的搜索中,当由搜索单元210获得的状态与第二状态之间的距离超过特定值时,控制单元130结束基于第二状态的搜索。该距离可以是如上所述的汉明距离,或者可以是通过另一预定尺度评估的距离。
可以适当地采样作为起点的状态的邻域中的状态。
例如,第一状态和第二状态中的每一个是通过搜索单元210执行搜索而获得局部解,该搜索通过在抑制目标函数的值增加的方向上改变外部参数的值来执行。在抑制目标函数的值增加的方向上改变外部参数的值例如是随时间而逐渐减小外部参数的值。
例如,在第一重新搜索中,可以指定局部解的邻域中的状态,并且可以将局部解的邻域中的搜索空间从作为下一起点的状态的提取候选中排除。可以降低重新搜索局部解的邻域的可能性,并且可以高效地搜索解。
在多样化阶段中,控制单元130生成指示在强化阶段中采样的多个状态组中包括的状态之间的关系的映射信息。映射信息包括例如关于坐标系50中的与每个状态对应的坐标的信息。控制单元130基于第一状态与第一状态组之间的对应关系、第二状态与第二状态组之间的对应关系以及映射信息来确定第三状态。
因此,从整个搜索空间的未搜索部分提取状态作为新起点的处理。
控制单元130基于第一状态与第一状态组之间的对应关系以及第二状态与第二状态组之间的对应关系,将映射信息中的多个坐标中的每一个与第一状态和第二状态相关联。控制单元130指定包括分别与第一状态和第二状态对应的坐标组的第一图形和第二图形,并且将与在第一图形和第二图形外部的坐标对应的状态确定为第三状态。
因此,可以从整个搜索空间的未搜索部分中适当地提取作为新起点的状态。
控制单元130通过将属于第一状态组的每个状态与相应的状态变量进行比较来指定属于第一状态组的每个状态的状态变量的值的第一模式。控制单元130通过将属于第二状态组的每个状态与相应的状态变量进行比较来指定属于第二状态组的每个状态的状态变量的值的第二模式。以上描述的位模式61和62是第一模式和第二模式的示例。控制单元130基于第一模式和第二模式生成作为针对第三状态的候选的候选状态,并且在对应于候选状态的映射信息中的坐标是第一图形和第二图形外部的坐标的情况下,将该候选状态确定为第三状态。
因此,可以从整个搜索空间的未搜索部分适当地提取作为新起点的状态。
第一模式和第二模式中的每一个指示在第一值或第二值处保持不变的状态变量以及其值被改变的状态变量。
控制单元130将与在第一模式和第二模式两者中具有相同值并且在相同值处保持不变的状态变量对应的候选状态的状态变量设置为相同值。控制单元130将第一值和第二值设置给与其中第一模式和第二模式中的一个在第一值处保持不变而另一个在第二值处保持不变的一个或更多个状态变量对应的候选状态的一个或更多个状态变量,使得一个或更多个状态变量中的第一值的数量与第二值的数量之间的差减小。控制单元130将第一值或第二值随机地设置给与在第一模式和第二模式两者中其值被改变的状态变量对应的候选状态的状态变量。
因此,可以生成适当地远离整个搜索空间的已搜索部分的候选状态。因此,通过使用候选状态作为起点,可以降低整个搜索空间中的已搜索部分被冗余地搜索的可能性,并且可以高效地执行搜索。
例如,表示映射信息的坐标的维数比多个状态变量的数量小。
因此,基于映射信息,可以以相对小的计算量容易地执行从整个搜索空间的未搜索部分中确定作为下一起点的状态的处理。例如,多个状态变量的数量可以是1024、8192等。映射信息的维数可以是2或更大。
搜索单元210包括多个子搜索单元(例如,子搜索单元211、212、213等),子搜索单元中的每一个搜索解。搜索单元210使多个子搜索单元分别使用第一状态和第二状态作为起点并行地执行搜索。
因此,与通过使用一个子搜索单元串行地执行解搜索的情况相比,可以提高搜索速度。然而,搜索单元210可以通过使用一个子搜索单元串行地搜索解。
控制单元130输出由搜索单元210获得的状态中使目标函数的值最小化的状态作为最终解。
因此,可以适当地获取在搜索过程中获得的最优解作为最终解。
可以通过使处理单元12执行程序来实现第一实施方式的信息处理。可以通过使CPU 101执行程序来实现第二实施方式的信息处理。程序可以记录在计算机可读记录介质113中。
例如,可以通过分发其中记录有程序的记录介质113来循环程序。该程序可以存储在另一计算机中,并且该程序可以通过网络分发。例如,计算机可以在存储装置例如RAM102或HDD 103中存储(安装)记录在记录介质113中的程序或从其他计算机接收的程序,并且可以从存储装置读取程序以执行程序。
[附图标记列表]
1:信息处理系统
10:信息处理设备
11:通信单元
12:处理单元
20:搜索单元
30:映射信息
R1、R2、R3:图形
a0至a5、b0至b4、c0至c3、d0、e0、f0:坐标
[引文列表]
[专利文献]
日本公开特许公报第62-61101号。
日本公开特许公报第2006-293478号。
Claims (15)
1.一种信息处理设备,包括:
通信单元,所述通信单元被配置成与搜索单元进行通信,所述搜索单元被配置成通过改变由目标函数中包括的多个状态变量的值表示的状态来搜索使所述目标函数的值最小化的解;以及
处理单元,所述处理单元被配置成执行处理,所述处理包括:
使所述搜索单元通过使用第一状态和第二状态中的每一个作为起点来执行搜索,所述搜索被配置成在促进所述目标函数的值的增加的方向上改变影响所述目标函数的值的增加或减小的预定外部参数的值;
经由所述通信单元从所述搜索单元获取第一状态组和第二状态组,所述第一状态组是由所述搜索单元使用所述第一状态获得的状态组,所述第二状态组是由所述搜索单元使用所述第二状态获得的状态组;
通过使用所述第一状态组和所述第二状态组来确定未搜索状态中的第三状态;以及
使所述搜索单元通过使用所述第三状态作为所述起点来执行所述搜索。
2.根据权利要求1所述的信息处理设备,
其中,所述外部参数是指示温度值的参数或指示横向磁场对所述目标函数的影响的强度的参数。
3.根据权利要求1所述的信息处理设备,
其中,在使用所述第一状态和所述第二状态中的每一个作为所述起点的所述搜索中,每当所述状态被所述搜索单元改变预定次数或者每当经过预定时间段时,所述处理单元就改变所述外部参数的值。
4.根据权利要求1所述的信息处理设备,
其中,在使用所述第一状态作为所述起点的所述搜索中,当由所述搜索单元获得的状态与所述第一状态之间的距离超过一定值时,所述处理单元结束基于所述第一状态的所述搜索;以及在使用所述第二状态作为所述起点的所述搜索中,当由所述搜索单元获得的状态与所述第二状态之间的距离超过所述一定值时,所述处理单元结束基于所述第二状态的所述搜索。
5.根据权利要求1所述的信息处理设备,
其中,所述第一状态和所述第二状态中的每一个是由执行如下搜索的所述搜索单元获得的局部解:所述搜索是通过在抑制所述目标函数的值的增加的方向上改变所述外部参数的值来执行的。
6.根据权利要求1所述的信息处理设备,
其中,所述处理单元生成指示所述第一状态组与所述第二状态组中包括的状态之间的关系的映射信息,并且基于所述第一状态与所述第一状态组之间的对应关系、所述第二状态与所述第二状态组之间的对应关系以及所述映射信息来确定所述第三状态。
7.根据权利要求6所述的信息处理设备,
其中,所述映射信息包括与所述第一状态组和所述第二状态组中包括的多个状态对应的多个坐标,以及
所述处理单元基于所述第一状态与所述第一状态组之间的对应关系以及所述第二状态与所述第二状态组之间的对应关系中的每个对应关系来将所述多个坐标中的每一个与所述第一状态和所述第二状态相关联,指定包括分别与所述第一状态和所述第二状态对应的坐标组的第一图形和第二图形,以及将与所述第一图形和所述第二图形外部的坐标对应的状态确定为所述第三状态。
8.根据权利要求7所述的信息处理设备,
其中,所述处理单元
通过将属于所述第一状态组的每个状态与对应的状态变量进行比较来指定属于所述第一状态组的每个状态的状态变量的值的第一模式;
通过将属于所述第二状态组的每个状态与对应的状态变量进行比较来指定属于所述第二状态组的每个状态的状态变量的值的第二模式;以及
基于所述第一模式和所述第二模式来生成作为所述第三状态的候选的候选状态,并且在所述映射信息中的与所述候选状态对应的坐标是所述第一图形和所述第二图形外部的坐标的情况下,将所述候选状态确定为所述第三状态。
9.根据权利要求8所述的信息处理设备,
其中,所述第一模式和所述第二模式中的每一个指示在第一值或第二值处保持不变的状态变量以及值被改变的状态变量,以及
所述处理单元
将与在所述第一模式和所述第二模式两者中具有相同值并且在所述相同值处保持不变的状态变量对应的所述候选状态的状态变量设置为所述相同值;
将所述第一值和所述第二值设置给与所述第一模式和所述第二模式中的一个在所述第一值处保持不变并且所述第一模式和所述第二模式中的另一个在所述第二值处保持不变的一个或更多个状态变量对应的所述候选状态的一个或更多个状态变量,使得减小所述一个或更多个状态变量中的所述第一值的数目和所述第二值的数目之间的差;以及
将所述第一值或所述第二值随机地设置给所述候选状态的与在所述第一模式和所述第二模式两者中值被改变的状态变量对应的状态变量。
10.根据权利要求7所述的信息处理设备,
其中,表示所述映射信息的坐标的维度数目小于所述多个状态变量的数目。
11.根据权利要求1所述的信息处理设备,
其中,所述搜索单元包括每一个执行所述搜索的多个子搜索单元,并且使所述多个子搜索单元分别使用所述第一状态和所述第二状态作为所述起点来并行地执行所述搜索。
12.根据权利要求1所述的信息处理设备,
其中,所述处理单元输出由所述搜索单元获得的状态中的使所述目标函数的值最小化的状态作为所述解。
13.根据权利要求1所述的信息处理设备,还包括:
一个或更多个搜索单元,所述一个或更多个搜索单元中的每一个被配置成用作所述搜索单元。
14.一种信息处理方法,使计算机执行:
在搜索单元中设置第一状态和第二状态,所述搜索单元通过改变由目标函数中包括的多个状态变量的值表示的状态来搜索使所述目标函数的值最小化的解;
使所述搜索单元通过使用所述第一状态和所述第二状态中的每一个作为起点来执行搜索,所述搜索被配置成在促进所述目标函数的值的增加的方向上改变影响所述目标函数的值的增加或减小的预定外部参数的值;
从所述搜索单元获取第一状态组和第二状态组,所述第一状态组是由所述搜索单元使用所述第一状态获得的状态组,所述第二状态组是由所述搜索单元使用所述第二状态获得的状态组;
通过使用所述第一状态组和所述第二状态组来确定未搜索状态中的第三状态;以及
使所述搜索单元通过使用所述第三状态作为所述起点来执行所述搜索。
15.一种非暂态计算机可读存储介质,用于存储使处理器执行处理的程序,所述处理包括:
在搜索单元中设置第一状态和第二状态,所述搜索单元通过改变由目标函数中包括的多个状态变量的值表示的状态来搜索使所述目标函数的值最小化的解;
使所述搜索单元通过使用所述第一状态和所述第二状态中的每一个作为起点来执行搜索,所述搜索被配置成在促进所述目标函数的值的增加的方向上改变影响所述目标函数的值的增加或减小的预定外部参数的值;
从所述搜索单元获取第一状态组和第二状态组,所述第一状态组是由所述搜索单元使用所述第一状态获得的状态组,所述第二状态组是由所述搜索单元使用所述第二状态获得的状态组;
通过使用所述第一状态组和所述第二状态组来确定未搜索状态中的第三状态;以及
使所述搜索单元通过使用所述第三状态作为所述起点来执行所述搜索。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020098271A JP2021192139A (ja) | 2020-06-05 | 2020-06-05 | 情報処理装置、情報処理方法、プログラム及び情報処理システム |
JP2020-098271 | 2020-06-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113761783A true CN113761783A (zh) | 2021-12-07 |
Family
ID=74797704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110233714.7A Pending CN113761783A (zh) | 2020-06-05 | 2021-03-03 | 信息处理设备、信息处理方法以及计算机可读存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210382960A1 (zh) |
EP (1) | EP3920054A1 (zh) |
JP (1) | JP2021192139A (zh) |
CN (1) | CN113761783A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI790160B (zh) * | 2022-01-24 | 2023-01-11 | 旺宏電子股份有限公司 | 記憶體裝置及其操作方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6261101A (ja) | 1985-09-11 | 1987-03-17 | Hitachi Ltd | 対話型計画装置 |
US7000211B2 (en) * | 2003-03-31 | 2006-02-14 | Stretch, Inc. | System and method for efficiently mapping heterogeneous objects onto an array of heterogeneous programmable logic resources |
JP2006293478A (ja) | 2005-04-06 | 2006-10-26 | Toshiba Corp | 最適値探索装置、方法、及びプログラム |
DK2582341T3 (en) * | 2010-06-16 | 2016-06-06 | Fred Bergman Healthcare Pty Ltd | A method of analyzing events from the sensor data by optimizing |
WO2018115491A1 (en) * | 2016-12-23 | 2018-06-28 | Universite Paris Est Creteil Val De Marne | Method for solving deterministically non-linear optimization problems on technical constraints |
US11138516B2 (en) * | 2017-06-30 | 2021-10-05 | Visa International Service Association | GPU enhanced graph model build and scoring engine |
JP6465231B1 (ja) * | 2018-03-12 | 2019-02-06 | 富士通株式会社 | 最適化装置及び最適化装置の制御方法 |
US11238308B2 (en) * | 2018-06-26 | 2022-02-01 | Intel Corporation | Entropic clustering of objects |
JP2021124978A (ja) * | 2020-02-05 | 2021-08-30 | 富士通株式会社 | 情報処理装置、プログラム、情報処理方法および情報処理システム |
JP2022047362A (ja) * | 2020-09-11 | 2022-03-24 | 富士通株式会社 | 情報処理システム、情報処理方法及びプログラム |
-
2020
- 2020-06-05 JP JP2020098271A patent/JP2021192139A/ja active Pending
-
2021
- 2021-02-25 EP EP21159207.6A patent/EP3920054A1/en active Pending
- 2021-03-02 US US17/189,312 patent/US20210382960A1/en active Pending
- 2021-03-03 CN CN202110233714.7A patent/CN113761783A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP3920054A1 (en) | 2021-12-08 |
JP2021192139A (ja) | 2021-12-16 |
US20210382960A1 (en) | 2021-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7413580B2 (ja) | ニューラルネットワークを使用した集積回路フロアプランの生成 | |
US9881114B2 (en) | Virtual hierarchical layer propagation | |
KR102305230B1 (ko) | 객체 경계정보의 정확도 개선방법 및 장치 | |
CN101615218A (zh) | 多目标优化设计改进支持设备及其方法和存储介质 | |
JP2009169557A (ja) | 多目的最適化設計支援装置、方法、及びプログラム | |
Cook et al. | GPU-based ising computing for solving max-cut combinatorial optimization problems | |
US20210256179A1 (en) | Information processing method and information processing system | |
CN114897173B (zh) | 基于变分量子线路确定PageRank的方法及装置 | |
Suda et al. | Machine learning on arm cortex-m microcontrollers | |
JP2011028504A (ja) | 多目的最適化設計支援装置、方法、及びプログラム | |
Cook et al. | GPU based parallel ising computing for combinatorial optimization problems in VLSI physical design | |
JP6325762B1 (ja) | 情報処理装置、情報処理方法、および情報処理プログラム | |
CN113761783A (zh) | 信息处理设备、信息处理方法以及计算机可读存储介质 | |
CN108761310B (zh) | 一种量子芯片的测试方法 | |
US20210397948A1 (en) | Learning method and information processing apparatus | |
US20230222385A1 (en) | Evaluation method, evaluation apparatus, and non-transitory computer-readable recording medium storing evaluation program | |
JP2022032703A (ja) | 情報処理システム | |
EP4187448A1 (en) | Information processing apparatus, information processing method, and program | |
CN111985631B (zh) | 信息处理设备、信息处理方法及计算机可读记录介质 | |
CN112529984B (zh) | 绘制多边形的方法、装置、电子设备及存储介质 | |
US20190286770A1 (en) | Computer-readable recording medium storing divided region generating program, divided region generating apparatus, and divided region generating method | |
JP2021144443A (ja) | 情報処理システム、情報処理方法およびプログラム | |
CN116167447B (zh) | 量子电路处理方法、装置及电子设备 | |
Vitali et al. | Dynamic Network selection for the Object Detection task: why it matters and what we (didn’t) achieve. | |
EP4361898A2 (en) | Data processing device, data processing method, and data processing program |
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 |