CN111078621A - 优化装置及优化装置的控制方法 - Google Patents
优化装置及优化装置的控制方法 Download PDFInfo
- Publication number
- CN111078621A CN111078621A CN201910982755.9A CN201910982755A CN111078621A CN 111078621 A CN111078621 A CN 111078621A CN 201910982755 A CN201910982755 A CN 201910982755A CN 111078621 A CN111078621 A CN 111078621A
- Authority
- CN
- China
- Prior art keywords
- bit
- value
- identification information
- bits
- circuit
- 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
Links
- 238000005457 optimization Methods 0.000 title claims abstract description 90
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000004364 calculation method Methods 0.000 claims abstract description 187
- 230000008859 change Effects 0.000 claims abstract description 38
- 230000005284 excitation Effects 0.000 claims abstract description 13
- 238000003860 storage Methods 0.000 claims description 37
- 230000003993 interaction Effects 0.000 claims description 8
- 238000013528 artificial neural network Methods 0.000 claims description 2
- 230000001902 propagating effect Effects 0.000 claims 1
- 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 129
- 239000000872 buffer Substances 0.000 description 47
- 238000010586 diagram Methods 0.000 description 40
- 230000006870 function Effects 0.000 description 39
- 230000007704 transition Effects 0.000 description 30
- 230000008569 process Effects 0.000 description 23
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 17
- 238000001514 detection method Methods 0.000 description 14
- 230000015654 memory Effects 0.000 description 13
- 210000004027 cell Anatomy 0.000 description 8
- 230000007423 decrease Effects 0.000 description 5
- 238000002922 simulated annealing Methods 0.000 description 5
- 238000000137 annealing Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000004888 barrier function Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000005283 ground state Effects 0.000 description 3
- NHTMVDHEPJAVLT-UHFFFAOYSA-N Isooctane Chemical compound CC(C)CC(C)(C)C NHTMVDHEPJAVLT-UHFFFAOYSA-N 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- JVSWJIKNEAIKJW-UHFFFAOYSA-N dimethyl-hexane Natural products CCCCCC(C)C JVSWJIKNEAIKJW-UHFFFAOYSA-N 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical group [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000295 complement effect 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
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- -1 isooctyl Chemical group 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
- 238000007725 thermal activation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
-
- 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/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Hardware Design (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Automation & Control Theory (AREA)
- Evolutionary Biology (AREA)
- Operations Research (AREA)
- Bioinformatics & Computational Biology (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请提供了一种优化装置及优化装置的控制方法。优化装置包括:多个计算电路;选择电路;识别信息计算电路以及更新电路。针对与通过转换要计算的问题而获得的伊辛模型中包括的多个旋转对应的多个位,多个计算电路中的每一个计算由于值为1的第一位的值被从1变为0以及值为0的第二位的值被从0变为1而引起的伊辛模型的第一能量改变。选择电路基于热激励能量与由多个计算电路中的每一个输出的第一能量改变之间的大小关系来输出识别具有允许被从0更新为1的值的一个第二位的第一位识别信息。
Description
技术领域
本文中讨论的实施方式涉及优化装置和优化装置的控制方法。
背景技术
作为解决不易被诺伊曼(Neumann)型计算机处理的多变量优化问题的方法,存在使用伊辛(Ising)型能量函数的优化装置(有时被称为伊辛机或玻尔兹曼机)。优化装置通过用伊辛模型替换问题来计算要计算的问题,该伊辛模型是表示磁性体的旋转行为的模型。
还能够例如使用神经网络对优化装置进行建模。在这种情况下,与伊辛模型中包括的多个旋转对应的多个位中的每个位充当神经元,神经元根据另一位和指示该另一位与自身位之间的相互作用的大小的加权值(也被称为耦接因子)输出0或1。例如,优化装置使用诸如模拟退火的概率搜索方法来找到状态(各个位的值的组合),其中,获得上述能量函数(也被称为成本函数或目标函数)的值(在下文中被称为能量)中的最小值作为解。
在相关技术中,存在通过使用数字电路执行模拟退火来计算使能量最小化的状态的优化装置(例如,参见日本公开特许公报第2018-041351号)。相关技术中的优化装置通过一次改变仅一位的值来计算能量改变,并且根据通过将与温度对应的噪声值与能量改变相加而获得的值来确定是否允许位的改变。还以预定概率允许位的值随着能量增加的改变,温度越低,概率越低。
同时,优化问题包括如下约束(1-hot约束):在每个包括多个位的多个群组中的每个群组中值为1的位的数量仅为一个。例如,许多排定问题(例如,旅行商问题、调度问题等)、背包问题、装箱问题等具有1-hot约束。
国际公开手册第WO 2017/056366号、国际公开手册第WO 2017/056367号和国际公开手册第WO 2017/056368号是相关技术的示例。
如上所述,在相关技术中的优化装置中,一次要改变的位的数量是一个。例如,相关技术中的优化装置通过重复汉明距离=1的状态转换来搜索能量变为最小的基态。为此,在相关技术中的优化装置中,也会发生向不满足1-hot约束的状态的转换,并且可能发生转换的状态的数量(搜索空间)大于满足1-hot约束的状态的数量。状态转换由于针对1-hot约束项生成的能垒(energy barrier)而花费时间。根据以上,在相关技术中的优化装置中,存在计算具有1-hot约束的优化问题(搜索基态)花费时间的问题。
作为一个方面,本公开内容提供了能够减少具有1-hot约束的优化问题的计算时间的优化装置和该优化装置的控制方法。
发明内容
根据实施方式的方面,优化装置包括:多个计算电路,被配置成:基于关于第一位的第一局部字段值、关于第二位的第二局部字段值以及被保存在存储装置中指示第一位与第二位之间的相互作用的大小的加权值,针对与通过转换要计算的问题而获得的伊辛模型中包括的多个旋转对应的多个位,分别计算由于在所述多个位被划分为多个群组的情况下包括在所述多个群组中的每一个中的多个位中值为1的第一位的值被从1变为0以及值为0的第二位的值被从0变为1而引起的伊辛模型的第一能量改变;选择电路,被配置成:基于根据输入的温度参数和随机数确定的热激励能量与由多个计算电路中的每一个输出的第一能量改变之间的大小关系,输出识别所述多个群组中的每一个中包括的第二位中具有允许被从0更新为1的值的一个第二位的第一位识别信息;识别信息计算电路,被配置成:基于由选择电路输出的第一位识别信息,检测允许被更新的第二位所属的第一群组,并且输出识别属于第一群组的第一位的第二位识别信息;以及更新电路,被配置成:基于第二位识别信息将属于第一群组的第一位的值从1更新为0,并且基于第一位识别信息将允许被更新的第二位的值从0更新为1。
附图说明
图1是示出根据第一实施方式的优化装置的示例的图;
图2是示出优化装置的修改示例的图;
图3是示出根据第二实施方式的优化装置的示例的图;
图4是示出ΔE计算单元的示例的图;
图5是示出群组索引的值的示例的图;
图6是示出h传播控制单元的示例的图;
图7是示出控制信号生成电路的示例性配置的图;
图8是示出h传播控制单元的另一示例的图;
图9是示出由控制信号生成单元输出的控制信号的示例的图;
图10是示出通过ΔE计算电路的处理的示例的图;
图11是示出选择电路的示例的图;
图12是示出识别信息计算单元的示例的图;
图13是示出在索引、群组索引和选择电路的输出和更新之前的状态变量的示例的图;
图14是示出识别信息计算单元的另一示例的图;
图15是示出根据第二实施方式的优化装置的示例的处理的流程的流程图;
图16是示出初始设置处理的示例的流程的流程图;
图17是示出表示在使用第二实施方式的优化装置的情况下计算缩短效果的仿真结果的图;
图18是示出具有用于禁用1-hot约束支持功能的配置的优化装置中的h传播控制单元的第一示例的图;
图19是示出基于1hotEN生成控制信号的控制信号生成电路的示例的图;
图20是示出具有用于禁用1-hot约束支持功能的配置的优化装置中的h传播控制单元的第二示例的图;
图21是示出具有用于禁用1-hot约束支持功能的配置的优化装置中的ΔE计算电路的示例的图;
图22是示出具有用于禁用1-hot约束支持功能的配置的优化装置中的识别信息计算单元的示例的图;以及
图23是示出包括搅乱处理的优化装置的示例的处理的流程的流程图。
具体实施方式
在下文中,参照附图描述实施方式。
下面要描述的优化装置通过排除对除了满足1-hot约束的状态以外的状态的搜索来缩短具有1-hot约束的优化问题的计算时间。
在与伊辛模型中包括的多个旋转(旋转的数量=N)对应的N个位的值由作为状态变量的x1至xN表示的情况下,例如,当在以下等式(1)中的每个{}中的群组中值为1的状态变量的数量仅为一个时,满足1-hot约束。
例如,在x1、x2和x3的三个状态变量在某个群组中的情况下,{x1,x2,x3}的状态={1,0,0}、{0,1,0}、{0,0,1}满足1-hot约束。另一方面,{x1,x2,x3}的状态={0,0,0}、{1,1,0}、{1,0,1}、{0,1,1}、{1,1,1}不满足1-hot约束。为了从满足1-hot约束的一种状态转换到满足1-hot约束的另一种状态,优化装置在一种状态更新处理中改变2个位的值。例如,优化装置生成汉明距离=2的状态转换。
1-hot约束可以由以下等式(2)来表示。
在等式(2)中,G是群组的数量(等于或大于2的整数),mj是属于群组j的状态变量的数量。
考虑到1-hot约束的优化问题的能量函数可以被表示为以下等式(3)。
E(x)=∑Cost(xi)+λ1(∑xi-1)2+λ2f2(xi)+…+λtNft(xi) (3)
在等式(3)中,右侧上的第一项表示成本函数,第二项表示考虑1-hot约束的1-hot约束项,而第三项和随后的项表示考虑其他约束的约束项(还存在约束项包括另一1-hot约束项的情况)。将足够大的值用作λ1(约束权值),使得在不满足1-hot约束的情况下能量不会减少。
另一方面,例如通过以下等式(4)定义使用加权值的伊辛型能量函数E(x)。
对于从伊辛模型中包括的所有位中可选择的两个位的所有组合,右侧上的第一项是两个位的值(0或1)与加权值的乘积的积分,但是没有泄漏和重复。xi是表示具有索引(位识别信息)=i的位的值的状态变量,xj是表示具有索引=j的位的值的状态变量,而Wij是指示具有索引=i的位与具有索引=j的位的相互作用的大小的加权值。另外,Wii=0。在许多情况下,Wij=Wji(例如,在许多情况下,根据加权值的系数矩阵是对称矩阵)。
右侧上的第二项是所有位的各自偏差值与位的值的乘积之和。bi指示索引=i的位的偏差值。
在也对除了满足1-hot约束的状态以外的状态执行搜索的情况下,随着等式(3)中的λ1的值增加,等式(4)中的用于表示Wij的位的数量也增加。例如,考虑上述N(对应于问题的大小)与Wij之间的平衡来确定λ1。例如,首先使用约为Wij的最大值的10倍的λ1来计算Wij或bi,并且执行能量最小化。当收敛解不满足1-hot约束时,增加λ1的值,直到满足1-hot约束为止。
另一方面,在仅搜索满足1-hot约束的状态的情况下,由于可以删除等式(3)中右侧上的第二1-hot约束项,因此可以减少用于表示Wij的位的数量。
同时,在等式(4)中,当xi的值变为1-xi时,xi的增量被表示为Δxi=(1-xi)-xi=1-2xi。由该值的改变引起的能量改变(ΔEi)由以下等式(5)表示。
在等式(5)中,当xi从1变为0时,Δxi变为-1;而当xi从0变为1时,Δxi变为1。hi被称为局部字段值(局部字段),并且hi与带符号(+1或-1)的Δxi的乘积为ΔEi。
当xj从0变为1时,hi的改变为Δhi (j)=+Wij,而当xj从1变为0时,hi的改变为Δhi (j)=-Wij。以相同的方式,当xi改变时,对于索引=j的位,hj的改变可以被表示为Δhj (i)=ΔxiWij。
因此,当xi和xj这两者都改变时的能量改变可以由以下等式(6)表示。
ΔEij=-Δxihi-Δxj(hj+ΔxiWij)
=-Δxihi-Δxjhj-ΔxiΔxjΔWij (6)
如上所述,为了从满足1-hot约束的一种状态转换到满足1-hot约束的另一种状态,改变2个位的值。当在索引=i的位的值从1变为0并且索引=j的位的值从0变为1时的能量改变被表示为ΔEj时,在等式(6)中,Δxi=-1并且Δxj=1,使得ΔEj可以由以下等式(7)表示。
ΔEj=hi-hj+Wij (7)
下面要描述的优化装置包括计算由等式(7)表示的能量改变的电路。
(第一实施方式)
图1是示出根据第一实施方式的优化装置的示例的图。
优化装置10包括:ΔE计算电路11p1、11p2、...、11pn;选择电路12;识别信息计算单元13和更新单元14。
图1示出了ΔE计算电路11p1至11pn,ΔE计算电路11p1至11pn计算在将N个位划分为G个群组的情况下在第p群组p中包括的多个(n)个位之间由于汉明距离=2的状态转换而引起的能量改变。为另一群组提供与ΔE计算电路11p1至11pn相同的ΔE计算电路,但在图1中未示出与ΔE计算电路11p1至11pn相同的ΔE计算电路。在图1中,还省略了用于计算局部字段值的电路等。在图1中的示例中,示出了等于或大于三的ΔE计算电路11p1至11pn,但是在群组p中包括的位的数量为两个的情况下,ΔE计算电路的数量是两个。
当群组p满足1-hot约束时,在群组p中包括的n个位中,一个位的值为1,而其他位的值为0。
在下文中,在指示n个位的值的xp1、...、Xpn中,值为1的一个被表示为xi,并且值为0的一个被表示为xj。关于值为1的位的局部字段值为hi,而关于值为0的位的局部字段值为hj。
在图1中的示例中,基于等式(7),ΔE计算电路11p2至11pn基于hi、hj和Wij来计算当xi从1变为0并且xj从0变为1时的ΔEj。Wij被存储在ΔE计算电路11p2至11pn中的存储单元11p2a至11pna中。
在汉明距离=2的状态转换中,还存在xi从1变为0并且进一步从0变为1的转换。同时,由于作为状态没有什么被改变,因此不期望发生这样的状态转换以减少计算时间。在图1中的示例中,一个hi被提供给ΔE计算电路11p1。ΔE计算电路11p1包括存储Wii(=0)的存储单元11p1a。
在ΔE计算电路11p1基于hi和Wii计算当xi如上所述改变两次时的ΔEi的情况下,当i=j时计算等式(7),使得ΔEi=0。在ΔEi=0的情况下,可以通过下面要描述的选择电路12的处理来允许xi改变两次的上述状态转换。在选择电路12中,能量改变的正值越大,引起能量改变的状态转换的允许概率越低。为此,由更新单元14控制被提供了一个hi的ΔE计算电路11p1,使得预定的正值(在图1中被描述为“ΔEmax”)被输出。ΔEmax例如是可以由优化装置10生成的正的最大值。例如,在优化装置10可以生成26个位的值的情况下,当以2的补数被表示时,正的最大值为01...1(1的数量为25)。
控制信号ENi(例如,1)从更新单元14被提供至ΔE计算电路11p1,并且ΔE计算电路11p1输出上述ΔEmax。另一方面,控制信号ENj(例如,0)从更新单元14被提供至ΔE计算电路11p2至11pn,并且ΔE计算电路11p2至11pn计算由等式(7)表示的ΔEj。
存储单元11p1a至11pna由例如寄存器、静态随机存取存储器(SRAM)等来实现。
选择电路12基于热激励能量与从多个ΔE计算电路中的每一个输出的能量改变之间的大小关系来输出索引,该索引用于识别在包括在群组1至群组G中的每个群组中的位中允许从值0被更新为值1的一个位。基于随机数和从控制单元(未示出)输入的温度参数(T)来确定热激励能量。
在执行模拟退火的情况下,例如,由控制单元将T控制成使得:每当更新伊辛模型的状态的处理被重复预定次数时,值都变得更小。下面将描述执行如上所述的选择电路12的功能的电路的示例。
识别信息计算单元13基于由选择电路12输出的索引来检测允许被更新的位所属的群组,并且输出识别属于所检测的群组的值为1的位的索引。识别信息计算单元13通过使用逻辑电路或表数据来执行例如群组的检测和索引的生成。下面将描述使用逻辑电路的示例或使用表数据的示例。
在下文中,假设由选择电路12和识别信息计算单元13输出的值为0的位的索引为l,并且由识别信息计算单元13输出的值为1的位的索引为k。在图1中的示例中,识别信息计算单元13还输出索引=l,但是在由选择电路12输出的索引=l被直接提供给更新单元14的情况下,识别信息计算单元13可以不输出索引=l。
更新单元14包括保存N个位的值(x1至xN)的存储单元14a。存储单元14a例如通过使用寄存器、SRAM等来实现。更新单元14将通过从识别信息计算单元13输出的索引=k识别的位的值从1更新为0,并且将通过索引=l识别的位的值从0更新为1。更新单元14基于x1至xN输出上述控制信号ENi和ENj。
尽管图1中未示出,但还使用索引=k、l来更新hi和hj。识别信息计算单元13可以输出用于识别检测到的群组的群组识别信息(群组索引)。例如,当更新Wij时,使用群组索引。这些处理将在下面描述。
在下文中,将描述优化装置10的操作示例。
首先,执行初始设置。例如,初始设置包括以下处理:在在控制单元(未示出)的控制下x1至xN中的所有被设置为0之后,在每个群组或局部字段值的初始值的设置中,一个位的值被设置为1,而其他位的值被设置为0。作为初始设置,执行将加权值存储在存储单元11p1a至11pna中的处理或基于每个位的设置值来更新局部字段值的处理。
ΔE计算电路11p1至11pn输出ΔEmax或计算上述ΔEj,并且选择电路12输出用于识别允许从值0被更新为值1的一个位的索引。
例如,在由选择电路12输出的索引=l等于值为0的位的索引=pn的情况下,识别信息计算单元13基于索引=l检测群组p。识别信息计算单元13将群组p中的值为1的位的索引=p1输出为索引=k。
更新单元14接收索引=k、l,将xp1从1更新为0,并且将xpn从0更新为1。以这种方式,可以执行满足1-hot约束的状态之间的转换。
在xp1从1被更新为0并且xpn从0被更新为1的情况下,xpn=xi,并且在xp1至xpn中,除xpn以外的状态变量为xj。为此,关于索引=pn的(基于索引=k、l更新的)位的局部字段值为hi。关于索引=p1至p(n-1)的(基于索引=k、l更新的)位的局部字段值变为hj。
因此,关于索引=pn的位的hi被提供给ΔE计算电路11pn。在ΔE计算电路11p1至11pn中,除了关于索引=p1至p(n-1)的位中的一个的hj以外的hi被提供给除了ΔE计算电路11pn以外的ΔE计算电路。
如上所述,在ΔE计算电路11p1至11pn中,每当属于群组p的位的值被更新时,被提供了hi和hj的ΔE计算电路就改变。存储在存储单元11p1a至11pna中的加权值也被更新。下面将描述用于控制这样的局部字段值的提供目的地的改变的配置和用于更新加权值的配置。
因此,ΔE计算电路11pn输出上述ΔEmax,并且在ΔE计算电路11p1至11pn中,除了ΔE计算电路11pn之外的其他ΔE计算电路计算ΔEj。然后,选择电路12、识别信息计算单元13和更新单元14执行与上述处理相同的处理。输出在这样的状态更新处理被重复预定次数之后获得的状态(x1至xN)作为优化问题的解。
更新单元14可以基于与索引=k、l对应的ΔEj来更新能量,并且可以保存每个更新时间处的最小能量以及在获得最小能量时的状态(在最小能量处的状态)。在这种情况下,更新单元14可以输出当状态更新处理被重复预定次数时保存的最小能量处的状态作为解。
如上所述,根据第一实施方式的优化装置10,基于当每个群组中的值为1的一个位和值为0的一个位这两者都被改变时的能量改变,确定允许哪两个位被转换。然后,所确定的两个位的值被更新。以这种方式,抑制了不满足1-hot约束的状态转换,并且可以使搜索空间更小。为此,可以加快对基态的搜索。
例如,在N=1024并且所有状态变量从x1至x1024依次被划分为关于4个变量的群组的情况下,状态的总数量为21024,即大约10307,而满足1-hot约束的状态的数量为4256,即大约10154。例如,与搜索21024个状态的情况相比,要搜索的状态的数量减少到1/10153。
根据优化装置10,由于可以删除等式(3)的右侧上的第二项的1-hot约束项,因此可以减少由于1-hot约束项而产生的能垒,并且可以缩短状态转换的时间。
由于如上所述可以删除等式(3)的右侧上的第二项的1-hot约束项,因此可以减少用于表示加权值的位的数量,并且可以降低用于存储加权值的硬件的数量。
例如,当优化装置10计算交通优化问题时,在N=16并且λ1=100的情况下,加权值的范围是4≤Wij≤214。另一方面,在消除等式(3)的右侧上的第二项的1-hot约束项的情况下(例如,在λ1=0的情况下),加权值的范围是4≤Wij≤14。例如,用于表示加权值的位的数量可以从8个位减少到4个位。在问题的规模增大——例如,N=1024并且λ1=10000的情况下,加权值的范围是4≤Wij≤20108。另一方面,在λ1=0的情况下,加权值的范围是4≤Wij≤108。例如,用于表示加权值的位的数量可以从16个位减少到7个位。
因此,随着问题的大小增加,加权值的位的数量的减少效果变得更加显著。
在在多个1-hot约束项中出现相同的状态变量的情况下,以上优化装置10未从能量函数中排除所有1-hot约束项。例如,旅行商问题的能量函数可以被表示为E(x)=αD+λ1P1+λ2P2。D、P1和P2可以分别被表示为以下等式(8)、等式(9)和等式(10)。
在等式(8)中,s(t,c1)是如下函数:当在时间t处访问城市c1时,变为1;否则变为0。d(c1,c2)是城市c1与城市c2之间的距离,s((t+1)%N,c2)是如下函数:当在将时间t+1除以N之后剩余的时间处访问城市c2时,变为1;否则变为0。
在等式(9)和等式(10)中,s(t,c)是如下函数:当在时间t处访问城市c时,变为1;否则变为0。城市c1、c2和c由0至N-1的值表示,并且时间t也由0至N-1的值表示。
等式(9)和等式(10)分别是1-hot约束项。在优化装置10中,可以删除两个1-hot约束项中的一个。因此,能量函数可以为E(x)=αD+λ1P1或E(x)=αD+λ2P2。
(修改示例)
同时,在xi和xj具有属于满足等式(4)中的Wijxixj中的相同1-hot约束所需的相同群组的两个位的值的情况下,由于xi或xj为0(在图1中的示例中,xi=1并且xj=0),因此Wijxixj=0。例如,Wij不会对能量做出贡献。为此,Wij=0是可以的。
图2是示出优化装置的修改示例的图。在图2中,用相同的附图标记来标注与图1中示出的元件相同的元件。在优化装置10a中,与图1中示出的ΔE计算电路11p1至11pn不同,ΔE计算电路11pa1、11pa2、...、11pan不包括存储Wii或Wij的存储单元11p1a至11pna。尽管ΔE计算电路11pa1以与ΔE计算电路11p1相同的方式输出ΔEmax,但是与ΔE计算电路11p2至11pn不同,ΔE计算电路11pa2至11pan计算hi-hj。
(第二实施方式)
图3是示出根据第二实施方式的优化装置的示例的图。优化装置20包括ΔE计算单元21、选择电路22、识别信息计算单元23、更新单元24和控制单元25。
在上述G个群组中的每个群组中,ΔE计算单元21计算当通过汉明距离=2的状态转换从满足1-hot约束的状态转换到满足1-hot约束的另一状态时的能量改变(ΔE1至ΔEN)。
选择电路22基于热激励能量与ΔE1至ΔEN之间的大小关系输出索引=l,该索引=l用于识别在包括在群组1至群组G中的每个群组中的位中允许从值0被更新为值1的一个位。基于随机数和从控制单元25输入的T来确定热激励能量。在一些情况下,根据热激励能量与ΔE1至ΔEN之间的大小关系,即使对于值为0的位中的一个也不允许更新。在下文中,假设选择电路22输出指示是否允许更新的标志以及索引=l。
识别信息计算单元23基于由选择电路22输出的索引=l和标志来检测允许被更新的位所属的群组。识别信息计算单元23输出识别属于所检测的群组的值为1的位的索引以及识别所检测的群组的群组索引=gl。在下文中,识别信息计算单元23还输出从选择电路22提供的索引=l和标志。索引=k、l被提供给ΔE计算单元21,并且当对关于用于计算能量改变的每个位的局部字段值进行更新时被使用。此外,群组索引=gl还被提供给ΔE计算单元21,并且例如当对在ΔE计算单元21中包括的多个ΔE计算电路中的每一个中保存的加权值进行更新时被使用。
在标志是指示不允许更新的值的情况下,识别信息计算单元23将例如索引=k、l和群组索引=gl设置为无效值(例如,0)。
更新单元24包括保存N个位的值(x1至xN)的存储单元24a。存储单元24a例如通过使用寄存器、SRAM等来实现。在标志具有允许更新的值的情况下,更新单元24将通过从识别信息计算单元23输出的索引=k识别的位的值从1更新为0,并且将通过索引=l识别的位的值从0更新为1。更新单元24可以基于与索引=k、l对应的能量改变来更新能量,并且可以保存每个更新时间处的最小能量以及当获得最小能量时的状态(在最小能量处的状态)。更新单元24将控制信号EN提供给ΔE计算单元21,并且将x1至xN提供给ΔE计算单元21。下面将描述使用控制信号EN或x1至xN的ΔE计算单元21的处理的示例。
控制单元25执行优化装置20的下面要描述的初始设置处理。每当更新伊辛模型的状态的处理被重复预定次数时,控制单元25例如根据由控制装置26指定的温度安排表来减小T的值。
例如,控制单元25在状态更新处理被重复预定次数之后获得由存储单元24a保存的状态(x1至xN),并且将该状态(x1至xN)发送至控制装置26作为优化问题的解。在更新单元24的存储单元24a保存最小能量或最小能量处的状态的情况下,在状态更新处理被重复预定次数之后,为此控制单元25可以获得信息,并且可以将该信息发送至控制装置26。
例如,控制单元25可以由诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)等的专用电子电路来实现。控制单元25可以是诸如中央处理单元(CPU)、数字信号处理器(DSP)等的处理器。在这种情况下,处理器通过执行存储在存储器(未示出)中的程序来执行上述处理。
(ΔE计算单元21的示例)
图4是示出ΔE计算单元的示例的图。ΔE计算单元21包括存储单元21a、选择电路21b1至21bN、保存单元21c1至21cN、匹配检测单元21d1至21dN、开关21e1至21eN、h更新电路21f1至21fN、h传播控制单元21g和ΔE计算电路21h1至21hN。
存储单元21a存储加权值(W11至WNN),该加权值指示与伊辛模型中包括的所有旋转对应的所有位之间的相互作用的大小。在初始设置处理中,W11至WNN被控制单元25存储在存储单元21a中。存储单元21a例如通过使用寄存器、SRAM等来实现。
选择电路21b1至21bN中的每一个基于由识别信息计算单元23输出的索引=k、l在存储在存储单元21a中的加权值中选择两个加权值,并且输出这两个加权值。例如,选择电路21bi在W1i至WNi中选择并输出Wki和Wli。对于索引=k、l,在首先将k提供给选择电路21bi的情况下,选择电路21bi首先输出Wki,而在首先将l提供给选择电路21bi的情况下,选择电路21bi首先输出Wli。以相同的方式,选择电路21bj在W1j至WNj中选择并输出Wkj和Wlj。
保存单元21c1至21cN中的每一个保存群组索引(g1至gN)中的一个。例如,保存单元21ci保存识别索引=i的位所属的群组的gi。保存单元21cj保存识别索引=j的位所属的群组的gj。
图5是示出群组索引的值的示例的图。在图5中的示例中,索引为1、2、...、s1的位所属的群组1的群组索引为1,而索引为s1+1、s1+2、...、s2的位所属的群组2的群组索引为2。索引为SG-1+1、SG-1+2、...、N的位所属的群组G的群组索引为G。
因此,为具有较小索引的位所属的群组的群组索引分配较小的值。保存单元21c1至21cN的总存储容量由N确定。保存单元21c1至21cN中的每一个例如通过使用寄存器或SRAM来实现。
在图4中,包括匹配检测单元21d1至21dN和开关21e1至21eN的电路单元具有以下功能。在由识别信息计算单元23提供的群组索引=gl与g1至gN中的一个彼此匹配的情况下,匹配检测单元21d1至21dN中的每一个输出1,而识别信息计算单元23与g1至gN中的一个不匹配,匹配检测单元21d1至21dN中的每一个输出0。例如,在gl=gi的情况下,匹配检测单元21di输出1,而在gl≠gi的情况下,匹配检测单元21di输出0。在gl=gj的情况下,匹配检测单元21dj输出1,而在gl≠gj的情况下,匹配检测单元21dj输出0。匹配检测单元21d1至21dN中的每一个例如使用多个异或NOR(ExNOR)电路和一个逻辑积(AND)电路来实现。例如,多个ExNOR电路中的每一个逐位地输入与两个输入群组索引对应的位的值,并且在两个位彼此匹配的情况下输出1。在多个ExNOR电路的输出均为1的情况下,AND电路输出1。
开关21e1至21eN中的每一个在处于接通状态时将从选择电路21b1至21bN中的一个输出的加权值提供给ΔE计算电路21h1至21hN的存储单元21h1a至21hNa中的一个。在匹配检测单元21d1至21dN中的一个输出值1的情况下,开关21e1至21eN中的每一个接通。例如,在匹配检测单元21di输出1的情况下,开关21ei接通,并且开关21ei将选择电路21bi输出的加权值提供给ΔE计算电路21hi的存储单元21hia。在匹配检测单元21dj输出1的情况下,开关21ej接通,并且开关21ej将选择电路21bj输出的加权值提供给ΔE计算电路21hj的存储单元21hja。例如,开关21e1至21eN中的每一个是三态缓冲器。
h更新电路21f1至21fN中的每一个包括保存单元(例如,寄存器)(未示出),并且保存和更新h1至hN中的一个。例如,h更新电路21fi通过以下操作来更新hi:通过使用由选择电路21bi选择的Wki和Wli来计算hi-Wki+Wli。h更新电路21fj通过使用由选择电路21bj选择的Wkj和Wlj来计算hj-Wkj+Wlj以更新hj。h1至hN的初始值例如是偏差值(b1至bN),并且在初始设置处理时由控制单元25进行设置。h更新电路21f1至21fN例如通过使用加法器或减法器来实现。
基于x1至xN和g1至gN,h传播控制单元21g控制关于值为1的位的局部字段值的传播目的地(提供目的地)。例如,在值为1的索引=i的位与值为0的索引=j的位属于相同群组的情况下,h传播控制单元21g将由h更新电路21fi输出的hi传播到ΔE计算电路21hi,并且将hi传播到被提供了hj的ΔE计算电路21hj。
图6是示出h传播控制单元的示例的图。h传播控制单元21g包括:开关30a1、30a2、30a3、...、30a(N-1)和30aN;控制信号生成电路30b1、30b2、30b3和30b(N-1);开关30c1、30c2、30c3和30c(N-1)。
x1至xN中的一个被输入到开关30a1至30aN中的每一个,并且开关30a1至30aN在输入状态变量为1的情况下接通,而开关30a1至30aN在输入为0的情况下断开。h1、h2、h3、...、hN-1和hN中的一个被输入到开关30a1至30aN中的每一个的一个端子,并且另一端子耦接至ΔE计算电路21h1、21h2、21h3、...、21h(N-1)和21hN中的一个。例如,h1被输入到开关30a1的一个输入端子,并且在x1为1的情况下,开关30a1接通并且h1被提供给ΔE计算电路21h1。
控制信号生成电路30b1至30b(N-1)中的每一个包括输入端子IN1和IN2以及输出端子OUT。具有相邻索引的两个位中的每个位所属的群组的群组索引被输入到输入端子IN1和IN2,并且在两个群组索引彼此匹配的情况下,从输出端子OUT输出1。
图7是示出控制信号生成电路的示例性配置的图。图7示出了图6中的控制信号生成电路30b1至30b(N-1)中的第i控制信号生成电路30bi的示例。
控制信号生成电路30bi包括t个ExNOR电路31a1至31at以及AND电路31b。t是用于表示群组索引的位的数量的最大值。在N=1024的情况下,t最大为10。ExNOR电路31a1至31at中的每一个逐位地接收与两个输入群组索引对应的位的值,并且在两个位彼此匹配的情况下输出1。例如,ExNOR电路31a1输入gi和gi+1的最低有效位gi<1>和gi+1<1>,并且在两个位彼此匹配的情况下输出1。ExNOR电路31at输入gi和gi+1的最高有效位gi<t>和gi+1<t>,并且在两个位彼此匹配的情况下输出1。
在ExNOR电路31a1至31at的所有输出为1的情况下,AND电路31b输出1,而在在ExNOR电路31a1至31at的输出中至少存在一个0的情况下,AND电路31b输出0。
图6中的开关30c1至30c(N-1)中的每一个耦接在开关30a1至30aN中的任何两个相邻开关的另一端子(耦接至ΔE计算电路的侧)之间。在由控制信号生成电路30b1至30b(N-1)中的一个输出的值为1的情况下,开关30c1至30c(N-1)中的每一个接通。
例如,开关30c1耦接在开关30a1的另一端子与开关30a2的另一端子之间,并且在控制信号生成电路30b1输出1的情况下接通。开关30a1至30aN以及30c1至30c(N-1)中的每一个例如是传输门。
在如图6中示出的h传播控制单元21g中,例如,索引=1至3的位属于相同群组,在x2=1、x1和x3=0的情况下,开关30a1和30a3断开并且开关30a2接通。由于g1=g2=g3,因此控制信号生成电路30b1和30b2输出1,并且开关30c1和30c2接通。因此,h2经由开关30a2被提供给ΔE计算电路21h2,h2经由开关30c1被提供给ΔE计算电路21h1,h2经由开关30c2被提供给ΔE计算电路21h3。
在索引=4的位属于与索引=1至3的位不同的群组的情况下,g3≠g4,使得控制信号生成电路30b3输出0并且开关30c3断开。
图8是示出h传播控制单元的另一示例的图。图8示出了h传播控制单元21ga的一部分(对索引=j-1、j、j+1、i的位执行hj-1、hj、hj+1、hi的传播控制的部分)。h传播控制单元21ga包括三态缓冲器32a1、32a2、32a3、32a4、32b1、32b2、32b3和32b4以及控制信号生成单元32c。
hj-1、hj、hj+1和hi中的一个被输入到三态缓冲器32a1至32a4中的每一个的输入端子。三态缓冲器32a1至32a4中的每一个的输出端子耦接至ΔE计算电路21h(j-1)、21hj、21h(j+1)和21hi中的一个。三态缓冲器32a1至32a4中的每一个接收xj-1、xj、xj+1和xi中的一个作为控制信号,在控制信号为1的情况下,三态缓冲器32a1至32a4中的每一个输出被输入到输入端子的局部字段值,在控制信号为0的情况下,三态缓冲器32a1至32a4中的每一个将输出端子设置为高阻抗状态。
三态缓冲器32b1的输入端子和三态缓冲器32b2的输出端子耦接至三态缓冲器32a1的输出端子和ΔE计算电路21h(j-1)。三态缓冲器32b1的输出端子和三态缓冲器32b2的输入端子耦接至三态缓冲器32a2的输出端子和ΔE计算电路21hj。三态缓冲器32b3的输入端子和三态缓冲器32b4的输出端子耦接至三态缓冲器32a2的输出端子和ΔE计算电路21hj。三态缓冲器32b3的输出端子和三态缓冲器32b4的输入端子耦接至三态缓冲器32a3的输出端子和ΔE计算电路21h(j+1)。三态缓冲器32b1接收控制信号CNTj-1,j,三态缓冲器32b2接收控制信号CNTj,j-1。三态缓冲器32b3接收控制信号CNTj,j+1,三态缓冲器32b4接收控制信号CNTj+1,j。在控制信号为1的情况下,三态缓冲器32b1至32b4中的每一个从输出端子输出输入信号,而在控制信号为0的情况下,三态缓冲器32b1至32b4中的每一个将输出端子设置为高阻抗状态。
控制信号生成单元32c基于g1至gN以及x1至xN生成控制信号CNT(包括CNTj-1,j、CNTj,j-1、CNTj,j+1和CNTj+1,j)。例如,控制信号生成单元32c是根据以下关系输出控制信号的逻辑电路。
图9是示出由控制信号生成单元输出的控制信号的示例的图。索引=i是值为1的位的索引,而索引=j是值为0的位的索引。DIR(j)是如下变量:在i>j的情况下,DIR(j)为0;在i=j的情况,DIR(j)为1;而在i<j的情况下,DIR(j)为2。
在索引=j-1、j、j+1的位属于相同群组(gj-1=gj=gj+1)并且DIR(j)=0的情况下,控制信号CNTj-1,j和CNTj,j+1为0,而控制信号CNTj,j-1和CNTj+1,j为1。为此,在图8中,hi经由三态缓冲器32b4被提供给ΔE计算电路21hj,并且hi经由三态缓冲器32b2被提供给ΔE计算电路21h(j-1)。
在gj-1=gj=gj+1并且DIR(j)=1的情况下,控制信号CNTj-1,j和CNTj+1,j为0,而控制信号CNTj,j-1和CNTj,j+1为1。在这种情况下,在图8中,hj=hi,并且hi经由三态缓冲器32b3被提供给ΔE计算电路21h(j+1),并且hi经由三态缓冲器32b2被提供给ΔE计算电路21h(j-1)。
在gj-1=gj=gj+1并且DIR(j)=2的情况下,控制信号CNTj,j-1和CNTj+1,j为0,而控制信号CNTj-1,j和CNTj,j+1为1。为此,在图8中,hi经由三态缓冲器32b1被提供给ΔE计算电路21hj,并且hi经由三态缓冲器32b3被提供给ΔE计算电路21h(j+1)。
在索引=j-1、j的位属于不同群组(gj-1≠gj)并且索引=j、j+1的位属于相同群组(gj=gj+1)的情况下,获得后面的。在DIR(j)=0的情况下,控制信号CNTj-1,j、CNTj,j-1和CNTj,j+1为0,而控制信号CNTj+1,j为1。为此,hi经由三态缓冲器32b4被提供给ΔE计算电路21hj。在DIR(j)=1的情况下,控制信号CNTj-1,j、CNTj,j-1和CNTj+1,j为0,而控制信号CNTj,j+1为1。在这种情况下,在图8中,hj=hi,并且hi经由三态缓冲器32b3被提供给ΔE计算电路21h(j+1)。由于索引=i、j的位在不同的群组中,并且在该群组中不存在值为1的位,因此在执行满足1-hot约束的状态之间的转换的优化装置20中,可能不会发生gj-1≠gj且gj=gj+1并且DIR(j)=2的情况。
以相同的方式,可能不会发生以下情况:索引=j-1、j的位属于相同群组(gj-1=gj)且索引=j、j+1的位属于不同群组(gj≠gj+1),并且DIR(j)=0。在gj-1=gj并且gj≠gj+1且DIR(j)=1的情况下,控制信号CNTj-1,j、CNTj+1,j和CNTj,j+1为0,而控制信号CNTj,j-1为1。在这种情况下,在图8中,hj=hi,并且hi经由三态缓冲器32b被提供给ΔE计算电路21h(j-1)。在gj-1≠g gj且gj=gj+1并且DIR(j)=2的情况下,控制信号CNTj,j-1、CNTj+1,j和CNTj,j+1为0,而控制信号CNTj-1,j为1。在这种情况下,hi经由三态缓冲器32b1被提供给ΔE计算电路21hj。
返回到图4的描述。ΔE计算电路21h1至21hN通过使用局部字段值和加权值来计算当通过汉明距离=2的状态转换从满足1-hot约束的状态转换到满足1-hot约束的另一状态时的ΔE1至ΔEN。
h1至hN中的一个从h更新电路21f1至21fN中的一个被直接提供给ΔE计算电路21h1至21hN中的每一个。h传播控制单元21g将关于属于与值为0的位相同的群组的值为1的位的局部字段值传播至如下ΔE计算电路,从h更新电路21f1至21fN中的一个向所述ΔE计算电路提供该位的局部字段值。
ΔE计算电路21h1至21hN包括保存用于计算等式(7)的加权值的存储单元21h1a至21hNa。图10是示出通过ΔE计算电路的处理的示例的图。
在某个群组中,h传播控制单元21g将关于属于与值为0的位相同的群组的值为1的位的hi传播至ΔE计算电路21hj,从h更新电路21fj向ΔE计算电路21hj直接提供关于该位的hj。ΔE计算电路21hj的存储单元21hja保存加权值Wij。Wij是当开关21ej处于接通状态时由选择电路21bj输出的加权值。在从用于执行hj的更新的存储单元21a读取的加权值中,由于用于计算ΔEj的Wij被存储在存储单元21hja中,因此可以从存储单元21a再次读取当计算ΔEj时的Wij。
基于等式(7),ΔE计算电路21hj基于hi、hj和Wij来计算在xi从1变为0并且xj从0变为1时的ΔEj。
hi被提供给ΔE计算电路21hi并且存储单元21hia保存加权值Wii。如在根据第一实施方式的优化装置10中所描述的,为了避免汉明距离=2按照相同位的状态转换,ΔE计算电路21hi由控制信号ENi=1控制以输出作为预定的正值的ΔEmax。ΔEmax例如是可以由优化装置20生成的正的最大值。控制信号ENj=0被提供给ΔE计算电路21hj,并且输出ΔEmax的功能是无效的。例如,控制信号ENi=1被提供给ΔE计算电路21hi,ΔE计算电路21hi直接接收关于值为1的位的hi,并且控制信号ENj=0被提供给ΔE计算电路21hj,ΔE计算电路21hj直接接收关于值为0的位的hj。控制信号ENi和ENj由更新单元24基于x1至xN而生成。
(选择电路22的示例)
图11是示出选择电路的示例的图。选择电路22包括符号求反单元22a、偏移加法单元22b、随机数生成电路22c、选择规则应用单元22d、乘法器22e、比较单元22f和选择器22g。
符号求反单元22a将ΔE1、ΔE2、…、ΔEN中的每一个乘以-1以使符号相反。偏移加法单元22b将偏移值与符号求反单元22a的输出值(-ΔE1至-ΔEN)中的每一个相加。当由下面要描述的选择器22g输出的标志指示不允许更新时(例如,当不发生状态转换时),偏移加法单元22b增加偏移值。另一方面,当标志指示允许更新时(例如,当发生状态转换时),偏移加法单元22b将偏移值设置为0。随着偏移值变大,更容易允许状态转换,并且在当前状态处于局部解中的情况下,促进了从局部解的逃逸。
随机数生成电路22c生成等于或大于0且等于或小于1的均匀随机数(r)。选择规则应用单元22d基于用于执行模拟退火的选择规则(metropolis方法或Gibbs方法)输出值。
在执行模拟退火的情况下,当如在以下等式(11)和(12)中确定引起某种能量改变的状态转换的允许概率A(ΔE,T)时,已知该状态在无穷大的时间限制(迭代的次数)下达到最优解。
A(ΔE,T)=f(-ΔE/T) (11)
在等式(11)和(12)中,T是上述温度参数。在使用由等式(11)表示的允许概率A(ΔE,T)的情况下,当在充分迭代之后达到正常状态时,对于热力学中的热平衡状态,每个状态的占有概率遵循玻尔兹曼分布。由于当温度从高温逐渐降低时低能量状态的占有概率增加,因此当温度充分降低时获得低能量状态。由于该行为类似于当对材料进行退火时的状态改变,因此该方法被称为模拟退火。此时,有概率性地发生能量增加的状态转换的情况对应于物理上的热激励。
可以通过比较器来实现输出标志(=1)的电路,该标志(=1)指示允许以允许概率A(ΔE,T)引起ΔE的状态转换,该比较器基于等式(11)和(12)中的f(-ΔE/T)与均匀随机数r的比较结果而输出值。
同时,即使在进行以下修改时,也可以实现相同的功能。即使在相同的单调递增函数作用于两个数字时,大小关系也不会改变。因此,即使在相同的单调递增函数作用于比较器的两个输入时,比较器的输出也不会改变。例如,可以使用作为f(-ΔE/T)的反函数的f-1(-ΔE/T)来作为作用于f(-ΔE/T)和f-1(r)的单调递增函数,f-1(r)是通过将f-1(-ΔE/T)的-ΔE/T设置为r作为作用于均匀随机数的单调递增函数而获得的。在这种情况下,具有与上述比较器相同功能的电路可以是当-ΔE/T大于f-1(r)时输出1的电路。由于T为正,因此该电路可以是当-ΔE大于T·f-1(r)时输出1的电路。
选择规则应用单元22d通过使用转换表来输出f-1(r)的值,该转换表用于将输入的均匀随机数转换为上述f-1(r)的值。在应用metropolis方法的情况下,f-1(r)是log(r)。转换表例如被存储在诸如随机存取存储器(RAM)、闪存等的存储器中。
乘法器22e输出T与f-1(r)的乘积(T·f-1(r))。T·f-1(r)对应于热激励能量。
比较单元22f将由偏移加法单元22b对于ΔE1至ΔEN中的每一个的相加结果与T·f-1(r)进行比较,并且针对大于T·f-1(r)的相加结果输出1作为标志。比较单元22f针对等于或小于T·f-1(r)的相加结果输出0作为标志。
基于关于ΔE1至ΔEN中的每一个的标志,选择器22g输出允许被更新的位的索引=l和该标志。在存在允许被更新的多个位的情况下,基于随机数,输出位中的一个位的索引作为索引=l。即使在不存在允许被更新的位的情况下,也输出任何位的索引。在这种情况下,由选择器22g输出的标志为0。
例如,选择器22g输出如下N位值作为索引=l,在所述N位值中,第l位的值为1,而其他位的值为0。
图1中示出的根据第一实施方式的优化装置10的选择电路12还可以通过使用如图11中示出的电路来实现。
(识别信息计算单元23的示例)
图12是示出识别信息计算单元的示例的图。在图12中的示例中,识别信息计算单元23通过使用表23a和23b来输出作为群组索引的gl或作为值为1的位的索引的k。表23a和23b例如被存储在诸如RAM、闪存等的存储器中。
表23a是N个位分别所属的群组的群组索引按照升序被排列的表。识别信息计算单元23使用从选择电路22输出作为索引=l的N位值来作为用于访问表23a的群组索引的地址,在该N位值中,第l位的值为1,而其他位的值为0。在第l位的值为1的情况下,输出表23a中的第l群组索引=gl。
表23b是针对G个群组中的每个群组按照升序排列值为1的位的索引的表。在图12中的示例中,属于具有群组索引=1的群组的值为1的位的索引为s1,而属于群组索引=G的群组的值为1的位的索引为N。属于群组索引=gl的群组的值为1的位的索引为k。
识别信息计算单元23利用使用表23a输出的群组索引=gl作为用于访问表23b的索引的地址。识别信息计算单元23输出在表23a中排列的索引中的第gl索引=k。每当执行状态更新处理时,更新表23b。
在下文中,将描述识别信息计算单元23的另一示例。图13是示出在索引、群组索引和选择电路的输出和更新之前的状态变量的示例的图。
索引=k、l的位属于群组索引=gl的群组gl。选择电路22输出如下N位值作为索引=l,在所述N位值中,第l位的值为1而其他位的值为0。通过将与索引=1至N中的每一个对应的群组索引与从选择电路22输出的N位值中的一个位的乘积进行积分,获得群组索引=gl。例如,gl可以由以下等式(13)表示。
在等式(13)中,sli是从选择电路22输出的N位值中的第i位的值,gi是g1至gN中的第i群组索引。
另一方面,索引k可以由以下等式(14)表示。
在等式(14)中,qi是如下变量:当gi=gl时,qi为1;而当gi≠gl时,qi为0。
可以例如通过以下逻辑电路来计算等式(13)和(14)。
图14是示出识别信息计算单元的另一示例的图。识别信息计算单元23包括AND电路23c1、23c2、...、23cN以及OR(逻辑和)电路23d。识别信息计算单元23包括:ExNOR电路23e1、23e2、...、23eN;AND电路23f1、23f2、...、23fN;乘法器23g1、23g2、...、23gN;以及加法器23h。
通过AND电路23c1至23cN和OR电路23d,计算由以上等式(13)表示的群组索引=gl。AND电路23c1至23cN中的每一个输出等式(13)的sli·gi(i=1至N)。
OR电路23d输出作为AND电路23c1至23cN的输出值的逻辑和的gl。通过ExNOR电路23e1至23eN、AND电路23f1至23fN、乘法器23g1至23gN和加法器23h,计算由以上等式(14)表示的索引=k。ExNOR电路23e1至23eN输出等式(14)的qi(i=1至N)。
AND电路23f1至23fN输出等式(14)的qi·xi。乘法器23g1至23gN输出等式(14)的i(qi·xi)。作为1至N的i由log2N个位表示。
加法器23h将乘法器23g1至23gN的输出值相加以输出索引=k。识别信息计算单元23还输出从选择电路22输出的标志或索引=l。例如,识别信息计算单元23可以首先输出标志和索引=k,然后输出标志和索引=l以及群组索引=gl。
在图1中示出的根据第一实施方式的优化装置10的识别信息计算单元13中,也可以通过使用图13中示出的表23a和23b或图14中示出的电路来输出索引=k和群组索引=gl。
(优化装置20的整体操作的示例)
图15是示出根据第二实施方式的优化装置的示例的处理的流程的流程图。
图16是示出初始设置处理的示例的流程的流程图。图15中的步骤S1中的初始设置处理例如包括图16中示出的处理。
控制单元25将从控制装置26接收到的W11至WNN存储在ΔE计算单元21的存储单元21a中(步骤S20)。
控制单元25将从控制装置26接收的h1至hN的初始值(例如,偏差值)设置到ΔE计算单元21的h更新电路21f1至21fN(步骤S21)。控制单元25基于从控制装置26接收的退火条件将温度参数T的初始值设置到选择电路22(步骤S22)。
控制单元25将x1至xN(全零)存储在存储单元24a中(步骤S23),并且将g1至gN设置到保存单元21c1至21cN(步骤S24)。
然后,控制单元25将变量g设置为g=1(步骤S25)。控制单元25使用随机数以选择属于gi=g的群组的一个位的索引=lg,将x1至xN中的Xlg更新为1,并且将Xlg存储在存储单元24a中(步骤S26)。
控制单元25根据Xlg的更新来更新h1至hN(步骤S27)。由于当Xlg从0变为1时hi(i=1至N)的改变为+Wlg,i,因此hi被更新为hi=hi+Wlg,i。更新后的h1至hN被存储在h更新电路21f1至21fN中的保存单元(未示出)中。
然后,在ΔE计算电路21h1至21hN中,控制单元25将Wlg,j(j是g的群组中的位的索引)存储在如下ΔE计算电路的存储单元中,向所述ΔE计算电路提供关于属于gi=g的群组的位的局部字段值(步骤S28)。
接下来,控制单元25确定是否满足g=G(步骤S29)。在满足g=G的情况下,控制单元25完成初始设置处理,而在不满足g=G的情况下,控制单元25设置g=g+1(步骤S30)并且重复从步骤S26起的处理。
在识别信息计算单元23使用如图12中示出的表23b的情况下,控制单元25可以通过排列每当步骤S26的处理被执行时获得的索引=lg来创建表23b。
初始设置处理中的处理的顺序不限于以上示例,并且该顺序可以适当地被改变。
在上述初始设置处理被完成之后,h传播控制单元21g基于x1至xN和g1至gN将h1至hN提供给ΔE计算电路21h1至21hN(步骤S2)。例如,在值为1的索引=i的位与值为0的索引=j的位属于相同群组的情况下,h传播控制单元21g将由h更新电路21fi输出的hi提供给ΔE计算电路21hi,并且将hi提供给ΔE计算电路21hj。
然后,如上所述,ΔE计算电路21h1至21hN计算ΔE1至ΔEN(步骤S3)。在图11中示出的选择电路22中,偏移值被添加(步骤S4),并且索引=l被选择(步骤S5)。识别信息计算单元23根据上述处理输出索引=k和群组索引=gl(步骤S6)。在识别信息计算单元23使用如图11中示出的表23b的情况下,识别信息计算单元23从表23b读取索引=k,然后将索引=l重写在相同的存储区域中。
然后,更新单元24将存储在存储单元24a中的索引=k的位的值(xk)从1更新为0,并且h更新电路21f1至21fN根据xk的更新来更新h1至hN(步骤S7)。
更新单元24将存储在存储单元24a中的索引=l的位的值(Xl)从0更新为1,并且h更新电路21f1至21fN根据Xl的更新来更新h1至hN。ΔE计算单元21对写入到如下ΔE计算电路的存储单元中的加权值进行更新,向所述ΔE计算电路提供关于属于gl的群组的位的局部字段值(步骤S8)。例如,在识别信息计算单元23输出索引=l的情况下,图4中示出的选择电路21bj输出Wlj。在gj=gl的情况下,该Wlj被提供给ΔE计算电路21hj。在Wkj被存储在图10中示出的ΔE计算电路21hj的存储单元21hja中的情况下,Wkj被更新为Wlj。
然后,控制单元25确定状态更新处理被执行的次数是否达到预定数量N1(步骤S9)。在更新处理的数量未达到预定数量N1的情况下,重复步骤S2至S8的处理。
在更新处理的数量达到预定数量N1的情况下,控制单元25确定T的改变的数量(温度改变的数量)是否达到预定数量N2(步骤S10)。
在温度改变的数量未达到预定数量N2的情况下,控制单元25改变T(降低温度)(步骤S11)。基于退火条件确定改变预定次数N1和N2以及T的值的方法(一次减少多少个值等)。在步骤S11的处理之后,重复从步骤S2起的处理。
在温度改变的数量达到预定数量N2的情况下,控制单元25在那时从存储单元24a获得每个位的值(变量xi(i=1至N)),并且将该值作为解(计算结果)发送(输出)至控制装置26(步骤S12)。显示装置可以耦接至控制单元25。在这种情况下,控制单元25可以在显示装置上显示计算结果。
更新单元24可以基于与索引=k、l对应的能量改变来更新能量,并且可以保存每个更新时间处的最小能量以及在获得最小能量时的状态(在最小能量处的状态)。在这种情况下,当温度改变的数量达到预定数量N2时,控制单元25可以获得由更新单元14保存的最小能量处的状态并且输出该状态作为解。
上述处理的顺序不限于以上示例,并且该顺序可以适当地被改变。例如,步骤S7和S8的处理的顺序可以颠倒。
如上所述的根据第二实施方式的优化装置20具有与根据第一实施方式的优化装置10的优点相同的优点。
图17是示出表示在使用第二实施方式的优化装置的情况下计算缩短效果的仿真结果的图。横轴表示状态更新处理被重复的次数,而纵轴表示得到正确答案的复制品的数量(优化装置20的数量)。
要计算的问题是具有32辆汽车和32条路线的交通优化问题(由1024位的伊辛模型表示)。为了比较,图17示出了在使用相关技术中的通过重复汉明距离=1的转换来使能量最小化的优化装置的情况下的仿真结果41以及在使用根据第二实施方式的优化装置20的情况下的仿真结果40。
如图17中所示,在第二实施方式的优化装置20中,与相关技术中的优化装置相比,解的收敛时间减少了1000倍或更多。例如,在得到正确答案的复制品的数量=15的情况下,获得1830倍的加速。
在上述交通优化问题的示例中,可以通过能够删除等式(3)中示出的右侧上的第二项的1-hot约束项来将加权值的位的数量从16个位减少到7个位。为此,与具有1-hot约束项的情况相比,可以将存储加权值的存储单元21a的硬件的数量减少50%或更多。由于存储单元21a与优化装置20的硬件总量的比率大(在相关技术中的优化装置中,为80%或更多),因此减少加权值的位的数量的效果大。
(修改示例)
第二实施方式的优化装置20执行满足1-hot约束的状态之间的状态转换,但是可以具有如相关技术中的优化装置那样执行汉明距离=1的状态转换的功能。在这种情况下,在优化装置20中,添加了以下配置:通过禁用执行满足1-hot约束的状态之间的状态转换的功能(在下文中,被称为1-hot约束支持功能)来执行执行汉明距离=1的状态转换的功能。
图18是示出具有用于禁用1-hot约束支持功能的配置的优化装置中的h传播控制单元的第一示例的图。在图18中,用相同的附图标记标注与图6中示出的元件相同的元件。
图18示出了针对开关30a2和30a3生成控制信号的OR电路50和51。1hotEN的值(1或0)被反转(从1变为0或从0变为1)并且被输入到OR电路50的一个输入端子。x2被输入到OR电路50的另一输入端子。1hotEN的值被反转并且被输入到OR电路51的一个输入端子,并且x3被输入到OR电路51的另一输入端子。
1hotEN是指示是否启用1-hot约束支持功能的使能信号。在下文中,在1hotEN=1的情况下,启用以上功能,而在1hotEN=0的情况下,禁用以上功能并且执行汉明距离=1的状态转换。例如,1hotEN由图3中示出的控制单元25输出。
在1hotEN=1的情况下,OR电路50输出x2作为控制信号,而在1hotEN=0的情况下,无论x2如何,OR电路50都输出1,从而使开关30a2接通。在1hotEN=1的情况下,OR电路51输出x3作为控制信号,而在1hotEN=0的情况下,无论x3如何,OR电路51都输出1,从而使开关30a3接通。
在图6中示出的开关30a1至30aN中,通过与图18中示出的OR电路50和51相同的OR电路将控制信号提供给除了开关30a2和30a3以外的开关。
图18示出了代替图6中示出的控制信号生成电路30b2的控制信号生成电路30b2x。g2和g3被输入到控制信号生成电路30b2x并且1hotEN被输入到控制信号生成电路30b2x。控制信号生成电路30b2x在1hotEN为1且g2=g3的情况下输出1并且使开关30c2接通,而在1hotEN为1且g2≠g3的情况下输出0并且使开关30c2断开。在1hotEN为0的情况下,无论g2与g3之间的关系如何,控制信号生成电路30b2x都输出0,并且使开关30c2断开。
图19是示出基于1hotEN生成控制信号的控制信号生成电路的示例的图。在图19中,用相同的附图标记来标注与图7中示出的元件相同的元件。
与图7中示出的控制信号生成电路30bi的AND电路31b不同,图19中示出的控制信号生成电路30bix的AND电路52接收ExNOR电路31a1至31at的输出并接收1hotEN。为此,在1hotEN=0的情况下,无论ExNOR电路31a1至31at的输出如何,AND电路52都输出0。
通过如图19中示出的控制信号生成电路30bix将控制信号提供给图6中示出的开关30c1至30cN(N-1)中的每一个。
图20是示出具有用于禁用1-hot约束支持功能的配置的优化装置中的h传播控制单元的第二示例的图。在图20中,用相同的附图标记来标注与图8中示出的元件相同的元件。
图20示出了针对三态缓冲器32a1和32a2生成控制信号的OR电路53和54以及针对三态缓冲器32b1和32b2生成控制信号的AND电路55和56。
1hotEN的值被反转并被输入到OR电路53的一个输入端子。xj-1被输入到OR电路53的另一输入端子。1hotEN的值被反转并被输入到OR电路54的一个输入端子,并且xj被输入到OR电路54的另一输入端子。
在1hotEN=1的情况下,OR电路53输出xj-1作为控制信号,而在1hotEN=0的情况下,无论xj-1如何,OR电路53都输出1。当OR电路53的输出为1时,三态缓冲器32a1输出hj-1。当OR电路53的输出为0时,三态缓冲器32a1的输出端子处于高阻抗状态。在1hotEN=1的情况下,OR电路54输出xj作为控制信号,而在1hotEN=0的情况下,无论xj如何,OR电路54都输出1。当OR电路54的输出为1时,三态缓冲器32a2输出hj。当OR电路54的输出为0时,三态缓冲器32a2的输出端子处于高阻抗状态。
还通过与图20中示出的OR电路53和54相同的OR电路将控制信号提供给图8中示出的三态缓冲器32a3和32a4。
1hotEN被输入到AND电路55的一个输入端子,并且控制信号CNTj-1,j被输入到另一输入端子。1hotEN被输入到AND电路56的一个输入端子,并且控制信号CNTj,j-1被输入到另一输入端子。
在1hotEN=1的情况下,AND电路55输出控制信号CNTj-1,j,而在1hotEN=0的情况下,无论控制信号CNTj-1,j如何,AND电路55都输出0。当AND电路55的输出为1时,三态缓冲器32b1从输出端子输出输入信号。当AND电路55的输出为0时,三态缓冲器32b1的输出端子处于高阻抗状态。在1hotEN=1的情况下,AND电路56输出控制信号CNTj,j-1,而在1hotEN=0的情况下,无论控制信号CNTj,j-1如何,AND电路56都输出0。当AND电路56的输出为1时,三态缓冲器32b2从输出端子输出输入信号。当AND电路56的输出为0时,三态缓冲器32b2的输出端子处于高阻抗状态。
还通过与图20中示出的AND电路55和56相同的AND电路将控制信号提供给图8中示出的三态缓冲器32b3和32b4。
通过将以上元件添加到h传播控制单元21g或h传播控制单元21ga,在1hotEN=0的情况下,一个相应的局部字段值被提供给ΔE计算电路21h1至21hN中的每一个。例如,hj被提供给ΔE计算电路21hj,而hi不被提供。
图21是示出具有用于禁用1-hot约束支持功能的配置的优化装置中的ΔE计算电路的示例的图。
ΔE计算电路21hjx对应于图10中示出的ΔE计算电路21hj。与ΔE计算电路21hj不同,1hotEN和xj被提供给ΔE计算电路21hjx。在1hotEN=0的情况下,在hj和hi中不提供hi。
在1hotEN=0的情况下,这样的ΔE计算电路21hjx计算通过xj被改变的ΔEj。ΔE计算电路21hjx在xj从0变为1的情况下(在当前xj为0的情况下)输出ΔEj=-hj,而在xj从1变为0的情况下(在当前xj为1的情况下)输出ΔEj=+hj。在1hotEN=1的情况下,ΔE计算电路21hjx输出ΔEj=hi-hj+Wij。
图4中示出的ΔE计算电路21h1至21hN中的每一个具有如图21中示出的配置。
图22是示出具有用于禁用1-hot约束支持功能的配置的优化装置中的识别信息计算单元的示例的图。
与图3中示出的识别信息计算单元23不同,识别信息计算单元23x接收1hotEN。例如,在1hotEN=1的情况下,识别信息计算单元23x基于索引=l输出索引=k和群组索引=gl,而在1hotEN=0的情况下,识别信息计算单元23x输出0作为索引=k和群组索引=gl。
无论1hotEN的值如何,从选择电路22输出的索引=l都被提供给ΔE计算单元21和更新单元24。
由于识别信息计算单元23x在1hotEN=0的情况下输出例如0作为群组索引=gl,因此图4中的匹配检测单元21d1至21dN始终输出0。为此,开关21e1至21eN始终处于断开状态,并且加权值未被存储在ΔE计算电路21h1至21hN的存储单元21h1a至21hNa中。在1hotEN=0的情况下,由识别信息计算单元23x输出的gl可以不为0,并且由识别信息计算单元23x输出的gl可以是除了1至G以外的值。
通过对上述第二实施方式的优化装置20执行上述修改,可以根据要计算的问题通过禁用1-hot约束支持功能来执行执行汉明距离=1的状态转换的功能。
在禁用1-hot约束支持功能的情况下,被提供给选择电路22的ΔE1至ΔEN中的每一个表示由于N个位中的一个被改变而引起的能量改变。基于上述热激励能量与ΔE1至ΔEN之间的大小关系,选择电路22输出识别N个位中允许被更新的一个位的索引。更新单元24更新通过该索引识别的位的值。
同时,在以上描述中,例如,如图13中所示,通过较小索引识别的位属于较小群组索引的群组,但是这不限于此。例如,可以首先在群组内或在群组之间将按照小索引的顺序排列的位的序列搅乱。
图23是示出优化装置的示例的处理——包括搅乱处理的流程的流程图。
例如在图15中示出的初始设置处理之前,控制单元25执行将位的序列搅乱的处理(步骤S1a)。原因在于:在位的序列被搅乱的情况下,被存储在存储单元21a中的加权值序列也相应地被搅乱。
如上所述,已经根据实施方式描述了该实施方式的优化装置和该优化装置的控制方法的一个方面,这样的方面仅是示例,并且不限于以上描述。
Claims (9)
1.一种优化装置,包括:
多个计算电路,被配置成:基于关于第一位的第一局部字段值、关于第二位的第二局部字段值以及被保存在存储装置中指示所述第一位与所述第二位之间的相互作用的大小的加权值,针对与通过转换要计算的问题而获得的伊辛模型中包括的多个旋转对应的多个位,分别计算由于在所述多个位被划分为多个群组的情况下包括在所述多个群组中的每一个中的多个位中值为1的第一位的值被从1变为0以及值为0的第二位的值被从0变为1而引起的伊辛模型的第一能量改变;
选择电路,被配置成:基于根据输入的温度参数和随机数确定的热激励能量与由所述多个计算电路中的每一个输出的第一能量改变之间的大小关系,输出识别所述多个群组中的每一个中包括的第二位中具有允许被从0更新为1的值的一个第二位的第一位识别信息;
识别信息计算电路,被配置成:基于由所述选择电路输出的第一位识别信息,检测允许被更新的第二位所属的第一群组,并且输出识别属于所述第一群组的第一位的第二位识别信息;以及
更新电路,被配置成:基于所述第二位识别信息将属于所述第一群组的第一位的值从1更新为0,并且基于所述第一位识别信息将允许被更新的第二位的值从0更新为1。
2.根据权利要求1所述的优化装置,
其中,对所述多个群组中的每一个执行初始设置,使得所述多个位中的一个被设置为值为1的第一位,并且所述多个位中除了所述第一位之外的其他位被设置为值为0的第二位。
3.根据权利要求1或2所述的优化装置,还包括:
传播控制电路,被配置成:基于识别所述多个位中的每一个所属的群组的群组识别信息以及所述多个位的值,将关于属于与所述第二位的群组相同的群组的第一位的第一局部字段值传播到所述多个计算电路中的第一计算电路,关于所述第二位的第二局部字段值被提供给所述第一计算电路。
4.根据权利要求1至3中任一项所述的优化装置,
其中,所述识别信息计算电路输出识别所述第一群组的群组识别信息,并且
所述优化装置还包括:
被配置成基于所述群组识别信息将指示属于所述第一群组的第一位与第二位之间的相互作用的大小的加权值提供给所述存储装置的电路。
5.根据权利要求1至4中任一项所述的优化装置,
其中,在仅所述第一局部字段值和所述第二局部字段值中的第一局部字段值被提供给所述多个计算电路中的第二计算电路的情况下,所述第二计算电路输出预定的正值而非计算所述第一能量改变。
6.根据权利要求1至5中任一项所述的优化装置,
其中,所述多个计算电路中的每一个接收使能信号,并且在所述使能信号为第一值的情况下计算所述第一能量改变,而在所述使能信号为第二值的情况下计算当所述多个位中的一个被改变时所述伊辛模型的第二能量改变,
所述选择电路基于所述热激励能量与由所述多个计算电路中的每一个输出的第二能量改变之间的大小关系来输出识别所述多个位中允许被更新的一个第三位的第三位识别信息,以及
所述更新电路基于所述第三位识别信息来更新所述第三位的值。
7.一种优化装置的控制方法,包括:
基于关于第一位的第一局部字段值、关于第二位的第二局部字段值以及被保存在存储装置中指示所述第一位与所述第二位之间的相互作用的大小的加权值,针对与通过转换要计算的问题而获得的伊辛模型中包括的多个旋转对应的多个位,使用多个计算电路来计算由于在所述多个位被划分为多个群组的情况下包括在所述多个群组中的每一个中的多个位中值为1的第一位的值被从1变为0以及值为0的第二位的值被从0变为1而引起的伊辛模型的第一能量改变;
基于根据输入的温度参数和随机数确定的热激励能量与由所述多个计算电路中的每一个输出的第一能量改变之间的大小关系,使用选择电路来输出识别所述多个群组中的每一个中包括的第二位中具有允许被从0更新为1的值的一个第二位的第一位识别信息;
使用识别信息计算电路,基于由所述选择电路输出的第一位识别信息检测允许被更新的第二位所属的第一群组,并且输出识别属于所述第一群组的第一位的第二位识别信息;以及
使用更新电路,基于所述第二位识别信息将属于所述第一群组的第一位的值从1更新为0,并且基于所述第一位识别信息将允许被更新的第二位的值从0更新为1。
8.根据权利要求7所述的控制方法,还包括:
使用控制电路对所述多个群组中的每一个执行初始设置,使得所述多个位中的一个被设置为值为1的第一位,并且所述多个位中除了所述第一位之外的其他位被设置为值为0的第二位。
9.一种神经网络,包括:
多个计算电路,被配置成:基于关于第一位的第一局部字段值、关于第二位的第二局部字段值以及被保存在存储装置中指示所述第一位与所述第二位之间的相互作用的大小的加权值,针对与通过转换要计算的问题而获得的伊辛模型中包括的多个旋转对应的多个位,分别计算由于在所述多个位被划分为多个群组的情况下包括在所述多个群组中的每一个中的多个位中值为1的第一位的值被从1变为0以及值为0的第二位的值被从0变为1而引起的伊辛模型的第一能量改变;
选择电路,被配置成:基于根据输入的温度参数和随机数确定的热激励能量与由所述多个计算电路中的每一个输出的第一能量改变之间的大小关系,输出识别所述多个群组中的每一个中包括的第二位中具有允许被从0更新为1的值的一个第二位的第一位识别信息;
识别信息计算电路,被配置成:基于由所述选择电路输出的第一位识别信息来检测允许被更新的第二位所属的第一群组,并且输出识别属于所述第一群组的第一位的第二位识别信息;以及
更新电路,被配置成:基于所述第二位识别信息将属于所述第一群组的第一位的值从1更新为0,并且基于所述第一位识别信息将允许被更新的第二位的值从0更新为1。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018197199A JP7193708B2 (ja) | 2018-10-19 | 2018-10-19 | 最適化装置及び最適化装置の制御方法 |
JP2018-197199 | 2018-10-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111078621A true CN111078621A (zh) | 2020-04-28 |
CN111078621B CN111078621B (zh) | 2023-08-11 |
Family
ID=68280876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910982755.9A Active CN111078621B (zh) | 2018-10-19 | 2019-10-16 | 优化装置及优化装置的控制方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11188044B2 (zh) |
EP (1) | EP3640860A1 (zh) |
JP (1) | JP7193708B2 (zh) |
CN (1) | CN111078621B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114626536A (zh) * | 2022-02-21 | 2022-06-14 | 华南理工大学 | 一种处理组合优化问题的电路 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7502633B2 (ja) | 2020-09-23 | 2024-06-19 | 富士通株式会社 | 最適化装置、最適化方法、および最適化プログラム |
JP7524754B2 (ja) | 2020-12-15 | 2024-07-30 | 富士通株式会社 | 最適化装置、最適化プログラム、及び最適化方法 |
US11526336B2 (en) * | 2021-03-15 | 2022-12-13 | Fujitsu Limited | Community-oriented, cloud-based digital annealing platform |
CN115031357B (zh) * | 2022-05-10 | 2023-05-30 | 南京信息工程大学 | 一种适用于不同类型故障特征的基于投票策略的故障诊断方法 |
JP2024077351A (ja) | 2022-11-28 | 2024-06-07 | 富士通株式会社 | データ処理装置、プログラム及びデータ処理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101546382A (zh) * | 2004-02-27 | 2009-09-30 | 广岛大学 | 参考数据优化学习方法及模式识别系统 |
US20170351949A1 (en) * | 2016-06-06 | 2017-12-07 | Fujitsu Limited | Ising device and control method thereof |
US20170364477A1 (en) * | 2016-06-17 | 2017-12-21 | Fujitsu Limited | Information processing apparatus, ising device, and information processing apparatus control method |
US20180075342A1 (en) * | 2016-09-09 | 2018-03-15 | Fujitsu Limited | Information processing apparatus, ising unit, and information processing apparatus control method |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7533068B2 (en) * | 2004-12-23 | 2009-05-12 | D-Wave Systems, Inc. | Analog processor comprising quantum devices |
WO2007006144A1 (en) * | 2005-07-11 | 2007-01-18 | D-Wave Systems Inc. | Systems, methods and apparatus for factoring numbers |
US11276009B2 (en) * | 2015-08-07 | 2022-03-15 | University Of Southern California | Using noise to speed convergence of simulated annealing and Markov Monte Carlo estimations |
US20180218380A1 (en) | 2015-09-30 | 2018-08-02 | Nec Corporation | Information processing system, information processing method, and information processing program |
WO2017056366A1 (ja) | 2015-09-30 | 2017-04-06 | 日本電気株式会社 | 最適化システム、最適化方法および最適化プログラム |
WO2017056368A1 (ja) | 2015-09-30 | 2017-04-06 | 日本電気株式会社 | 最適化システム、最適化方法および最適化プログラム |
JP6465092B2 (ja) | 2016-10-14 | 2019-02-06 | 富士通株式会社 | 最適化装置及び最適化装置の制御方法 |
-
2018
- 2018-10-19 JP JP2018197199A patent/JP7193708B2/ja active Active
-
2019
- 2019-10-11 EP EP19202788.6A patent/EP3640860A1/en not_active Ceased
- 2019-10-16 US US16/654,585 patent/US11188044B2/en active Active
- 2019-10-16 CN CN201910982755.9A patent/CN111078621B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101546382A (zh) * | 2004-02-27 | 2009-09-30 | 广岛大学 | 参考数据优化学习方法及模式识别系统 |
US20170351949A1 (en) * | 2016-06-06 | 2017-12-07 | Fujitsu Limited | Ising device and control method thereof |
US20170364477A1 (en) * | 2016-06-17 | 2017-12-21 | Fujitsu Limited | Information processing apparatus, ising device, and information processing apparatus control method |
US20180075342A1 (en) * | 2016-09-09 | 2018-03-15 | Fujitsu Limited | Information processing apparatus, ising unit, and information processing apparatus control method |
Non-Patent Citations (2)
Title |
---|
SANROKU TSUKAMOTO ET AL.: "An Accelerator Architecture for Combinatorial Optimization Problems" * |
SANROKU TSUKAMOTO ET AL.: "SANROKU TSUKAMOTO et al. An Accelerator Architecture for Combinatorial Optimization Problems" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114626536A (zh) * | 2022-02-21 | 2022-06-14 | 华南理工大学 | 一种处理组合优化问题的电路 |
CN114626536B (zh) * | 2022-02-21 | 2024-08-02 | 华南理工大学 | 一种处理组合优化问题的电路 |
Also Published As
Publication number | Publication date |
---|---|
EP3640860A1 (en) | 2020-04-22 |
US20200125047A1 (en) | 2020-04-23 |
JP7193708B2 (ja) | 2022-12-21 |
US11188044B2 (en) | 2021-11-30 |
CN111078621B (zh) | 2023-08-11 |
JP2020064536A (ja) | 2020-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111078621B (zh) | 优化装置及优化装置的控制方法 | |
CN111077768B (zh) | 优化装置及优化装置的控制方法 | |
US11422515B2 (en) | Optimization device and method for controlling optimization device | |
US5532938A (en) | Numerical arithmetic processing unit | |
JP2020204928A (ja) | 最適化装置および最適化方法 | |
Fu et al. | An experimental study on stability and generalization of extreme learning machines | |
JP2019139323A (ja) | 最適化システム、最適化装置及び最適化システムの制御方法 | |
CN111930007B (zh) | 优化装置和控制优化装置的方法 | |
Yang et al. | Robust controllability and stabilization of switched Boolean control networks subject to multi-bit function perturbations | |
Yu et al. | Multiswarm comprehensive learning particle swarm optimization for solving multiobjective optimization problems | |
CN110009048B (zh) | 一种神经网络模型的构建方法以及设备 | |
JP7004938B2 (ja) | 最適化装置および最適化装置の制御方法 | |
US12020141B2 (en) | Deep learning apparatus for ANN having pipeline architecture | |
Cortés-Antonio et al. | Design and implementation of differential evolution algorithm on FPGA for double-precision floating-point representation | |
JP2020119108A (ja) | データ処理装置、データ処理方法、データ処理プログラム | |
JP7242595B2 (ja) | 学習装置、推論装置、学習方法及び推論方法 | |
JP7004937B2 (ja) | 最適化装置、最適化装置の制御方法および最適化装置の制御プログラム | |
CN117313815A (zh) | 一种优化MZI的ONNs相位配置的渐进式训练方法 | |
CN117195821B (zh) | 时钟树综合方法、电子设备及存储介质 | |
Bidlo et al. | Sorting network development using cellular automata | |
JP7199283B2 (ja) | アクセラレータ装置 | |
CN118536555A (zh) | 用于神经网络结构级量化优化的系统和方法 | |
Kolchakov et al. | HIERARCHICAL TWO LAYERS CONTROL COMMUTATOR FOR IMPLEMENTATION OF FULLY NON-CONFLICT SCHEDULE | |
Kocsor et al. | Protein classification based on propagation of unrooted binary trees | |
Lattanzio et al. | Toward a Behavioral-Level End-to-End Framework for Silicon Photonics Accelerators |
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 | ||
GR01 | Patent grant |