CN111077768A - 优化装置及优化装置的控制方法 - Google Patents
优化装置及优化装置的控制方法 Download PDFInfo
- Publication number
- CN111077768A CN111077768A CN201910983160.5A CN201910983160A CN111077768A CN 111077768 A CN111077768 A CN 111077768A CN 201910983160 A CN201910983160 A CN 201910983160A CN 111077768 A CN111077768 A CN 111077768A
- Authority
- CN
- China
- Prior art keywords
- value
- bit
- bits
- identification information
- random number
- 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
Images
Classifications
-
- 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
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
- G05B13/042—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
-
- 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
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- 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/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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
- 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
- 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)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Databases & Information Systems (AREA)
- Neurology (AREA)
- Automation & Control Theory (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Complex Calculations (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请提供了一种优化装置及优化装置的控制方法。优化装置包括:k个第一计算电路、N‑k个第二计算电路、选择电路、识别信息计算电路和更新电路。第一计算电路计算由于值为1的k个第一位之一的值的改变和基于生成的第一随机数选择的值为0的第二位的值的改变而引起的伊辛模型的第一能量改变。第二计算电路计算由于值为0的(N‑k)个第三位之一的值的改变和基于生成的第二随机数选择的值为1的第四位的值的改变而引起的伊辛模型的第二能量改变。
Description
技术领域
本文中讨论的实施方式涉及优化装置和优化装置的控制方法。
背景技术
作为解决不容易被诺伊曼(Neumann)型计算机处理的多变量优化问题的方法,存在使用伊辛(Ising)型能量函数的优化装置(也存在被称为伊辛机或玻尔兹曼机的情况)。优化装置通过用伊辛模型替换问题来计算要计算的问题,该伊辛模型是表示磁性体的旋转行为的模型。
还能够例如使用神经网络对优化装置进行建模。在这种情况下,与伊辛模型中包括的多个旋转对应的多个位中的每个位充当神经元,神经元根据另一位和指示另一位与自身位之间的相互作用的大小的加权值(也被称为耦合因子)输出0或1。例如,优化装置使用诸如模拟退火的概率搜索方法来找到状态(各个位的值的组合),其中,获得上述能量函数(也被称为成本函数或目标函数)的值(在下文中被称为能量)中的最小值作为解。
在相关技术中,存在通过使用数字电路执行模拟退火来计算使能量最小化的状态的优化装置(例如,参见日本公开特许公报第2018-041351号)。相关技术中的优化装置通过一次改变仅一位的值来计算能量改变,并且根据通过将与温度对应的噪声值和能量改变相加而获得的值来确定是否允许位的改变。还以预定的概率允许位的值随能量增加的改变,温度越低,概率越低。
同时,优化问题包括如下约束(k-hot约束):在所有位中值为1的位的数量为k(>1)。例如,许多分割问题(从N个给定选择中挑选最优k的问题,例如图形分割问题等)、交通优化问题等具有k-hot约束。
日本公开特许公报第2016-103282号、日本公开特许公报第10-247186号和日本公开特许公报第8-50572号是相关技术的示例。
如上所述,在相关技术中的优化装置中,一次要改变的位的数量是一个。例如,相关技术中的优化装置通过重复汉明距离=1的状态转换来搜索能量变为最小的基态。为此,在相关技术中的优化装置中,也会发生向不满足k-hot约束的状态的转换,并且可能发生转换的状态的数量(搜索空间)大于满足k-hot约束的状态的数量。状态转换由于针对k-hot约束项生成的能垒(energy barrier)而花费时间。根据以上,在相关技术中的优化装置中,存在计算具有k-hot约束的优化问题(搜索基态)花费时间的问题。
作为一个方面,本公开内容提供了能够减少具有k-hot约束的优化问题的计算时间的优化装置和该优化装置的控制方法。
发明内容
根据实施方式的方面,优化装置包括:k个第一计算电路、N-k个第二计算电路、选择电路、识别信息计算电路和更新电路。第一计算电路计算由于值为1的k个第一位之一的值的改变和基于生成的第一随机数选择的值为0的第二位的值的改变而引起的伊辛模型的第一能量改变。第二计算电路计算由于值为0的(N-k)个第三位之一的值的改变和基于生成的第二随机数选择的值为1的第四位的值的改变而引起的伊辛模型的第二能量改变。
附图说明
图1是示出根据第一实施方式的优化装置的示例的图;
图2是示出根据第二实施方式的优化装置的示例的图;
图3是示出ΔE计算单元的示例的图;
图4是示出h传播控制单元的示例的图;
图5是示出h传播控制单元的另一示例的图;
图6是示出选择电路的示例的图;
图7是示出识别信息计算单元的示例的图;
图8是示出根据第二实施方式的优化装置的示例的处理的流程的流程图;以及
图9是示出表示在使用第二实施方式的优化装置的情况下计算缩短效果的仿真结果的图。
具体实施方式
在下文中,参照附图描述实施方式。
下面要描述的优化装置通过排除对除了满足k-hot约束的状态以外的状态的搜索来缩短具有k-hot约束的优化问题的计算时间。
在与包括在通过转换要计算的问题而获得的伊辛模型中的多个旋转(旋转的数量=N(N>2))对应的N个位的值由作为状态变量的x1至xN表示的情况下,当值为1的状态变量的数量为k(其中,k>1)时,满足k-hot约束。
例如,为了简化描述,在N=3并且k=2的情况下,(x1,x2,x3)的状态=(0,1,1)、(1,0,1)或(1,1,0)满足2-hot约束。另一方面,(x1,x2,x3)的状态=(0,0,0)、(0,0,1)、(0,1,0)、(1,0,0)或(1,1,1)不满足2-hot约束。
为了从满足k-hot约束的一种状态转换到满足k-hot约束的另一种状态,优化装置在一种状态更新处理中一个接一个地改变值为1的位和值为0的位。例如,优化装置生成汉明距离=2的状态转换。
k-hot约束可以由以下等式(1)表示。
xi是表示与索引(位识别信息)=i对应的位的值的状态变量。
考虑到k-hot约束的优化问题的能量函数可以被表示为以下等式(2)。
E(x)=∑Cost(xi)+λ1(∑xi-k)2+λ2f2(xi)+…+λtNft(xi) (2)
在等式(2)中,右侧上的第一项表示成本函数,第二项表示考虑k-hot约束的k-hot约束项,而第三项和随后的项表示考虑其他约束的约束项。足够大的值被用作λ1(约束权值),使得在不满足k-hot约束的情况下能量不减少。
另一方面,例如通过以下等式(3)定义使用加权值的伊辛型能量函数E(x)。
对于从伊辛模型中包括的所有位中可选择的两个位的所有组合,右侧上的第一项是两个位的值(0或1)与加权值的乘积的积分,但是没有泄漏和重复。xj是表示与索引=j对应的位的值的状态变量,而Wij是指示与索引=i对应的位和与索引=j对应的位的相互作用的大小的加权值。另外,Wii=0。在许多情况下,Wij=Wji(例如,在许多情况下,根据加权值的系数矩阵是对称矩阵)。
右侧上的第二项是所有位的各自偏差值与位的值的乘积之和。bi指示与索引=i对应的位的偏差值。
在也对除了满足k-hot约束的状态以外的状态执行搜索的情况下,随着等式(2)中的λ1的值增加,等式(3)中的用于表示Wij的位的数量也增加。例如,考虑上述N(对应于问题的大小)与Wij之间的平衡来确定λ1。例如,首先使用约为Wij的最大值的10倍的λ1来计算Wij或bi,并且执行能量最小化。当收敛解不满足k-hot约束时,增加λ1的值,直到满足k-hot约束为止。
另一方面,在仅搜索满足k-hot约束的状态的情况下,由于可以删除等式(2)中右侧的第二k-hot约束项,因此可以减少用于表示Wij的位的数量。
同时,在等式(3)中,当xi的值变为1-xi时,xi的增量被表示为Δxi=(1-xi)-xi=1-2xi。由该值的改变引起的能量改变(ΔEi)由以下等式(4)表示。
在等式(4)中,当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这两者都改变时的能量改变可以由以下等式(5)表示。
ΔEij=-Δxihi-Δxj(hj+ΔxiWij)
=-Δxihi-Δxjhj-ΔxiΔxjΔWij (5)
如上所述,为了从满足k-hot约束的一种状态转换到满足k-hot约束的另一种状态,值为1的位和值为0的位一个接一个地被改变。当在与索引=i对应的位的值从1变为0并且与索引=j对应的位的值从0变为1时的能量改变被表示为ΔEj时,在等式(5)中,Δxi=-1并且Δxj=1,使得ΔEj可以由以下等式(6)表示。
ΔEj=hi-hj+Wij (6)
下面要描述的优化装置包括计算由等式(6)表示的能量改变的电路。
(第一实施方式)
图1是示出根据第一实施方式的优化装置的示例的图。
优化装置10包括N个ΔE计算电路(例如,包括图1中的ΔE计算电路11i、11j和11N)、选择电路12、识别信息计算单元13、更新单元14以及随机数生成电路15a和15b。
在N个ΔE计算电路中,k(k>1)个ΔE计算电路(图1中的示例中的ΔE计算电路11i和11N等)执行以下处理。
在N个位中,关于值为1的k个位之一的局部字段值(例如,hi和hN)被提供给k个ΔE计算电路中的每一个。关于基于生成的随机数(n)选择的值为0的位(与索引=n对应的位)的局部字段值(hn)被提供给k个ΔE计算电路中的每一个。在图1中,未示出计算局部字段值的电路、控制局部字段值向ΔE计算电路传播的电路等。
k个ΔE计算电路中的每一个包括存储单元(例如,存储单元11ia和11Na),该存储单元存储指示k个位之一与和索引=n对应的位之间的相互作用的大小的加权值。k个ΔE计算电路中的每一个基于所提供的两个局部字段值和加权值来计算随着k个位之一的改变和与索引=n对应的位的值的改变伊辛模型的能量改变。
例如,关于值为1的与索引=i对应的位的hi和hn被提供给作为k个ΔE计算电路之一的ΔE计算电路11i。ΔE计算电路11i的存储单元11ia存储Wni。ΔE计算电路11i基于hi、hn和Wni来计算随着与索引=i对应的位和与索引=n对应的位被改变的能量改变(ΔEi)。由于在等式(6)中ΔEi处于hj=hn并且Wij=Wni(其中,Wni=Win)的情况下,因此ΔEi可以被表示为ΔEi=hi-hn+Wni。
以相同的方式,关于值为1的与索引=N对应的位的hN和hn被提供给作为k个ΔE计算电路之一的ΔE计算电路11N。ΔE计算电路11N的存储单元11Na存储WnN。ΔE计算电路11N基于hN、hn和WnN来计算随着与索引=N对应的位和与索引=n对应的位被改变的能量改变(ΔEN)。由于在等式(6)中ΔEN处于hj=hn并且Wij=WnN(其中,WnN=WNn)的情况下,因此ΔEN可以被表示为ΔEN=hN-hn+WnN。
另一方面,在N个ΔE计算电路中,(N-k)个ΔE计算电路(图1中的示例中的ΔE计算电路11j等)执行以下处理。在N个位中,关于值为0的位的局部字段值(例如,hj)被提供给(N-k)个ΔE计算电路中的每一个。关于基于生成的随机数(m)选择的值为1的位(与索引=m对应的位)的局部字段值(hm)被提供给(N-k)个ΔE计算电路中的每一个。m是通过使用与n不同的种子生成的随机数。
(N-k)个ΔE计算电路中的每一个包括存储单元(例如,存储单元11ja),该存储单元存储指示值为0的(N-k)个位之一与和索引=m对应的位之间的相互作用的大小的加权值。(N-k)个ΔE计算电路中的每一个基于所提供的两个局部字段值和加权值来计算随着(N-k)个位之一的改变和与索引=m对应的位的改变伊辛模型的能量改变。
例如,关于值为0的与索引=j对应的位的hj和hm被提供给ΔE计算电路11j。ΔE计算电路11j的存储单元11ja存储Wmj。ΔE计算电路11j基于hj、hm和Wmj来计算随着与索引=j对应的位和与索引=m对应的位被改变的能量改变(ΔEj)。由于在等式(6)中ΔEj处于hi=hm并且Wij=Wmj的情况下,因此ΔEj可以被表示为ΔEj=hj–hm+Wmj。
N个ΔE计算电路例如通过使用加法器或减法器来实现。ΔE计算电路中包括的存储单元由例如寄存器、静态随机存取存储器(SRAM)等来实现。
选择电路12基于热激励能量与从N个ΔE计算电路中的每一个输出的能量改变之间的大小关系来输出用于识别允许被更新的位的索引=l。基于随机数和从控制单元(未示出)输入的温度参数(T)来确定热激励能量。
在执行模拟退火的情况下,例如,控制单元将T控制成使得:每当更新伊辛模型的状态的处理被重复预定次数时,值都变得更小。下面将描述执行如上所述的选择电路12的功能的电路的示例。
识别信息计算单元13基于与由选择电路12输出的索引=l对应的位的值(xl)来输出索引=m和索引=n之一。随机数生成电路15a和15b提供m和n。在xl为0的情况下,输出值为1的位的索引=m。在xl为1的情况下,输出值为0的位的索引=n。识别信息计算单元13可以由例如选择器来实现。
在图1中的示例中,识别信息计算单元13还输出索引=l,但是在由选择电路12输出的索引=l被直接提供给更新单元14的情况下,识别信息计算单元13可以不输出索引=l。
更新单元14包括保存N个位的值(x1至xN)的存储单元14a。存储单元14a例如通过使用寄存器、SRAM等来实现。更新单元14分别基于索引=l和索引=m或索引=n来更新xl以及与索引=m对应的位的值(xm)或与索引=n对应的位的值(xn)。
尽管图1中未示出,但还使用索引=l、m、n来更新关于每个位的局部字段值。
在N个位中,随机数生成电路15a基于x1至xN输出作为值为0的位的索引之一的随机数(n)。例如,随机数生成电路15a由输出x1至xN中值为0的(N-k)个位的索引的电路、通过使用随机数来选择输出的(N-k)个索引之一的电路以及生成随机数的电路来实现。生成随机数的电路的示例包括例如线性反馈移位寄存器(LFSR)。
在N个位中,随机数生成电路15b基于x1至xN输出作为值为1的位的索引之一的随机数(m)。例如,随机数生成电路15b由输出x1至xN中值为1的k个位的索引的电路、通过使用随机数来选择输出的k个索引之一的电路以及生成随机数的电路来实现。
在下文中,将描述优化装置10的操作示例。首先,执行初始设置。例如,初始设置包括以下处理:在在控制单元(未示出)的控制下将x1至xN中的所有设置为0之后,通过使用随机数来将k个位的值设置为1,并且将其他位的值设置为0或局部字段值的初始值设置。
然后,随机数生成电路15a输出n,并且随机数生成电路15b输出m。以这种方式,尽管图1中未示出,但将hn从更新hn的电路提供给k个ΔE计算电路,并且将hm从更新hm的电路提供给(N-k)个ΔE计算电路。
将指示值为1的位中的每个位与和索引=n对应的位之间的相互作用的大小的加权值中的每个加权值从存储所有加权值的存储单元(未示出)提供给k个ΔE计算电路中相应的ΔE计算电路的存储单元。例如,如图1中所示,将Wni提供给ΔE计算电路11i的存储单元11ia,并且将WnN提供给ΔE计算电路11N的存储单元11Na。
将指示值为0的位中的每个位与和索引=m对应的位之间的相互作用的大小的加权值中的每个加权值从存储所有加权值的存储单元提供给(N-k)个ΔE计算电路中相应的ΔE计算电路的存储单元。例如,如图1中所示,将Wmj提供给ΔE计算电路11j的存储单元11ja。
如上所述,k个ΔE计算电路和(N-k)个ΔE计算电路计算能量改变,并且选择电路12输出识别N个位中具有允许被更新的值的位的索引=1。
在xl为0的情况下,识别信息计算单元13输出从随机数生成电路15b提供的m作为索引;而在xl为1的情况下,识别信息计算单元13输出从随机数生成电路15a提供的n作为索引。
更新单元14分别基于索引=l和索引=m或索引=n来更新xl和xm或xn。图1示出了更新状态的示例。例如,根据初始设置处理,该状态变为以下状态(初始状态):在x1至xN中,包括xi和xN的k个位为1,并且包括x1和xj的(N-k)个位为0。在选择电路12输出的索引=l等于索引=i的情况下,xi为1,使得识别信息计算单元13输出n作为索引。在n=1的情况下,更新单元14将x1从0更新为1,并且将xi从1更新为0。在索引=l等于索引=j的情况下,xj为0,使得识别信息计算单元13输出m作为索引。在m=N的情况下,更新单元14将xN从1更新为0,并且将xj从0更新为1。
在任何情况下,由于分别更新值为1的一个位和值为0的一个位,因此更新后的状态也满足k-hot约束。因此,可以执行满足k-hot约束的状态之间的转换。
在将xi从1更新为0的情况下,ΔE计算电路11i是(N-k)个ΔE计算电路之一。在随机数生成电路15a和15b生成新的n和m之后,将hm提供给ΔE计算电路11i,并且将Wmi存储在存储单元11ia中。在将xj从0更新为1的情况下,ΔE计算电路11j是k个ΔE计算电路之一。在随机数生成电路15a和15b输出新的n和m之后,将hn提供给ΔE计算电路11j,并且将Wnj存储在存储单元11ja中。
如上所述,在N个ΔE计算电路中,每当x1至xN被更新时,被提供了hm和hn的ΔE计算电路就改变。在ΔE计算电路中的存储单元中存储的加权值也被更新。
在改变hm和hn的提供目的地或更新加权值之后,以相同方式,N个ΔE计算电路计算能量改变。然后,选择电路12、识别信息计算单元13和更新单元14执行与上述处理相同的处理。例如,输出在这样的状态更新处理被重复预定次数之后获得的状态(x1至xN)作为优化问题的解。
更新单元14可以基于随着xl和xm或xn的改变的能量改变来更新能量。更新单元14可以保存每个更新时间处的最小能量以及在获得最小能量时的状态(在最小能量处的状态)。在这种情况下,更新单元14可以输出当状态更新处理被重复预定次数时保存的最小能量处的状态作为解。
如上所述,根据第一实施方式的优化装置10,基于当在所有位(N个位)中一个接一个地分别改变值为1的位和值为0的位时的能量改变,确定允许哪两个位被转换。优化装置10在一个状态更新处理中更新所确定的两个位的值。以这种方式,抑制了不满足k-hot约束的状态转换,并且可以使搜索空间更小。为此,可以加快对基态的搜索。
例如,在N=1024并且k=32的情况下,所有状态都为21024,即,大约10307,而满足k-hot约束的状态的数量为1024!/(1024–32)!(“!”代表阶乘),即大约1096。例如,与搜索21024的状态的情况相比,要搜索的状态的数量减少到1/10211(=1/10(307-96))。
根据优化装置10,由于可以删除等式(2)的右侧上的第二项的k-hot约束项,因此可以减少由于k-hot约束项而产生的能垒,并且可以缩短状态转换的时间。
由于如上所述可以删除等式(2)的右侧上的第二项的k-hot约束项,因此可以减少用于表示加权值的位的数量,并且可以降低用于存储加权值的硬件的数量。
例如,当优化装置10计算交通优化问题时,在N=16并且λ1=100的情况下,加权值的范围是4≤Wij≤214。另一方面,在消除等式(2)的右侧上的第二项的k-hot约束项的情况下(例如,在λ1=0的情况下),加权值的范围是4≤Wij≤14。例如,用于表示加权值的位的数量可以从8个位减少到4个位。在问题的规模增大——例如,N=1024并且λ1=10000的情况下,加权值的范围是4≤Wij≤20108。另一方面,在λ1=0的情况下,加权值的范围是4≤Wij≤108。例如,用于表示加权值的位的数量可以从16个位减少到7个位。
因此,随着问题的大小增加,加权值的位的数量的减少效果变得更加显著。
在N-k>2或k>2的情况下,(N-k)k>N,并且满足k-hot约束的状态通常大于N。同时,在上述优化装置10中,由于通过使用随机数n和m从N个状态转换候选中执行一个状态转换,因此可以使用与N个位对应的优化装置10来执行处理。
(第二实施方式)
图2是示出根据第二实施方式的优化装置的示例的图。
优化装置20包括ΔE计算单元21、选择电路22、识别信息计算单元23、更新单元24、随机数生成电路25a和25b以及控制单元26。
ΔE计算单元21计算当通过汉明距离=2的状态转换从满足k-hot约束的状态转换到满足k-hot约束的另一状态时的能量改变(ΔE1至ΔEN)。
基于热激励能量与ΔE1至ΔEN之间的大小关系,选择电路22输出识别N个位中具有允许被更新的值的一个位的索引=l。基于随机数和从控制单元26输入的T来确定热激励能量。在一些情况下,根据热激励能量与ΔE1至ΔEN之间的大小关系,即使对于N个位之一也不允许更新。假设选择电路22输出用于指示是否允许更新的标志。
识别信息计算单元23基于与由选择电路22输出的索引=l对应的位的值(xl)来输出索引=m和索引=n之一。随机数生成电路25a和25b提供n和m。在xl为0的情况下,输出值为1的位的索引=m。在xl为1的情况下,输出值为0的位的索引=n。在下文中,识别信息计算单元23还输出索引=l和从选择电路22提供的标志。索引=l、m、n被提供给ΔE计算单元21,并且在更新关于用于计算能量改变的每个位的局部字段值时被使用。
在标志是指示不允许更新的值的情况下,识别信息计算单元23将例如索引=l、m、n设置为无效值(例如,0)。
更新单元24包括保存N个位的值(x1至xN)的存储单元24a。存储单元24a例如通过使用寄存器、SRAM等来实现。在标志具有允许更新的值的情况下,更新单元24分别更新xl和xm或xn。更新单元24可以基于随着xl和xm或xn的改变的能量改变来更新能量。更新单元24可以保存每个更新时间处的最小能量以及在获得最小能量时的状态(在最小能量处的状态)。更新单元24将x1至xN提供给ΔE计算单元21。下面将描述ΔE计算单元21使用x1至xN的处理的示例。
在N个位中,随机数生成电路25a基于x1至xN输出作为值为0的位的索引之一的随机数(n)。例如,随机数生成电路25a由输出x1至xN中值为0的(N-k)个位的索引的电路、通过使用随机数来选择输出的(N-k)个索引之一的电路以及生成随机数的电路来实现。生成随机数的电路的示例包括例如LFSR。
在N个位中,随机数生成电路25b基于x1至xN输出作为值为1的位的索引之一的随机数(m)。例如,随机数生成电路25b由输出x1至xN中值为1的k个位的索引的电路、通过使用随机数来选择输出的k个索引之一的电路以及生成随机数的电路来实现。
控制单元26执行优化装置20的以下要描述的初始设置处理。每当更新伊辛模型的状态的处理被重复预定次数时,控制单元26例如根据控制装置27指定的温度安排表来减小T的值。
例如,控制单元26在状态更新处理被重复预定次数之后获得由存储单元24a保存的状态(x1至xN),并且将该状态(x1至xN)发送至控制装置27作为优化问题的解。在更新单元24的存储单元24a保存最小能量或最小能量处的状态的情况下,在状态更新处理被重复预定次数之后,为此控制单元26可以获得信息,并且可以将该信息发送至控制装置27。
例如,控制单元26可以由诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)等的专用电子电路来实现。控制单元26可以是诸如中央处理单元(CPU)、数字信号处理器(DSP)等的处理器。在这种情况下,处理器通过执行存储在存储器(未示出)中的程序来执行上述处理。
(ΔE计算单元21的示例)
图3是示出ΔE计算单元的示例的图。ΔE计算单元21包括存储单元21a、选择电路21b1至21bN和21c1至21cN、h更新电路21d1至21dN、h传播控制单元21e和ΔE计算电路21f1至21fN。
存储单元21a存储加权值(W11至WNN),所述加权值指示与伊辛模型中包括的所有旋转对应的所有位之间的相互作用的大小。在初始设置处理中,W11至WNN被控制单元26存储在存储单元21a中。存储单元21a例如通过使用寄存器、SRAM等来实现。
选择电路21b1至21bN中的每一个基于由识别信息计算单元23输出的索引=l和索引=m或索引=n在存储单元21a中存储的加权值中选择两个加权值,并且输出这两个加权值。
例如,选择电路21bi在W1i至WNi中选择并输出Wli和Wmi或Wni。在在索引=l和索引=m或索引=n中首先将l提供给选择电路21bi的情况下,与Wmi或Wni相比,选择电路21bi更早地输出Wli。在在索引=l和索引=m或索引=n中首先将m或n提供给选择电路21bi的情况下,与Wl相比,选择电路21bi更早地输出Wmi或Wni。以相同的方式,选择电路21bj在W1j至WNj中选择并输出Wlj和Wmj或Wnj。
与1至N的索引之一对应的位的值(x1至xN)以及n和m被输入到选择电路21c1至21cN中的每一个作为选择信号。选择电路21c1至21cN中的每一个选择指示当位的值为0时的输入位与和索引=m对应的位之间的相互作用的大小的加权值。选择电路21c1至21cN中的每一个选择指示当位的值为1时的输入位与和索引=n对应的位之间的相互作用的大小的加权值。选择电路21c1至21cN中的每一个将所选择的加权值提供给ΔE计算电路21f1至21fN的存储单元21f1a至21fNa中的一个。
例如,在xi为0的情况下,选择电路21ci在W1i至WNi中选择Wmi并且将Wmi提供给ΔE计算电路21fi的存储单元21fia;而在xi为1的情况下,选择电路21ci在W1i至WNi中选择Wni并且将Wni提供给存储单元21fia。在xj为0的情况下,选择电路21cj在W1j至WNj中选择Wmj并且将Wmj提供给ΔE计算电路21fj的存储单元21fja;而在xj为1的情况下,选择电路21cj在W1j至WNj中选择Wnj并且将Wnj提供给存储单元21fja。
h更新电路21d1至21dN中的每一个包括保存单元(例如,寄存器)(未示出),并且保存并更新h1至hN中的一个。
例如,h更新电路21di通过使用由选择电路21bi选择的Wli和Wmi或Wni来更新hi。在选择电路21bi选择Wli和Wmi的情况下(在xl=0的情况下),h更新电路21di通过计算hi-Wmi+Wli来更新hi。在选择电路21bi选择Wli和Wni的情况下(在xl=1的情况下),h更新电路21di通过计算hi–Wli+Wni来更新hi。h更新电路21dj通过使用由选择电路21bj选择的Wlj和Wmj或Wnj来更新hj。在选择电路21bj选择Wlj和Wmj的情况下(在xl=0的情况下),h更新电路21dj通过计算hj-Wmj+Wlj来更新hj。在选择电路21bj选择Wlj和Wnj的情况下(在xl=1的情况下),h更新电路21dj通过计算hj–Wlj+Wnj来更新hj。
h1至hN的初始值例如是偏差值(b1至bN),并且在初始设置处理时由控制单元26设置。h更新电路21d1至21dN例如通过使用加法器或减法器来实现。
h更新电路21dl至21dN中的每一个保存指示要更新的局部字段值属于哪个位的索引,并且输出该索引。
h传播控制单元21e基于x1至xN、索引=1至N以及由随机数生成电路25a和25b输出的m和n来控制hm和hn的传播目的地(提供目的地)。
图4是示出h传播控制单元的示例的图。
图4示出了图3的h传播控制单元21e的一部分(为了简化附图,仅对与索引=i、m、n对应的位执行hj、hm、hn的传播控制的部分)。h传播控制单元21e包括:异或NOR(ExNOR)电路30i、30m、30n、31i、31m和31n;开关32i、32m、32n、33i、33m和33n;选择器34i;hm传播总线35以及hn传播总线36。
索引=i被输入到ExNOR电路30i的一个输入端子和ExNOR电路31i的一个输入端子,索引=m被输入到ExNOR电路30m的一个输入端子和ExNOR电路31m的一个输入端子,并且索引=n被输入到ExNOR电路30n的一个输入端子和ExNOR电路31n的一个输入端子。从随机数生成电路25b输出的m被输入到ExNOR电路30i的另一输入端子、ExNOR电路30m的另一输入端子和ExNOR电路30n的另一输入端子,并且从随机数生成电路25a输出的n被输入到ExNOR电路31i的另一输入端子、ExNOR电路31m的另一输入端子和ExNOR电路31n的另一输入端子。
hi被提供给开关32i的一个端子和开关33i的一个端子,hm被提供给开关32m的一个端子和开关33m的一个端子,并且hn被提供给开关32n的一个端子和开关33n的一个端子。开关32i的另一端子、开关32m的另一端子和开关32n的另一端子耦接至hm传播总线35,并且开关33i的另一端子、开关33m的另一端子和开关33n的另一端子耦接至hn传播总线36。
在从ExNOR电路30i输出的控制信号为1的情况下,开关32i接通;而在控制信号为0的情况下,开关32i断开。在从ExNOR电路31i输出的控制信号为1的情况下,开关33i接通;而在控制信号为0的情况下,开关33i断开。在从ExNOR电路30m输出的控制信号为1的情况下,开关32m接通;而在控制信号为0的情况下,开关32m断开。在从ExNOR电路31m输出的控制信号为1的情况下,开关33m接通;而在控制信号为0的情况下,开关33m断开。在从ExNOR电路30n输出的控制信号为1的情况下,开关32n接通;而在控制信号为0的情况下,开关32n断开。在从ExNOR电路31n输出的控制信号为1的情况下,开关33n接通;而在控制信号为0的情况下,开关33n断开。
开关32i、32m、32n、33i、33m和33n例如是传输门。选择器34i的一个输入端子耦接至hm传播总线35,而另一输入端子耦接至hn传播总线36。选择器34i的输出端子耦接至ΔE计算电路21hi。在作为选择信号提供的xi为0的情况下,选择器34i输出被传播到hm传播总线35的局部字段值;而在xi为1的情况下,选择器34i输出被传播到hn传播总线36的局部字段值。尽管图4中未示出,但与选择器34i相同的选择器也耦接至除了ΔE计算电路21hi之外的ΔE计算电路中的每一个。
当m从随机数生成电路25b被输入到h传播控制单元21e时,由于两个输入彼此相等,ExNOR电路30m输出1。因此,开关32m接通,hm被传播到hm传播总线35。当从随机数生成电路25a输入n时,由于两个输入彼此相等,ExNOR电路31n输出1。因此,开关33n接通,hn被传播到hn传播总线36。由于两个输入彼此不同,ExNOR电路30i、30n、31i和31m输出0。因此,开关32i、32n、33i和33m接通。在提供给选择器34i的xi为0的情况下,hm被提供给ΔE计算电路21hi,而在xi为1的情况下,hn被提供给ΔE计算电路21hi。
图5是示出h传播控制单元的另一示例的图。图5还示出了图3中的h传播控制单元21e的一部分(为了简化附图,仅对与索引=i、m、n对应的位执行hj、hm、hn的传播控制的部分)。图5中示出的h传播控制单元21ea使用三态缓冲器32ia、32ma、32na、33ia、33ma和33na代替图4中示出的开关32i、32m、32n、33i、33m和33n。在控制信号为1的情况下,三态缓冲器32ia、32ma、32na、33ia、33ma和33na中的每一个输出输入信号(局部字段值);而在控制信号为0的情况下,三态缓冲器32ia、32ma、32na、33ia、33ma和33na中的每一个将输出端子设置为高阻抗状态。h传播控制单元21ea的其他操作与图4中示出的h传播控制单元21e的操作相同。
返回到图3的描述。ΔE计算电路21f1至21fN通过使用局部字段值和加权值来计算当通过汉明距离=2的状态转换从满足k-hot约束的状态转换到满足k-hot约束的另一状态时的ΔE1至ΔEN。
h1至hN之一从h更新电路21d1至21dN之一被直接提供给ΔE计算电路21f1至21fN中的每一个。h传播控制单元21e将hm提供给如下ΔE计算电路,从h更新电路21d1至21dN之一向所述ΔE计算电路提供关于值为0的位的局部字段值。h传播控制单元21e将hn提供给如下ΔE计算电路,从h更新电路21d1至21dN之一向所述ΔE计算电路提供关于值为1的位的局部字段值。x1至xN中的一个被提供给ΔE计算电路21f1至21fN中的每一个。
ΔE计算电路21f1至21fN包括保存用于计算等式(6)的加权值的存储单元21f1a至21fNa。保存在存储单元21f1a至21fNa中的加权值由上述选择电路21c1至21cN进行选择。
例如,在xi从1被更新为0并且xn从0被更新为1的情况下,由于在等式(6)中ΔEi处于hj=hn并且Wij=Wni(其中,Wni=Win)的情况下,因此ΔEi可以被表示为ΔEi=hi-hn+Wni。另一方面,在xi从0被更新为1并且xm从1被更新为0的情况下,由于在等式(6)中ΔEi处于hi=hm并且hj=hi的情况下,因此ΔEi可以被表示为ΔEi=hi-hm+Wmi。
为此,在当前xi为1的情况下,ΔE计算电路21fi输出ΔEi=hi-hn+Wni;而在当前xi为0的情况下,ΔE计算电路21fi输出ΔEi=-hi+hm+Wmi。
ΔE计算电路21f1至21fN例如通过使用加法器、减法器和选择器来实现。存储单元21f1a至21fNa例如通过使用寄存器、SRAM等来实现。
(选择电路22的示例)
图6是示出选择电路的示例的图。选择电路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方法)输出值。
在执行模拟退火的情况下,当如在以下等式(7)和(8)中确定引起某种能量改变的状态转换的允许概率A(ΔE,T)时,已知该状态在无穷大的时间限制(迭代次数)下达到最优解。
A(ΔE,T)=f(-ΔE/T) (7)
在等式(7)和(8)中,T是上述温度参数。
在使用由等式(7)表示的允许概率A(ΔE,T)的情况下,当在充分迭代之后达到正常状态时,对于热力学中的热平衡状态,每个状态的占有概率遵循玻尔兹曼分布。由于当温度从高温逐渐降低时低能量状态的占有概率增加,因此当温度充分降低时获得低能量状态。由于该行为类似于当对材料进行退火时的状态改变,因此该方法被称为模拟退火。此时,有概率性地发生能量增加的状态转换的情况对应于物理上的热激励。
可以通过比较器来实现输出标志(=1)的电路,该标志(=1)指示允许以允许概率A(ΔE,T)引起ΔE的状态转换,该比较器基于均匀随机数r以及等式(7)和(8)中的f(-ΔE/T)的比较结果输出值。
同时,即使在进行以下修改时,也可以实现相同的功能。即使在相同的单调递增函数作用于两个数字时,大小关系也不会改变。因此,即使在相同的单调递增函数作用于比较器的两个输入时,比较器的输出也不会改变。例如,可以使用作为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)的相加结果,比较单元22f输出1作为标志。对于等于或小于T·f-1(r)的相加结果,比较单元22f输出0作为标志。
基于关于ΔE1至ΔEN中的每一个的标志,选择器22g输出允许被更新的位的索引=l和该标志。在存在允许被更新的多个位的情况下,基于随机数,输出位中的一个位的索引作为索引=l。即使在不存在允许被更新的位的情况下,也输出任何位的索引。在这种情况下,由选择器22g输出的标志为0。
例如,选择器22g将如下N位值输出为索引=l,在所述N位值中,第l位的值为1,而其他位的值为0。
图1中示出的根据第一实施方式的优化装置10的选择电路12还可以通过使用如图6中示出的电路来实现。
(识别信息计算单元23的示例)
图7是示出识别信息计算单元的示例的图。
识别信息计算单元23可以由例如选择器23a来实现。随机数生成电路25b将m输入到选择器23a的一个输入端子,随机数生成电路25a将n输入到另一输入端子。在从更新单元24提供的xl为0的情况下,选择器23a输出m;而在xl为1的情况下,选择器23a输出n。
(优化装置20的整体操作的示例)
图8是示出根据第二实施方式的优化装置的示例的处理的流程的流程图。
首先,控制单元26执行优化装置20的初始设置处理(步骤S1)。例如,执行以下处理作为初始设置处理。控制单元26将从控制装置27接收的W11至WNN存储在ΔE计算单元21的存储单元21a中。控制单元26将从控制装置27接收的h1至hN的初始值(例如,偏差值)设置到ΔE计算单元21的h更新电路21d1至21dN。控制单元26基于从控制装置27接收的退火条件来将温度参数T的初始值设置到选择电路22。控制单元26将x1至xN(全零)存储在存储单元24a中。然后,控制单元26通过使用随机数将x1至xN中的k个值设置为1。控制单元26使更新单元24将k个状态变量一个接一个地从0更新为1,并且使h更新电路21d1至21dN相应地更新h1至hN。控制单元26可以更新h1至hN并且可以将更新的h1至hN设置到h更新电路21d1至21dN。
在完成上述初始设置处理之后,随机数生成电路25a和25b基于x1至xN生成n和m(步骤S2)。
基于x1至xN以及n和m,ΔE计算单元21的选择电路21c1至21cN选择用于计算ΔE1至ΔEN的加权值,并且将该加权值提供给存储单元21f1a至21fNa(步骤S3)。
基于x1至xN、索引=1至N以及由随机数生成电路25a和25b输出的m和n,ΔE计算单元21的h传播控制单元21e传播hm和hn(步骤S4)。根据上述h传播控制单元21e的处理,h传播控制单元21e将hm提供给ΔE计算电路21f1至21fN中的如下ΔE计算电路,从h更新电路21d1至21dN中的一个直接向所述ΔE计算电路提供关于值为0的位的局部字段值。h传播控制单元21e将hn提供给如下ΔE计算电路,从h更新电路21d1至21dN中的一个直接向所述ΔE计算电路提供关于值为1的位的局部字段值。
然后,如上所述,ΔE计算电路21f1至21fN计算ΔE1至ΔEN(步骤S5)。在图6中示出的选择电路22中,添加偏移值(步骤S6),并且选择索引=l(步骤S7)。识别信息计算单元23根据xl通过上述处理输出索引=m或索引=n(步骤S8)。
然后,更新单元24更新存储在存储单元24a中的xl和xm或xn(步骤S9),并且ΔE计算单元21的h更新电路21d1至21dN根据xl和xm或xn的更新来更新h1至hN(步骤S10)。
然后,控制单元26确定执行状态更新处理的次数是否达到预定数量N1(步骤S11)。在更新处理的数量未达到预定数量N1的情况下,重复步骤S2至S10的处理。
在更新处理的数量达到预定数量N1的情况下,控制单元26确定T的改变的数量(温度改变的数量)是否达到预定数量N2(步骤S12)。
在温度改变的数量未达到预定数量N2的情况下,控制单元26改变T(降低温度)(步骤S13)。基于退火条件来确定改变预定次数N1和N2以及T的值的方法(一次减少多少个值等)。在步骤S13的处理之后,重复从步骤S2起的处理。
在温度改变的数量达到预定数量N2的情况下,控制单元26在那时从存储单元24a获得每个位的值(变量xi(i=1至N)),并且将该值作为解(计算结果)发送(输出)到控制装置27(步骤S14)。显示装置可以耦接至控制单元26。在这种情况下,控制单元26可以在显示装置上显示计算结果。
更新单元24可以基于由于与索引=l和索引=m或索引=n对应的两个位的值被改变而引起的能量改变来更新能量。更新单元24可以保存每个更新时间处的最小能量以及当获得最小能量时的状态(在最小能量处的状态)。在这种情况下,当温度改变的数量达到预定数量N2时,控制单元26可以获得由更新单元24保存的最小能量处的状态,并且输出该状态作为解。
如上所述的根据第二实施方式的优化装置20具有与根据第一实施方式的优化装置10的优点相同的优点。
图9是示出表示在使用第二实施方式的优化装置的情况下计算缩短效果的仿真结果的图。
横轴表示状态更新处理被重复的次数,而纵轴表示得到正确答案的复制品的数量(优化装置20的数量)。
要计算的问题是具有8辆汽车和8条路线的交通优化问题(由64位的伊辛模型表示)。
为了进行比较,图9示出了在使用相关技术中的通过重复汉明距离=1的转换来使能量最小化的优化装置的情况下的仿真结果41以及在使用根据第二实施方式的优化装置20的情况下的仿真结果40。
如图9中所示,与相关技术中的优化装置相比,在第二实施方式的优化装置20中,解的收敛时间减少了100倍或更多。
如上所述,已经根据实施方式描述了该实施方式的优化装置和该优化装置的控制方法的一个方面,这样的方面仅是示例,并且不限于以上描述。
Claims (6)
1.一种优化装置,包括:
k个第一计算电路,被配置成:基于关于第一位之一的第一局部字段值、关于第二位的第二局部字段值以及保存在第一存储装置中的指示所述第一位之一与所述第二位之间的相互作用的大小的第一加权值,针对与通过转换要计算的问题而获得的伊辛模型中包括的N个旋转对应的N(N>2)个位,分别计算由于值为1的k(k>1)个第一位之一的值的改变和基于生成的第一随机数选择的值为0的第二位的值的改变而引起的伊辛模型的第一能量改变;
(N-k)个第二计算电路,被配置成:基于关于(N-k)个第三位之一的第三局部字段值、关于第四位的第四局部字段值以及保存在第二存储装置中的指示所述(N-k)个第三位之一与所述第四位之间的相互作用的大小的第二加权值,针对所述N个位,分别计算由于值为0的(N-k)个第三位之一的值的改变和基于生成的第二随机数选择的值为1的第四位的值的改变而引起的所述伊辛模型的第二能量改变;
选择电路,被配置成:基于根据输入的温度参数和随机数确定的热激励能量、由所述k个第一计算电路中的每一个输出的第一能量改变以及由所述(N-k)个第二计算电路中的每一个输出的第二能量改变之间的大小关系,输出识别具有允许被更新的值的位的第一位识别信息;
识别信息计算电路,被配置成:基于与所述第一位识别信息对应的位的值,输出识别所述第二位的第二位识别信息和识别所述第四位的第三位识别信息中的一个;以及
更新电路,被配置成:基于由所述识别信息计算电路输出的第一位识别信息和第二位识别信息或第三位识别信息,分别更新与所述第一位识别信息对应的位的值和与所述第二位识别信息对应的位的值或与所述第三位识别信息对应的位的值。
2.根据权利要求1所述的优化装置,
其中,执行初始设置,使得所述N个位中的k个位被设置为值为1的k个第一位,并且所述N个位中的(N-k)个位被设置为值为0的(N-k)个第三位。
3.根据权利要求1或2所述的优化装置,还包括:
传播控制电路,被配置成:基于所述第一随机数、所述第二随机数、所述N个位的值以及识别所述N个位中的每个位的位识别信息,将所述第二局部字段值传播至所述k个第一计算电路中的每一个,并且将所述第四局部字段值传播至所述(N-k)个第二计算电路。
4.根据权利要求1至3中任一项所述的优化装置,还包括:
多个选择电路,被配置成:基于所述第一随机数、所述第二随机数以及所述N个位之一的值,分别将所述第一加权值提供给所述第一存储装置并将所述第二加权值提供给所述第二存储装置。
5.一种优化装置的控制方法,所述控制方法包括:
将k个第一计算电路配置成:基于关于第一位之一的第一局部字段值、关于第二位的第二局部字段值以及保存在第一存储装置中的指示所述第一位之一与所述第二位之间的相互作用的大小的第一加权值,针对与通过转换要计算的问题而获得的伊辛模型中包括的N个旋转对应的N(N>2)个位,分别计算由于值为1的k(k>1)个第一位之一的值的改变和基于生成的第一随机数选择的值为0的第二位的值的改变而引起的伊辛模型的第一能量改变;
将(N-k)个第二计算电路配置成:基于关于(N-k)个第三位之一的第三局部字段值、关于第四位的第四局部字段值以及保存在第二存储装置中的指示所述(N-k)个第三位之一与所述第四位之间的相互作用的大小的第二加权值,针对所述N个位,分别计算由于值为0的(N-k)个第三位之一的值的改变和基于生成的第二随机数选择的值为1的第四位的值的改变而引起的伊辛模型的第二能量改变;
基于根据输入的温度参数和随机数确定的热激励能量、由所述k个第一计算电路中的每一个输出的第一能量改变以及由所述(N-k)个第二计算电路中的每一个输出的第二能量改变之间的大小关系,输出识别具有允许被更新的值的位的第一位识别信息;
基于与所述第一位识别信息对应的位的值,输出识别所述第二位的第二位识别信息和识别所述第四位的第三位识别信息中的一个;以及
基于由所述识别信息计算电路输出的第一位识别信息和第二位识别信息或第三位识别信息,更新与所述第一位识别信息对应的位的值和与所述第二位识别信息对应的位的值或与所述第三位识别信息对应的位的值。
6.根据权利要求5所述的控制方法,还包括:
执行初始设置,使得所述N个位中的k个位被设置为值为1的k个第一位,并且所述N个位中的(N-k)个位被设置为值为0的(N-k)个第三位。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-197198 | 2018-10-19 | ||
JP2018197198A JP7137064B2 (ja) | 2018-10-19 | 2018-10-19 | 最適化装置及び最適化装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111077768A true CN111077768A (zh) | 2020-04-28 |
CN111077768B CN111077768B (zh) | 2023-03-28 |
Family
ID=68242441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910983160.5A Active CN111077768B (zh) | 2018-10-19 | 2019-10-16 | 优化装置及优化装置的控制方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11475346B2 (zh) |
EP (1) | EP3640859A1 (zh) |
JP (1) | JP7137064B2 (zh) |
CN (1) | CN111077768B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114626536A (zh) * | 2022-02-21 | 2022-06-14 | 华南理工大学 | 一种处理组合优化问题的电路 |
CN115858999A (zh) * | 2023-02-07 | 2023-03-28 | 华南理工大学 | 一种基于改进模拟退火算法的组合优化问题处理电路 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7518379B2 (ja) | 2020-10-09 | 2024-07-18 | 富士通株式会社 | 最適化装置、最適化プログラム、および最適化方法 |
JP2022087691A (ja) * | 2020-12-01 | 2022-06-13 | 富士通株式会社 | 最適化装置及び最適化方法 |
JP7524754B2 (ja) | 2020-12-15 | 2024-07-30 | 富士通株式会社 | 最適化装置、最適化プログラム、及び最適化方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107077642A (zh) * | 2014-08-22 | 2017-08-18 | D-波系统公司 | 可用于例如量子计算的用于求解问题的系统和方法 |
JP2017219952A (ja) * | 2016-06-06 | 2017-12-14 | 富士通株式会社 | イジング装置及びイジング装置の制御方法 |
JP2017224227A (ja) * | 2016-06-17 | 2017-12-21 | 富士通株式会社 | 情報処理装置、イジング装置及び情報処理装置の制御方法 |
JP2018041351A (ja) * | 2016-09-09 | 2018-03-15 | 富士通株式会社 | 情報処理装置、イジング装置及び情報処理装置の制御方法 |
CN108093667A (zh) * | 2015-05-05 | 2018-05-29 | Abb瑞士股份有限公司 | 针对电气转换器的混合控制方法 |
CN108369668A (zh) * | 2015-10-16 | 2018-08-03 | D-波系统公司 | 用于创建和使用量子玻尔兹曼机的系统和方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0850572A (ja) | 1994-03-18 | 1996-02-20 | Ricoh Co Ltd | ニューロン素子およびそれを用いたニューラルネットワークおよび情報処理装置並びに連想記憶装置および問題解決装置 |
JPH10247186A (ja) | 1997-03-05 | 1998-09-14 | Hitachi Cable Ltd | 高速最適化回路 |
JP6269186B2 (ja) * | 2014-03-07 | 2018-01-31 | 富士通株式会社 | 分類方法、分類装置および分類プログラム |
JP5865457B1 (ja) | 2014-08-29 | 2016-02-17 | 株式会社日立製作所 | 情報処理システム及び管理装置 |
JP6207584B2 (ja) | 2015-12-25 | 2017-10-04 | 株式会社日立製作所 | 情報処理システム及び管理装置 |
JP6465092B2 (ja) * | 2016-10-14 | 2019-02-06 | 富士通株式会社 | 最適化装置及び最適化装置の制御方法 |
JP7071638B2 (ja) * | 2018-07-31 | 2022-05-19 | 富士通株式会社 | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム |
JP7100254B2 (ja) * | 2018-08-10 | 2022-07-13 | 富士通株式会社 | 最適化システム、最適化システムの制御方法及び最適化システムの制御プログラム |
JP7093009B2 (ja) * | 2018-08-30 | 2022-06-29 | 富士通株式会社 | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム |
JP7206476B2 (ja) * | 2018-09-14 | 2023-01-18 | 富士通株式会社 | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム |
JP7100257B2 (ja) * | 2018-10-04 | 2022-07-13 | 富士通株式会社 | 最適化装置及び最適化装置の制御方法 |
JP7108186B2 (ja) * | 2018-11-27 | 2022-07-28 | 富士通株式会社 | 最適化装置及び最適化装置の制御方法 |
-
2018
- 2018-10-19 JP JP2018197198A patent/JP7137064B2/ja active Active
-
2019
- 2019-10-09 EP EP19202171.5A patent/EP3640859A1/en not_active Ceased
- 2019-10-10 US US16/597,942 patent/US11475346B2/en active Active
- 2019-10-16 CN CN201910983160.5A patent/CN111077768B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107077642A (zh) * | 2014-08-22 | 2017-08-18 | D-波系统公司 | 可用于例如量子计算的用于求解问题的系统和方法 |
CN108093667A (zh) * | 2015-05-05 | 2018-05-29 | Abb瑞士股份有限公司 | 针对电气转换器的混合控制方法 |
CN108369668A (zh) * | 2015-10-16 | 2018-08-03 | D-波系统公司 | 用于创建和使用量子玻尔兹曼机的系统和方法 |
JP2017219952A (ja) * | 2016-06-06 | 2017-12-14 | 富士通株式会社 | イジング装置及びイジング装置の制御方法 |
JP2017224227A (ja) * | 2016-06-17 | 2017-12-21 | 富士通株式会社 | 情報処理装置、イジング装置及び情報処理装置の制御方法 |
JP2018041351A (ja) * | 2016-09-09 | 2018-03-15 | 富士通株式会社 | 情報処理装置、イジング装置及び情報処理装置の制御方法 |
Non-Patent Citations (1)
Title |
---|
SANROKU TSUKAMOTO.ETC: "An Accelerator Architecture for Combinatorial Optimization Problems", 《FUJITSU SCIENTIFIC & TECHNICAL JOURNAL(FSTJ)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114626536A (zh) * | 2022-02-21 | 2022-06-14 | 华南理工大学 | 一种处理组合优化问题的电路 |
CN115858999A (zh) * | 2023-02-07 | 2023-03-28 | 华南理工大学 | 一种基于改进模拟退火算法的组合优化问题处理电路 |
CN115858999B (zh) * | 2023-02-07 | 2023-04-25 | 华南理工大学 | 一种基于改进模拟退火算法的组合优化问题处理电路 |
Also Published As
Publication number | Publication date |
---|---|
JP7137064B2 (ja) | 2022-09-14 |
US20200125984A1 (en) | 2020-04-23 |
JP2020064535A (ja) | 2020-04-23 |
US11475346B2 (en) | 2022-10-18 |
CN111077768B (zh) | 2023-03-28 |
EP3640859A1 (en) | 2020-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111077768B (zh) | 优化装置及优化装置的控制方法 | |
CN111078621B (zh) | 优化装置及优化装置的控制方法 | |
JP2020204928A (ja) | 最適化装置および最適化方法 | |
CN111812972B (zh) | 优化装置和用于控制优化装置的方法 | |
JP2020086821A (ja) | 最適化装置および最適化装置の制御方法 | |
JP2017224227A (ja) | 情報処理装置、イジング装置及び情報処理装置の制御方法 | |
JP7410395B2 (ja) | 最適化装置及び最適化方法 | |
JP2020057306A (ja) | 最適化装置及び最適化装置の制御方法 | |
JP7197789B2 (ja) | 最適化装置及び最適化装置の制御方法 | |
JP2019139323A (ja) | 最適化システム、最適化装置及び最適化システムの制御方法 | |
JP2020204929A (ja) | サンプリング装置およびサンプリング方法 | |
CN111930007B (zh) | 优化装置和控制优化装置的方法 | |
CN113536229A (zh) | 采样装置、采样方法以及用于存储采样程序的存储介质 | |
JPWO2020054062A1 (ja) | 最適化装置および最適化装置の制御方法 | |
JP7512631B2 (ja) | イジングマシンデータ入力機器、及びイジングマシンにデータを入力する方法 | |
JP2020038435A (ja) | 最適化装置及び最適化装置の制御方法 | |
JP7256378B2 (ja) | 最適化システムおよび最適化システムの制御方法 | |
JP7242595B2 (ja) | 学習装置、推論装置、学習方法及び推論方法 | |
WO2020054061A1 (ja) | 最適化装置、最適化装置の制御方法および最適化装置の制御プログラム | |
EP4134882A1 (en) | Information processing system, information processing device, information processing method, and information processing program | |
JP2938320B2 (ja) | 最適値探索装置 | |
CN117313815A (zh) | 一种优化MZI的ONNs相位配置的渐进式训练方法 | |
Abdulsadda | Neural Dynamic Programming for Optimal Control of Large Genetic Regulatory Networks |
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 |