CN116010754A - 存储程序的计算机可读记录介质、数据处理方法和设备 - Google Patents
存储程序的计算机可读记录介质、数据处理方法和设备 Download PDFInfo
- Publication number
- CN116010754A CN116010754A CN202210801118.9A CN202210801118A CN116010754A CN 116010754 A CN116010754 A CN 116010754A CN 202210801118 A CN202210801118 A CN 202210801118A CN 116010754 A CN116010754 A CN 116010754A
- Authority
- CN
- China
- Prior art keywords
- series data
- value
- time
- temperature
- unit
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 122
- 238000011156 evaluation Methods 0.000 claims abstract description 31
- 230000002123 temporal effect Effects 0.000 claims abstract description 12
- 238000012545 processing Methods 0.000 claims description 106
- 238000009826 distribution Methods 0.000 claims description 43
- 230000006870 function Effects 0.000 claims description 34
- 238000000342 Monte Carlo simulation Methods 0.000 claims description 18
- 230000001186 cumulative effect Effects 0.000 claims description 16
- 238000005315 distribution function Methods 0.000 claims description 15
- 230000015654 memory Effects 0.000 claims description 11
- 238000000513 principal component analysis Methods 0.000 claims description 5
- 238000000638 solvent extraction Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 description 76
- 230000007704 transition Effects 0.000 description 21
- 238000005457 optimization Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 18
- 238000002922 simulated annealing Methods 0.000 description 17
- 238000004458 analytical method Methods 0.000 description 14
- 230000007423 decrease Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000005401 electroluminescence Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- -1 isooctyl Chemical group 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000696 magnetic material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012887 quadratic function Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Artificial Intelligence (AREA)
- Computational Mathematics (AREA)
- Evolutionary Computation (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
涉及存储程序的计算机可读记录介质、数据处理方法和设备。一种用于使计算机执行通过马尔可夫链蒙特卡罗(MCMC)方法搜索使评估函数的值最小化或最大化的多个状态变量值的组合的处理的程序,该处理包括:从存储时间序列数据的存储设备中读取时间序列数据,该时间序列数据指示在通过使用第一温度的MCMC方法进行搜索时评价函数的值的时间变化;基于时间序列数据生成包括针对每个时段的评估函数的值的多个时间序列数据集;基于多个时间序列数据集中的各个时间序列数据集之间的相关性的大小计算指标值;以及基于指标值确定针对搜索所要使用的第二温度。
Description
技术领域
本文中讨论的实施方式涉及存储程序的非暂态计算机可读存储介质、数据处理方法和数据处理设备。
背景技术
存在使用伊辛型评估函数(也称为能量函数等)的伊辛设备(也称为玻耳兹曼机),该伊辛设备作为对诺依曼计算机不擅长的大规模离散优化问题进行计算的设备。
伊辛设备将离散优化问题转换成表示磁性材料的自旋行为的伊辛模型。然后,伊辛设备通过马尔可夫链蒙特卡罗方法诸如模拟退火、副本交换方法等搜索使伊辛型评估函数的值(对应于能量)最小化的伊辛模型的状态。达到评估函数的局部最小值中的最小值的状态是最优解。注意,伊辛设备能够通过改变评估函数的符号来搜索评估函数的值被最大化的状态。伊辛模型的状态可以由多个状态变量的组合来表示。作为状态变量中的每个状态变量的值,可以使用0或1。
伊辛型评估函数例如由诸如以下等式(1)的二次函数定义。
[等式1]
右侧的第一项指示针对伊辛模型的N状态变量的所有组合在没有遗漏也没有交叠的情况下通过将两个状态变量的值(0或1)与权重值(指示两个状态变量之间的相关性的强度)的乘积相加而获得的值。具有标识号i的状态变量由xi表示,具有标识号j的状态变量由xj表示,指示具有标识号i和j的状态变量之间的相关性的大小的权重值由Wij表示。右侧的第二项指示通过对针对每个标识号的偏差系数和状态变量的乘积进行求和而获得的值。标识号=i的偏差系数由bi表示。
此外,与xi的值的改变相关联的能量改变量(ΔEi)由以下等式(2)表示。
[等式2]
在等式(2)中,当xi从1变为0时,Δxi变为-1,而当xi从0变为1时,Δxi变为1。注意,hi被称为局部场(local field),并且通过根据Δxi将hi乘以符号(+1或-1)来获得ΔEi。
然后,例如,在ΔEi小于基于在马尔可夫链蒙特卡罗方法中使用的随机数和温度获得的噪声值的情况下,重复对xi的值进行更新以生成状态转移(state transition)的处理(一个蒙特卡罗步骤的处理)。
在应用作为马尔可夫链蒙特卡罗方法(Markov chain Monte Carlo method)之一的模拟退火的情况下,温度被确定为根据使用时间或预定变量的函数随时间降低。此外,在应用作为马尔可夫链蒙特卡罗方法的另一个示例的副本交换方法的情况下,针对各个副本设置不同的温度。
国际公开小册子第WO 2019/234837号,日本公开特许公报第2020-46718号,S.Geman和D.Geman,“Stochastic Relaxation,Gibbs Distributions,and the BayesianRestoration of Images”,IEEE Transactions on Pattern Analysis and MachineIntelligence,第PAMI-6卷,第6期,1984年11月,Hidetoshi Nishimori,“Theory of SpinGlass and Statistical-Mechanical Informatics”,Iwanami Shoten出版社,第183页,2007年7月25日,T.Yokota、M.Konoshima、H.Tamura和J.Ohkubo,“Derivation of QUBOFormulations for Sparse Estimation”,arXiv:2001.03715v2[quant-ph],2020年1月27日,K.Hukushima,“Domain-Wall Free-Energy of Spin Glass Models:Numerical Methodand Boundary Conditions”,Physical Review E,第60卷,第4期,1999年10月,以及A.Baba和T.Komatsuzaki,“Construction of Effective Free Energy Landscape from Single-Molecule Time Series”,PNAS,第104卷,第49期,第19297-19302页,2007年12月4日作为相关技术公开。
发明内容
技术问题
马尔可夫链蒙特卡罗方法中使用的温度可以基于用户输入的用于确定温度的变量来确定。
然而,难以确定通过其来获得与要计算的离散优化问题对应的温度的适当变量值。这是因为,例如,搜索解的难度水平会根据所确定的温度而改变。通过反复试验获得适当的变量值需要花费更多的精力和时间。
在一个方面,实施方式旨在提供能够根据要计算的离散优化问题自动确定马尔可夫链蒙特卡罗方法中使用的温度的程序、数据处理方法和数据处理设备。
问题的解决方案
根据实施方式的一方面,提供了一种非暂态计算机可读记录介质,存储有程序,该程序用于使计算机执行通过马尔可夫链蒙特卡罗方法搜索使评估函数的值最小化或最大化的多个状态变量值的组合的处理,该处理包括:从存储时间序列数据的存储单元中读取时间序列数据,该时间序列数据指示在通过使用第一温度的马尔可夫链蒙特卡罗方法进行搜索时评估函数的值的时间变化;基于时间序列数据生成多个时间序列数据集,所述多个时间序列数据集包括针对每个预定时段的评估函数的值;基于多个时间序列数据集中的各个时间序列数据集之间的相关性的大小计算指标值;以及基于指标值确定针对搜索所要使用的第二温度。
发明的有益效果
在一个方面,实施方式使得能够根据要计算的离散优化问题自动确定在马尔可夫链蒙特卡罗方法中使用的温度。
附图说明
图1是示出根据第一实施方式的数据处理设备和数据处理方法的示例的图;
图2是示出E的示例性时间变化的图(第一);
图3是示出E的示例性时间变化的图(第二);
图4是示出根据第二实施方式的数据处理设备的示例性硬件的框图;
图5是示出数据处理设备的示例性功能的框图;
图6是示出两个时间序列数据集的示例的图;
图7是示出示例性经验累积分布函数的图;
图8是用于说明示例性聚类的图(第一);
图9是用于说明示例性聚类的图(第二);
图10是示出示例性聚类信息的图;
图11是示出转移概率(transition probability)的示例性计算的图;
图12是示出示例性贡献率的图;
图13是示出用于基于模拟退火执行解搜索的示例性数据处理方法的流程的流程图;
图14是示出用于改变T0、a和γ的示例性处理过程的流程的流程图(第一);
图15是示出用于改变T0、a和γ的示例性处理过程的流程的流程图(第二);
图16是示出用于基于副本交换方法执行解搜索的示例性数据处理方法的流程的流程图;
图17是示出用于改变u和v并计算T(1)至T(n)的示例性处理过程的流程的流程图;以及
图18是示出根据第三实施方式的示例性数据处理设备的图。
具体实施方式
在下文中,将参照附图描述用于执行实施方式的模式。
(第一实施方式)
图1是示出根据第一实施方式的数据处理设备和数据处理方法的示例的图。
根据第一实施方式的数据处理设备10通过马尔可夫链蒙特卡罗方法(在下文中称为MCMC方法)搜索使评估函数的值(能量)最小化或最大化的多个状态变量值的组合。数据处理设备10包括存储单元11和处理单元12。
存储单元11例如是诸如动态随机存取存储器(DRAM)等的电子电路的易失性存储设备,或者是诸如硬盘驱动器(HDD)、闪存等的电子电路的非易失性存储设备。存储单元11可以包括电子电路,诸如寄存器。
存储单元11存储离散优化问题的问题信息(评估函数信息)以及指示能量(E)的时间变化的时间序列数据(sg)。例如,在评估函数由等式(1)表示的情况下,问题信息包括等式(1)的权重值(Wij)和偏差系数(bi)。
例如,在使用MCMC方法的初步搜索期间收集sg。使用例如基于用于确定温度的变量的初始值确定的温度来执行使用MCMC方法的该初步搜索。该温度可以是固定值。例如,通过收集每次一个蒙特卡罗步骤的处理结束时获得的E的值来生成sg。
E的时间变化反映了搜索的难度水平(也可以称为问题的难度水平)。
图2和图3是说明E的示例性时间变化的图。在图2和图3中,横轴表示时间t(对应于蒙特卡罗步骤的数量),纵轴表示能量(E)。
在特定温度条件下执行解搜索时E的时间变化如图3所示的情况下,E的时间变化小于图2所示的时间变化。在这种情况下,可以说搜索的难度水平高于图2所示的情况。例如,在图3所示的情况下,搜索可能无法有效执行,并且可能难以获得解,这包括例如解被约束至局部解的情况。
图1示出了所收集的sg的示例。在每个时间t0、t1、t2、t3…和tsg(例如,每个蒙特卡罗步骤)获得的E的值包含在sg中。例如,sg由元素数量=tsg+1的向量数据表示。矢量数据的元素数量没有特别限制,例如大约为几百。
注意,存储单元11可以存储各种数据,诸如当处理单元12执行将在后面描述的数据处理方法时的计算条件、包括在评估函数中的每个状态变量的初始值和更新值、等等。计算条件包括例如用于诸如模拟退火、副本交换方法等的MCMC方法的计算条件、计算终止条件、等等。此外,在处理单元12通过软件执行将在后面描述的数据处理方法的部分或全部处理的情况下,存储单元11存储用于执行该处理的程序。
处理单元12由例如处理器来实现,该处理器是诸如中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)等的硬件。此外,处理单元12可以由诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)等的电子电路来实现。
例如,处理单元12搜索由等式(1)表示的评估函数的值(能量)被最小化的状态。达到评估函数的局部最小值中的最小值的状态是最优解。注意,处理单元12还能够通过改变由等式(1)表示的评估函数的符号来搜索评估函数的值最大化的状态(在这种情况下,达到最大值的状态是最优解)。
图1示出了处理单元12的示例性部分处理的流程。
例如,处理单元12执行用于收集上述E的时间序列数据(sg)的预搜索处理(步骤S1)。在步骤S1的处理中,处理单元12读出存储在存储单元11中的问题信息等,并且使用例如基于用于确定温度的变量的初始值确定的温度来执行基于诸如模拟退火、副本交换方法等的MCMC方法的解搜索。在搜索时,例如,收集在各个蒙特卡罗步骤中获得的E的值,并将其作为sg存储在存储单元11中。
注意,sg可以从数据处理设备10的外部输入并存储在存储单元11中。
处理单元12从存储单元11读取sg(步骤S2),并从sg生成包括针对每个预定时段的E的值的多个时间序列数据集(步骤S3)。
图1示出了y个时间序列数据集(s(1)、s(2)、s(3)…、s(y))的示例。附图标记s(1)指示包括从时间t0开始的预定时段(ts)的E的值的时间序列数据集。附图标记s(2)和s(3)也指示包括从预定时间(例如,时间t1和t2)开始的预定时段ts的E的值的时间序列数据集,并且s(y)指示包括从预定时间开始至时间tsg的预定时段ts的E的值的时间序列数据集。
注意,虽然在图1的示例中s(1)至s(y)是以多个时间序列数据集从时间t0至tsg交叠(以多个时间序列数据集同时包含E的值的方式)的方式生成的,但是它们可以被生成为彼此不交叠。
处理单元12基于多个时间序列数据集中的各个时间序列数据集之间的相关性的大小来计算表示搜索的难度水平的指标值(步骤S4)。
在步骤S4的处理中,首先,处理单元12获得包括在s(1)至s(y)中的每个中的E的值的概率分布,以生成多个概率分布,从而例如基于s(1)至s(y)中的每个之间的相关性的大小来计算指标值。然后,处理单元12计算各个概率分布之间的距离,该距离表示上述相关性的大小。此外,处理单元12基于各个概率分布之间的距离来计算指标值。处理单元12获得例如经验累积分布函数作为概率分布,并计算例如坎托罗维奇(Kantorovich)距离(也称为瓦瑟斯坦(Wasserstein)距离)作为距离。稍后将描述经验累积分布函数和坎托罗维奇距离的示例性计算。
处理单元12通过例如以下两种方法中的一种或两种方法从各个概率分布之间的距离计算指标值。
第一种方法是这样一种方法,在该方法中,当从将整个距离的集合组成一个聚类的状态开始顺序地划分聚类时,获得每个距离所属的聚类发生改变的概率(在下文中称为转移概率(transition probability))以基于每个转移概率来计算熵作为指标值。
第二种方法是对dk的集合执行主成分分析(或类似方法)以计算其中贡献率小于预定阈值(例如0.2等)的主成分k(在第一主成分的情况下k=1,在第二主成分的情况下k=2等)作为指标值的方法。
在获得如图3所示的针对E的时间变化的时间序列数据集sg的情况下,各个生成的时间序列数据集之间的相关性小于图2所示的针对E的时间变化的时间序列数据sg的情况下的相关性。在这种情况下,熵和k大于基于针对图2所示的E的时间变化的时间序列数据sg计算的值。例如,熵和k表示搜索的难度水平。
稍后将描述上述两种方法的具体示例(参见图8至图12)。
如果在步骤S4的处理中计算出的指标值大于特定阈值,则处理单元12将用于温度确定的变量的当前值设置(改变)为以下值:从该值获得比从用于温度确定的变量的当前值获得的温度高的温度(步骤S5)。这是因为升高温度促进了状态变量的值的改变,这使得解不太可能被约束至局部解,并且可以降低搜索的难度水平。
虽然阈值可以是固定值,但是例如,在稍后描述的步骤S6中的解搜索期间再次收集E的时间序列数据并且重复步骤S2至S6的处理的情况下,先前获得的指标值可以用作阈值。可替选地,基于在针对由与要计算的离散优化问题的问题信息不同的问题信息表示的离散优化问题(例如,等式(1)中的Wij等的值与要计算的优化问题中的Wij等的值不同的问题)的解搜索期间收集的时间序列数据获得的指标值可以用作阈值。
注意,在步骤S5的处理中,如果指标值比阈值(比上述阈值小的阈值)小,则处理单元12也可以将用于温度确定的变量的当前值改变为以下值:从该值获得比从用于温度确定的变量的当前值获得的温度低的温度。这是因为降低温度可以提高搜索速度。
处理单元12使用用于温度确定的改变的变量来确定温度,并使用该温度执行解搜索(步骤S6)。使用例如模拟退火、副本交换方法等来执行解搜索。
用于确定模拟退火的温度的温度确定的变量的示例包括初始温度(T0)、重复应用相同温度的蒙特卡罗步骤的数量(a)、以及温度下降率(γ)。如果通过步骤S4中的处理计算的指标值大于阈值,则在步骤S5的处理中增加T0、a和γ中的任一个或全部的值,从而在比改变这些变量的值之前获得的温度更高的温度下执行解搜索。
用于确定副本交换方法的温度的温度确定的变量的示例包括u和v,其中通过等式Ti=1/(v-u×logei)来确定设置在具有副本号i的副本中的温度Ti。可以通过调整u和v的值来改变Ti。
根据上述数据处理设备10和数据处理方法,获得在特定温度下初步搜索时的能量的时间序列数据,并且生成E的多个时间序列数据集。然后,基于多个时间序列数据集中的各个时间序列数据集之间的相关性的大小来计算表示搜索难度水平的指标值,并且基于该指标值来确定针对搜索所要使用的新温度。结果,数据处理设备10能够根据要计算的离散优化问题自动确定针对搜索所要使用的新温度。
此外,可以抑制以下情况:在该情况中,通过反复试验花费更多的精力和时间来获得用于温度确定的变量的适当值——其中通过变量的适当值获得与要计算的离散优化问题对应的温度。与此同时,可以缩短离散优化问题的计算时间(解搜索时间)。
(第二实施方式)
图4是示出根据第二实施方式的数据处理设备的示例性硬件的框图。
数据处理设备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可以包括与RAM 22不同类型的存储器,或者可以包括多个存储器。
HDD 23是存储诸如操作系统(OS)、中间件、应用软件等软件的程序以及数据的非易失性存储设备。程序包括例如用于使数据处理设备20执行用于搜索离散优化问题的解的处理的程序。注意,数据处理设备20可以包括诸如闪存和固态驱动器(SSD)等的其他类型的存储设备,或者可以包括多个非易失性存储设备。
GPU 24根据来自CPU 21的命令将图像输出至连接至数据处理设备20的显示器24a。可以使用阴极射线管(CRT)显示器、液晶显示器(LCD)、等离子显示面板(PDP)、有机电致发光(OEL)显示器等作为显示器24a。
输入接口25从连接至数据处理设备20的输入设备25a获得输入信号,并将其输出至CPU 21。可以使用定点设备(诸如鼠标、触摸面板、触摸板或轨迹球)、键盘、遥控器、按钮开关等作为输入设备25a。此外,可以将多种类型的输入设备连接至数据处理设备20。
介质读取器26是读取记录在记录介质26a上的程序和数据的读取设备。例如,可以使用磁盘、光盘、磁光盘(MO)、半导体存储器等作为记录介质26a。磁盘的示例包括软盘(FD)和HDD。光盘的示例包括压缩盘(CD)和数字通用盘(DVD)。
介质读取器26将例如从记录介质26a读取的程序或数据复制至另一个记录介质,诸如RAM 22、HDD 23等。读取的程序由例如CPU 21执行。注意,记录介质26a可以是便携式记录介质,并且可以用于分发程序或数据。此外,记录介质26a或HDD 23可以被称为计算机可读记录介质。
通信接口27是连接至网络27a并经由网络27a与另一个信息处理设备通信的接口。通信接口27可以是通过线缆连接至通信设备诸如交换机的有线通信接口,或者可以是通过无线链路连接至基站的无线通信接口。
接下来,将描述数据处理设备20的功能和处理过程。
图5是示出数据处理设备的示例性功能的框图。
数据处理设备20包括输入单元30、控制单元31、存储单元32、分析单元33、温度计算单元34、解搜索单元35和输出单元36。
输入单元30、控制单元31、分析单元33、温度计算单元34、解搜索单元35和输出单元36可以通过使用例如由CPU 21执行的程序模块或CPU 21中的存储区域(区域或高速缓冲存储器)来实现。存储单元32可以通过使用例如固定在RAM 22或HDD 23中的存储区域来实现。
输入单元30例如接收状态变量(x1至xN)的初始值、问题信息和计算条件的输入。问题信息包括包含在等式(1)的评估函数中的权重值(Wij)和偏差系数(bi)。
计算条件包括例如执行模拟退火时的用于温度确定的变量的初始值(上述T0、a和γ)、副本的数量、副本交换周期、以及执行副本交换方法时的每个副本的用于温度确定的变量的初始值(上述u和v)、计算终止条件等。
那些信息可以通过用户对输入设备25a的操作来输入,或者可以经由记录介质26a或网络27a来输入。
控制单元31根据计算条件等控制数据处理设备20的每个单元以执行稍后将描述的处理。
存储单元32存储各种类型的信息,诸如由解搜索单元35获得的E的时间序列数据、问题信息等。
分析单元33通过聚类分析或主成分分析来分析E的时间序列数据,并且基于分析结果来设置用于温度确定的变量的值。
分析单元33包括时间序列数据集生成单元33a、分布计算单元33b、分布间距离计算单元33c、聚类单元33d、转移概率计算单元33e、熵计算单元33f、主分量计算单元33g和温度确定变量设置单元33h。
时间序列数据集生成单元33a从存储单元32读取E的时间序列数据,并生成如图1所示的多个时间序列数据集(s(1)至s(y))。
例如,在从存储单元32读取的E的时间序列数据(sg)中包括的元素(E的值)中,在特定时间的元素大于1σ(=标准偏差)的情况下,时间序列数据集生成单元33a删除该元素。这是因为该元素可能是异常值,并且可能降低计算精度。在如上所述的元素被删除的情况下,时间序列数据集生成单元33a将从下一时间开始的每个元素移位一个时间单位以对准矢量数据。然后,例如,时间序列数据集生成单元33a生成上述图1所示的s(1)至s(y)。
分布计算单元33b获得包括在s(1)至s(y)中的每个中的E的值的概率分布,从而生成多个概率分布。在下文中,作为概率分布的示例,假设分布计算单元33b生成经验累积分布函数。
特定时间序列数据集(s(i))的经验累积分布函数P(x)是表示s(i)的元素具有等于或小于x的值的概率的函数。例如,假设s(i)是s(i)=(4,50,12,45,58,42,17,77,10,46)的向量数据,其中元素的数量=10以简化说明。此外,假设P(x)的x是以10的增量给出的,从10至100。在这种情况下,P(10)表示s(i)等于或小于10的元素的概率,并且在上述示例中,存在等于或小于10的两个元素4和10,由此建立P(10)=2/10=0.2。以类似的方式,P(20)表示s(i)等于或小于20的元素的概率,并且在上述示例中,存在等于或小于20的四个元素,由此建立p(20)=0.4。
分布计算单元33b能够以这种方式获得累积分布函数P(x)。
图6是示出两个时间序列数据集的示例的图。横轴表示元素数量,纵轴表示E的值。注意,图6示出了元素数量为30的两个时间序列数据集(s(i)和s(j))的示例。注意,尽管每个元素的E的值在图6中由直线连接,但这并不意味着在各个元素之间存在其他值。
图6所示的s(i)和s(j)的经验累积分布函数可以例如表示为如下。
图7是示出示例性经验累积分布函数的图。横轴表示x,纵轴表示P(x)。在图7中,Pi表示从s(i)生成的经验累积分布函数,Pj表示从s(j)生成的经验累积分布函数。
分布间距离计算单元33c针对s(1)至s(y)中的每个计算经验累积分布函数之间的分布间距离。在下文中,将假设分布间距离计算单元33c计算坎托罗维奇距离作为分布间距离的示例来给出描述。
如图7所示的经验累积分布函数Pi和Pj之间的坎托罗维奇距离(dK)可以由以下等式(3)表示。
[等式3]
注意,虽然等式(3)涉及极限,但是E的值是有限的,并且如图7所示的Pi和Pj之间的差的累积绝对值(对应于面积)是dK。dK越大,Pi和Pj之间的分布不一致性程度越大。
分布间距离计算单元33c针对y s(1)至s(y)的所有组合计算dK。因此,所计算的dK的计数是yC2。
聚类单元33d将yC2个dK(dK(1)、dK(2)、dK(2)…和dK(yC2))分类为聚类。例如,聚类单元33d首先从整个dK(1)至dK(yC2)被组成一个聚类的状态顺序地划分聚类。
图8和图9是用于说明示例性聚类的图。横轴表示坎托罗维奇距离(dK),纵轴表示获得的dK的每个计数。
首先,聚类单元33d使用均值滤波器对如图8所示的dK直方图执行外插以生成分布40。
从直方图生成像分布40那样的平滑分布的方法不限于使用均值滤波器的方法。例如,聚类单元33d可以使用诸如核密度估计等技术。
例如,聚类单元33d首先将分布40的整个dK分类为一个聚类L(1)。此外,聚类单元33d将使分布40最小化的dK值中最接近0的dK设置为阈值(TH1)。然后,聚类单元33d将等于或小于TH1的dK值的集合分类为通过划分聚类L(1)获得的聚类L(2)。
此后,聚类单元33d再次将均值滤波器应用于等于或小于TH1的dK值的集合,以生成如图9所示的分布41。然后,聚类单元33d将使分布41最小化的dK值中最接近0的dK设置为阈值(TH2)。然后,聚类单元33d将等于或小于TH2的dK值的集合分类为通过划分聚类L(2)获得的聚类L(3)。
聚类单元33d重复上述处理。例如,当阈值不改变时终止分类。当分类终止时,各个dK(1)至dK(yC2)最后被分类到的L(i)(i=1、2等等)是各个dK(1)至dK(yC2)所属的聚类。
注意,例如,存在如A.Baba和T.Komatsuzaki,“Construction of Effective FreeEnergy Landscape from Single-Molecule Time Series”,PNAS,第104卷,第49期,第19297-19302页,2007年12月4日中所描述的作为指示聚类和分布之间的关系的示例的技术。
聚类单元33d输出包括关于dK(1)至dK(yC2)中的每个所属的L(i)的转移的信息的聚类信息。
图10是示出聚类信息的示例的图。
图10示出了包括dK(1)至dK(yC2)中的每个所属的L(i)的转移的聚类信息的示例。例如,dK(1)所属的聚类按照L(1)、L(2)、L(3)和L(4)的顺序转移。
随着整个dK(1)至dK(yC2)的转移的数量变大,聚类的数量变大并且更复杂。这意味着搜索的难度水平更高。
转移概率计算单元33e基于由聚类单元33d输出的聚类信息获得dK属于通过划分生成的新聚类的概率(转移概率)。在下文中,当分类为L(i)的dK转移为L(j)时的转移概率将被称为pij。pij的值是通过在将从L(i)转移至L(j)的dK的数量除以生成L(j)之前的L(i)的dK的总数量而获得的值。
图11是示出转移概率的示例性计算的图。
图11示出了一些pij的示例性计算。在图11的示例中,指示从L(1)至L(2)的转移概率(p12)是0.615,并且从L(1)至L(3)的转移概率(p13)是0.385。
注意,转移概率计算单元33e还计算dK停留在L(i)处的概率(停留概率(pi))。pi的值是通过将生成L(j)之前的L(i)的dK的总数量减去转移至L(j)的dK的数量获得的值除以生成L(j)之前的L(i)的dK的总数量而获得的值。
熵计算单元33f根据pij和pi计算熵,并将其输出。熵(H)可以由以下等式(4)表示。
[等式4]
在等式(4)中,n表示所生成的聚类的数量。
表明,随着H变大,时间序列数据集之间的相关性变小,搜索变困难。
主成分计算单元33g对由分布间距离计算单元33c计算的dK值的集合执行主成分分析,计算贡献率小于预定阈值(例如0.2等)的主成分k(在第一主成分的情况下k=1,在第二主成分的情况下k=2,等等),并将其输出。
图12是示出示例性贡献率的图。横轴表示主成分(第一主成分、第二主成分等),纵轴表示贡献率。
图12示出了基于通过在两种不同温度条件下执行的解搜索获得的E的时间序列数据的贡献率的计算结果42和43。注意,计算结果42和43被平滑。
在图12的示例中,贡献率小于从第一主成分计算的阈值th(在图12的示例中为0.2)的第一主成分是计算结果42中的第三主成分和计算结果43中的第二主成分。因此,针对计算结果42,k=3,针对计算结果43,k=2。
表明,随着k变大,时间序列数据集之间的相关性变小,搜索变困难。
注意,主成分计算单元33g例如可以将相对于较低维(例如,第一至第三主成分)的贡献率的总斜率的倒数设置为k。
温度确定变量设置单元33h基于由熵计算单元33f计算的H或由主成分计算单元33g计算的k与阈值之间的比较结果来设置用于温度确定的变量。
虽然阈值可以是固定值,但是也可以使用先前获得的H或k作为阈值。可替选地,可以将基于在针对由与要计算的离散优化问题的问题信息不同的问题信息表示的离散优化问题(例如,等式(1)中的Wij等的值与要计算的优化问题的Wij等的值不同的问题)的解搜索期间收集的时间序列数据获得的H或k用作阈值。
温度计算单元34使用用于温度确定的设置变量来计算温度。用于确定模拟退火的温度的温度确定的变量的示例包括初始温度(T0)、重复应用相同温度的蒙特卡罗步骤的数量(a)、以及温度下降率(γ)。用于确定副本交换方法的温度的温度确定的变量的示例包括u和v,其中通过等式Ti=1/(v-u×logei)来确定设置在具有副本号i的副本中的温度Ti。稍后将描述温度计算处理的示例。
解搜索单元35例如基于从存储单元32读取的问题信息和由温度计算单元34计算的温度使用诸如模拟退火、副本交换方法等的MCMC方法执行针对使等式(1)中指示的E的值最小化的状态变量值的组合(最优解)的搜索。
输出单元36在控制单元31的控制下输出解搜索单元35的结果(计算结果)。例如,当执行副本交换方法时,输出单元36输出与在每个副本中重复预定次数的翻转确定处理之后存储的最小能量中的所有副本的最小能量对应的状态作为计算结果。
例如,输出单元36可以将计算结果输出至显示器24a以进行显示,经由网络27a将计算结果发送至另一个信息处理设备,或者将计算结果存储在外部存储设备中。
在下文中,将描述数据处理设备20的处理过程(数据处理方法)。
图13是示出用于基于模拟退火执行解搜索的示例性数据处理方法的流程的流程图。
步骤S10:输入单元30接收x1至xN的初始值、上述问题信息和计算条件(包括T0、a和γ的初始值(其是用于基于模拟退火的搜索的温度确定的变量)、用于执行预搜索处理的蒙特卡罗步骤的数量等)的输入。例如,将问题信息和计算条件存储在存储单元32中。
步骤S11:在控制单元31的控制下执行初始化处理。例如,在解搜索单元35中设置x1至xN的初始值。此外,解搜索单元35基于x1至xN、Wij等的初始值来计算E的初始值。在温度计算单元34中设置作为用于温度确定的变量的T0、a、γ的初始值。
步骤S12:解搜索单元35执行预搜索处理。在预搜索处理中,使用基于作为用于温度确定的变量的T0、a和γ的初始值计算的温度来执行基于预定数量的蒙特卡罗步骤的模拟退火的解搜索。通过与稍后描述的步骤S14至S20的处理类似的处理来执行解搜索。在步骤S12的预搜索处理中,例如,收集在各个蒙特卡罗步骤中获得的E的值,并将其作为时间序列数据(sg)存储在存储单元32中,如图1所示。
步骤S13:分析单元33基于所收集的sg执行T0、a和γ的改变处理。稍后将描述改变处理的过程。
步骤S14:解搜索单元35选择要经受从x1至xN的值变化的候选(在下文中称为翻转候选)的状态变量。例如,解搜索单元35随机地或以预定顺序选择翻转候选的状态变量。
步骤S15:解搜索单元35在所选择的状态变量的值改变的情况下计算由等式(2)表示的E的改变量(ΔE)。
步骤S16:解搜索单元35基于ΔE与预定值之间的比较结果来确定是否允许翻转候选的状态变量的值的改变(是否允许翻转)。在下文中,该确定处理将被称为翻转确定处理。
预定值例如是基于随机数和温度获得的噪声值。例如,在ΔE小于log(rand)×T的情况下——其中log(rand)×T是基于0或更大并且1或更小的均匀随机数(rand)和温度(T)获得的噪声值的示例——解搜索单元35确定允许翻转候选的状态变量的值的改变。
如果确定允许翻转,则解搜索单元35执行步骤S17的处理,如果确定不允许翻转,则执行步骤S18的处理。
步骤S17:解搜索单元35改变在步骤S14的处理中选择的状态变量的值,从而更新存储单元32中存储的状态,并且还与该改变相关联地更新E的值。
步骤S18:解搜索单元35确定是否满足预定终止条件。例如,当翻转确定的计数达到预定数量的蒙特卡罗步骤时,解搜索单元35确定满足终止条件。如果确定不满足终止条件,则执行步骤S19的处理,如果确定满足终止条件,则执行步骤S21的处理。
步骤S19:温度计算单元34确定是否是温度改变定时。例如,在通过将翻转确定的当前计数除以a获得的余数是0的情况下,其中a是重复应用相同温度的蒙特卡罗步骤的数量,温度计算单元34确定其是温度改变定时。
如果确定是温度改变定时,则执行步骤S20的处理,如果确定不是温度改变定时,则重复从步骤S14开始的处理。
步骤S20:温度计算单元34通过计算下一个温度来改变温度。温度计算单元34通过将当前温度T乘以作为用于温度确定的变量之一的温度下降率(γ)来计算下一个温度。
在步骤S20的处理之后,重复从步骤S14开始的处理。
步骤S21:当满足终止条件时,输出单元36输出状态变量值的组合(状态)作为离散优化问题的计算结果。注意,解搜索单元35可以在任何时间更新和保留迄今为止是最小值的E的值(最小能量)和对应的状态,并且输出单元36可以输出与满足终止条件的时间点的最小能量对应的状态作为计算结果。
结果,终止由数据处理设备20执行的基于模拟退火来搜索解的处理。
注意,存储单元32可以收集在各个翻转确定处理之后获得的预定数量的蒙特卡罗步骤的E的值作为时间序列数据(sg),并且分析单元33可以以预定频率重复基于sg改变T0、a和γ的处理。
接下来,将描述由分析单元33执行的用于改变T0、a和γ的示例性处理过程。
图14和图15是示出用于改变T0、a和γ的示例性处理过程的流程的流程图。
步骤S30:时间序列数据集生成单元33a从存储单元32读取E的时间序列数据(sg)。
步骤S31:如果特定时间的元素大于1σ(=标准偏差),则时间序列数据集生成单元33a在sg的元素(E的值)中删除该元素。在如上所述的元素被删除的情况下,时间序列数据集生成单元33a将从下一时间开始的每个元素移位一个时间单位以对准矢量数据。
步骤S32:时间序列数据集生成单元33a生成例如如上述图1所示的s(1)至s(y)。
步骤S33:分布计算单元33b如以上所述(见图7)针对s(1)至s(y)中的每个生成经验累积分布函数。然后,如上所述,分布间距离计算单元33c计算s(1)至s(y)中的每个的经验累积分布函数之间的坎托罗维奇距离(例如,由上述等式(3)表示)。
步骤S34:聚类单元33d首先将用于识别聚类的变量i设置为1。
步骤S35:聚类单元33d将所有的dK分类为L(1)。
步骤S36:聚类单元33d基于属于聚类L(i)的dK的直方图生成如图8和图9所示的分布,并通过上述方法设置阈值。
步骤S37:聚类单元33d确定阈值是否已经相对于先前设置的阈值改变。如果确定阈值已经相对于先前设置的阈值改变,则聚类单元33d执行步骤S38的处理,并且如果确定阈值没有改变,则聚类单元33d执行步骤S40的处理。
步骤S38:聚类单元33d设置i=i+1。
步骤S39:聚类单元33d将等于或小于设置的阈值的dK分类为L(i),并重复步骤S36的处理。
步骤S40:聚类单元33d输出如图10所示的聚类信息,聚类信息包括关于dK(1)至dK(yC2)中的每个所属的L(i)的转移的信息。
步骤S41:转移概率计算单元33e基于由聚类单元33d输出的聚类信息来计算当分类为L(i)的dK转移至L(j)时的上述转移概率(pij)。
步骤S42:转移概率计算单元33e计算dK停留在L(i)处的上述停留概率(pi)。
步骤S43:转移概率计算单元33e输出pij和pi。
步骤S44:熵计算单元33f根据pij和pi计算并输出熵(H)(例如,由上述等式(4)表示)。
步骤S45:主成分计算单元33g对由分布间距离计算单元33c计算的dK值的集合执行主成分分析。
步骤S46:例如,主成分计算单元33g输出贡献率<th(例如,0.2等)的主成分k,如上所述(见图12)。
注意,例如,在上述每个步骤的处理中获得的数据(H、k等)可以根据需要存储在存储单元32中。
步骤S47:例如,温度确定变量设置单元33h从温度计算单元34获得作为用于温度确定的当前变量的T0、a和γ的值。注意,如果在步骤S47的处理中将先前获得的H或k用作阈值,则温度确定变量设置单元33h从例如存储单元32获得H或k。
步骤S48:温度确定变量设置单元33h确定由熵计算单元33f计算的H是否大于预定阈值(THa)或者由主分量计算单元33g计算的k是否大于预定阈值(THb)。如果用于温度确定的变量的改变以预定频率重复,则THa可以是先前获得的H,并且THb可以是先前获得的k。此外,温度确定变量设置单元33h确定是否接近H=0或接近k=1。例如,当接近H=0或接近k=1时,x1至xN的值几乎没有改变(例如,因为解被约束至局部解),由此期望通过提高温度来促进x1至xN的值的改变。
通过确定H是否在自H=0起的预定范围内或k是否在自k=1起的预定范围内,可以确定是否接近H=0或接近k=1。
如果温度确定变量设置单元33h确定THa<H,THb<k,并且H=接近0或k=接近1,则执行步骤S49的处理。如果温度确定变量设置单元33h确定不满足THa<H,不满足THb<k,不满足H=接近0,也不满足k=接近1,则执行步骤S50的处理。
步骤S49:温度确定变量设置单元33h增加作为用于温度确定的变量的T0、a和γ的值。例如,温度确定变量设置单元33h将T0增加1,将a的值增加10,并且将γ的值增加0.1。由于γ表示温度下降速率,因此其小于1.0。注意,温度确定变量设置单元33h可以增加T0、a或γ的值中的任何一个或两个。
步骤S50:温度确定变量设置单元33h减小作为用于温度确定的变量的a和γ的值。例如,温度确定变量设置单元33h将T0的值保持不变,并且将a的值减小10并且将γ的值减小0.1。注意,温度确定变量设置单元33h可以减小a和γ中的任一个的值。
步骤S51:温度确定变量设置单元33h输出T0、a和γ的值。温度计算单元34使用输出T0、a和γ来计算温度。
注意,图13至图15所示的处理流程是示例,处理顺序也可以根据需要改变。
例如,虽然步骤S41至S44的处理被示为与图15中的步骤S45和S46的处理并行执行,但是步骤S41至S44的处理可以在步骤S45和S46的处理之前或之后执行。
此外,可以仅执行步骤S41至S44的处理以及步骤S45和S46的处理中的一个。
根据上述数据处理方法,可以自动设置模拟退火中的用于温度确定的变量,并根据要计算的离散优化问题自动确定模拟退火中使用的温度。
接下来,将描述用于基于副本交换方法执行解搜索的数据处理方法。
图16是示出用于基于副本交换方法执行解搜索的示例性数据处理方法的流程的流程图。
步骤S60:输入单元30接收x1至xN的初始值、上述问题信息和计算条件(包括复本的数量、复本交换周期、u和v(其是用于每个复本的温度确定的变量)的初始值、用于执行预搜索处理的蒙特卡罗步骤的数量等)的输入。例如,将问题信息和计算条件存储在存储单元32中。
步骤S61:在控制单元31的控制下执行初始化处理。例如,在解搜索单元35的每个副本中设置x1至xN的初始值。此外,解搜索单元35基于x1至xN、Wij等的初始值来计算E的初始值。在温度计算单元34中设置作为用于温度确定的变量的u和v的初始值。注意,在以下的描述中,假设副本的数量为n。
步骤S62:解搜索单元35执行预搜索处理。在预搜索处理中,例如,基于作为用于温度确定的变量的u和v的初始值,针对每个副本设置由等式Ti=1/(v-u×logei)计算的温度,并且执行基于副本交换方法的解搜索。通过与稍后描述的步骤S64至S70的处理类似的处理来执行基于副本交换方法的解搜索。在步骤S62的预搜索处理中,例如,针对每个副本收集在各个蒙特卡罗步骤中获得的E的值,并将其作为时间序列数据(sg)存储在存储单元32中,如图1所示。
步骤S63:分析单元33基于所收集的sg改变u和v,并且温度计算单元34计算T(1)至T(n)。T(1)至T(n)表示为针对副本号i=1至n的副本设置的温度,并且T(1)>T(2)…>T(n)。稍后将描述步骤S63中的处理过程。
步骤S64:解搜索单元35针对每个副本从x1至xN选择翻转候选的状态变量。例如,解搜索单元35随机地或以预定顺序选择翻转候选的状态变量。
步骤S65:解搜索单元35计算每个副本中在选择的状态变量的值改变的情况下由等式(2)表示的E的改变量(ΔE)。
步骤S66:解搜索单元35基于ΔE与噪声值之间的比较结果针对每个副本执行翻转确定处理。
如果确定允许翻转,则解搜索单元35执行步骤S67的处理,如果确定不允许翻转,则执行步骤S68的处理。
步骤S67:解搜索单元35在确定允许翻转的副本中改变在步骤S64的处理中选择的状态变量的值,从而更新存储单元32中存储的该副本的状态。此外,解搜索单元35还与该改变相关联地更新E的值。
步骤S68:解搜索单元35确定是否满足预定终止条件。例如,当翻转确定的计数达到预定数量的蒙特卡罗步骤时,解搜索单元35确定满足终止条件。如果确定不满足终止条件,则执行步骤S69的处理,如果确定满足终止条件,则执行步骤S71的处理。
步骤S69:解搜索单元35确定是否是副本交换定时。例如,如果通过将翻转确定的当前计数除以指示副本交换周期的蒙特卡罗步骤的数量而获得的余数是0,则解搜索单元35确定是副本交换定时。
如果确定是副本交换定时,则执行步骤S70的处理,如果确定不是副本交换定时,则重复步骤S64的处理。
步骤S70:解搜索单元35执行副本交换。
例如,解搜索单元35随机地选择多个副本中的两个副本,并且基于副本之间的能量或温度值的差异,以预定的交换概率在所选择的两个副本之间交换具有E的值的x1至xN的值。
在步骤S70的处理之后,重复从步骤S64开始的处理。
步骤S71:解搜索单元35在任何时间更新并保留迄今为止为最小值的E的值(最小能量)和对应的状态,并且输出单元36输出与满足终止条件的时间点的最小能量对应的状态作为计算结果。
结果,终止由数据处理设备20执行的基于副本交换方法来搜索解的处理。
注意,存储单元32可以收集在每个副本中的各个翻转确定处理之后获得的预定数量的蒙特卡罗步骤的E值作为时间序列数据(sg)。然后,分析单元33可以以预定频率针对每个副本重复基于sg改变u和v的处理。
接下来,将描述用于使用分析单元33改变u和v并计算T(1)至T(n)的示例性处理过程。
如果在预搜索处理中针对每个副本收集了sg,则分析单元33针对每个副本执行例如图14和图15中所示的步骤S30至S46的处理。
此后,分析单元33的温度确定变量设置单元33h和温度计算单元34执行以下处理。
图17是示出用于改变u和v并计算T(1)至T(n)的示例性处理过程的流程的流程图。
步骤S80:温度确定变量设置单元33h从例如温度计算单元34获得作为用于温度确定的当前变量的u和v的值以及当前温度(T(1)至T(n))。注意,如果在步骤S84的处理中将先前获得的针对每个副本的H或k用作阈值,则温度确定变量设置单元33h从例如存储单元32获得H或k。
步骤S81:温度确定变量设置单元33h和温度计算单元34根据通过直至步骤S46的处理获得的每个副本的H或k来切换温度。例如,以将T(1)至T(n)中的较高温度分配给具有较大H或k的副本的方式来切换温度。这是因为如上所述,当H或k变大时,在该温度中的搜索变得更加困难。
步骤S82:温度确定变量设置单元33h确定每个副本的H或k的最小值是否接近H=0或接近k=1。通过确定H是否在自H=0起的预定范围内或k是否在自k=1起的预定范围内,可以确定是否接近H=0或接近k=1。
如果温度确定变量设置单元33h确定每个副本的H或k的最小值接近H=0或接近k=1,则执行步骤S83的处理。如果温度确定变量设置单元33h确定每个副本的H或k的最小值既不是接近H=0也不是接近k=1,则执行步骤S84的处理。
步骤S83:为了提高其中H或k是上述最小值的目标副本的温度,温度确定变量设置单元33h调整(改变)针对该副本的u和v的值。
执行这种处理是因为当接近H=0或接近k=1时例如x1至xN的值几乎没有改变(例如,因为解被约束至局部解),因此期望通过提高温度来促进x1至xN的值的改变。u和v的值以使得温度的提高变为例如大约1的方式进行调节。
注意,如果通过上述调节,T(1)至T(n)中的T(i)的值增加以变成与T(i-1)的值相同的值(或可以被视为相同的值),则温度确定变量设置单元33h也以类似的方式升高T(i-1)的值。
步骤S84:温度确定变量设置单元33h确定各个副本的H的最大值是否小于预定阈值(THa),或者各个副本的k的最大值是否小于预定阈值(THb)。如果用于温度确定的变量的改变以预定频率重复,则THa可以是先前获得的各个副本的H的最大值,并且THb可以是先前获得的各个副本的k的最大值。
如果确定THa的最大值>H或THb的最大值>k,则执行步骤S85的处理,如果确定为既不是THa的最大值>H也不是THb的最大值>k,则执行步骤S86的处理。
步骤S85:为了降低其中H或k是上述最大值的目标副本的温度,温度确定变量设置单元33h调整(改变)针对该副本的u和v的值。执行这种处理以促进解收敛,因为如果是THa的最大值>H或THb的最大值>k,则存在温度过度提高的可能性。
u和v的值以使得温度的减小例如变为大约1的方式进行调节。
注意,如果通过上述调节,T(1)至T(n)中的T(i)的值减小以变成与T(i+1)的值相同的值(或可以被视为相同的值),则温度确定变量设置单元33h也以类似的方式降低T(i+1)的值。
步骤S86:温度计算单元34基于如上所述调整的u和v计算新的T(1)至T(n),并输出确定的T(1)至T(n)。
注意,图16至图17所示的处理流程是示例,处理顺序也可以根据需要改变。
此外,以与使用模拟退火的情况类似的方式,如果H的最大值或k的最大值大于预定阈值,则温度确定变量设置单元33h可以调整u和v的值以增加目标副本的温度。
根据上述数据处理方法,可以自动设置用于副本交换方法中的温度确定的变量,并根据要计算的离散优化问题自动确定副本交换方法中使用的温度。
注意,如上所述,上述处理内容可以通过使数据处理设备20执行程序来实现。
程序可以被记录在计算机可读记录介质(例如,记录介质26a)中。例如,可以使用磁盘、光盘、磁光盘、半导体存储器等作为记录介质。磁盘的示例包括FD和HDD。光盘的示例包括CD、可记录(R)/可重写(RW)CD、DVD和DVD-R/RW。程序可以被记录在便携式记录介质上并被分发。在那种情况下,可以将程序从便携式记录介质复制到另一个记录介质(例如,HDD23),然后执行。
(第三实施方式)
图18是示出根据第三实施方式的示例性数据处理设备的示图。在图18中,与图4所示相同的元件用相同的附图标记表示。
根据第三实施方式的数据处理设备50包括连接至总线的加速器卡51。
加速器卡51是搜索离散优化问题的解的硬件加速器。加速器卡51包括FPGA51a和DRAM 51b。
在根据第三实施方式的数据处理设备50中,例如,FPGA51a执行图5所示的解搜索单元35的处理。此外,DRAM 51b可以用作图5所示的存储单元32。注意,虽然图5中的控制单元31、分析单元33和温度计算单元34的处理可以由CPU 21执行,但是处理也可以由FPGA51a执行。
可以有多个加速器卡51。
具有上述硬件配置的数据处理设备50也能够执行与根据第二实施方式的数据处理设备20类似的处理,并且可以获得类似的效果。
虽然已经基于实施方式描述了实施方式的程序的一个方面、数据处理方法的一个方面和数据处理设备的一个方面,但是这些仅仅是示例,并且不限于以上描述。
Claims (10)
1.一种非暂态计算机可读记录介质,存储有程序,所述程序用于使计算机执行通过马尔可夫链蒙特卡罗方法搜索使评估函数的值最小化或最大化的多个状态变量值的组合的处理,所述处理包括:
从存储时间序列数据的存储单元读取时间序列数据,所述时间序列数据指示在通过使用第一温度的所述马尔可夫链蒙特卡罗方法进行搜索时所述评估函数的值的时间变化;
基于所述时间序列数据生成多个时间序列数据集,所述多个时间序列数据集包括针对每个预定时段的所述评估函数的值;
基于所述多个时间序列数据集中的各个时间序列数据集之间的相关性的大小来计算指标值;以及
基于所述指标值来确定针对所述搜索所要使用的第二温度。
2.根据权利要求1所述的非暂态计算机可读记录介质,使计算机执行处理还包括:
设置用于温度确定的变量的值,使得在所述指标值大于第一阈值的情况下获得高于所述第一温度的第二温度,其中
所述指标值随着所述相关性变低而增加。
3.根据权利要求1或2所述的非暂态计算机可读记录介质,使计算机执行处理还包括:
通过获得包括在所述多个时间序列数据集中的各个时间序列数据集中的所述评估函数的值的概率分布来生成多个概率分布;
计算所述多个概率分布中的各个概率分布之间的距离,所述距离指示相关性的大小;以及
基于所述多个概率分布中的各个概率分布之间的所述距离来计算所述指标值。
4.根据权利要求3所述的非暂态计算机可读记录介质,其中,所述多个概率分布包括经验累积分布函数。
5.根据权利要求3或4所述的非暂态计算机可读记录介质,其中,所述距离包括坎托罗维奇距离。
6.根据权利要求3至5中任一项所述的非暂态计算机可读记录介质,使计算机执行处理还包括:
基于所述多个概率分布中的各个概率分布之间的所述距离的直方图,从将整个所述距离的集合组成一个聚类的状态顺序地划分聚类;
计算所述距离所属的聚类改变的概率;以及
基于所述概率来计算作为所述指标值的熵。
7.根据权利要求3至6中任一项所述的非暂态计算机可读记录介质,使计算机执行处理还包括:
对所述多个概率分布中的各个概率分布之间的所述距离执行主成分分析;以及
使用贡献率低于第二阈值的主成分作为所述指标值。
8.根据权利要求1至7中任一项所述的非暂态计算机可读存储介质,其中
所述指标值表示通过所述马尔可夫链蒙特卡罗方法进行的搜索的难度水平。
9.一种由计算机实现的数据处理方法,被配置成执行通过马尔可夫链蒙特卡罗方法搜索使评估函数的值最小化或最大化的多个状态变量值的组合的处理,所述数据处理方法包括:
从存储时间序列数据的存储单元读取时间序列数据,所述时间序列数据指示在通过使用第一温度的所述马尔可夫链蒙特卡罗方法进行搜索时所述评估函数的值的时间变化;
基于所述时间序列数据生成多个时间序列数据集,所述多个时间序列数据集包括针对每个预定时段的所述评估函数的值;
基于所述多个时间序列数据集中的各个时间序列数据集之间的相关性的大小来计算指标值;以及
基于所述指标值来确定针对所述搜索所要使用的第二温度。
10.一种数据处理设备,其通过马尔可夫链蒙特卡罗方法搜索使评估函数的值最小化或最大化的多个状态变量值的组合,所述数据处理设备包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置成执行处理,所述处理包括:
从存储时间序列数据的存储单元读取时间序列数据,所述时间序列数据指示在通过使用第一温度的所述马尔可夫链蒙特卡罗方法进行搜索时所述评估函数的值的时间变化;
基于所述时间序列数据生成多个时间序列数据集,所述多个时间序列数据集包括针对每个预定时段的所述评估函数的值;
基于所述多个时间序列数据集中的各个时间序列数据集之间的相关性的大小来计算指标值;以及
基于所述指标值来确定针对所述搜索所要使用的第二温度。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021-171380 | 2021-10-20 | ||
JP2021171380A JP2023061477A (ja) | 2021-10-20 | 2021-10-20 | プログラム、データ処理方法及びデータ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116010754A true CN116010754A (zh) | 2023-04-25 |
Family
ID=82258349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210801118.9A Pending CN116010754A (zh) | 2021-10-20 | 2022-07-08 | 存储程序的计算机可读记录介质、数据处理方法和设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230122178A1 (zh) |
EP (1) | EP4170558A1 (zh) |
JP (1) | JP2023061477A (zh) |
CN (1) | CN116010754A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117851815B (zh) * | 2024-03-07 | 2024-05-10 | 哈能(浙江)电力科技有限公司 | 一种开关柜安全状态实时预警方法及系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014100249A (ja) * | 2012-11-19 | 2014-06-05 | Toshiba Corp | 血管解析装置、医用画像診断装置、血管解析方法、及び血管解析プログラム |
EP3188038B1 (en) * | 2015-12-31 | 2020-11-04 | Dassault Systèmes | Evaluation of a training set |
JP6775711B2 (ja) | 2018-06-05 | 2020-10-28 | 三菱電機株式会社 | 最適化システム、最適化方法、制御回路およびプログラム記憶媒体 |
US10685159B2 (en) * | 2018-06-27 | 2020-06-16 | Intel Corporation | Analog functional safety with anomaly detection |
JP7206476B2 (ja) | 2018-09-14 | 2023-01-18 | 富士通株式会社 | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム |
JP2021131611A (ja) * | 2020-02-18 | 2021-09-09 | 富士通株式会社 | 情報処理装置、プログラム、情報処理方法および情報処理システム |
JP7417078B2 (ja) * | 2020-02-27 | 2024-01-18 | 富士通株式会社 | 情報処理装置、情報処理方法およびプログラム |
US11836651B2 (en) * | 2020-03-05 | 2023-12-05 | Fujitsu Limited | Automatic adjustment of replica exchange |
JP2021168096A (ja) * | 2020-04-13 | 2021-10-21 | 富士通株式会社 | サンプリング装置、サンプリング方法及びサンプリングプログラム |
JP7513871B2 (ja) * | 2020-04-27 | 2024-07-10 | 富士通株式会社 | 情報処理装置、情報処理方法およびプログラム |
-
2021
- 2021-10-20 JP JP2021171380A patent/JP2023061477A/ja active Pending
-
2022
- 2022-06-16 US US17/841,721 patent/US20230122178A1/en active Pending
- 2022-06-23 EP EP22180698.7A patent/EP4170558A1/en not_active Withdrawn
- 2022-07-08 CN CN202210801118.9A patent/CN116010754A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4170558A1 (en) | 2023-04-26 |
US20230122178A1 (en) | 2023-04-20 |
JP2023061477A (ja) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6703264B2 (ja) | 機械学習管理プログラム、機械学習管理方法および機械学習管理装置 | |
US11216609B2 (en) | Generating integrated circuit placements using neural networks | |
JP7206476B2 (ja) | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム | |
Huang et al. | Routability-driven macro placement with embedded cnn-based prediction model | |
JP2017049674A (ja) | 予測性能曲線推定プログラム、予測性能曲線推定装置および予測性能曲線推定方法 | |
EP3739494A2 (en) | Method, apparatus, system, and program for optimizing solid electrolytes for li-ion batteries using bayesian optimization | |
JP7007585B2 (ja) | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム | |
US11631006B2 (en) | Optimization device and control method of optimization device | |
JP2009163615A (ja) | 共クラスタリング装置、共クラスタリング方法、共クラスタリングプログラム、および、そのプログラムを記録した記録媒体 | |
Amir | Efficient stress‐constrained topology optimization using inexact design sensitivities | |
JP2020205049A (ja) | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム | |
CN112434398A (zh) | 组合优化设备、组合优化方法以及计算机可读记录介质 | |
EP3742354A1 (en) | Information processing apparatus, information processing method, and program | |
CN116010754A (zh) | 存储程序的计算机可读记录介质、数据处理方法和设备 | |
JP2019139554A (ja) | モデル学習装置、モデル学習方法、プログラム | |
CN117010480A (zh) | 模型训练方法、装置、设备、存储介质及程序产品 | |
JP2022094510A (ja) | 最適化プログラム、最適化方法及び情報処理装置 | |
CN113223017A (zh) | 目标分割模型的训练方法、目标分割方法及设备 | |
JP2021184148A (ja) | 最適化装置、最適化方法、および最適化プログラム | |
US20220092380A1 (en) | Optimization device, optimization method, and computer-readable recording medium storing optimization program | |
CN118627178B (zh) | 商用厨房设计方法及系统 | |
EP4254271A1 (en) | Data processing apparatus, program, and data processing method | |
EP3869419A1 (en) | Information processing method, information processing apparatus, and information processing program | |
EP4099227A1 (en) | Data processing apparatus, data processing method, and program | |
JP2024030713A (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 |