CN115495695A - 数据处理设备、计算机可读记录介质和处理数据的方法 - Google Patents
数据处理设备、计算机可读记录介质和处理数据的方法 Download PDFInfo
- Publication number
- CN115495695A CN115495695A CN202210253085.9A CN202210253085A CN115495695A CN 115495695 A CN115495695 A CN 115495695A CN 202210253085 A CN202210253085 A CN 202210253085A CN 115495695 A CN115495695 A CN 115495695A
- Authority
- CN
- China
- Prior art keywords
- value
- state variable
- constraint
- state
- local
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/544—Methods 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
- G06F7/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Algebra (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
公开了数据处理设备、计算机可读记录介质和处理数据的方法。一种搜索使伊辛型评价函数的值变为局部最小值或局部最大值的状态变量的值的组合的设备,该数据处理设备包括存储器和处理器。存储器被配置成存储:第一局部字段,其表示在状态变量中的每一个的值改变的情况下评价函数的值的第一变化量;第一系数,其指示每一个状态变量对表示约束条件的约束项中的每一个约束项的影响强度;以及第二局部字段,其由以下二者之和来表示:每一个第一系数与每一个状态变量的乘积的总和,以及与约束条件相关的第二系数。处理器被配置成执行:读取与第一状态变量相关的第一系数中的任一个,其中第一状态变量是状态变量中的任一个。
Description
技术领域
本文讨论的实施方式涉及数据处理设备、存储程序的计算机可读记录介质以及处理数据的方法。
背景技术
作为计算诺依曼(Neumann)型计算机不易处理的大规模离散优化问题的设备,存在着使用伊辛(Ising)型评价函数(也称为能量函数等)的伊辛机(也称为玻尔兹曼(Boltzmann)机)。
伊辛机将离散优化问题转换为表示磁性体的自旋行为的伊辛模型。基于马尔可夫链蒙特卡罗(Markov chain Monte Carlo)方法,例如模拟退火方法(simulated annealingmethod)或副本交换方法(replica exchange method)(也称为例如并行回火方法(parallel tempering method)等),伊辛机搜索伊辛模型的以下状态:将伊辛型评价函数的值(对应于能量)设置为局部最小值。具有评价函数的局部最小值中的最小值的状态是最优解。通过改变评价函数的符号,伊辛机还能够搜索将评价函数的值设置为局部最大值的状态。伊辛模型的状态可以通过多个状态变量的值的组合来表示。作为每个状态变量的值,可以使用0或1。
伊辛型评价函数例如由诸如以下表达式(1)的二次形式的函数来定义。
右侧的第一项是以下乘积的总和:所述乘积每个均是根据伊辛模型的N个状态变量的所有组合(没有遗漏和重复)中的一个组合中的两个状态变量的值(0或1)以及权重值(指示两个状态变量之间的交互的强度)获得的。此处,xi是标识号为i的状态变量,xj是标识号为j的状态变量,并且Wij是指示标识号为i和j的状态变量之间的交互的强度的权重值。右侧的第二项是以下乘积的总和:所述乘积每个均是根据针对标识号之一的偏差系数和状态变量获得的。此处,bi指示针对标识号=i的偏差系数。
由于xi的值的变化而导致的能量变化量(ΔEi)由以下表达式(2)表示。
在表达式(2)中,在状态变量xi从1变为0时Δxi为-1,而在状态变量xi从0变为1时Δxi为1。此处,hi被称为局部字段(local field),并且ΔEi是hi与取决于Δxi的符号(+1或-1)的乘积。因此,hi也可以称为表示能量变化量的变量或者确定能量变化量的变量。
例如,在ΔEi小于基于随机数和温度参数的值而获得的噪声值时,重复更新xi的值以生成状态转变以及更新局部字段的处理。
同时,一些离散优化问题具有解(solution)要满足的约束条件。例如,在作为离散优化问题之一的背包问题(knapsack problem)中,存在如下约束条件:可以装入背包的负荷的总容量小于或等于背包的容量。这样的约束条件被称为不等式约束,并且在不满足约束条件时可以由具有非0值的约束项来表示。
不等式约束的约束项的总大小(能量)可以由例如以下表达式(3)表示。
在表达式(3)中,M表示不等式约束的约束项的数目,cji是与每个约束项相关的每个状态变量的系数。不等式约束中某个资源的上限用uj表示。输出参数a和b中较大值的函数是max[a,b]。对于j=1至M中的任何一个,当cjixi的总和超过uj时(当不满足约束条件时),V具有非0值。
包括约束项的整个能量函数可以表示为H=E+V。
与诸如表达式(1)的二次形式的函数不同,表达式(3)是线性形式的不连续函数。因此,在现有技术中,为了使不等式约束能够被伊辛机处理,提出了将线性形式的不连续函数转换为二次形式的函数的技术。
然而,在通过使用转换为二次形式的不等式约束的约束项来计算离散优化问题的情况下,由于例如处理中的复杂性的增加,可能难以通过伊辛机获得解。
因此,提出了一种相关技术,在该技术中,使用了保持线性形式的如上所述的不等式约束的约束项,并且通过伊辛机获得解。
相关技术的示例包括:日本公开特许公报第2019-179364号,以及日本公开特许公报第2020-204928号。
相关技术的示例还包括:V.S.Denchev、N.Ding、S.V.N.Vishwanathan和H.Neven,“Robust classification with adiabatic quantum optimization”,Proc.ICML'12,第1003-1010页,2012年。
发明内容
技术问题
对于通过使用保持线性形式的不等式约束的约束项来获得解的相关技术而言,为了计算由于状态变量的值的变化而导致的整个能量函数的变化量,通过使用与每个约束项有关的所有系数(上述表达式(3)的示例中的cij)来计算约束项的整体大小。在一些情况下,与每个约束有关的系数的数目达到1000或更多,并且计算量可能随着上述相关技术而增加。
在一个方面,本公开内容的一个目的是提供可以减少具有约束条件的离散优化问题的计算量的数据处理设备、程序和处理数据的方法。
问题的解决方案
根据实施方式的一个方面,提供了一种数据处理设备,该数据处理设备搜索使伊辛型评价函数的值变为局部最小值或局部最大值的多个状态变量的值的组合。在示例中,数据处理设备包括存储器以及耦接至存储器的处理器。存储器被配置成存储:多个第一局部字段,其表示在多个状态变量中的每一个的值改变的情况下评价函数的值的多个第一变化量;多个第一系数,其指示多个状态变量中的每一个状态变量对表示约束条件的多个约束项中的每一个约束项的影响强度;以及多个第二局部字段,其由以下二者之和来表示:多个第一系数中的每一个第一系数与多个状态变量中的每一个状态变量的乘积的总和,以及与约束条件相关的第二系数。处理器被配置成执行包括以下操作的处理:从存储器读取多个第一系数中的与第一状态变量相关的第一系数,其中该第一状态变量是多个状态变量中的任一个,基于第一系数来计算在第一状态变量的值改变的情况下多个第二局部字段的更新值,在第一状态变量的值改变的情况下基于更新值以及多个第一局部字段中的与第一状态变量相关的第一局部字段来计算评价函数与多个约束项的整体大小之和的第二变化量,并且基于第二变化量与预定值之间的比较结果来确定是否允许第一状态变量的值的改变。
本发明的有益效果
在一个方面,根据本公开内容,可以减少具有约束条件的离散优化问题的计算量。
附图说明
图1示出了根据第一实施方式的数据处理设备和处理数据的方法的示例;
图2是示出根据第二实施方式的数据处理设备的硬件示例的框图。
图3是示出数据处理设备的功能示例的框图;
图4是示出处理数据的方法的示例的流程的流程图;
图5是示出初始化处理的过程的示例的流程的流程图;
图6是示出ΔH计算过程的示例的流程的流程图;
图7示出了根据第三实施方式的数据处理设备的示例;以及
图8示出了现场可编程门阵列(FPGA)的示例的配置。
具体实施方式
在下文中,将参照附图描述本公开内容的实施方式。
(第一实施方式)
图1示出了根据第一实施方式的数据处理设备和处理数据的方法的示例。
根据第一实施方式的数据处理设备10包括存储单元11和处理单元12。
存储单元11是例如:包括诸如动态随机存取存储器(DRAM)的电子电路的易失性存储装置;或者包括诸如硬盘驱动器(HDD)的电子电路的非易失性存储装置;或者闪存。存储单元11可以包括诸如寄存器的电子电路。
存储单元11存储离散优化问题的问题信息、表示离散优化问题的伊辛型评价函数中所包括的多个(在下文中为N个)状态变量的值(参见上述表达式(1))、以及各个局部字段的值,这些内容稍后将进行描述。
例如,问题信息包括除了表达式(1)中指示的权重值(Wij)和偏置系数(bi)之外的系数(cjk、dj),稍后将对其进行描述。
在图1中,hi XX、hi XY和hj YX被表示为存储在存储单元11中的局部字段。同样在图1中,表示了与约束项的数目(M)对应的M个辅助变量(y1,...,yj,...,yM)。y1至yM中的每一个是能够根据x1至xN的值计算出的1比特的变量或者实数,并且表示约束项。
局部字段hi XX是表示在标识号为i(i=1至N)的状态变量的值变化的情况下表达式(1)的评价函数的值的变化量的局部字段,hi XX对应于表达式(2)的hi。例如,hi XX可以由下面的表达式(4)表示。
局部字段hj YX可以由以下表达式(5)表示。
在表达式(5)中,Cjk是表示标识号为k的状态变量对第j个约束项的影响强度的系数。对于每个约束项,N个系数Cjk被提供并且由M行N列的矩阵C来表示。在表达式(5)中,dj是与第j个约束项的约束条件相关的系数。
在约束条件是上述不等式约束的情况下,Cjk是表达式(3)的cji,dj是通过将表达式(3)的uj乘以-1而获得的值。
此外,hi XY可以由以下表达式(6)表示。
在表达式(6)中,yj是表示第j个约束项的辅助变量,并且可以表示为yj=f(hj YX)。例如,在yj是与不等式约束相关的辅助变量的情况下,yj可以表示为yj=f(hj YX)=max[0,hj YX]。
第j个约束项对xi的状态变量的影响强度由Fij表示,Fij是指示在不满足约束条件的情况下作用在xi上的恢复力(restoring force)的大小的系数,并且由N行M列的矩阵F表示。例如,Fij可以表示为Fij=-Cji。例如,可以通过对矩阵C进行转置并且反转符号来获得矩阵F。
M个约束项的总大小(能量)是V,这可以通过使用yj由下面的表达式(7)来表示。
在表达式(7)中,λj是每个约束项的权重,并且对于不同的约束项可以具有不同的值。
存储单元11可以存储各种类型的数据,例如当处理单元12执行稍后将描述的处理数据的方法时所使用的计算条件(例如,副本(replica)的数目、针对每个副本设置的温度参数的值、副本交换周期、以及在执行副本交换方法的情况下的计算结束条件)。在处理单元12通过使用软件执行稍后将描述的处理数据的方法中的部分或全部处理的情况下,用于执行处理的程序被存储在存储单元11中。
例如,处理单元12可以通过使用处理器来实现,该处理器是诸如中央处理单元(CPU)、图形处理单元(GPU)或数字信号处理器(DSP)的硬件。替选地,处理单元12可以通过使用诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)的电子电路来实现。
例如,处理单元12搜索表达式(1)所表示的评价函数的值(能量)变为局部最小值的状态。最优解是具有评价函数的局部最小值之中的最小值的状态。通过改变表达式(1)表示的评价函数和表达式(7)所示的约束项的符号,处理单元12可以搜索评价函数的值变为局部最大值的状态(在这种情况下,具有最大值的状态是最优解)。
图1示出了由处理单元12执行的部分处理的示例的流程。
这里,假设基于x1至xN的初始值的值被存储在存储单元11中,作为hi XX、hi XY、hj YX、yj、E和V。
处理单元12从x1至xN中选择其值将被改变的候选状态变量(在下文中称为翻转候选(flip candidate))(步骤S1)。例如,处理单元12随机地或以预定顺序选择翻转候选状态变量。
处理单元12在所选择的状态变量的值发生变化的情况下计算评价函数的值的变化量(ΔE)(步骤S2)。在所选择的状态变量为xi的情况下,可以使用-Δxi与hi XX的乘积来计算ΔE。
为了计算由于所选择的状态变量的值的变化而导致的V的变化量(ΔV),处理单元12使用Cjk中的与所选择的状态变量相关的系数来计算由于状态变量的值的变化而导致的M个局部字段hj YX的更新值(步骤S3)。步骤S3的处理对应于反映所选择的状态变量的值的变化对约束项的影响。在所选择的状态变量为xi的情况下,处理单元12可以通过将CjiΔxi与原始hj YX相加来计算hj YX的更新值。因此,处理单元12读取M×N的矩阵C中的i列中的系数就足够了。
基于M个局部字段hj YX的更新值,处理单元12计算ΔV(步骤S4)。基于经更新的hj YX值,处理单元12可以计算yj,根据表达式(7)计算翻转候选状态变量的值变化后的V,并且使用与原始V的差来计算ΔV。处理单元12还可以使用基于hj YX的更新值而计算出的yj,使用式(6)来计算hi XY,并且可以使用-Δxi与hi XY的积来计算ΔV。
通过使用ΔE与ΔV的和,处理单元12计算ΔH(步骤S5)。
基于ΔH与预定值之间的比较结果,处理单元12确定是否允许翻转候选状态变量的值的变化(是启用还是禁用翻转)(步骤S6)。在下文中,将该确定处理称为翻转确定处理。
例如,预定值是基于随机数和温度参数的值获得的噪声值。在例如ΔH小于log(rand)×T的情况下,其中log(rand)×T是基于大于等于0且小于等于1的均匀随机数(rand)和温度参数(T)而获得的噪声值的示例,处理单元12确定允许翻转候选状态变量的值的变化。
处理单元12在确定翻转被启用的情况下执行步骤S7中的处理,或者在确定翻转未被启用的情况下重复从步骤S1开始的处理。
在步骤S7的处理中,处理单元12通过改变所选择的状态变量的值来更新存储在存储单元11中的状态,并且由于该改变还更新hi XX、hi XY和hj YX。
例如,可以通过使用以下表达式来执行由于xa的值的改变而导致的hi XX的更新:hi XX=hi XX+WiaΔxa。例如,处理单元12读取N×N权重值矩阵中的a列中的权重值就足够了。
通过确定在步骤S3的处理中计算的更新值来执行hj YX的更新。
此外,可以通过使用表达式hi XY=hi XY+FijΔyj,通过基于在步骤S3的处理中计算的hj YX的更新值来计算更新后的yj并且使用与更新前的yj的差(Δyj),来执行hi XY的更新。如上所述,由于Fij=-Cji,因此可以通过使用在步骤S3的处理中读取的矩阵C的i列中的系数来计算Fij。
处理单元12重复执行从步骤S1至S7的处理,直到满足预定的结束条件。
上述处理的顺序仅仅是示例性的,并且可以适当地改变。
尽管在上面的描述中已经描述了通过从N个状态变量中逐一地选择翻转候选状态变量来执行步骤S2至S6的处理的示例,但是针对多个(例如,所有N个)状态变量,可以并行地执行步骤S2至S6的处理。在这种情况下,当存在被允许改变其值的多个状态变量时,处理单元12随机地或者根据预定规则选择要改变其值的状态变量。
在执行模拟退火方法的情况下,处理单元12每次根据预定的温度参数变化安排(schedule)来减小上述温度参数(T)的值,例如,将翻转确定处理重复执行预定次数。处理单元12输出在翻转确定处理已经被重复执行了预定次数的情况下所获得的状态,作为离散优化问题的计算结果(例如,显示在未示出的显示装置上)。处理单元12可以在每次产生状态变量的值的变化时更新由表达式(1)表示的评价函数的值(能量),并且在能量变为直到那时为止的最小能量的情况下使存储单元11保持该能量和该状态。在这种情况下,处理单元12可以输出与在翻转确定处理已被重复执行了预定次数之后所存储的最小能量相对应的状态,作为计算结果。
在处理单元12执行副本交换方法的情况下,处理单元12在其中设置了不同温度参数值的多个不同副本中执行上述步骤S1至S3的处理。每当翻转确定处理被重复执行预定次数时,处理单元12执行副本交换。例如,处理单元12从多个副本中随机选择两个副本,并且基于副本之间的能量差以及副本之间的温度参数的值的差异,以预定的交换概率在两个所选择的副本之间交换温度参数的值或状态。例如,每当在每个副本中产生状态变量的值的变化,处理单元12更新由表达式(1)表示的评价函数的值(能量),并且在能量变成直到那时为止的最小能量的情况下,处理单元12保持该能量和该状态。处理单元12输出以下状态作为计算结果:该状态对应于在每个副本中重复执行了预定次数的上述翻转确定处理之后所存储的最小能量之中的、所有副本中的最小能量。
利用如上所述的数据处理设备10和处理数据的方法,在确定是启用还是禁用状态变量的值的改变时所使用的ΔH是基于hi XX和hj YX(或者通过使用表达式(6)根据hj YX而计算的hi XY)计算的。基于ΔH与预定值之间的比较结果,确定是否允许改变状态变量的值。如上所述,在计算用于计算ΔH的hj YX的更新值时,读取矩阵C的某一列中的系数就足够了。
因此,与通过使用矩阵C的所有元素来执行某个状态变量的翻转确定的情况相比,可以减少计算量。此外,可以减少从存储单元11一次读取的数据量。
由于作为辅助变量的yj以及作为局部字段的hi XX、hi XY和hj YX是从状态变量的值等获得的,所以yj、hi XX、hi XY和hj YX都不是自变量,并且增大了搜索空间。
在根据第一实施方式的处理数据的方法中适用的约束条件不限于不等式约束。可以应用等式约束或绝对值约束。
等式约束是以下约束:该约束设置与资源等效的值,而不是像在不等式约束中设置特定资源的上限。
等式约束的约束项可以由例如以下表达式(8)表示。
在表达式(8)中,对于j=1至M中的任何一个,在cjixi的总和是不同于表示资源的uj的值的情况下(在不满足约束条件的情况下),V具有非0的值。
绝对值约束是以下约束:其中,作为约束项的V的值随着与特定资源的差的绝对值的增大而增大。绝对值约束的约束项可以由例如下面的表达式(9)表示。
在表达式(9)中,abs是输出自变量的绝对值的函数。例如,V是cjixi的总和与uj的差的绝对值之和,uj是j=1至M中的每一个的资源。绝对值约束的约束项也可以通过组合表达式(3)中所示的不等式约束的两个约束项来表示。
在应用如上所述的等式约束或绝对值约束的情况下,将表达式(5)的Cjk设置为表达式(8)或表达式(9)的cji,并且将表达式(5)的dj设置为通过将表达式(3)的uj乘以-1而获得的值就足够了。关于表达式(6)的yj,在yj是与等式约束相关的辅助变量的情况下,yj可以表示为yj=f(hj YX)=(hj YX)2。关于表达式(6)的yj,在yj是与绝对值约束相关的辅助变量的情况下,yj可以表示为yj=f(hj YX)=abs(hj YX)。
因此,同样在使用这些约束条件的情况下,除了f(hj YX)的函数的改变之外,可以应用与在使用不等式约束的情况下所执行的处理基本相同的处理。
(第二实施方式)
图2是示出根据第二实施方式的数据处理设备的硬件示例的框图。
数据处理设备20例如是计算机,并且包括CPU 21、随机存取存储器(RAM)22、HDD23、GPU 24、输入接口25、介质读取器26和通信接口27。上述装置耦接至总线。
CPU 21是包括执行程序指令的运算电路的处理器。CPU 21将存储在HDD 23中的程序和数据的至少子集加载到RAM 22中,并执行该程序。CPU 21可以包括多个处理器核,或者数据处理设备20可以包括多个处理器。可以通过使用多个处理器或处理器核来并行执行下面要描述的处理。多个处理器(多处理器)的集合可以被称为“处理器”。
RAM 22是易失性半导体存储器,其临时存储由CPU 21执行的程序或者用于CPU 21进行的算术的数据。数据处理设备20可以包括除RAM22之外的类型的存储器,并且可以包括多个存储器。
HDD 23是存储软件程序(诸如操作系统(OS)、中间件和应用软件)和数据的非易失性存储装置。程序的示例包括用于使数据处理设备20执行搜索离散优化问题的解的处理的程序。数据处理设备20可以包括其它类型的存储装置,例如闪存或固态驱动器(SSD),并且可以包括多个非易失性存储装置。
GPU 24根据来自CPU 21的指令将图像输出到耦接至数据处理设备20的显示器24a。作为显示器24a,可以使用阴极射线管(CRT)显示器、液晶显示器(LCD)、等离子显示面板(PDP)、有机电致发光(OEL)显示器等。
输入接口25从与数据处理设备20耦接的输入装置25a获得输入信号,并且将输入信号输出到CPU 21。作为输入装置25a,可以使用指示装置(诸如鼠标、触摸面板、触摸板和轨迹球)、以及键盘、遥控器、按钮开关等。多种类型的输入装置可以耦接至数据处理设备20。
介质读取器26是读取记录在记录介质26a中的程序和数据的读取装置。作为记录介质26a,例如,可以使用磁盘、光盘、磁光(MO)盘、半导体存储器等。磁盘的示例包括软盘(FD)和HDD。光盘的示例包括压缩盘(CD)和数字多功能盘(DVD)。
例如,介质读取器26将从记录介质26a读取的程序或数据复制到诸如RAM 22或HDD23的另一记录介质。例如,读取的程序由CPU 21执行。记录介质26a可以是便携式记录介质,并且在某些情况下,用于分发程序和数据。记录介质26a和HDD 23可以称为计算机可读记录介质。
通信接口27是耦接至网络27a并且经由网络27a与其它信息处理装置通信的接口。通信接口27可以是经由电缆耦接至诸如交换机的通信装置的有线通信接口,或者经由无线链路耦接至基站的无线通信接口。
接下来,描述数据处理设备20的功能和处理过程。
图3是示出数据处理设备的功能示例的框图。
数据处理设备20包括输入单元30、控制单元31、存储单元32、搜索单元33和输出单元34。
输入单元30、控制单元31、搜索单元33和输出单元34可以通过使用例如由CPU 21执行的程序模块或者CPU 21中的存储区域(寄存器或高速缓冲存储器)来实现。存储单元32可以通过使用例如在RAM 22或HDD 23中保留的存储区域来实现。
例如,输入单元30接受状态变量(x1至xN)的初始值、问题信息和计算条件的输入。例如,除了表达式(1)中所示的权重值(Wij)和偏置系数(bi),问题信息还包括表达式(5)中所示的系数(Cjk,dj)、表达式(6)中所示的系数(Fij)、以及表达式(7)中所示的每个约束的权重((λj)。例如,计算条件的示例包括在执行副本交换方法的情况下的副本数目、副本交换周期、针对每个副本设置的温度参数的值,以及在执行模拟退火方法的情况下的温度参数改变安排、计算结束条件等。
这些信息可以由操作输入装置25a的用户输入,或者经由记录介质26a或网络27a输入。
控制单元31控制数据处理设备20中的单元,以使这些单元执行稍后描述的处理。
存储单元32存储xl至xN、Wij、bi、Cjk、dj、Fij和λj的初始值。存储单元32可以存储各种类型的信息,诸如其他问题信息和其他计算条件。
搜索单元33包括初始值计算单元33a、h&y更新和保持单元33b、翻转候选变量选择单元33c、Δx计算单元33d、E更新和保持单元33e以及V更新和保持单元33f。搜索单元33还包括ΔH计算单元33g、翻转确定单元33h、状态保持单元33i、转移目标状态计算单元33j和状态更新单元33k。
初始值计算单元33a读取存储单元32中存储的xl至xN、bi、Cjk和dj的初始值,并且基于这些值,通过使用表达式(4)和(5),计算hi XX和hj YX的初始值。此外,初始值计算单元33a通过使用以下表达式根据hj YX的初始值来计算yj的初始值:yj=f(hj YX)。
在yj是与不等式约束相关的辅助变量的情况下,如上所述,yj可以表示为yj=f(hj YX)=max[0,hj YX]。在yj是与等式约束相关的辅助变量的情况下,如上所述,yj可以表示为yj=f(hj YX)=(hj YX)2。在yj是与绝对值约束相关的辅助变量的情况下,如上所述,yj可以表示为yj=f(hj YX)=abs(hj YX)。
此外,初始值计算单元33a读取存储在存储单元32中的Fij,并且基于计算的yj和Fij的初始值通过使用表达式(6)来计算hi XY的初始值。
h&y更新和保持单元33b更新hi XX、hj YX、hi XY和yj并且保持它们的值。
由于xa的值的变化而导致的hi XX的更新值可以由以下表达式表示:hi XX=hi XX+WiaΔxa。由于xa的值的变化而导致的hj YX的更新值可以用以下表达式表示:hj YX=hj YX+CjaΔxa。由于xa的值的变化而导致的hi XY的更新值可以表示为:hi XY=hi XY+FijΔyj。通过使用表达式Δyj=f(hj YX)-yj,使用hj YX的更新值来计算Δyj。
翻转候选变量选择单元33c选择翻转候选状态变量。例如,翻转候选变量选择单元33c随机地或以预定顺序选择翻转候选状态变量。翻转候选变量选择单元33c输出所选择的翻转候选状态变量的标识号(1至N)。
Δx计算单元33d计算所选择的翻转候选状态变量的值的变化量。例如,当翻转候选状态变量为xa时,在xa从1变为0的情况下,Δxa变为-1,在状态变量xa从0变为1的情况下,Δxa变为1。
E更新和保持单元33e更新由表达式(1)表示的评价函数的值E,并且E更新和保持单元33e保持E。由于xa的值的改变而导致的E的改变量是ΔE,ΔE可以表示为ΔE=-Δxaha XX。因此,在xa的值发生变化的情况下,将E更新为E=E-Δxaha XX。
V更新和保持单元33f更新表达式(7)中指示的M个约束项的整体大小V,并且V更新和保持单元33f保持V。为了计算由于xa的值的变化而导致的V的变化量ΔV,V更新和保持单元33f通过使用以下表达式来计算由于xa的变化而导致的M个局部字段hj YX的更新值:hj YX=hj YX+CjaΔxa。基于M个局部字段hj YX的更新值,V更新和保持单元33f可以计算M个辅助变量yj,根据表达式(7)计算在翻转候选状态变量的值变化后的V,并且通过使用与原始V的差来计算ΔV。V更新和保持单元33f还可以通过使用基于hj YX的更新值所计算出的yj,使用表达式(6)来计算ha XY,并且可以通过使用-Δxa与ha XY的积来计算ΔV。
ΔH计算单元33g通过将由E更新和保持单元33e和V更新和保持单元33f更新E和V时所获得的ΔE和ΔV进行相加来计算ΔH。
基于ΔH与预定值之间的比较结果,翻转确定单元33h执行用于确定是否允许改变翻转候选状态变量的值的翻转确定处理。预定值是例如基于随机数和温度参数的值获得的噪声值。在例如ΔH小于log(rand)×T的情况下,翻转确定单元33h确定允许翻转候选状态变量的值的变化,log(rand)×T是基于大于等于0且小于等于1的均匀随机数(rand)以及温度参数(T)而获得的噪声值的示例。
状态保持单元33i保持N个状态变量(x1至xN)的值。
转移目标状态计算单元33j计算转移目标状态,在该转移目标状态中,x1至xN中的由翻转候选变量选择单元33c输出的标识号的状态变量的值被改变。
在翻转确定单元33h确定允许改变状态变量的值的情况下,状态更新单元33k使用由转移目标状态计算单元33j计算的转移目标状态来更新由状态保持单元33i保持的状态。
在控制单元31的控制下,搜索单元33通过重复执行如上所述的翻转确定处理和每个参数的更新处理,来搜索评价函数的值(能量)变为局部最小值的状态。
输出单元34输出搜索单元33的搜索结果(计算结果)。例如,在执行副本交换方法的情况下,输出单元34输出以下状态作为计算结果:该状态对应于在每个副本中已经重复执行了上述翻转确定处理预定次数之后所存储的最小能量之中的、所有副本中的最小能量。
例如,输出单元34可以将计算结果输出并显示在显示器24a上,将计算结果经由网络27a发送到其它信息处理装置,或者将计算结果存储在外部存储装置中。
在下文中,将描述数据处理设备20的处理过程(处理数据的方法)。下面描述通过使用副本交换方法执行搜索的示例。
图4是示出处理数据的方法的示例的流程的流程图。
步骤S10:输入单元30接受x1至xN的初始值、上述问题信息和计算条件的输入。例如,输入的x1至xN的初始值和问题信息被存储在存储单元32中,并且输入的计算条件被提供给控制单元31。
步骤S11:对每个副本执行初始化处理。稍后将描述初始化处理的过程的示例。
对于每个副本,控制单元31使搜索单元33执行以下步骤S12至S16的处理。
步骤S12:搜索单元33的翻转候选变量选择单元33c选择值将被改变(更新)的候选状态变量。
步骤S13:搜索单元33计算ΔH。稍后将描述步骤S13的ΔH的计算过程的示例。
步骤S14:翻转确定单元33h基于ΔH与预定值之间的比较结果执行翻转确定。在翻转确定单元33h确定允许改变状态变量的值的情况下(在“翻转启用”的情况下),执行步骤S15的处理。在翻转确定单元33h确定不允许改变状态变量的值的情况下(在“翻转禁用”的情况下),执行步骤S16的处理。
步骤S15:执行更新处理。在步骤S15的处理中,由状态更新单元33k更新状态,由h&y更新和保持单元33b更新hi XX、hj YX、hi XY、yj,由E更新和保持单元33e和V更新和保持单元33f更新E和V。
步骤S16:控制单元31确定处理是否满足预定的结束条件。例如,在搜索单元33执行翻转确定处理的次数已经达到翻转确定的最大次数的情况下,控制单元31确定满足结束条件。在确定处理满足预定结束条件的情况下,执行步骤S19的处理。在确定处理不满足预定结束条件的情况下,执行步骤S17的处理。
步骤S17:控制单元31确定翻转确定的次数是否指示副本交换周期。例如,在翻转确定的次数除以表示副本交换周期的值的余数为0的情况下,控制单元31确定翻转确定的次数指示副本交换周期。
在确定翻转确定的次数指示副本交换周期的情况下,控制单元31执行步骤S18的处理。在确定翻转确定的次数不指示副本交换周期的情况下,控制单元31使搜索单元33重复从步骤S12开始的处理。
步骤S18:控制单元31执行副本交换处理。例如,控制单元31从多个副本中随机选择两个副本,并且基于副本之间的能量差以及副本之间温度参数的值的差,以预定的交换概率在所选择的两个副本之间交换设置的温度参数的值或状态。在步骤S18的处理之后,控制单元31使搜索单元33重复从步骤S12开始的处理。
步骤S19:输出单元34输出计算结果。例如,输出单元34将以下状态作为计算结果输出:该状态对应于存储在每个副本中的最小能量之中的、所有副本中的最小能量。例如,输出单元34可以将计算结果输出并显示在显示器24a上,将计算结果经由网络27a发送到其它信息处理装置,或者将计算结果存储在外部存储装置中。
接下来,描述上述步骤S11的初始化处理的过程的示例。
图5是示出初始化处理的过程的示例的流程的流程图。
假设E和V被初始化为0。
首先,初始值计算单元33a针对从1至N的每个i以及从1至M的每个j的hi XX、hi XY和hj YX,设置hi XX=bi、hi XY=0以及hj YX=dj(步骤S20)。初始值计算单元33a通过使用表达式yj=f(hj YX)计算从1至M的每个j的yj(步骤S21)。在步骤S21的处理之后,初始值计算单元33a通过使用从1至M的每个j的Fijyj和表达式hi XY=hi XY+Fijyj来更新从1至N的每个i的hi XY(步骤S22)。
然后,初始值计算单元33a将表示状态变量的标识号的变量k设置为k=1(步骤S23),并且通过使用以下表达式更新E:E=E-xk 0hk XX(步骤S24)。此外,初始值计算单元33a通过使用以下表达式来更新从1至N的每个i的hi XX:hi XX=hi XX+Wikxk 0(步骤S25)。这里,xk 0表示在标识号=k的情况下状态变量的初始值。
在步骤S25的处理之后,初始值计算单元33a确定k=N是否成立(步骤S26)。在确定k=N不成立的情况下,设置k=k+1(步骤S27),并且重复从步骤S24开始的处理。
在确定k=N成立的情况下,通过使用表达式hj YX=hj YX+Cjkxk 0,初始值计算单元33a通过使用从1至N的每个k的Cjkxk 0来更新从1至M的每个j的hj YX(步骤S28)。
然后,初始值计算单元33a将表示约束的标识号的变量j设置为j=1(步骤S29)。初始值计算单元33a通过使用表达式Δyj=f(hj YX)-yj计算Δyj,并且通过使用表达式V=V+(λj/2)(f(hj YX))2来更新V(步骤S30)。
然后,初始值计算单元33a通过使用以下表达式来更新从1至N的每个i的hi XY:hi XY=hi XY+FijΔyj(步骤S31)。
在步骤S31的处理之后,初始值计算单元33a确定j=M是否成立(步骤S32)。在确定j=M不成立的情况下,设置j=j+1(步骤S33),并且重复从步骤S30开始的处理。
在确定j=M成立的情况下,初始值计算单元33a结束初始化处理。
接下来,描述图4的步骤S13中的ΔH计算过程的示例。
图6是示出ΔH计算过程的示例的流程的流程图。图6示出了选择Xa作为翻转候选状态变量的情况的示例。
Δx计算单元33d通过使用表达式Δxa=1-2xa来计算xa的值的变化量Δxa。E更新和保持单元33e通过使用表达式E=E-Δxaha XX来计算E的更新值(步骤S40)。
V更新和保持单元33f初始化V以设置V=0(步骤S41)。h&y更新和保持单元33b和V更新和保持单元33f将表示约束的标识号的变量j设置为j=1(步骤S42)。然后,h&y更新和保持单元33b通过使用表达式hj YX=hj YX+CjaΔxa来计算由于xa的值的变化而导致的hj YX的更新值,并且通过使用表达式Δyj=f(hj YX)-yj来计算由于xa的值的变化而导致的Δyj。通过使用更新前的hj YX,yj可以表示为yj=f(hj YX)。通过使用hj YX的更新值,V更新和保持单元33f通过使用以下表达式来计算由于xa的值的变化而导致的V的更新值:V=V+(λj/2)(f(hj YX))2(步骤S43)。
然后,h&y更新和保持单元33b通过使用以下表达式来计算由于xa的值的变化而导致的从1至N的每个i的hi XY的更新值:hi XY=hi XY+FijΔyj(步骤S44)。
在步骤S44的处理之后,h&y更新和保持单元33b以及V更新和保持单元33f确定j=M是否成立(步骤S45)。在确定j=M不成立的情况下,设置j=j+1(步骤S46),并且重复从步骤S43开始的处理。
在确定j=M成立的情况下,ΔH计算单元33g通过计算由于xa的值的变化而导致的更新之后的E+V与该更新之前的E+V之间的差,来计算ΔH(步骤S47),并且结束ΔH的计算。
因为由于xa的值的变化而导致的ΔE可以表示为ΔE=-Δxaha XX,并且由于xa的值的变化而导致的V的变化量ΔV可以表示为ΔV=-Δxaha XY,所以ΔH计算单元33g也可以通过使用以下表达式来计算ΔH:ΔH=-Δxa(ha XX+ha XY)。
图4至图6中所示的过程的顺序仅仅是示例性的,并且可以适当地改变。
利用如上所述的数据处理设备20和处理数据的方法,可以获得与根据第一实施方式的数据处理设备10和处理数据的方法类似的效果。例如,在计算用于计算ΔH的hj YX的更新值时,在步骤S43的处理中读取矩阵C的某一列中的M个系数就足够了。因此,与通过使用矩阵C的所有元素来执行某个状态变量的翻转确定的情况相比,可以减少计算量。此外,可以减少从存储单元32一次读取的数据量。
在步骤S44的处理中,当由于xa的值的变化而导致其值发生变化的辅助变量(yj)的数目是p时,从矩阵F读取的用于更新hi XY的系数的数目可以是Np。因此,由于xa的值的变化而导致从矩阵C和矩阵F中读取的用于更新局部字段的系数的数目是M+Np。
如已经描述的,可以通过使数据处理设备20执行程序来实现上述处理内容。
程序可以被记录在计算机可读记录介质(例如,记录介质26a)上。例如,可以使用磁盘、光盘、磁光盘、半导体存储器等作为记录介质。磁盘的示例包括FD和HDD。光盘的示例包括CD、可记录(R)/可重写(RW)CD、DVD和DVD-R/RW。程序可以被记录在便携式记录介质上以进行分发。在这种情况下,可以将程序从便携式记录介质复制到另外的记录介质(例如,HDD 23)以执行。
(第三实施方式)
图7示出了根据第三实施方式的数据处理设备的示例。在图7中,与图2所示的元件相同的元件由相同的附图标记表示。
根据第三实施方式的数据处理设备40包括耦接至总线的加速器卡41。
加速器卡41是搜索离散优化问题的解的硬件加速器。加速器卡41包括FPGA 41a和DRAM 41b。
在根据第三实施方式的数据处理设备40中,FPGA 41a执行例如图3所示的控制单元31和搜索单元33的处理。
DRAM 41b用作图3所示的存储单元32。
可以设置多个加速器卡41。在这种情况下,例如,可以并行执行副本的处理(例如,图4所示的步骤S12至S16的处理)。
图8是示出FPGA的配置示例的图。
FPGA 41a包括控制器50、状态更新和保持电路51、乘法器52和53、hXX更新和保持电路54、hYX更新和保持电路55、y计算和保持电路56、E更新和保持电路57、V更新和保持电路58、乘法器59、hXY更新和保持电路60和加法电路61。
控制器50控制FPGA 41a的各部分。例如,如图8所示,控制器50生成并输出用于确定状态更新和保持电路51以及y计算和保持电路56的操作时序的时钟信号(clkx,clky)。
控制器50具有选择翻转候选状态变量的功能,以及基于由加法电路61输出的两种类型的局部字段的相加结果来确定是否允许改变翻转候选状态变量的值的功能。例如,在选择xa作为翻转候选状态变量的情况下,控制器50输出标识号=a。基于加法电路61输出的加法结果ha XX+ha XY以及由状态更新和保持电路51输出的Δxa,控制器50计算ΔH=-Δxa(ha XX+ha XY)。控制器50基于ΔH与噪声值之间的比较结果来确定是否允许改变xa的值,其中该噪声值是基于随机数和温度参数的值获得的。
状态更新和保持电路51包括例如寄存器、静态随机存取存储器(SRAM)等,并且保持N个状态变量xi(i=1至N)的值。N个状态变量xi的初始值xi 0被从DRAM 41b中读取,并且被保持在状态更新和保持电路51中。
状态更新和保持电路51在控制器50指定的翻转候选状态变量的值改变的情况下输出改变量。例如,在将a指定为状态变量的标识号的情况下,状态更新和保持电路51输出xa的变化量的Δxa。
在状态更新和保持电路51从控制器50接收到指示允许改变翻转候选状态变量的值的信号的情况下,状态更新和保持电路51通过将状态变量的值从0变到1或者从1变到0来更新状态。
乘法器52输出状态变量的变化量和以下权重值的乘积:存储在DRAM 41b中的N×N权重值Wij的矩阵W中的、与翻转候选状态变量相关的行或列中的权重值。例如,在翻转候选状态变量是xa的情况下,从DRAM 41b中读取矩阵W中的a列中的N个权重值(Wia),并且输出Δxa与Wia的乘积。
乘法器53输出状态变量的变化量与以下系数的乘积:存储在DRAM41b中的M×N系数Cjk的矩阵C中的、与翻转候选状态变量相关的列中的系数。例如,在翻转候选状态变量是xa的情况下,从DRAM 41b中读取矩阵C中的a列中的M个系数(Cja),并且输出Δxa与Cja的乘积。
hXX更新和保持电路54包括例如寄存器、SRAM等,保持N个局部字段hi XX,并且通过将由乘法器52输出的N个乘积中的每一个与N个局部字段hi XX中的对应hi XX相加来计算N个局部字段hi XX的更新值。N个局部字段hi XX的初始值bi被从DRAM 41b中读取,并且被保存在hXX更新和保持电路54中。
hYX更新和保持电路55包括例如寄存器、SRAM等,保持M个局部字段hj YX,并且通过将由乘法器53输出的M个乘积中的每一个与M个局部字段hj YX中的对应hj YX相加来计算M个局部字段hj YX的更新值。M个局部字段hj YX的初始值dj被从DRAM 41b读取,并且被保持在hYX更新和保持电路55中。
y计算和保持电路56计算M个辅助变量yj以及与先前计算的yj的差(Δyj)。在yj是与不等式约束相关的辅助变量的情况下,如上所述,yj可以表示为yj=f(hj YX)=max[0,hj YX]。在yj是与等式约束相关的辅助变量的情况下,如上所述,yj可以表示为yj=f(hj YX)=(hj YX)2。在yj是与绝对值约束相关的辅助变量的情况下,如上所述,yj可以表示为yj=f(hj YX)=abs(hj YX)。
虽然y计算和保持电路56可以是执行与上述多个约束条件中的任何一个对应的f(hj YX)的计算的电路,但是y计算和保持电路56可以是执行与上述多个约束条件中的每一个对应的f(hj YX)的计算的电路。例如,y计算和保持电路56可以包括分别计算上述三种类型的f(hj YX)的三种类型的电路,并且可以在控制器50的控制下切换要使用的电路。
例如,y计算和保持电路56包括寄存器、SRAM等,并且保持已经计算出的M个辅助变量yj。
例如,E更新和保持电路57包括寄存器、SRAM等,保持表达式(1)所示的评价函数的值E,并且计算E的更新值。例如,在允许改变xa的值的情况下,通过以下表达式获得E的更新值:E=E-Δxaha XX。作为E的初始值,在E更新和保持电路57中设置0。
例如,V更新和保持电路58包括寄存器、SRAM等,保持表达式(7)所示的M个约束项的整个大小V,并且计算V的更新值。作为V的初始值,在V更新和保持电路58中设置0。
乘法器59输出从DRAM 41b读取的Δyj与Fij的乘积。
hXY更新和保持电路60例如包括寄存器、SRAM等,保持N个局部字段hi XY,并且通过将由乘法器59输出的针对每个j的FijΔyj与N个局部字段hi XY中的对应hi XY相加来计算N个局部字段hi XY的更新值。作为N个局部字段hi XY的初始值,在hXY更新和保持电路60中设置0。
加法电路61输出在hXY更新和保持电路60中保持的局部字段与hXX更新和保持电路54所保持的局部字段的相加结果。控制器50使用该相加结果进行ΔH的计算。在xa的值改变的情况下,加法电路61输出ha XX+ha XY,如图8所示。
控制器50可以根据E更新和保持电路57的更新输出之前和之后的E计算ΔE,并且根据V更新和保持电路58的更新输出之前和之后的V计算ΔV,从而计算ΔH=ΔE+ΔV。控制器50可以根据E更新和保持电路57的更新输出之前的E以及V更新和保持电路58的更新输出之前的V来计算H=E+V,从而根据更新前的E+V与更新后的E和V之和之间的差来计算ΔH。在这些情况下,可以省略乘法器59、hXY更新和保持电路60以及加法电路61。
同样通过如上所述的根据第三实施方式的数据处理设备40,获得了与根据第二实施方式的数据处理设备20的效果类似的效果。
尽管上面已经基于实施方式描述了根据本公开内容的数据处理设备、程序和处理数据的方法的方面,但是实施方式仅仅是示例性的,并且不限于以上描述。
例如,具有-1或1值的自旋变量(si)可以用作状态变量。在这种情况下,可以将上述状态变量(xi)设置为xi=(si+1)/2。
本文中提供的所有示例和条件性语言旨在以下教学目的:帮助读者理解本发明和发明人为促进技术所贡献的概念,并且不应被解释为对这样的具体列举的示例和条件的限制,本说明书中的这样的示例的组织也与本发明的优势和劣势的展示无关。虽然已经详细描述了本发明的一个或更多个实施方式,但是应当理解,在不脱离本发明的精神和范围的情况下,可以对其进行各种改变、替换和变更。
Claims (7)
1.一种数据处理设备,其中,
所述数据处理设备搜索使包括多个状态变量的伊辛型评价函数的值变为局部最小值或局部最大值的所述多个状态变量的值的组合,并且其中,
所述数据处理设备包括:
存储单元,其存储:多个第一局部字段,其表示在所述多个状态变量中的每一个的值改变的情况下所述评价函数的值的多个第一变化量;多个第一系数,其指示所述多个状态变量中的每一个状态变量对表示约束条件的多个约束项中的每一个约束项的影响强度;以及多个第二局部字段,其由以下二者之和来表示:所述多个第一系数中的每一个第一系数与所述多个状态变量中的每一个状态变量的乘积的总和,以及与所述约束条件相关的第二系数;以及
处理单元,其从所述存储单元读取所述多个第一系数中的与第一状态变量相关的第一系数,其中所述第一状态变量是所述多个状态变量中的任一个,所述处理单元基于所述第一系数来计算在所述第一状态变量的值改变的情况下所述多个第二局部字段的更新值,所述处理单元在所述第一状态变量的值改变的情况下基于所述更新值以及所述多个第一局部字段中的与所述第一状态变量相关的第一局部字段来计算所述评价函数与所述多个约束项的整体大小之和的第二变化量,并且所述处理单元基于所述第二变化量与预定值之间的比较结果来确定是否允许所述第一状态变量的值的改变。
2.根据权利要求1所述的数据处理设备,其中,
在确定允许所述第一状态变量的值的改变的情况下,所述处理单元改变所述第一状态变量的值并且执行更新处理,在所述更新处理中,更新所述多个第一局部字段和所述多个第二局部字段。
3.根据权利要求2所述的数据处理设备,其中,
所述处理单元通过对所述多个状态变量中的每一个执行读取所述第一系数、计算所述更新值、计算所述第二变化量以及确定是否允许所述第一状态变量的值的改变的处理,并且通过执行所述更新处理,来搜索使所述评价函数的值变为所述局部最小值或者所述局部最大值的多个状态变量的值的组合。
4.根据权利要求1所述的数据处理设备,其中,
多个第三系数指示所述多个约束项中的每一个约束项对所述第一状态变量的影响强度,其中,
所述处理单元
计算第三局部字段,所述第三局部字段是通过使用在所述第一状态变量改变的情况下所述多个第二局部字段的更新值计算出的所述多个约束项中的每一个约束项与所述多个第三系数中的每一个第三系数的乘积的总和,并且
通过使用以下二者的乘积来计算所述第二变化量:所述第一状态变量的变化量,以及所述第一局部字段和所述第三局部字段之和。
5.根据权利要求1所述的数据处理设备,其中,
所述约束条件是不等式约束、等式约束或绝对值约束。
6.一种存储程序的非暂态计算机可读记录介质,所述程序搜索使包括多个状态变量的伊辛型评价函数的值变为局部最小值或局部最大值的所述多个状态变量的值的组合,所述程序包括指令,当由计算机执行所述程序时,所述指令使所述计算机执行包括以下操作的处理:
从存储单元中读取多个第一系数中的与第一状态变量相关的第一系数,其中所述第一状态变量是多个状态变量中的任一个,所述存储单元存储:多个第一局部字段,其表示在所述多个状态变量中的每一个的值改变的情况下所述评价函数的值的多个第一变化量;多个第一系数,其指示所述多个状态变量中的每一个状态变量对表示约束条件的多个约束项中的每一个约束项的影响强度;以及多个第二局部字段,其由以下二者之和来表示:所述多个第一系数中的每一个第一系数与所述多个状态变量中的每一个状态变量的乘积的总和,以及与所述约束条件相关的第二系数;
基于所述第一系数来计算在所述第一状态变量的值改变的情况下所述多个第二局部字段的更新值;
在所述第一状态变量的值改变的情况下基于所述更新值以及所述多个第一局部字段中的与所述第一状态变量相关的第一局部字段来计算所述评价函数与所述多个约束项的整体大小之和的第二变化量;以及
基于所述第二变化量与预定值之间的比较结果来确定是否允许所述第一状态变量的值的改变。
7.一种计算机实现的用于搜索使包括多个状态变量的伊辛型评价函数的值变为局部最小值或局部最大值的所述多个状态变量的值的组合的方法,所述方法包括:
从存储单元中读取多个第一系数中的与第一状态变量相关的第一系数,其中所述第一状态变量是多个状态变量中的任一个,所述存储单元存储:多个第一局部字段,其表示在所述多个状态变量中的每一个的值改变的情况下所述评价函数的值的多个第一变化量;多个第一系数,其指示所述多个状态变量中的每一个状态变量对表示约束条件的多个约束项中的每一个约束项的影响强度;以及多个第二局部字段,其由以下二者之和来表示:所述多个第一系数中的每一个第一系数与所述多个状态变量中的每一个状态变量的乘积的总和,以及与所述约束条件相关的第二系数;
基于所述第一系数来计算在所述第一状态变量的值改变的情况下所述多个第二局部字段的更新值;
在所述第一状态变量的值改变的情况下基于所述更新值以及所述多个第一局部字段中的与所述第一状态变量相关的第一局部字段来计算所述评价函数与所述多个约束项的整体大小之和的第二变化量;以及
基于所述第二变化量与预定值之间的比较结果来确定是否允许所述第一状态变量的值的改变。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021101298A JP2023000462A (ja) | 2021-06-18 | 2021-06-18 | データ処理装置、プログラム及びデータ処理方法 |
JP2021-101298 | 2021-06-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115495695A true CN115495695A (zh) | 2022-12-20 |
Family
ID=80595097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210253085.9A Pending CN115495695A (zh) | 2021-06-18 | 2022-03-15 | 数据处理设备、计算机可读记录介质和处理数据的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220405048A1 (zh) |
EP (1) | EP4105843A1 (zh) |
JP (1) | JP2023000462A (zh) |
CN (1) | CN115495695A (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6935356B2 (ja) | 2018-03-30 | 2021-09-15 | 株式会社日立製作所 | 半導体装置、情報処理システム、および情報処理方法 |
WO2020196866A1 (ja) * | 2019-03-28 | 2020-10-01 | 株式会社 東芝 | 情報処理装置、情報処理システム、情報処理方法、記憶媒体およびプログラム |
JP7323777B2 (ja) | 2019-06-18 | 2023-08-09 | 富士通株式会社 | 最適化装置および最適化方法 |
-
2021
- 2021-06-18 JP JP2021101298A patent/JP2023000462A/ja active Pending
-
2022
- 2022-02-24 US US17/679,154 patent/US20220405048A1/en active Pending
- 2022-02-28 EP EP22159139.9A patent/EP4105843A1/en active Pending
- 2022-03-15 CN CN202210253085.9A patent/CN115495695A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2023000462A (ja) | 2023-01-04 |
US20220405048A1 (en) | 2022-12-22 |
EP4105843A1 (en) | 2022-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180075342A1 (en) | Information processing apparatus, ising unit, and information processing apparatus control method | |
US20200042570A1 (en) | Optimization apparatus and method for controlling thereof | |
US11182157B2 (en) | Information processing device, arithmetic device, and information processing method | |
EP3786815A1 (en) | Combinatorial optimization apparatus, combinatorial optimization method, and combinatorial optimization program | |
US20200074279A1 (en) | Optimization apparatus and optimization apparatus control method | |
US20210256090A1 (en) | Optimization apparatus and optimization method | |
JP2021060874A (ja) | 動画要約装置、動画要約方法及び動画要約プログラム | |
CN115495695A (zh) | 数据处理设备、计算机可读记录介质和处理数据的方法 | |
Tong et al. | Data-driven synchronization-avoiding algorithms in the explicit distributed structural analysis of soft tissue | |
EP4258171A1 (en) | Data processing apparatus, program, and data processing method | |
EP4099227A1 (en) | Data processing apparatus, data processing method, and program | |
EP4116886A1 (en) | Data processing apparatus, program of processing data, and method of processing data | |
US20230315943A1 (en) | Data processing apparatus, storage medium, and data processing method | |
EP4131084A1 (en) | Program, data processing method, and data processing apparatus | |
EP3869419A1 (en) | Information processing method, information processing apparatus, and information processing program | |
EP4105837A1 (en) | Computer program, data processing apparatus, and data processing method | |
EP4390784A1 (en) | Data processing apparatus, data processing method, and program | |
EP4068167A1 (en) | Optimization program, optimization method, and optimization apparatus | |
US20240111833A1 (en) | Data processing apparatus and data processing method | |
US20240193447A1 (en) | Data processing device, storage medium, and data processing method | |
EP4080417A1 (en) | Program, data processing method and data processing apparatus | |
JP2024090697A (ja) | データ処理装置、データ処理方法およびプログラム | |
JP2022161128A (ja) | プログラム、データ処理方法及びデータ処理装置 | |
JP2022158010A (ja) | 情報処理システム、情報処理方法、及び情報処理プログラム |
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 |