CN113128663A - 优化装置、温度设置方法和温度设置程序 - Google Patents

优化装置、温度设置方法和温度设置程序 Download PDF

Info

Publication number
CN113128663A
CN113128663A CN202011619643.6A CN202011619643A CN113128663A CN 113128663 A CN113128663 A CN 113128663A CN 202011619643 A CN202011619643 A CN 202011619643A CN 113128663 A CN113128663 A CN 113128663A
Authority
CN
China
Prior art keywords
value
unit
energy
solution
temperature setting
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.)
Granted
Application number
CN202011619643.6A
Other languages
English (en)
Other versions
CN113128663B (zh
Inventor
小山纯平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN113128663A publication Critical patent/CN113128663A/zh
Application granted granted Critical
Publication of CN113128663B publication Critical patent/CN113128663B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/08Thermal analysis or thermal optimisation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Algebra (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Operations Research (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Neurology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Feedback Control In General (AREA)
  • Complex Calculations (AREA)

Abstract

本申请涉及优化装置、温度设置方法和温度设置程序。优化装置包括搜索单元和温度设置单元。搜索单元通过使用多个温度值来执行对伊辛模型中的能量的基态的搜索,并输出多个解。温度设置单元从多个解中选择第一解和第二解,依次执行计算在第一解的比特序列的与第二解的比特序列的比特不同的多个比特中的一个值在多个比特中的每一个上被改变时的能量变化的处理,计算当能量增加连续多次发生时多次增加的能量的总计值,基于总计值来决定最大值,以及为搜索单元设置最大值。

Description

优化装置、温度设置方法和温度设置程序
技术领域
本文中讨论的实施方式涉及优化装置、温度设置方法和温度设置程序。
背景技术
作为解决不易被诺依曼型计算机处理的多元优化问题的方法,存在一种使用伊辛型能量函数(其也称为成本函数或目标函数)的优化装置(其也被称为伊辛机或玻尔兹曼机)。
在由优化装置进行的计算中,要计算的问题被伊辛模型代替,伊辛模型是表示磁体的自旋行为的模型。基于马尔可夫链蒙特卡罗方法例如模拟退火方法或副本交换方法(其也被称为交换蒙特卡罗方法),伊辛模型中能量的基态(能量函数的值被最小化的状态)被搜索。与基态中的自旋状态相对应的比特的值(在下文中,比特的值中的每一个也可以被称为状态变量)的组合是要获取的最优解。
在模拟退火方法或副本交换方法中,将温度用作用于生成噪声值的参数,以使当前状态从局部解中逃离。在模拟退火方法中,在搜索基态期间,温度从最高温度逐渐降低到最低温度。在副本交换方法中,为多个副本设置彼此不同的温度,并且在搜索基态期间以预定的交换概率在副本之间执行状态(或温度)的交换。
提出一种优化装置,其通过利用数字电路执行模拟退火方法或副本交换方法来计算使伊辛模型中的能量(能量函数的值)被最小化的比特的值的组合(例如,参见PTL 1和PTL 2)。提出的优化装置通过一次改变一个比特来计算能量变化,并且根据与温度相对应的噪声值与所计算的能量变化之间的比较来决定是否接受该比特的变化。
还提出一种技术(例如,参见PTL 3),其使用模拟退火方法来通过利用隧道效应来解决具有连续变量的优化问题。
[引用列表]
[专利文献]
[PTL 1]日本特开专利公布第2018-5541号
[PTL 2]日本特开专利公布第2019-194765号
[PTL 3]日本特开专利公布第2019-159782号
发明内容
[技术问题]
在如上所述通过使用温度来搜索基态的优化装置中,适当的最高温度在要计算的问题之间不同。当最高温度过高时,状态转变(比特的值的变化)过度频繁地发生。另一方面,当最高温度过低时,状态可能不会从局部解中逃离,并且在所有情况下,状态难以收敛到最优解。因此,期望设置适合于要解决的问题的最高温度。
在一个方面,本发明的目的是提供一种能够设置适合于要计算的问题的最高温度的优化装置、该优化装置的温度设置方法以及该优化装置的温度设置程序。
[问题的解决方案]
根据一个方面,提供了一种优化装置,包括:搜索单元,其通过使用多个温度值来执行对伊辛模型中的能量的基态的搜索,并输出多个解;以及温度设置单元,其从自搜索单元输出的多个解中选择第一解和第二解,其依次执行计算伊辛模型中的能量变化的处理,该伊辛模型中的能量变化是在第一解的比特序列的与第二解的比特序列的比特不同的多个比特中的一个值在多个比特中的每一个上被改变时引起的,其计算当能量增加连续多次发生时多次增加的能量的总计值,其基于总计值来决定多个温度值中的最大值,以及其为搜索单元设置所决定的最大值。
[本发明的有利效果]
在一方面,可以设置适合于要计算的问题的最高温度。
附图说明
图1是示出根据第一实施方式的优化装置的示例的图;
图2是示出根据比较例的优化装置的图;
图3是示出多个局部解的示例的图;
图4是示出当一个局部解转移到另一局部解时能量跃迁的示例的图;
图5是示出根据第二实施方式的优化装置的示例的图;
图6是示出温度设置单元的示例的图;
图7是示出连续增加积分单元和Tmax计算单元的示例的图;
图8是示出优化装置的操作的示例的流程的流程图;
图9是示出用于计算Tmax的方法的示例的流程的流程图;
图10是示出用于计算Tmax[k]的处理的示例的流程的流程图;
图11是示出在自旋玻璃问题的计算中从X[k+1]向X[k]跃迁时的能量跃迁的示例的图;
图12是示出当计算具有已知正确解的100个自旋玻璃问题时获取的Tmax的示例的图;
图13是示出针对多种问题达到正确解的副本的数目的示例的结果的图;
图14是示出根据第三实施方式的优化装置的示例的图;
图15是示出用于计算Tmax[k]的处理的示例的流程的流程图;
图16是示出cntp与能量山之间的关系的示例的图;以及
图17是示出计算机的硬件的示例的图。
具体实施方式
下面参照附图描述本发明的实施方式。
(第一实施方式)
图1是示出根据第一实施方式的优化装置的示例的图。
图2是示出根据比较例的优化装置的图。在图2中,与图1中示出的元件相同的元件被分配有相同的附图标记。
首先,描述根据图2中示出的比较例的优化装置10a。
优化装置10a包括搜索单元11和温度设置单元12a。搜索单元11可以由例如专用电子电路诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)来实现。温度设置单元12a可以通过由诸如中央处理单元(CPU)的处理器执行程序而产生的软件处理来实现。不限于此,可以通过使用如上所述的电子电路来实现搜索单元11和温度设置单元12a中的每一个的一部分或全部,或者可以通过软件处理来实现其一部分或全部。这同样适用于将在下面描述的根据第一实施方式的优化装置10中的温度设置单元12。
搜索单元11通过使用多个温度值来执行对从要计算的问题转换的伊辛模型中能量基态的搜索,并输出多个解(尽管解不限于局部解,但下文中将其作为局部解处理)(X1、X2、...)。
在多个温度值中,与最高温度相对应的最大温度值是上限,而与最低温度相对应的最小温度值是下限。当在搜索单元11中执行通过模拟退火方法的搜索时,控制温度值以使其根据预定的温度变化时间表从最大温度值逐渐减小到最小温度值。当在搜索单元11中执行通过副本交换方法的搜索时,在从最小温度值到最大温度值的范围内使用等于副本数目的多个温度值。
伊辛模型的能量由例如由以下表达式(1)表示的能量函数E(x)定义。
[表达式.1]
Figure BDA0002872037770000041
右侧的第一项将两个状态变量值与权重系数的乘积相加,而不会在从伊辛模型中包括的所有状态变量中可选择的两个状态变量的所有组合之中丢失和重叠。xi是第i状态变量。xj是第j状态变量。Wij是指示第i状态变量与第j状态变量之间的权重(诸如耦合强度)的权重系数。
右侧的第二项是所有状态变量的偏置系数与状态变量的值的乘积之和。bi表示第i状态变量的偏置系数。
例如,伊辛模型中自旋的“-1”对应于状态变量的值“0”。伊辛模型中自旋的“+1”对应于状态变量的值“1”。因此,状态变量可以称为具有0或1的值的“比特”。
基于当多个比特中的一个比特改变时引起的能量变化与噪声值之间的比较结果,搜索单元11确定是否接受该比特的变化。如果搜索单元11确定接受该比特的变化,则该比特的值被改变以引起状态转变。基于上述温度值或随机数来获取噪声值。随着温度值增加,噪声值的幅度增加。
当执行模拟退火方法时,温度值被控制以便根据预定的温度变化时间表降低,并且处理——其包括确定是否接受针对温度值中的每一个的比特变化和状态转变——被重复预定次数。例如,搜索单元11输出在对最小温度值执行预定次数的重复处理之后获取的状态(状态变量的值)作为局部解。之后,温度值再次返回到最大温度值,并且重复相同的处理。因此,获取多个局部解。在即使能量变化与噪声值之间的比较执行了预定次数也不接受比特变化的情况下,搜索单元11输出当时的状态作为局部解。可替选地,搜索单元11可以在每次执行状态转变时更新能量,并且输出如下状态作为局部解,在该状态下在通过执行预定次数的重复处理而获取的能量之中获取最小值。
当执行副本交换方法时,为副本设置最大温度值与最小温度值之间彼此不同的温度值。在副本中的每一个中,处理——其包括确定是否接受比特变化和状态转变——被重复,并且在副本之间以预定的交换概率执行状态(或温度)的交换。搜索单元11例如在每次在副本中的每一个中执行状态转变时更新能量,并且输出如下状态作为局部解,在该状态下在通过执行预定次数的重复处理而获取的能量之中在副本中的每一个中获取最小值。
比较例的优化装置10a中的温度设置单元12a基于作为从搜索单元11输出的局部解的X1、X2、...以下面描述的方式决定新的最大温度值,并且设置用于搜索单元11的新的最大温度值,代替直到此刻为止所使用的最大温度值。
当X1、X2、...按照能量的递增次序(升序)排列时,温度设置单元12a按照能量的递增次序以两个为一组选择局部解。当X1、X2、...没有按照升序排列时,温度设置单元12a还从搜索单元11获得与局部解相对应的能量,并且基于所获得的能量按照升序排列局部解。温度设置单元12a可以根据所获得的局部解基于表达式(1)来计算与局部解中的每一个相对应的能量。
图3是示出多个局部解的示例的图。图3具有指示状态的水平轴和指示能量的竖直轴。例如,局部解是如下状态,该状态具有如图3中所示的定位在能量图景的谷处的能量,以及Xc和Xd是局部解。
温度设置单元12a从所选择的两个局部解中的一个局部解的比特序列中提取与另一个局部解的比特序列的比特不同的多个比特。温度设置单元12a一个接一个地改变(翻转)多个比特,并且计算跟随比特变化的能量变化(ΔE)。温度设置单元12a可以通过贪婪算法或随机地决定改变比特的顺序。根据贪婪算法,温度设置单元12a处理在作为改变目标的改变候选比特之中导致最小ΔE的比特。
图2示出了当通过根据贪婪算法将Xc的比特序列中与Xd的比特序列不同的多个比特(Xc')一个接一个地改变以与Xd的多个比特(Xd')匹配而将Xc转移到Xd时引起的能量跃迁的示例。图2具有指示状态的一部分(由Xc'一个接一个地改变而产生的比特序列)的水平轴和指示能量的竖直轴。
温度设置单元12a通过使用所计算的ΔE之中能量最大增加的值(Dmax)来通过以下表达式(2)计算最大温度值(Tmaxa)。
[表达式2]
Figure BDA0002872037770000061
在表达式(2)中,A是接受引起Dmax的能量增加的状态转变的概率(转变接受概率)。为温度设置单元12a预设A。作为一个示例,A=0.36785(其中,Tmaxa具有与Dmax的值基本上相等的值)。log(A)是A的自然对数。
温度设置单元12a对其他局部解对(pair)执行相同的处理,并且例如为搜索单元11设置其中最大的Tmaxa。
搜索单元11使用设置的Tmaxa作为新的最大温度值,并且如上所述重复搜索基态。
如上所述,使用Tmaxa作为最大温度值还允许在搜索单元11中以预定的概率(例如,表达式(2)中的A)接受引起像图2中的Dmax一样的能量增加的状态转变,并且促使该状态从局部解中逃离。
在要计算的一些问题(例如自旋玻璃问题)中,用于将一个局部解转移到另一局部解的能量跃迁是能量连续增加的跃迁。
图4是示出当一个局部解转移到另一局部解时能量跃迁的示例的图。图4具有指示距一个局部解(Xa)的汉明距离的水平轴和指示能量的竖直轴。
图4示出了在通过在Xa与Xb的不同在于m个比特时、根据贪婪算法将Xa的比特序列中与Xb的比特序列不同的m个比特一个接一个地改变来将Xa转移到Xb时能量跃迁的示例。图4中的能量跃迁的示例具有在比特被一个接一个地改变时能量连续增加的部分(如下部分,在该部分中,一个比特改变后的状态连续爬升能量山)。
如上所述,比较例的优化装置10a中的温度设置单元12a将m个比特一个接一个地改变,并且基于Dmax来计算Tmaxa,该Dmax具有跟随改变的ΔE之中的最大能量增加。图4示出了其中ΔE4是Dmax的示例。
然而,当使用基于Dmax计算的Tmaxa时,如果引起能量增加如Dmax的状态转变没有被重复许多次则状态可能不会爬上如图4所示的能量山,并且状态可能爬上山的概率非常低。
换言之,例如,存在如下可能性:由比较例的优化装置10a中的温度设置单元12a决定的Tmaxa是太低而不能从局部解中逃离的值。
另一方面,图1中示出的第一实施方式的优化装置10中的温度设置单元12如下决定最大温度值(Tmax),使得也可以处理上述情况。
温度设置单元12从自搜索单元11输出的X1、X2、...中以两个为一组选择局部解。例如,温度设置单元12可以如上述温度设置单元12a一样按照能量的递增次序以两个为一组选择X1、X2、...。
温度设置单元12依次执行用于计算在所选局部解之一的比特序列的与另一局部解的比特序列的多个比特不同的多个比特中的一个比特的值在多个比特中的每一个上改变时引起的ΔE的处理。当能量增加连续发生多次时,与上述温度设置单元12a不同,温度设置单元12计算多次增加的能量的总计值。温度设置单元12基于总计值决定新的Tmax,并且为搜索单元11设置所决定的Tmax。
图1示出了类似于上述图4的能量跃迁的能量跃迁的示例。在图1中的示例中,ΔE>0,直到Xa改变n个比特为止,以及当Xa改变n+1个比特时ΔEn+1<0。换言之,例如,能量增加连续发生n次。在这种情况下,温度设置单元12计算n次增加的能量的总计值(Dsum=ΔE1+ΔE2+...+ΔEn)。
温度设置单元12例如通过以下表达式(3)计算Tmax。
[表达式3]
Figure BDA0002872037770000081
即使在在两个局部解之间存在没有多个连续能量增加的情况下可能无法跨越的大能量山的情况下,使用上述Tmax作为最大温度值也允许以相对高的概率跨越能量山。例如,以表达式(2)中的A给出的概率,可以跨越这样的能量山。因此,即使针对在两个局部解之间具有上述大能量山的问题(例如自旋玻璃问题),也可以设置适合于该问题的最高温度。因此,可以增加用于获取最优解的可能性。
(第二实施方式)
图5是示出根据第二实施方式的优化装置的示例的图。
根据第二实施方式的优化装置20包括搜索单元21、温度设置单元22和总体控制单元23。
搜索单元21可以由诸如ASIC或FPGA的专用电子电路实现。温度设置单元22和总体控制单元23可以通过由诸如CPU的处理器执行程序而产生的软件处理来实现。不限于此,可以通过使用上述电子电路来实现搜索单元21、温度设置单元22和总体控制单元23的一部分或全部。可以通过软件处理来实现搜索单元21、温度设置单元22和总体控制单元23的一部分或全部。
在第二实施方式的优化装置20中,搜索单元21通过副本交换方法执行对基态的搜索。
搜索单元21包括各自对应于副本的副本电路21a1、21a2、...、21aN。搜索单元21还包括温度控制单元21b。
分别为副本电路21a1至21aN设置彼此不同的温度值(T1至TN)。基于例如预先给出的Tmax和Tmin(最小温度值)、基于以下表达式(4)和(5)来定义初始温度T1至TN
[表达式4]
Figure BDA0002872037770000082
[表达式5]
Figure BDA0002872037770000091
在表达式(4)中,Ti是为副本电路21a1至21aN之中的第i副本电路设置的温度值。在表达式(5)中,N是副本电路21a1至21aN的数量(副本的数量)。
副本电路21a1至21aN中的每一个通过使用例如以下所述的电路来基于由表达式(1)表示的能量函数实现对基态的搜索。尽管下面主要描述副本电路21a1,但是副本电路21a2至21aN可以通过相同的电路配置来实现。
副本电路21a1包括ΔE生成单元30a1、30a2、...、30an、选择器单元30b、状态保持单元30c和E计算单元30d。
参照图5,与“ΔEi”生成单元一样,在ΔE生成单元30a1至30an的名称中给出了下标“i”,使得可以容易地理解与第i比特的对应。每个比特由称为“索引”的标识信息标识。例如,第i比特的索引是“i”。
用于确定是否要改变一个副本电路的状态中包括的一个比特的值以及如果要改变该值则改变相应比特的值的处理对应于用于通过副本电路搜索基态的一个过程。这一个过程被重复执行。要由副本电路21a1至21aN并行执行的一个过程的重复次数也可以称为“迭代次数”。
一个副本电路包括n个ΔE生成单元30a1到30an(例如,其中每个是在对一个比特执行算术运算的算术处理电路中的一个单元,并且也可以称为“神经元”或“神经元电路”)。n个ΔE生成单元30a1至30an并行地对相应的比特执行算术运算。
将对与ΔE生成单元30a1到30an相对应的比特执行的算术运算是用于基于伊辛模型中的能量变化与噪声值之间的比较结果来确定是否接受比特的值的改变的算术处理,该伊辛模型中的能量变化是在比特的值被改变时引起的。当其中索引=i的比特的值(状态变量xi)改变为1-xi时,xi的变化可以表示为δxi=(1-xi)-xi=1-2xi。因此,由于xi的值的变化而引起的能量变化(ΔEi)可以基于表达式(1)由以下表达式(6)表示。
[表达式6]
Figure BDA0002872037770000101
在表达式(6)中,hi可以由以下表达式(7)表示。
[表达式7]
Figure BDA0002872037770000102
ΔE生成单元30a1至30an中的每一个对于xi保持hi,并且当xi的值改变时基于表达式(6)从hi获取ΔEi
在下文中,主要且示例性地描述ΔE生成单元30a1。具有相同名称下的配置的ΔE生成单元30a2至30an也具有相同的功能。
与ΔE生成单元30a1相对应的比特称为“该比特”,并且除由副本电路21a1计算的比特之外的比特称为“另外的比特”。
ΔE生成单元30a1存储该比特与另外的比特之间的权重系数(W1j(j=1至n))。W1j的下标“j”指示包括该比特(其中索引=1的比特)的一个比特的索引。在这种情况下,W11=0。
ΔE生成单元30a1通过使用W1j来基于表达式(7)计算h1
通过使用h1并且基于表达式(6),ΔE生成单元30a1生成在比特的值被改变时发生的ΔE1。例如,根据从状态保持单元30c提供的比特的当前值,ΔE生成单元30a1可以确定比特的值改变为0或1中的哪一个。ΔE生成单元30a1将生成的ΔE1输出至选择器单元30b。ΔE生成单元30a1可以输出通过翻转ΔE1的符号而获取的-ΔE1。在本实施方式中,假设ΔE生成单元30a1输出-ΔE1
选择器单元30b根据从ΔE生成单元30a1提供的-ΔE1来输出要被翻转的比特的索引。例如,选择器单元30b根据-ΔE1和与为副本电路21a1设置的温度值对应的噪声值之间的比较结果,确定是否接受该比特的值的改变。
描述关于是否接受该比特的值的改变的确定。
对于引起一个能量变化(ΔE)的状态转变的接受概率(A(ΔE))在使用Metropolis方法的情况与使用Gibbs方法的情况之间不同,并且可以由以下表达式(8)表示。
[表达式8]
Figure BDA0002872037770000111
在此,β是温度值(T)的倒数(逆温度值)。min运算符指示采用参数的最小值。在下文中,通过两种方法的A(ΔE)被记为f(-ΔE/T)。
例如,可以通过如下比较器来实现输出如下标志的电路,该标志指示以f(-ΔE/T)的概率引起ΔE的状态转变被接受,该比较器根据f(-ΔE/T)与具有在区间[0,1]中的值的均匀随机数u之间的比较来输出值。
然而,当进行以下修改时,也可以实现相同的功能。即使将相同的单调递增函数应用于两个数,它们之间的大小关系也不会改变。因此,即使将相同的单调递增函数应用于比较器的两个输入,比较器的输出也不会改变。例如,可以将f(-ΔE/T)的反函数f-1(-ΔE/T)用作应用于f(-ΔE/T)的单调递增函数,并且将通过将f-1(-ΔE/T)的-ΔE/T设置为u而获得的f-1(u)用作应用于均匀随机数u的单调递增函数。在这种情况下,具有与上述比较器相同功能的电路可以是当-ΔE/T大于f-1(u)时输出1的电路。因为T为正,所以当-ΔE等于或高于T*f-1(u)时(或者当ΔE等于或低于-(T*f-1(u))时),ΔE生成单元30a1可以输出指示状态转变被接受的标志。
ΔE生成单元30a1生成均匀随机数u并通过使用用于将所生成的均匀随机数u转换为f-1(u)的值的转换表来生成f-1(u)的值。例如,当应用Metropolis方法时,获取关系f-1(u)=log(u),并且判断公式可以由以下表达式(9)表示。
[表达式9]
T·log(u)≤-ΔE (9)
转换表存储在例如电阻器中。ΔE生成单元30a1生成作为T与f-1(u)的乘积的(T*f-1(u)),并将其与-ΔE1进行比较。在这种情况下,T*f-1(u)是上述噪声值。噪声值对应于热噪声或热激发能。如果-ΔE1≥T*f-1(u),则ΔE生成单元30a1输出f1=1作为指示状态转变被接受的标志。如果-ΔE1<T*f-1(u),则ΔE生成单元30a1输出f1=0。f1=0指示状态转变不被接受。
ΔE生成单元30a1可以根据通过将T*f-1(u)与ΔE1相加而获取的评估值与阈值(例如0)之间的比较来修改-ΔE1≥T*f-1(u),并输出指示是否要接受状态转变的标志。
选择器单元30b接收从ΔE生成单元30a1至30an中的每一个输出的标志。如果在从ΔE生成单元30a1至30an输出的标志之中存在指示要接受状态转变的标志,则选择器单元30b选择指示要接受状态转变的一个标志。如果在从ΔE生成单元30a1至30an输出的标志之中不存在指示要接受状态转变的标志,则选择器单元30b选择预定的一个标志。
选择器单元30b将包括选择的标志和与该标志相对应的比特的索引=j的更新信号(“update”)输出至状态保持单元30c。
状态保持单元30c包括例如电阻器,并且保持副本电路21a1中的状态(X1(x1、x2、...、xn))。状态保持单元30c接收从选择器单元30b输出的标志和索引,并且例如,如果标志是1,则改变与索引相对应的比特的值,以及如果标志是0,则不改变比特中的所有比特的值。状态保持单元30c将当前X1输出至E计算单元30d。当在副本电路21a1中完成预定数量的搜索或者完成预定时段内的搜索处理时,状态保持单元30c还将X1输出至温度设置单元22和总体控制单元23。状态保持单元30c还将索引=j输出至ΔE生成单元30a1至30an中的每一个。
E计算单元30d基于从状态保持单元30c输出的当前X1来计算副本电路21a1中的伊辛模型的当前能量(E1)。E1由表达式(1)所表示的能量函数定义。当在副本电路21a1中完成预定数量的搜索或者完成预定时段内的搜索处理时,E计算单元30d将计算出的E1输出至温度控制单元21b和温度设置单元22。
温度控制单元21b为副本电路21a1至21aN中的每一个中的状态转变确定电路来设置T(T1至TN之一)。当温度设置单元22设置了Tmax时,温度控制单元21b可以基于预设的Tmin和Tmax根据表达式(4)和(5)计算T1至TN。当从温度设置单元22提供了T1至TN时,温度控制单元21b分别为副本电路21a1至21aN中的状态转变确定电路设置所提供的T1至TN
温度控制单元21b控制副本电路21a1至21aN中的T的交换(温度交换)。对于具有彼此相邻的温度值的一对副本电路(一组两个副本电路),温度控制单元21b基于由以下表达式(10)表示的交换概率(pij)来确定对于每对是否要执行温度交换。
[表达式10]
Figure BDA0002872037770000131
在表达式(10)中,Ei是与在副本电路21a1至21aN之中的第i副本电路中获取的局部解相对应的能量。Ej是与在第j副本电路中获取的局部解相对应的能量。Ti是为第i副本电路设置的温度值的值。Tj是为第j副本电路设置的温度值。k是玻尔兹曼常数。
温度控制单元21b将交换后的温度值提供给副本电路21a1至21aN。例如,温度控制单元21b使温度控制单元21b中的电阻器保持第一对应信息,在该第一对应信息中,温度值的标识信息(称为“温度指数”或“温度数”)和温度值相关联。例如,温度指数按照温度值的升序与温度值相关联(随着温度指数增加,温度值也增加)。温度控制单元21b还使温度控制单元21b中的电阻器保持第二对应信息,在该第二对应信息中,例如,按照升序排列的温度指数与副本电路21a1至21aN的标识号相关联。在这种情况下,对于与第二对应信息中的相邻温度指数相对应的一对副本电路,设置温度值是彼此相邻的。基于第一对应信息和第二对应信息,温度控制单元21b控制副本电路21a1至21aN的温度交换,并根据所执行的交换来更新第二对应信息。基于第一对应信息和第二对应信息,温度控制单元21b将温度值提供给副本电路21a1至21aN。
然而,温度控制单元21b可以保持其中副本电路21a1至21aN的标识号和温度值相关联的对应信息片段,并通过将对应信息片段按温度值整理来标识具有彼此相邻的所述设置温度值的一对搜索单元。
已经描述了在搜索单元21中的副本电路21a1至21aN之间交换温度值,可以以表达式(10)中的概率交换状态。然而,交换温度值所涉及的要发送和接收的信息量要比交换状态少。
温度设置单元22基于作为从搜索单元21输出的副本电路21a1至21aN中的局部解的X1至XN来决定Tmax,并将其设置给搜索单元21。温度设置单元22可以基于所决定的Tmax和预设的Tmin根据表达式(4)和(5)计算T1至TN,并将所计算的T1至TN输出至搜索单元21。下面描述由温度设置单元22决定Tmax的方法的示例。
总体控制单元23控制优化装置20的总体操作。当从优化装置20的外部接收到启动信号的输入时,总体控制单元23将启动信号输出至温度控制单元21b并启动搜索单元21以使搜索单元21开始用于搜索与优化问题有关的基态的处理。当搜索单元21进行的搜索处理结束时,总体控制单元23从搜索单元21获得X1至XN,并且获取针对优化问题的解。例如,总体控制单元23处理所获得的X1至XN之中的与最低能量相对应的状态作为解。总体控制单元23将指示算术处理的结束的结束信号输出至优化装置20的外部。结束信号可以包括指示通过算术处理获取的解的信息。例如,总体控制单元23可以将指示解的图像信息输出至未示出、耦合至优化装置20的显示设备,并且使显示设备显示指示解的图像信息以将获取的解的细节呈现给用户。
总体控制单元23可以从优化装置20的外部接收例如上述问题信息(例如Wij和bi)和状态的初始值,并将它们设置给搜索单元21的部件(例如ΔE生成单元30a1至30an以及状态保持单元30c)。总体控制单元23可以从优化装置20的外部接收Tmax或Tmin的初始值,并将其设置给温度控制单元21b。以上信息的设置可以由另一控制单元执行。
当从优化装置20的外部接收到复位信号的输入时,总体控制单元23清除由搜索单元21和温度设置单元22保持的信息。
(温度设置单元22的示例)
图6是示出温度设置单元22的示例的图。
温度设置单元22包括局部解选择单元22a、连续增加积分单元22b和Tmax计算单元22c。
局部解选择单元22a获得从搜索单元21输出的作为副本电路21a1至21aN中的局部解的X1至XN以及分别与X1至XN相对应的E1至EN。在下文中,N等于或高于3。局部解选择单元22a按照能量的递增次序(升序)排列N个局部解,并且按照能量的递增次序以两个为一组选择局部解。局部解选择单元22a可以按照能量的递增次序将m(<N)个局部解作为选择目标来处理,而不是将N个局部解中的所有作为选择目标来处理。局部解选择单元22a可以从X1至XN随机地以两个为一组来选择局部解,并且在这种情况下,可能不获得E1至EN
连续增加积分单元22b依次执行用于计算当选择的两个局部解之一的比特序列的与另一个局部解的比特序列的比特不同的多个比特(在下文中,“集合S”)中的一个值在属于集合S的比特中的每一个上被改变时发生的ΔE的处理。连续增加积分单元22b例如通过上述表达式(6)和(7)来计算ΔE。用于通过表达式(6)和(7)计算ΔE的问题信息(Wij和bi)被预先存储在例如未示出的存储单元中,并且连续增加积分单元22b通过从存储单元中读出问题信息来计算ΔE。
用于决定用于改变比特的顺序的方法可以是贪婪算法或随机地决定顺序的方法。当应用贪婪算法时,连续增加积分单元22b针对属于集合S的比特中的每一个计算当属于集合S的比特被改变时的ΔE,并且改变具有最小ΔE的比特。
当属于集合S的比特被依次改变并且如果能量增加连续多次发生时,连续增加积分单元22b对ΔE进行积分以计算多次增加的能量的总计值(Dsum)。
Tmax计算单元22c基于由连续增加积分单元22b针对由局部解选择单元22a选择的一对局部解计算出的Dsum和预定的转变接受概率(A),通过表达式(3)来计算Tmax。Tmax计算单元22c输出针对成对的局部解计算的Tmax中的最大Tmax(或者将其设置给搜索单元21)。
下面描述在应用贪婪算法的情况下连续增加积分单元22b和Tmax计算单元22c的示例。
图7是示出连续增加积分单元22b和Tmax计算单元22c的示例的图。
连续增加积分单元22b具有集合S提取单元22b1、ΔE计算单元22b2、确定单元22b3、比特改变单元22b4、标志值保持单元22b5、积分单元22b6和积分值保持单元22b7。
从作为由局部解选择单元22a选择的两个局部解(在下文中,X[k]和X[k+1])之一的X[k+1]的比特序列中,集合S提取单元22b1提取集合S,该集合S是与X[k]的比特序列的比特不同的多个比特。k是标识局部解的标识号。例如,当k为0至N-2且X[0]到X[N-1]按照能量的升序排列时,X[k]和X[k+1]指示它们是其中能量随着k增加而增加的局部解。
对于属于集合S的比特中的每一个,ΔE计算单元22b2基于集合S和X[k+1]、Wij以及bi通过上述表达式(6)和(7)来计算比特被改变时的ΔE。每次由比特改变单元22b4改变属于集合S的比特之一时,ΔE计算单元22b2对除改变后的比特之外的其他比特重复相同的处理。
确定单元22b3基于由ΔE计算单元22b2计算的ΔE选择具有最小ΔE的比特,并将该比特的索引输出至比特改变单元22b4。如果当k=0时最小ΔE高于0,则确定单元22b3还通过设置fa=1来使标志值保持单元22b5保持指示能量是否在增加的标志值(在下文中,“fa”)。
如果当k>0时最小ΔE高于0,则确定单元22b3参考保持在标志值保持单元22b5中的fa,并且如果fa=0,则将其更新为fa=1,以及如果fa=1,则将fa保持原样。如果当k>0时最小ΔE等于或低于0,则确定单元22b3参考保持在标志值保持单元22b5中的fa,并且如果fa=1,则将其更新为fa=0,以及如果fa=0,则将fa保持原样。
如果最小ΔE高于0,则确定单元22b3将ΔE输出至积分单元22b6。如果最小ΔE等于或低于0并且如果那时的ΔE的积分值高于直到使用X[k]、X[k+1]时获取的保持在积分值保持单元22b7中的积分值的那个时刻的最大值,则确定单元22b3利用积分值来更新最大值。当积分值保持单元22b7保持当使用X[k]和X[k+1]时获取的积分值的平均值时,确定单元22b3利用此时获取的积分值来更新平均值。
比特改变单元22b4改变与从确定单元22b3提供的索引相对应的比特的值,并且将改变后的值和索引输出至ΔE计算单元22b2。
标志值保持单元22b5保持上述fa的值。
积分单元22b6对从确定单元22b3提供的ΔE进行积分,并且使积分值保持单元22b7保持积分值。
积分值保持单元22b7保持ΔE的积分值和积分值的最大值。代替保持积分值的最大值,积分值保持单元22b7可以保持积分值的平均值。例如,每当X[k]和X[k+1]的k的值改变时,更新积分值及其最大值或平均值。
Tmax计算单元22c具有Tmax[k]计算执行单元22c1、Tmax[k]保持单元22c2和Tmax选择单元22c3。
当使用X[k]和X[k+1]时,Tmax[k]计算执行单元22c1对最大温度值(Tmax[k])执行算术处理。可以通过将积分值保持单元22b7中保持的ΔE的积分值关于k的值的最大值用作表达式(3)中的Dsum来计算来获取Tmax[k]。
Tmax[k]保持单元22c2保持由Tmax[k]计算执行单元22c1计算的Tmax[k]。
Tmax选择单元22c3对于在Tmax[k]保持单元22c2中保持的每个k,输出Tmax[k]之中的具有最大值的一个作为Tmax。因此,Tmax[k]也可以称为最大温度值的候选值。Tmax选择单元22c3针对在Tmax[k]保持单元22c2中保持的k计算Tmax[k]的平均值,并且将计算的平均值输出为Tmax。
在下文中,描述了优化装置20的操作的示例。
(优化装置20的操作的示例)
图8是示出优化装置的操作的示例的流程图。
(S10)总体控制单元23用0代替变量“it”(it=0),该变量“it”指示管理副本电路21a1至21aN中的搜索处理的迭代次数的计数器的值。
(S11)总体控制单元23为搜索单元21设置Wij、bi、一次启动的迭代次数=m以及Tmin。
(S12)总体控制单元23或温度设置单元22为搜索单元21设置Tmax。例如,总体控制单元23为搜索单元21设置Tmax的初始值。之后,每当从搜索单元21输出局部解时,由温度设置单元22设置基于局部解计算的新Tmax。
(S13)总体控制单元23通过使用启动信号来启动搜索单元21。
(S14)总体控制单元23等待搜索单元21的搜索处理的结束。
(S15)温度设置单元22从搜索单元21获得N个局部解。
(S16)温度设置单元22执行新Tmax的计算。下面描述用于计算Tmax的方法的流程。
(S17)总体控制单元23将m加至it(it=it+m)。
(S18)总体控制单元23确定it是否>M。M是迭代总数。如果it>M,则处理结束。当处理结束时,总体控制单元23从搜索单元21获得X1至XN,并且获取针对优化问题的解。例如,总体控制单元23处理所获得的X1至XN之中与最低能量相对应的状态作为解。总体控制单元23将指示算术处理的结束的结束信号输出至优化装置20的外部。如果it≤M,则重复从步骤S12开始的处理。
如步骤S12至S18中所示,温度设置单元22基于新获得的局部解来计算新Tmax,并且重复执行用于为搜索单元21设置Tmax的处理,使得存在可以为搜索单元21设置更合适的Tmax的可能性。
图9是示出用于计算Tmax的方法的示例的流程的流程图。
例如,图8中的步骤S16中的处理通过图9中示出的处理的流程执行。
(S20)温度设置单元22中的局部解选择单元22a按照相应能量(E1至EN)的升序对从搜索单元21获得的局部解(X1至XN)进行整理。
(S21)局部解选择单元22a用0代替k(k=0)。在此,k是如上所述的用于标识局部解的标识号。
(S22)局部解选择单元22a选择X[k]和X[k+1]。
(S23)温度设置单元22中的连续增加积分单元22b和Tmax计算单元22c基于由局部解选择单元22a选择的X[k]和X[k+1]来计算Tmax[k]。下面描述用于计算Tmax[k]的处理的流程。
(S24)局部解选择单元22a使k递增(k=k+1)。
(S25)局部解选择单元22a确定k是否等于N-1(k==N-1)。如果k等于N-1,则处理前进至步骤S26。如果k不等于N-1,则重复从步骤S22开始的处理。
(S26)温度设置单元22中的Tmax计算单元22c计算Tmax=max(Tmax[k])(k=0、1、...、N-2)。在此,max(Tmax[k])指示作为最大温度值的候选值的Tmax[0]、Tmax[1]、...、Tmax[N-2]之中的最大值。新Tmax的计算结束。Tmax选择单元22c3可以处理Tmax[0]至Tmax[N-2]的平均值作为Tmax。
在步骤S26中,如果Tmax≤0,则Tmax计算单元22c使用上次计算的Tmax(在这种情况下,可以认为未执行Tmax的更新)。
图10是示出用于计算Tmax[k]的处理的示例的流程的流程图。
例如,图9中的步骤S23中的处理通过图10中示出的处理的流程来执行。
(S30)图7中的连续增加积分单元22b中的集合S提取单元22b1设置解C=X[k+1]。
(S31)连续增加积分单元22b中的确定单元22b3将0设置为要保持在积分值保持单元22b7中的Dsum,并且将0设置为要保持在标志值保持单元22b5中的fa。
(S32)集合S提取单元22b1在解C与X[k]之间提取上述集合S。
(S33)对于属于集合S的比特中的每一个,连续增加积分单元22b中的ΔE计算单元22b2通过上述表达式(6)和(7)计算当改变该比特时发生的ΔE。
(S34)连续增加积分单元22b中的确定单元22b3选择具有最小ΔE的比特s。例如,当属于集合S的比特中的所有比特的ΔE为正时,连续增加积分单元22b选择能量增加最小的比特s。确定单元22b3设置D=dE[s]。在此,dE[s]指示解C中比特s的变化的ΔE。
(S35)确定单元22b3确定D是否>0。如果D>0,则处理前进至步骤S36,以及如果不满足D>0,则处理前进至步骤S40。
(S36)确定单元22b3确定在标志值保持单元22b5中保持的fa是否为1。如果fa是1,则处理前进至步骤S37,以及如果fa不是1,则处理前进至步骤S38。
(S37)积分单元22b6将D加至积分值保持单元22b7中保持的Dsum(Dsum=Dsum+D)。之后,处理前进至步骤S43。
(S38)积分单元22b6用D代替积分值保持单元22b7中保持的Dsum(Dsum=D)。
(S39)确定单元22b3将1设置为fa。之后,处理前进至步骤S43。
(S40)确定单元22b3确定在标志值保持单元22b5中保持的fa是否为1。如果fa是1,则处理前进至步骤S41,以及如果fa不是1,则处理前进至步骤S43。
(S41)确定单元22b3用直到该时刻获取的Dsump和当前Dsum中较大一个代替Dsump,其指示在积分值保持单元22b7中保持的积分值的最大值(Dsump=max(Dsump,Dsum))。Dsump可能是直到该时刻获取的Dsum的平均值。
(S42)确定单元22b3将0设置为fa。之后,处理前进至步骤S43。
(S43)比特改变单元22b4改变解C中的比特s的值,并且使比特s从要在ΔE计算单元22b2中计算出ΔE的集合S中排除。
(S44)确定单元22b3确定集合S是否为空集合(或S=={})。如果集合S是空集合,则处理前进至步骤S45。如果集合S不是空集合,则重复从步骤S33开始的处理。
(S45)Tmax计算单元22c中的Tmax[k]计算执行单元22c1计算Tmax[k]=Dsump/-log(A)。因此,Tmax[k]的计算结束。
图8至图10中的处理步骤的顺序可以适当地改变,而不限于上述顺序。
(益处)
图11是示出在自旋玻璃问题的计算中当X[k+1]转移到X[k]时的能量跃迁的示例的图。图11具有指示距X[k+1]的汉明距离的水平轴和指示能量的竖直轴。假设指示问题大小的比特的数目n为1024。
在图11中的示例中,X[k+1]和X[k]相差约470个比特,并且示出了通过将那些比特的集合作为上述集合S处理并通过贪婪算法将比特一个接一个地改变为X[k]而引起的能量跃迁的示例。
在图11中的能量跃迁的示例中,存在当比特被一个接一个地改变时能量连续增加的部分(状态持续爬升能量山的部分)。
类似于图2中示出的方法,当基于具有由比特的改变引起的ΔE之中的最大能量增加的Dmax计算最大温度值时,如图11中所示状态爬上能量山的概率非常低。这是因为引起能量增加如Dmax的状态转变要重复很多次。换言之,例如,存在通过图2中示出的方法计算的最大温度值是太低而无法从局部解中逃离的值的可能性。
另一方面,第二实施方式的优化装置20中的温度设置单元22可以通过以上述方式基于Dsump决定Tmax来决定与如上所述能量山相对应的Tmax。换言之,例如,即使在在X[k]与X[k+1]之间存在没有许多连续能量增加的情况下可能无法跨越的大能量山的情况下,这样的山也可以以相对高的概率(例如表达式(2)中的A)跨越。因此,即使对于在两个局部解之间具有如上所述的大能量山的问题(例如自旋玻璃问题),也可以设置适合于该问题的Tmax。因此,可以增加用于获取最优解的可能性。
代替将一个Tmax[k]设置为Tmax,温度设置单元22针对从N个局部解中选择的多对局部解中的每对计算最大温度值的候选值,并且将候选值的最大值或候选值的平均值设置为Tmax。因此,可以设置适合于要计算的问题的Tmax。
图12是示出当计算具有已知正确解的100个自旋玻璃问题时获取的Tmax的示例的图。图12具有指示100个自旋玻璃问题的问题数的水平轴和指示Tmax的竖直轴。
计算结果35a指示第二实施方式的优化装置20中的温度设置单元22的Tmax的计算结果。代替优化装置20中的温度设置单元22,计算结果35b指示如上述比较例的优化装置10a中的温度设置单元12a基于Dmax计算的Tmax的计算结果。在计算结果35a和35b中的每一个中,在在搜索单元21中应用了总计两个数目的迭代(106次迭代和107次迭代)的情况下的计算结果交叠。
由本申请的发明人为搜索单元21设置的适当的Tmax范围(从其获取正确解的Tmax范围)是Tmax=105至106的范围。根据使用Dmax的技术,比适当的Tmax范围低的值像计算结果35b那样获取。另一方面,根据利用温度设置单元22的技术,适当的Tmax范围中包括的值像计算结果35a那样获取。
图13是示出针对多种问题达到正确解的副本的数目的示例的结果的图。图13具有指示各种组合优化问题的水平轴和指示达到正确解的副本的数目(副本电路的数目)的竖直轴。图13示出了指示在使用利用第二实施方式的优化装置20的技术的情况下的实验结果的实线以及指示在使用如前述比较例中一样用于基于Dmax计算Tmax的技术的情况下的实验结果的虚线。
表述“达到正确解”是指针对问题中的每一个获得已知最低能量的状态。作为实验条件,应用了迭代的总数=107,并且应用了副本电路21a1至21aN的数目=100。图13中示出的达到正确解的副本的数目是在实验条件下进行10次试验时已达到正确解的副本的数目的平均值。对于试验中的每一个,在搜索单元21中使用的均匀随机数的种子不同。
要计算的组合问题是两种自旋玻璃问题、旅行商问题、图割问题、分子相似性问题和二次分配问题。
如图13中所示,在使用利用第二实施方式的优化装置20的技术的情况下,针对自旋玻璃问题1达到正确解的副本的数目为2.5,并且针对自旋玻璃问题2达到正确解的副本的数目为68.6。换言之,例如,也可以获取针对自旋玻璃问题的可能无法通过比较例的技术来获取的解。此外对于其他问题,获取了与通过比较例的技术的结果基本上等同的结果。
(第三实施方式)
图14是示出根据第三实施方式的优化装置的示例的图。图14未示出与图5中示出的优化装置20的元件相同的元件(搜索单元21和总体控制单元23)的部分。
第三实施方式的优化装置40中的温度设置单元41包括局部解选择单元41a、连续增加积分单元41b和Tmax计算单元41c。
例如,温度设置单元41的部件可以通过诸如ASIC或FPGA的专用电子电路来实现。温度设置单元41的部件可以通过由诸如CPU的处理器执行程序而产生的软件处理来实现。不限于此,温度设置单元41可以通过如上所述的电子电路和由处理器执行程序而产生的软件处理中的二者来实现。
局部解选择单元41a实现与图6中示出的温度设置单元22中的局部解选择单元22a的功能相同的功能。换言之,例如,局部解选择单元22a获得从搜索单元21输出的作为副本电路21a1至21aN中的局部解的X1至XN以及分别与X1至XN相对应的E1至EN。局部解选择单元41a按照能量的递增次序(升序)排列N个局部解,并且按照能量的递增次序以两个为一组来选择局部解。局部解选择单元41a可以按照能量的递增次序将m(<N)个局部解作为选择目标来处理,而不是将N个局部解中的所有作为选择目标来处理。
连续增加积分单元41b首先如图6中示出的连续增加积分单元22b一样执行以下处理。连续增加积分单元41b依次执行用于计算当选择的两个局部解中的一个比特序列的与另一个比特序列不同的多个比特(在下文中,“集合S”)中的一个值在属于集合S的比特中的每一个上被改变时发生的ΔE的处理。当属于集合S的比特被依次改变并且如果能量增加连续多次发生时,连续增加积分单元41b对ΔE进行积分。
然而,与图6中示出的连续增加积分单元22b不同,当能量增加连续多次发生时,连续增加积分单元41b使次数(计数器值)递增+1,并且保持多个能量增加之中的最大增加值(DMAX)。每当能量连续增加结束时,如果那时的ΔE的积分值高于直到使用X[k]、X[k+1]时获取的保持在积分值保持单元41b7中的积分值的那个时刻的最大值,则连续增加积分单元41b利用那时的ΔE的积分值来更新最大值。连续增加积分单元41b保持获取ΔE的积分值的最大值时获取的DMAX和计数器值。在下文中,将获取最大积分值时获取的DMAX和计数器值分别称为DMAXp和cntp。
基于在连续增加积分单元41b针对成对的所有局部解的处理结束时保持的cntp和DMAXp以及预定的转变接受概率(A),Tmax计算单元41c通过以下表达式(11)计算Tmax。
[表达式11]
Figure BDA0002872037770000231
Tmax计算单元41c输出(为搜索单元21设置)针对成对的局部解计算的Tmax中的最大Tmax。
图14示出了连续增加积分单元41b和Tmax计算单元41c的示例。
连续增加积分单元41b像图7中示出的连续增加积分单元22b一样包括集合S提取单元41b1、ΔE计算单元41b2、确定单元41b3、比特改变单元41b4、标志值保持单元41b5、积分单元41b6和积分值保持单元41b7。连续增加积分单元41b还包括计数器41b8、DMAX保持单元41b9和计数器值保持单元41b10。
集合S提取单元41b1从由局部解选择单元41a选择的两个局部解(在下文中,X[k]和X[k+1])中的X[k+1]的比特序列中提取与X[k]的比特序列的比特不同的多个比特的集合S,像图7中示出的集合S提取单元22b1一样。
对于属于集合S的比特中的每一个,ΔE计算单元41b2计算比特被改变时的ΔE,如图7中的ΔE计算单元22b2一样。每当比特改变单元41b4改变属于集合S的比特之一时,ΔE计算单元41b2对除了改变后的比特之外的其他比特重复相同的处理。
确定单元41b3基于由ΔE计算单元41b2计算的ΔE来选择具有最小ΔE的比特,并且将该比特的索引输出至比特改变单元41b4,如图7中的确定单元22b3一样。确定单元41b3根据k和ΔE的值来更新或保持在标志值保持单元41b5中保持的标志值(fa),如确定单元22b3一样。如果最小ΔE高于0,则确定单元41b3将ΔE输出至积分单元41b6。
与确定单元22b3不同,每当能量增加连续发生时,确定单元41b3还将使计数器值递增+1的向上计数信号输出至计数器41b8。确定单元41b3使DMAX保持单元41b9保持作为多个连续能量增加中的最大增加值的DMAX
每当能量连续增加结束时,确定单元41b3确定那时的ΔE的积分值是否高于直到使用X[k]、X[k+1]时获取的保持在积分值保持单元41b7中的积分值的那个时刻的最大值。如果那时的ΔE的积分值高于直到那个时刻的最大值,则确定单元41b3利用积分值更新在积分值保持单元41b7中保持的最大值。
确定单元41b3在获取最大值时使计数器值保持单元41b10保持作为计数器值的cntp,并且在获取最大值时使DMAX保持单元41b9保持作为DMAX的DMAXp
比特改变单元41b4改变与从确定单元41b3提供的索引相对应的比特的值,并且将改变后的值和索引输出至ΔE计算单元41b2,如图7中的比特改变单元22b4一样。
标志值保持单元41b5保持上述fa的值。
积分单元41b6对从确定单元41b3提供的ΔE进行积分,并且使积分值保持单元41b7保持积分值,如图7中的积分单元22b6一样。
积分值保持单元41b7保持ΔE的积分值和积分值的最大值。
每当确定单元41b3输出向上计数信号时,计数器41b8使计数器值递增+1。
DMAX保持单元41b9保持从确定单元41b3提供的DMAX,并且当获取ΔE的积分值的最大值时保持其是DMAX的DMAXp
计数器值保持单元41b10在获取ΔE的积分值的最大值时保持其是计数器值的cntp。
Tmax计算单元41c包括Tmax[k]计算执行单元41c1、Tmax[k]保持单元41c2和Tmax选择单元41c3。
当使用X[k]和X[k+1]时,Tmax[k]计算执行单元41c1执行最大温度值(Tmax[k])的计算。通过基于在DMAX保持单元41b9中保持的针对k的DMAXp和在计数器值保持单元41b10中保持的针对k的cntp计算表达式(11)来获取Tmax[k]。
Tmax[k]保持单元41c2保持由Tmax[k]计算执行单元41c1计算的Tmax[k]。
Tmax选择单元41c3将在Tmax[k]保持单元41c2中保持的针对每个k的Tmax[k]的最大值输出为Tmax。Tmax选择单元41c3可以计算在Tmax[k]保持单元41c2中保持的针对k的Tmax[k]的平均值,并且将计算出的平均值输出为Tmax。
下面描述第三实施方式的优化装置40中的Tmax[k]计算处理的示例的流程。与图8和图9中示出的优化装置20中的处理相同的处理以其他操作被执行。
图15是示出用于计算Tmax[k]的处理的示例的流程的流程图。
因为步骤S50中的处理与图10中示出的步骤S30中的处理相同,所以省略了描述。
(S51)连续增加积分单元41b中的确定单元41b3将0设置为要保持在积分值保持单元41b7中的作为ΔE的积分值的Dsum及其最大值Dsump。确定单元41b3还将0设置为要保持在标志值保持单元41b5中的fa、要保持在DMAX保持单元41b9中的DMAX和DMAXp、计数器41b8的计数器值cnt和要保持在计数器值保持单元41b10中的上述cntp。
因为后续步骤S52至S56中的处理与图10中示出的步骤S32至S36中的处理相同,所以省略了描述。
(S57)如果fa是1,则积分单元41b6将D(解C中的比特s的变化的ΔE)加至Dsum(Dsum=Dsum+D),该Dsum是积分值保持单元41b7中保持的ΔE的积分值。确定单元41b3用直到该时刻获取的DMAX和D中的较大一个代替DMAX保持单元41b9中保持的DMAX(DMAX=max(DMAX,D))。确定单元41b3还输出向上计数信号,以使计数器41b8使cnt递增+1(cnt=cnt+1)。之后,处理前进至步骤S64。
(S58)积分单元41b6用D代替积分值保持单元41b7中保持的Dsum(Dsum=D)。确定单元41b3还用D代替DMAX保持单元41b9中保持的DMAX(DMAX=D)。确定单元41b3还使计数器41b8为cnt设置0(cnt=0)。
(S59)确定单元41b3为fa设置1。之后,处理前进至步骤S64。
(S60)确定单元41b3确定在标志值保持单元41b5中保持的fa是否为1。如果fa是1,则处理前进至步骤S61,以及如果fa不是1,则处理前进至步骤S64。
(S61)确定单元41b3确定Dsum是否高于Dsump。如果Dsum高于Dsump,则处理前进至步骤S62,以及如果Dsum等于或低于Dsump,则处理前进至步骤S63。
(S62)确定单元41b3用Dsum代替Dsump(Dsump=Dsum),该Dsump指示在积分值保持单元41b7中保持的积分值的最大值。确定单元41b3还利用DMAX更新在DMAX保持单元41b9中保持的DMAXp(DMAXp=DMAX),并且利用cnt更新在计数器值保持单元41b10中保持的cntp(cntp=cnt)。
因为后续步骤S63至S65中的处理与图10中的步骤S42至S44中的处理相同,所以省略了描述。
(S66)Tmax计算单元41c中的Tmax[k]计算执行单元41c1计算Tmax[k]=DMAXp/-log(A(1/cntp))。因此,Tmax[k]的计算结束。
在如上所述的处理中,cntp对应于能量连续增加直到状态爬上能量山为止的次数。
图16是示出cntp与能量山之间的关系的示例的图。示出了当状态从局部解(X[k+1])转移到另一局部解(X[k])时能量跃迁的示例。图16具有指示距X[k+1]的汉明距离的水平轴和指示能量的竖直轴。
每当能量增加连续时,对计数器41b8的计数器值(cnt)进行向上计数。在图16中的示例中,当cnt=n时,状态爬上能量山。那时的作为能量变化的积分值的Dsum在图16中的示例的情况下是最大积分值Dsump。因此,cnt=n=cntp。在cnt=1至n期间能量增加中的最大值为DMAXp,并且基于cntp和DMAXp计算Tmax[k]。
通过由如上所述的表达式计算Tmax[k],A基于cntp的值被校正,并且引起具有DMAXp的能量变化的状态转变的接受概率可以被获取。随着cntp的值增加,爬上能量山的接受概率增加。因此,从Tmax计算单元41c输出与能量山相对应的Tmax。
换言之,例如,即使在在X[k]与X[k+1]之间存在没有许多连续能量增加的情况下可能无法跨越的大能量山的情况下,也可以以相对高的概率跨越山。因此,即使对于在两个局部解之间具有如上所述的大能量山的问题(例如自旋玻璃问题),也可以设置适合于该问题的Tmax。因此,可以增加用于获取解的可能性。
(计算机的硬件示例)
如上所述,第一至第三实施方式的优化装置10、20和40中的每一个可以通过由处理器执行程序而产生的软件处理来实现。在这种情况下,优化装置10、20和40或其一部分(例如温度设置单元22和41以及总体控制单元23)可以是具有如下所述的硬件的计算机。
图17是示出计算机的硬件的示例的图。
计算机50包括CPU 51、随机存取存储器(RAM)52、硬盘驱动(HDD)53、图像信号处理单元54、输入信号处理单元55、介质读取器56和通信接口57。上述单元耦合至总线。
CPU 51是包括执行程序指令的运算电路的处理器。CPU 51将存储在HDD 53中的数据和程序的至少一部分加载到RAM 52中并执行程序。CPU 51可以包括多个处理器核,计算机50可以包括多个处理器,并且上述处理可以使用多个处理器或处理器核并行地执行。一组多个处理器(多处理器)可以被称为“处理器”。
RAM 52是易失性半导体存储器,其临时存储由CPU 51执行的程序和由CPU 51用于计算的数据。计算机50可以包括除RAM外的一种存储器,并且可以包括多个存储器。
HDD 53是非易失性存储设备,其存储诸如操作系统(OS)、中间件和应用软件的软件程序以及数据。程序包括例如用于执行上述温度设置单元22和41的处理的温度设置程序。计算机50可以包括其他类型的存储设备,例如闪存和固态驱动(SSD),并且可以包括多个非易失性存储设备。
图像信号处理单元54根据来自CPU 51的指令将图像输出至耦合至计算机50的显示器54a。显示器54a可以是阴极射线管(CRT)显示器、液晶显示器(LCD)、等离子显示面板(PDP)、有机电致发光(OEL)显示器等。
输入信号处理单元55从耦合至计算机50的输入设备55a获得输入信号,并且将该输入信号输出至CPU 51。作为输入设备55a,可以使用诸如鼠标、触摸面板或轨迹球的指示设备、键盘、遥控器、按钮开关等。多种类型的输入设备可以耦合至计算机50。
介质读取器56是读取记录在记录介质56a上的程序或数据的读取设备。作为记录介质56a,例如可以使用磁盘、光盘、磁光盘(MO)、半导体存储器等。磁盘包括软盘(FD)和HDD。光盘包括压缩光盘(CD)和数字多功能光盘(DVD)。
例如,介质读取器56将从记录介质56a读取的程序或数据复制到诸如RAM 52或HDD53的另一记录介质。读取的程序例如由CPU 51执行。记录介质56a可以是便携式记录介质或者可以用来分发程序或数据。记录介质56a和HDD 53可以被称为计算机可读记录介质。
通信接口57是耦合至网络57a并经由网络57a与另一信息处理装置通信的接口。通信接口57可以是经由线缆耦合至诸如交换机的通信设备的有线通信接口,或者可以是经由无线链路耦合至基站的无线通信接口。
可以通过使如上所述的计算机50执行程序来实现上述优化装置10、20和40的处理细节。
程序可以被记录在计算机可读记录介质(诸如记录介质56a)上。作为记录介质,例如可以使用磁盘、光盘、磁光盘、半导体存储器等。磁盘包括FD和HDD。光盘包括CD、CD可记录(R)/可重写(RW)、DVD和DVD-R/RW。程序可以被记录在便携式记录介质上并被分发。在这种情况下,程序可以从便携式记录介质复制到另一记录介质(例如HDD 53)并被执行。
如上所述,尽管已经基于实施方式描述了根据本发明的优化装置、优化装置的温度设置方法和优化装置的温度设置程序的一个方面,但是这样的方面仅是示例并且不限于以上描述。

Claims (12)

1.一种优化装置,包括:
搜索单元,其被配置成通过使用多个温度值来执行对伊辛模型中的能量的基态的搜索,并输出多个解;以及
温度设置单元,其被配置成进行以下操作:
从自所述搜索单元输出的所述多个解中选择第一解和第二解,
依次执行计算所述伊辛模型中的能量变化的处理,所述伊辛模型中的能量变化是在所述第一解的比特序列的与所述第二解的比特序列的比特不同的多个比特中的一个值在所述多个比特中的每一个上被改变时引起的,
计算当能量增加连续多次发生时多次增加的能量的总计值,
基于所述总计值决定所述多个温度值中的最大值,以及
为所述搜索单元设置所决定的最大值。
2.根据权利要求1所述的优化装置,其中,所述温度设置单元基于通过将所述总计值除以预定概率值的对数而获取的值来决定所述最大值。
3.根据权利要求1所述的优化装置,其中
所述温度设置单元还被配置成进行以下操作:
对能量连续增加发生的次数进行计数,
保持当关于所述第一解和所述第二解的所述总计值最大时的次数的计数值以及连续多次发生的能量增加中的最大增加值,以及
基于通过将所述最大增加值除以如下对数而获取的值来决定所述最大值,所述对数使预定概率作为底数并且使所述计数值的倒数作为指数。
4.根据权利要求1至3中任一项所述的优化装置,其中
所述温度设置单元针对从包括三个或更多个解的所述多个解中选择的多个解对来计算所述最大值的候选值,其中
要为所述搜索单元设置的所述最大值是针对所述多个解对中的每一对计算的候选值之中的最大值。
5.一种温度设置方法,包括:
通过使用多个温度值来执行对伊辛模型中的能量的基态的搜索,并输出多个解;以及
从所述多个解中选择第一解和第二解;
依次执行计算所述伊辛模型中的能量变化的处理,所述伊辛模型中的能量变化是在所述第一解的比特序列的与所述第二解的比特序列的比特不同的多个比特中的一个值在所述多个比特中的每一个上被改变时引起的,
计算当能量增加连续多次发生时多次增加的能量的总计值;
基于所述总计值决定所述多个温度值中的最大值;以及
设置所决定的最大值。
6.根据权利要求5所述的温度设置方法,还包括:
基于通过将所述总计值除以预定概率值的对数而获取的值来决定所述最大值。
7.根据权利要求5所述的温度设置方法,还包括:
对能量连续增加发生的次数进行计数;
保持当关于所述第一解和所述第二解的所述总计值最大时的次数的计数值以及连续多次发生的能量增加中的最大增加值;以及
基于通过将所述最大增加值除以如下对数而获取的值来决定所述最大值,所述对数使预定概率作为底数并且使所述计数值的倒数作为指数。
8.根据权利要求5所述的温度设置方法,还包括:
针对从包括三个或更多个解的所述多个解中选择的多个解对来计算所述最大值的候选值,其中
所述最大值是针对所述多个解对中的每一对计算的候选值之中的最大值。
9.一种由优化装置执行的温度设置程序,所述温度设置程序包括:
通过使用多个温度值来执行对伊辛模型中的能量的基态的搜索,并输出多个解;以及
从所述多个解中选择第一解和第二解,依次执行计算所述伊辛模型中的能量变化的处理,所述伊辛模型中的能量变化是在所述第一解的比特序列的与所述第二解的比特序列的比特不同的多个比特中的一个值在所述多个比特中的每一个上被改变时引起的;
计算当能量增加连续多次发生时多次增加的能量的总计值;
基于所述总计值决定所述多个温度值中的最大值;以及
设置所决定的最大值。
10.根据权利要求9所述的温度设置程序,其中,所述决定包括:基于通过将所述总计值除以预定概率值的对数而获取的值来决定所述最大值。
11.根据权利要求9所述的温度设置程序,还包括:
对能量连续增加发生的次数进行计数;以及
保持当关于所述第一解和所述第二解的所述总计值最大时的次数的计数值以及连续多次发生的能量增加中的最大增加值;其中
所述决定包括:基于通过将所述最大增加值除以如下对数而获取的值来决定所述最大值,所述对数使预定概率作为底数并且使所述计数值的倒数作为指数。
12.根据权利要求9所述的温度设置程序,还包括:
针对从包括三个或更多个解的所述多个解中选择的多个解对来计算所述最大值的候选值,其中
所述最大值是针对所述多个解对中的每一对计算的候选值之中的最大值。
CN202011619643.6A 2020-01-15 2020-12-30 优化装置、温度设置方法和温度设置程序 Active CN113128663B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020004516A JP7339539B2 (ja) 2020-01-15 2020-01-15 最適化装置、最適化装置の温度設定方法及び最適化装置の温度設定プログラム
JP2020-004516 2020-01-15

Publications (2)

Publication Number Publication Date
CN113128663A true CN113128663A (zh) 2021-07-16
CN113128663B CN113128663B (zh) 2024-07-02

Family

ID=73834176

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011619643.6A Active CN113128663B (zh) 2020-01-15 2020-12-30 优化装置、温度设置方法和温度设置程序

Country Status (4)

Country Link
US (1) US11514135B2 (zh)
EP (1) EP3851953B1 (zh)
JP (1) JP7339539B2 (zh)
CN (1) CN113128663B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7206476B2 (ja) * 2018-09-14 2023-01-18 富士通株式会社 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム
TWI790160B (zh) * 2022-01-24 2023-01-11 旺宏電子股份有限公司 記憶體裝置及其操作方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102915355A (zh) * 2012-10-11 2013-02-06 李英明 一种基于和声搜索和模拟退火的多处理机任务调度的方法
US20150278408A1 (en) * 2014-03-27 2015-10-01 Hitachi, Ltd. Information processing apparatus and information processing method
US20180005114A1 (en) * 2016-07-01 2018-01-04 Fujitsu Limited Information processing apparatus, ising device, and method for controlling information processing apparatus
JP2018063626A (ja) * 2016-10-14 2018-04-19 富士通株式会社 最適化装置及び最適化装置の制御方法
CN108701262A (zh) * 2015-12-30 2018-10-23 谷歌有限责任公司 利用量子退火增强模拟退火
US20190235834A1 (en) * 2018-02-01 2019-08-01 Fujitsu Limited Optimization apparatus and control method thereof
CN110147888A (zh) * 2018-10-25 2019-08-20 腾讯科技(深圳)有限公司 基于教与学算法求解多目标优化问题的方法、装置和设备
US20190286077A1 (en) * 2018-03-16 2019-09-19 Fujitsu Limited Optimization apparatus and control method for optimization apparatus

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6524933B2 (ja) * 2016-02-03 2019-06-05 富士通株式会社 ボルツマンマシン、ボルツマンマシンの制御方法及びボルツマンマシンを有する情報処理装置
JP6993909B2 (ja) 2018-03-13 2022-01-14 株式会社デンソー 連続最適化問題の大域的探索装置及びプログラム
JP7004906B2 (ja) 2018-05-01 2022-01-21 富士通株式会社 最適化装置及び最適化装置の制御方法
JP7256378B2 (ja) 2019-04-10 2023-04-12 富士通株式会社 最適化システムおよび最適化システムの制御方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102915355A (zh) * 2012-10-11 2013-02-06 李英明 一种基于和声搜索和模拟退火的多处理机任务调度的方法
US20150278408A1 (en) * 2014-03-27 2015-10-01 Hitachi, Ltd. Information processing apparatus and information processing method
CN108701262A (zh) * 2015-12-30 2018-10-23 谷歌有限责任公司 利用量子退火增强模拟退火
US20180005114A1 (en) * 2016-07-01 2018-01-04 Fujitsu Limited Information processing apparatus, ising device, and method for controlling information processing apparatus
JP2018063626A (ja) * 2016-10-14 2018-04-19 富士通株式会社 最適化装置及び最適化装置の制御方法
US20190235834A1 (en) * 2018-02-01 2019-08-01 Fujitsu Limited Optimization apparatus and control method thereof
US20190286077A1 (en) * 2018-03-16 2019-09-19 Fujitsu Limited Optimization apparatus and control method for optimization apparatus
CN110147888A (zh) * 2018-10-25 2019-08-20 腾讯科技(深圳)有限公司 基于教与学算法求解多目标优化问题的方法、装置和设备

Also Published As

Publication number Publication date
JP2021111270A (ja) 2021-08-02
CN113128663B (zh) 2024-07-02
US11514135B2 (en) 2022-11-29
JP7339539B2 (ja) 2023-09-06
EP3851953B1 (en) 2022-04-20
EP3851953A1 (en) 2021-07-21
US20210216608A1 (en) 2021-07-15

Similar Documents

Publication Publication Date Title
CN111210046B (zh) 优化装置及优化装置的控制方法
EP3779616B1 (en) Optimization device and control method of optimization device
CN113128663B (zh) 优化装置、温度设置方法和温度设置程序
US11551062B2 (en) Optimization apparatus and control method thereof
US11562210B2 (en) Stochastically determining to accept a state transition for an optimization device
CN113342403A (zh) 信息处理方法、信息处理系统和计算机可读记录介质
CN111930007B (zh) 优化装置和控制优化装置的方法
JP2020204929A (ja) サンプリング装置およびサンプリング方法
US20210334332A1 (en) Information processing apparatus, information processing method, and non-transitory computer-readable storage medium for storing program
CN113536229A (zh) 采样装置、采样方法以及用于存储采样程序的存储介质
EP3937090A1 (en) Information processing system, information processing method, and program
JP7256378B2 (ja) 最適化システムおよび最適化システムの制御方法
CN113705851A (zh) 优化装置、优化方法和用于存储优化程序的存储介质
US20240111833A1 (en) Data processing apparatus and data processing method
CN116894496A (zh) 信息处理设备和信息处理方法
EP4290417A1 (en) Information processing apparatus, information processing method, and information processing program
US20220366011A1 (en) Non-transitory computer-readable storage medium and information processing apparatus
Suprapto et al. Algorithms of the combination of compiler optimization options for automatic performance tuning
JP2023149726A (ja) データ処理装置、プログラム及びデータ処理方法
CN115705391A (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
GR01 Patent grant