首页 / 优化设备、优化程序和优化方法

优化设备、优化程序和优化方法实质审查 发明

技术领域

[0001] 本文讨论的实施方式涉及优化设备、优化程序和优化方法。

相关背景技术

[0002] 信息处理在当前社会的各个领域中执行。这样的信息处理由诸如计算机的算术设备执行,算术设备对各种数据执行运算和重组,并且获得有意义的结果来执行预测、确定、控制等。优化处理是这种信息处理的一种方法,并且已经成为重要的领域。
[0003] 优化处理的一种方法是求解离散优化问题。在大规模多变量离散优化问题中,组合的数目爆炸性地增长,并且在穷尽地执行计算以算出所有组合的技术中,计算时间有时不落在现实范围内。
[0004] 用于求解这样的大规模多变量离散优化问题的方法的示例包括使用伊辛(Ising)型能量函数的模拟退火(SA)。在这种SA中,通过用伊辛模型代替要计算的问题来执行计算,伊辛模型是表示磁性材料的自旋行为的模型。
[0005] 在使用伊辛模型的优化计算中,对位进行随机地反转以计算在反转一位的情况下的能量变化,并且采用根据能量变化是否接受位反转,从而搜索使能量最小化的最优解。
[0006] [引用列表]
[0007] [专利文献]
[0008] [专利文献1]日本公开特许公报第2019‑145010号
[0009] [专利文献2]日本公开特许公报第2019‑46038号
[0010] [专利文献3]国际公布手册第WO 2015/190593号
[0011] [专利文献4]美国专利申请公布第2019/0087388号

具体实施方式

[0054] 在下文中,将参照附图描述根据实施方式的优化设备、优化程序和优化方法。在实施方式中具有相同功能的配置由相同的附图标记表示,并且将省略多余的描述。注意,要在以下实施方式中描述的优化设备、优化程序和优化方法仅是示例,并且不限制实施方式。此外,除非另外矛盾,以下实施方式可以适当地组合。
[0055] 在实施方式中,执行各种算术处理的信息处理设备被例示为优化设备的示例。在该信息处理设备中,在使用伊辛型能量函数的模拟退火中,基于伴随位反转(inversion)的能量函数的差来选择位反转的采用/拒绝,以执行优化,作为一个算术处理。具体地,例如,在位被反转的情况下,信息处理设备随机地反转一个或更多个位并且计算能量变化,并且采用根据能量变化是否接受位反转,从而搜索使能量最小化的最优解。注意,本实施方式不限于使用伊辛模型来求解优化问题的情况,并且也可以应用于使用包括三阶或更高阶的高更阶项的模型来求解优化问题的情况。
[0056] 根据实施方式的信息处理设备使用蒙特卡罗(Monte Carlo)方法,其中随机地反转一个或更多个位以搜索最优解,从而获得状态x,其是能量函数(E)的最小能量。此处,将能量函数(E)与由作为反转候选的第i位的反转引起的反转之前的能量相比的改变量(差)设置为ΔEi。根据实施方式的信息处理设备计算ΔEi,然后基于ΔEi,使用metropolis准则等确定(选择)对第i位中的反转的采用/拒绝。
[0057] 此处,将描述根据实施方式的信息处理设备中的ΔEi的计算。首先,相对于上述式(2),三阶或更高阶的项附入在Z中,并且改写为下面的式(5)。
[0058] [数学式6]
[0059]
[0060] 此处,考虑由位反转引起的能量差ΔE,式(5)中的E0是常数,并且因此它是不必要的。此外,虽然变量x是离散值并且不可能经受微分,但是将主差设置为Δx,其集中于由于耦合的x中的位改变而引起的差(主差)。在使用Δx将耦合的x的变量的数目减少1的情况下,ΔEi变为如下式(6)所示。
[0061] [数学式7]
[0062]
[0063] 接下来,在式(6)中,引入可以根据x计算的辅助位(也称为辅助变量)yi,m。辅助位yi,m是通过从所有变量x(xj1、……、xjk)的乘积中排除要反转第i位的变量xi而获得的乘积。由于可以根据x计算y,所以引入y不会增加位本身。在引入辅助位yi,m的情况下,式(6)可以改写为下式(7)。
[0064] [数学式8]
[0065]
[0066] 此处,引入zi,m。zi,m是与yi,m对应的耦合系数,因此ΔEi可以表示为下式(8)。在式(8)的运算中,可以将由gi所引用的Z的元素数目减少一个阶次。
[0067] [数学式9]
[0068]
[0069] 在采用位反转的情况下,存在多个辅助变量yi,m的值由于用于能量更新的变量xj的反转而改变的可能性。在将变化设置为Δyi,m的情况下,能量更新由下式(9)表示。
[0070] [数学式10]
[0071]
[0072] 在根据实施方式的信息处理设备中,如式(8)和式(9)中那样计算ΔEi的计算中的三阶或更高阶项。具体地,例如,信息处理设备使用辅助变量yi,m和与yi,m对应的耦合系数Zi,m来计算ΔEi,辅助变量yi,m是排除了与要用于反转的候选的位对应的变量的、各个位所对应的变量的乘积。此时,信息处理设备从存储与能量函数相关的所有位对应的耦合系数的存储器中读取与辅助变量对应的耦合系数Zi,m。因此,信息处理设备能够将待从存储器读取的元素的数量减少一个阶次,由此能够抑制运算时的数据传送量。
[0073] 图1是示出根据实施方式的信息处理设备的示例性结构的框图。如图1所示,信息处理设备100包括:UI 1、最小解搜索单元2和通用中央处理单元(CPU)3,并且这些各个单元通过总线等连接。例如,个人计算机(PC)等可以用作信息处理设备100。
[0074] UI 1是执行来自用户的数据输入、处理结果的输出等的用户接口(UI)。用户经由UI 1输入从外部给出的参数,例如与能量函数相关的所有位对应的耦合系数Z和温度。
[0075] 最小解搜索单元2是执行与优化相关的算术处理并且搜索使能量最小化的最优解的处理单元,并且包括存储器10和算术处理单元20。通用CPU 3是处理用于处理UI 1和算术处理单元20等的应用的通用CPU。
[0076] 存储器10是硬盘驱动器(HDD)、随机存取存储器(RAM)等,其存储诸如经由UI 1输入的耦合系数W的参数。
[0077] 算术处理单元20是这样的处理单元:其根据式(8)和式(9)计算ΔEi,并且基于ΔEi,使用metropolis准则等来确定对第i位中的反转的采用/拒绝,以搜索最优解。诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、通用CPU等的专用硬件设备可以应用于算术处理单元20。
[0078] 例如,算术处理单元20读取并且执行存储在存储器10中的程序,从而执行与优化相关的算术处理。注意,要由算术处理单元20执行的程序不一定存储在存储器10中。例如,可以读取存储在可以由信息处理设备100读取的存储介质中的程序,并且算术处理单元20可以执行该程序。例如,可以由信息处理设备100读取的存储介质对应于:诸如CD‑ROM、DVD盘或通用串行总线(USB)存储器的便携式记录介质、诸如闪存的半导体存储器、硬盘驱动器等。此外,程序可以预先存储在连接至公共线路、因特网、LAN等的设备中,并且信息处理设备100可以从这些设备中读取程序以执行它。此外,可以由通过云计算协作的多个计算机来执行由算术处理单元20实现的各种处理功能。
[0079] 图2是示出算术处理单元20的示例性结构的框图。如图2所示,算术处理单元20包括:运算单元21、运算单元22和运算单元23、加法单元24、加法单元25和加法单元26、乘法单元27和采用/拒绝确定单元28。注意,在算术处理单元20中,假设根据式(8)预先计算E的初始值以及hi和gi的初始值。在图中所示的示例中,例示了主要计算Δy,m、根据其结果计算ΔE并且确定采用/拒绝的算术处理单元20的配置。
[0080] 运算单元21从与存储在存储器10中的所有位对应的耦合系数Z中读取排除了与待作为进行反转的候选的位对应的维度的Zi,m,并且根据式(8)执行运算。
[0081] 运算单元22根据变量x和待改变的候选位i计算Δy,m。
[0082] 运算单元23和加法单元24根据式(8)执行与hi相关的计算。注意,是否更新hi取决于采用/拒绝确定单元28的采用/拒绝确定,并且在采用/拒绝确定单元28确定采用的情况下更新hi。
[0083] 加法单元25基于运算单元21的运算结果、根据式(8)执行与gi相关的计算。注意,是否更新gi取决于采用/拒绝确定单元28的采用/拒绝确定,并且在采用/拒绝确定单元28确定采用的情况下更新gi。
[0084] 加法单元26将加法单元24和加法单元25的运算结果相加。乘法单元27将加法单元26的运算结果乘以‑Δxi。例如,在加法单元26和乘法单元27的运算中,根据式(8)计算ΔEi。
[0085] 采用/拒绝确定单元28基于ΔE(x,i)确定对根据metropolis准则改变的位的采用/拒绝,ΔE(x,i)是直到乘法单元27的运算结果。
[0086] 图3是示出根据实施方式的信息处理设备的示例性运算的流程图。具体地,例如,图3的流程图示出了在获得具有三阶项的能量函数的最小解(x)的情况下的示例性运算。
[0087] 如图3所示,当处理开始时,算术处理单元20根据与能量函数相关的下式(10)获得针对x的初始值x0的能量函数E的初始值E(0)(S1)。
[0088] [数学式11]
[0089]
[0090] 接下来,算术处理单元20根据下式(11)准备hi的初始值hi(0)(S2)。此处,hi表示N位的向量(N:位的数目)。
[0091] [数学式12]
[0092]
[0093] 接下来,算术处理单元20根据下式(12)准备gi的初始值gi(0)(S3)。这里,gi表示N位的向量。
[0094] [数学式13]
[0095]
[0096] 接下来,算术处理单元20随机地选择要在x处反转的1位(i),并且将所选择的位在反转前与反转后之间的差设置为Δxi(S4)。
[0097] 接下来,算术处理单元20根据下式(13)、根据Δxi、hi和gi计算ΔEi(S5)。
[0098] [数学式14]
[0099] ΔEi=‑(hi+gi)Δxi…(13)
[0100] 接下来,算术处理单元20的采用/拒绝确定单元28使用所计算的ΔEi、基于metropolis准则等来确定对位反转的采用/拒绝(S6)。例如,在metropolis准则的情况下,作为示例,采用/拒绝确定单元28在区段0≤rand≤1中生成统一随机数rand。接下来,如果rand>exp(ΔE×β),则采用/拒绝确定单元28确定要采用位反转。此处,β表示温度倒数(inverse temperature)。
[0101] 在拒绝的情况下(S6中的拒绝),算术处理单元20进行至处理中的S10。在采用的情况下(S6中的采用),算术处理单元20根据下式(14)更新能量E(S7)。更新后的能量E(x,t+1)是通过将更新前的E与式(13)的ΔEi相加而获得的值,ΔEi是乘法单元27的运算结果。
[0102] [数学式15]
[0103] E(x,t+1)←E(x,t)‑(hi(t)+gi(t))Δxj…(14)
[0104] 接下来,算术处理单元20基于运算单元23和加法单元24的运算,根据下式(15)更新hi(S8)。
[0105] [数学式16]
[0106] hi(t+1)←hi(t)+Vi,jΔxj…(15)
[0107] 接下来,算术处理单元20基于运算单元21、运算单元22和加法单元25的运算,根据式(16)更新gi(S9)。此处,Δy,m是Δy,m=ΔxjΔxk.
[0108] [数学式17]
[0109]
[0110] 接下来,算术处理单元20确定是否满足终止条件(S10),例如S4至S9的算术处理是否重复了预定次数或者是否获得了预定能量。如果满足终止条件(S10中为是),则假设已经实现优化,算术处理单元20终止处理。如果不满足终止条件(S10中为否),则算术处理单元20将处理返回至S4。以这种方式,算术处理单元20重复位反转,直到获得预定次数或预定能量为止。
[0111] 如上所述,信息处理设备100使用辅助变量(yi,m)和与辅助变量对应的耦合系数(Zi,m)对能量函数中的特定位(i)的反转所伴随的差的三阶或更高阶项执行计算,辅助变量(yi,m)是排除了与待作为进行反转的候选的位对应的变量的、各个位所对应的变量的乘积。然后,在该计算时,信息处理设备100从存储表示与能量函数相关的所有位对应的多个变量的相互作用的耦合系数(Z)的存储器10读取与辅助变量对应的耦合系数。因此,信息处理设备100能够将待从存储器10读取的元素的数目减少一个阶次,由此能够抑制运算时的数据传送量。
[0112] 此外,在采用特定位的反转的情况下,信息处理设备100计算由于与特定位对应的变量的反转而引起的辅助变量的变化(S8和S9)。因此,在采用特定位的反转的情况下,信息处理设备100能够根据位反转更新辅助变量的值。
[0113] 图4是示出示例性参数的说明图。具体地,例如,图4例示了参数Zi,m的三阶情况。虽然在图4中包含Δxi,但是当xi改变时,xj和xk也可以改变(在指向相同位位置的情况下)。因此,如图4所示,在更新时访问改变的部分就足够了。因此,对与能量函数相关的所有位对应的耦合系数(Z)的一次访问不是N3,而是“最大”为N2。
[0114] 图5是示出时间图表的比较示例的说明图。在图5中,情况C1是与常规最优解搜索相关的算术处理的时间图表,并且情况C2是与根据实施方式的最优解搜索相关的算术处理的时间图表。
[0115] 如图5所示,在常规情况C1中,至少在超平面单元中传送耦合系数(Z)之后执行用于计算ΔE的处理。另一方面,在实施方式的情况C2中,可以独立地传送和处理g1(t)至gn(t)中的每一个。在大多数情况下,位的数目>阶次,由此,在常规情况C1中要一次传送的耦合系数的数目大于在实施方式的情况C2中要一次传送的耦合系数的数目。因此,在情况C2中,与数据加载相关的总时间较短。
[0116] 在常规最优解搜索中,对于能量差的每次计算,与1位反转相关联的从存储器到计(k‑1)算资源的数据传送量是kN ,其中自旋的数目(位的数目)为N并且阶次为k。在根据本实施(k‑1)
方式的最优解搜索中,可以为能量差的一次计算设置N 或更小。
[0117] 图6是示出每一次的耦合系数的传送量的说明图。N和k与数据传送量之间的关系如图6的图G1所示,并且与常规情况相比,可以根据本实施方式中的最优解搜索来抑制数据传送量。此外,虽然在常规最优解搜索中数据传送量随着k的增加而增加,但是在本实施方式中,递归地应用使用辅助变量的方法,由此可以将要传送的耦合系数的元素数目设置为与k=3的情况类似。因此,在本实施方式中,随着k增加,抑制数据传送量的效果进一步增强。例如,在将满足性问题(SAT)应用于伊辛模型以执行最优解搜索的情况下,k增加,由此抑制数据传送量的效果变得更加显著。

当前第1页 第1页 第2页 第3页