CN113646784A - 信息处理装置、信息处理系统、信息处理方法、存储介质及程序 - Google Patents

信息处理装置、信息处理系统、信息处理方法、存储介质及程序 Download PDF

Info

Publication number
CN113646784A
CN113646784A CN202080025399.2A CN202080025399A CN113646784A CN 113646784 A CN113646784 A CN 113646784A CN 202080025399 A CN202080025399 A CN 202080025399A CN 113646784 A CN113646784 A CN 113646784A
Authority
CN
China
Prior art keywords
variable
coefficient
vector
information processing
constraint
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
Application number
CN202080025399.2A
Other languages
English (en)
Inventor
铃木贤
后藤隼人
辰村光介
远藤浩太郎
酒井良哲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Digital Solutions Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Digital Solutions Corp filed Critical Toshiba Corp
Publication of CN113646784A publication Critical patent/CN113646784A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16ZINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
    • G16Z99/00Subject matter not provided for in other main groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/06Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/60Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Algebra (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

提供一种在实用性的时间内计算组合最优化问题的解的信息处理装置、信息处理系统、信息处理方法、存储介质及程序。作为本发明的实施方式的信息处理装置具备存储部和处理电路。上述存储部构成为,存储作为第1向量的要素的第1变量及作为第2向量的要素的第2变量。上述处理电路构成为,将上述第1变量基于对应的上述第2变量更新,将上述第1变量用第1系数加权并加上对应的上述第2变量,使用多个上述第1变量来计算问题项,将上述问题项加上上述第2变量,计算包含约束项与第2系数的积在内的第1修正项,将上述第1修正项加上上述第2变量,根据更新次数将上述第1系数及上述第2系数的绝对值增加。上述约束项基于表示约束条件的约束函数,具有上述第1变量作为自变量。

Description

信息处理装置、信息处理系统、信息处理方法、存储介质及 程序
技术领域
本发明的实施方式涉及信息处理装置、信息处理系统、信息处理方法、存储介质及程序。
背景技术
组合最优化问题是从多个组合之中选择最适合于目的的组合的问题。组合最优化问题在数学上被归结为使被称作“目标函数”的具有多个离散变量的函数最大化的问题或使该函数最小化的问题。组合最优化问题在金融、物流、交通、设计、制造、生命科学等各种领域中是普遍性的问题,但因为组合数以问题体量的指数函数的量级增加的所谓“组合爆炸”,并不一定能够求出最优解。此外,就连得到近似于最优解的近似解都困难的情况较多。
为了解决各领域中的问题,促进社会的创新及科学技术的进步,要求开发在实用性的时间内计算组合最优化问题的解的技术。
现有技术文献
专利文献
专利文献1:日本特开2017-73106号公报
非专利文献
非专利文献1:H.Goto,K.Tatsumura,A.R.Dixon,Sci.Adv.5,eaav2372(2019).
非专利文献2:H.Goto,Sci.Rep.6,21686(2016).
非专利文献3:土屋、西山、辻田:利用分支特性的组合最优化问题的近似解法,URL:http://www.ynl.t.u-tokyo.ac.jp/project/RobotBrainCREST/publications/pdf/tsuchiya/4_01.pdf
非专利文献4:土屋、西山、辻田:决定性的退火算法的解析,URL:http://www.ynl.t.u-tokyo.ac.jp/project/RobotBrainCREST/publications/pdf/tsuchiya/4_02.pdf
发明内容
发明要解决的技术问题
本发明的目的是提供一种在实用性的时间内计算组合最优化问题的解的信息处理装置、信息处理系统、信息处理方法、存储介质及程序。
用来解决技术问题的手段
作为本发明的实施方式的信息处理装置具备存储部和处理电路。上述存储部构成为,存储作为第1向量的要素的第1变量及作为第2向量的要素的第2变量。上述处理电路构成为,将上述第1变量基于对应的上述第2变量进行更新,将上述第1变量用第1系数加权并加上对应的上述第2变量,使用多个上述第1变量来计算问题项,将上述问题项加上上述第2变量,计算包含约束项与第2系数的积在内的第1修正项,将上述第1修正项加上上述第2变量,根据更新次数将上述第1系数及上述第2系数的绝对值增加。上述约束项基于约束函数(日语:制約関数),具有上述第1变量作为自变量。
附图说明
图1是表示信息处理系统的构成例的图。
图2是表示管理服务器的构成例的框图。
图3是表示保存在管理服务器的存储部中的数据的例子的图。
图4是表示计算服务器的构成例的框图。
图5是表示保存在计算服务器的存储设备中的数据的例子的图。
图6是表示通过时间推进而计算模拟分支算法的解的情况下的处理的例子的流程图。
图7是表示等式约束的例子的表格。
图8是表示不等式约束的例子的表格。
图9是表示不等式约束的例子的表格。
图10是表示包括第1修正项的扩展哈密顿量(Hamiltonian)的求解处理的例子的流程图。
图11是表示还包括第2修正项的扩展哈密顿量的求解处理的例子的流程图。
图12是表示系数λm的更新处理的一部分被跳过的情况下的求解处理的例子的流程图。
图13是概略地表示多处理器构成的例子的图。
图14是概略地表示使用GPU的构成的例子的图。
图15是表示为了解出组合最优化问题而执行的整体性的处理的例子的流程图。
具体实施方式
以下,一边参照附图一边对本发明的实施方式进行说明。此外,在附图中相同的构成要素带有相同的标号,适当省略说明。
图1是表示信息处理系统100的构成例的框图。图1的信息处理系统100具备管理服务器1、网络2、计算服务器(信息处理装置)3a~3c、线缆4a~4c、开关5和存储装置7。此外,在图1中表示能够与信息处理系统100通信的客户终端6。管理服务器1、计算服务器3a~3c、客户终端6及存储装置7能够经由网络2相互进行数据通信。例如,计算服务器3a~3c能够将数据保存到存储装置7中或从存储装置7将数据读出。网络2例如是将多个计算机网络相互连接而成的因特网。网络2作为通信介质,可以使用有线、无线或它们的组合。此外,作为在网络2中使用的通信协议的例子,有TCP/IP,但关于通信协议的种类没有限定。
此外,计算服务器3a~3c分别经由线缆4a~4c与开关5连接。线缆4a~4c及开关5形成计算服务器间的中间连接。计算服务器3a~3c能够经由该中间连接相互进行数据通信。开关5例如是Infiniband(无限带宽)的开关。线缆4a~4c例如是Infiniband(无限带宽)的线缆。但是,也可以代替Infiniband(无限带宽)的开关/线缆而使用有线LAN的开关/线缆。关于在线缆4a~4c及开关5中使用的通信标准及通信协议没有特别限定。作为客户终端6的例子,可以举出笔记本PC、台式PC、智能电话、平板电脑、车载终端等。
在组合最优化问题的求解中,可以进行处理的并行化及/或处理的分散化。因而,计算服务器3a~3c及/或计算服务器3a~3c的处理器既可以分担执行计算处理的一部分的步骤,也可以对于不同的变量并行地执行同样的计算处理。管理服务器1例如将由用户输入的组合最优化问题变换为各计算服务器能够处理的形式,对计算服务器进行控制。并且,管理服务器1从各计算服务器取得计算结果,将汇总的计算结果变换为组合最优化问题的解。这样,用户能够得到组合最优化问题的解。设为组合最优化问题的解包括最优解和接近于最优解的近似解。
在图1中表示了3台计算服务器。但是,并不限定信息处理系统中包含的计算服务器的台数。此外,关于在组合最优化问题的求解中使用的计算服务器的台数也没有特别限定。例如,信息处理系统中包含的计算服务器也可以是1台。此外,使用信息处理系统中包含的多个计算服务器中的哪个计算服务器来进行组合最优化问题的求解都可以。此外,在信息处理系统中也可以包含几百台以上的计算服务器。计算服务器既可以是设置在数据中心中的服务器,也可以是设置在办公室中的台式PC。此外,计算服务器也可以是设置在不同的地点的多个种类的计算机。关于被作为计算服务器使用的信息处理装置的种类没有特别限定。例如,计算服务器既可以是通用的计算机,也可以是专用的电子电路或它们的组合。
图2是表示管理服务器1的构成例的框图。图2的管理服务器1例如是包括中央运算处理装置(CPU)和存储器的计算机。管理服务器1具备处理器10、存储部14、通信电路15、输入电路16和输出电路17。设为处理器10、存储部14、通信电路15、输入电路16及输出电路17相互经由总线20连接。处理器10包括管理部11、变换部12和控制部13作为内部的构成要素。
处理器10是执行运算、进行管理服务器1的控制的电子电路。作为处理器10,例如可以使用CPU、微处理器、ASIC、FPGA、PLD或它们的组合。管理部11提供用来经由用户的客户终端6进行管理服务器1的操作的接口。作为管理部11提供的接口的例子,可以举出API、CLI、网页等。例如,用户可以经由管理部11进行组合最优化问题的信息的输入,或进行计算出的组合最优化问题的解的阅览及/或下载。变换部12将组合最优化问题变换为各计算服务器能够处理的形式。控制部13向各计算服务器发送控制指令。控制部13在从各计算服务器得到计算结果后,变换部12将多个计算结果汇总,变换为组合最优化问题的解。此外,控制部13也可以指定各计算服务器或各服务器内的处理器执行的处理内容。
存储部14存储包括管理服务器1的程序、程序的执行所需要的数据及由程序生成的数据在内的各种数据。这里,设为程序包括OS和应用这两者。存储部14也可以是易失性存储器、非易失性存储器或它们的组合。作为易失性存储器的例子,有DRAM、SRAM等。作为非易失性存储器的例,可以举出NAND闪存、NOR闪存、ReRAM或MRAM。此外,作为存储部14也可以使用硬盘、光盘、磁带或外部的存储装置。
通信电路15在与连接在网络2上的各装置之间进行数据的收发。通信电路15例如是有线LAN的NIC(Network Interface Card,网络接口卡)。但是,通信电路15也可以是无线LAN等其他种类的通信电路。输入电路16实现向管理服务器1的数据输入。设为输入电路16具备例如USB、PCI-Express等作为外部端口。在图2的例子中,操作装置18与输入电路16连接。操作装置18是用来向管理服务器1输入信息的装置。操作装置18例如是键盘、鼠标、触控板、声音识别装置等,但并不限于此。输出电路17实现来自管理服务器1的数据输出。设为输出电路17具备HDMI、DisplayPort等作为外部端口。在图2的例子中,显示装置19与输出电路17连接。作为显示装置19的例子,有LCD(液晶显示器)、有机EL(有机电致发光)显示器或投影机,但并不限于此。
管理服务器1的管理者能够使用操作装置18及显示装置19进行管理服务器1的维护。另外,操作装置18及显示装置19也可以被合入到管理服务器1中。此外,在管理服务器1上也可以并不一定连接操作装置18及显示装置19。例如,管理者也可以使用能够与网络2通信的客户终端进行管理服务器1的维护。
图3表示保存在管理服务器1的存储部14中的数据的例子。在图3的存储部14中,保存有问题数据14A、计算数据14B、管理程序14C、变换程序14D和控制程序14E。例如,问题数据14A包含组合最优化问题的数据。例如,计算数据14B包含从各计算服务器收集到的计算结果。例如,管理程序14C是实现上述的管理部11的功能的程序。例如,变换程序14D是实现上述的变换部12的功能的程序。例如,控制程序14E是实现上述的控制部13的功能的程序。
图4是表示计算服务器的构成例的框图。在图4中,例示地表示了计算服务器3a的构成。其他的计算服务器既可以是与计算服务器3a同样的构成,也可以是与计算服务器3a不同的构成。计算服务器3a例如是单独或与其他的计算服务器分担来执行第1向量及第2向量的计算的信息处理装置。此外,也可以至少某个计算服务器计算第1向量的要素间的问题项。这里,问题项也可以是基于后述的伊辛模型(Ising model)计算的。此外,问题项也可以包括后述的多体相互作用。
例如,第1向量是以变量xi(i=1,2,…,N)为要素的向量。例如,第2向量是以变量yi(i=1,2,…,N)为要素的向量。
计算服务器3a例如具备通信电路31、共用存储器32、处理器33A~33D、存储设备34和主机总线适配器35。设为通信电路31、共用存储器32、处理器33A~33D、存储设备34、主机总线适配器35经由总线36相互连接。
通信电路31在与连接在网络2上的各装置之间进行数据的收发。通信电路31例如是有线LAN的NIC(Network Interface Card)。但是,通信电路31也可以是无线LAN等其他种类的通信电路。共用存储器32是能够从处理器33A~33D访问的存储器。作为共用存储器32的例子,可以举出DRAM、SRAM等的易失性存储器。但是,作为共用存储器32,也可以使用非易失性存储器等其他种类的存储器。共用存储器32例如也可以构成为,存储第1向量的要素及第2向量的要素。这里,共用存储器32及后述的存储设备34是信息处理装置的存储部的一例。处理器33A~33D能够经由共用存储器32进行数据的共用。另外,也可以并不一定将计算服务器3a的全部的存储器构成为共用存储器。例如,也可以将计算服务器3a的一部分的存储器构成为仅能够从某个处理器访问的本地存储器。
处理器33A~33D是执行计算处理的电子电路。处理器例如是CPU(CentralProcessing Unit)、GPU(Graphics Processing Unit)、FPGA(Field-Programmable GateArray)或ASIC(Application Specific Integrated Circuit)的哪种都可以,也可以是它们的组合。此外,处理器也可以是CPU内核或CPU线程。在处理器是CPU的情况下,关于计算服务器3a具备的插槽数没有特别限定。此外,处理器也可以经由PCI express等的总线而与计算服务器3a的其他构成要素连接。
在图4的例子中,计算服务器具备4个处理器。但是,1台计算服务器具备的处理器的数量也可以与此不同。例如,安装在计算服务器上的处理器的数量及/或种类也可以不同。
信息处理装置例如构成为,将以第1变量xi(i=1,2,…,N)为要素的第1向量及以与第1变量对应的第2变量yi(i=1,2,…,N)为要素的第2向量反复更新。信息处理装置的存储部也可以构成为,存储作为第1向量的要素的第1变量及作为第2向量的要素的第2变量。
信息处理装置的处理电路例如具备如以下这样构成的处理电路:将第1变量基于对应的第2变量更新,将第1变量用第1系数加权并与对应的第2变量相加,使用多个第1变量来计算问题项,将问题项与第2变量相加,计算包含约束项与第2系数的积的第1修正项,将第1修正项与第2变量相加,根据更新次数来增加第1系数及第2系数的绝对值。这里,约束项基于表示约束条件的约束函数,具有第1变量作为自变量(日语:引数)。这里,上述的处理器33A~33D是处理电路的一例。这样,信息处理装置也可以具备多个处理电路。在此情况下,各个处理电路也可以构成为,并行地将第1向量的至少一部分及第2向量的至少一部分更新。
以下,以第1系数及第2系数为正值、对应于更新次数而第1系数及第2系数的值变大的情况为例进行说明。但是,也可以通过使以下提示的算法的符号反转,来使用负值的第1系数及第2系数。在此情况下,对应于更新次数,第1系数及第2系数的值可以变小。但是,在哪种情况下,都可以说对应于更新次数而第1系数及第2系数的绝对值增加。另外,处理电路计算的问题项也可以基于伊辛模型。此外,处理电路计算的问题项也可以包含多体相互作用。
这里,以对处理器单位进行处理内容的分配的情况为例进行说明。但是,并不限定进行处理内容的分配的计算资源的单位。例如,也可以以计算机为单位进行处理内容的分配。
以下,再次参照图4,说明计算服务器的构成要素。
存储设备34存储包括计算服务器3a的程序、程序的执行所需要的数据以及由程序生成的数据在内的各种数据。这里,设为程序包括OS和应用这两者。存储设备34例如也可以构成为,存储第1向量的要素及第2向量的要素。存储设备34也可以是易失性存储器、非易失性存储器或它们的组合。作为易失性存储器的例子,有DRAM或SRAM等。作为非易失性存储器的例子,可以举出NAND闪存、NOR闪存、ReRAM或MRAM。此外,作为存储设备34也可以使用硬盘、光盘、磁带或外部的存储装置。
主机总线适配器35实现计算服务器间的数据通信。主机总线适配器35经由线缆4a与开关5连接。主机总线适配器35例如是HCA(Host Channel Adaptor)。通过用主机总线适配器35、线缆4a、开关5形成能够实现高通信量的中间连接,能够使并行的计算处理的速度提高。
图5表示保存在计算服务器的存储设备中的数据的例子。在图5的存储设备34中,保存有计算数据34A、计算程序34B和控制程序34C。计算数据34A包含计算服务器3a的计算途中的数据或计算结果。另外,计算数据34A的至少一部分也可以保存在共用存储器32、处理器的高速缓存或处理器的寄存器等不同的存储层级中。计算程序34B是基于规定的算法来实现各处理器中的计算处理以及向共用存储器32及存储设备34的数据的保存处理的程序。控制程序34C是基于从管理服务器1的控制部13发送来的指令对计算服务器3a进行控制、将计算服务器3a的计算结果向管理服务器1发送的程序。
接着,对与组合最优化问题的求解关联的技术进行说明。作为为了解出组合最优化问题而使用的信息处理装置的一例,可以举出伊辛机(ising machine)。伊辛机是指计算伊辛模型的基础状态的能量的信息处理装置。到此为止,伊辛模型主要被作为强磁性体及相转移现象的模型使用的情况较多。但是,近年来伊辛模型作为用来解出组合最优化问题的模型的利用增加。下述的式(1)表示伊辛模型的能量。
[数式1]
Figure BDA0003283490390000081
这里,si、sj是自旋(spin),自旋是取+1或-1的某个值的2值变量。N是自旋数。hi是作用于各自旋的局部磁场。J是自旋间的耦合系数的矩阵。矩阵J为对角成分是0的实对称矩阵。因而,Jij表示矩阵J的i行j列的要素。另外,式(1)的伊辛模型为关于自旋的二次式,但如后述那样,也可以使用包含自旋的3次以上的项的扩展的伊辛模型(具有多体相互作用的伊辛模型)。
如果使用式(1)的伊辛模型,则能够以能量EIsing为目标函数,计算使能量EIsing尽可能小的解。伊辛模型的解以自旋的向量(s1,s2,…,sN)的形式表示。特别是,将能量EIsing为最小值的向量(s1,s2,…,sN)称作最优解。但是,计算的伊辛模型的解也可以并不一定是严格的最优解。以后,将使用伊辛模型求能量EIsing尽可能小的近似解(即,目标函数的值尽可能接近于最优值的近似解)的问题称作伊辛问题。
由于式(1)的自旋si是2值变量,所以通过使用式(1+si)/2,能够容易地进行与在组合最优化问题中使用的离散变量(比特)的变换。因而,通过将组合最优化问题变换为伊辛问题,使伊辛机进行计算,能够求出组合最优化问题的解。将求解使以取0或1的某个值的离散变量(比特)为变量的2次的目标函数最小化的解的问题称作QUBO(QuadraticUnconstrained Binary Optimization,无约束2值变量2次最优化)问题。在式(1)中表示的伊辛问题可以说与QUBO问题是等价的。
例如,作为伊辛机的硬件安装而提出了量子退火机、相干伊辛机或量子分支机等。量子退火机使用超导电路实现量子退火。相干伊辛机利用由光参量振荡器形成的网络的振荡现象。量子分支机利用具有克尔效应(Kerr effect)的参量振荡器的网络中的量子力学的分支现象。这些硬件安装有可能实现计算时间的大幅的缩短,另一方面,也有难以实现大规模化及稳定的运用的技术问题。
所以,还能够使用广泛普及的数字计算机进行伊辛问题的求解。数字计算机与使用上述的物理现象的硬件安装相比,容易实现大规模化和稳定运用。作为用来以数字计算机进行伊辛问题的求解的算法的一例,可以举出模拟退火(SA)。进行更高速地执行模拟退火的技术的开发。但是,由于通常的模拟退火是各个变量被依次更新的依次更新算法,所以难以实现由并行化带来的计算处理的高速化。
鉴于上述的技术问题,提出了通过数字计算机的并行的计算来高速地进行规模较大的组合最优化问题的求解的模拟分支算法。以后,对使用模拟分支算法来求解组合最优化问题的信息处理装置、信息处理系统、信息处理方法、存储介质及程序进行说明。
首先,对模拟分支算法的概要进行叙述。
在模拟分支算法中,对于分别有N个的2个变量xi、yi(i=1,2,…,N),在数值上求解下述的(2)的联立常微分方程式。N个变量xi分别对应于伊辛模型的自旋si。另一方面,N个变量yi分别相当于运动量。设变量xi、yi都是连续变量。以下,分别将以变量xi(i=1,2,…,N)为要素的向量称作第1向量,将以变量yi(i=1,2,…,N)为要素的向量称作第2向量。
[数式2]
Figure BDA0003283490390000101
这里,H是下述的式(3)的哈密顿量。
[数式3]
Figure BDA0003283490390000102
另外,在(2)中,也可以代替式(3)的哈密顿量H而使用在下述的式(4)中表示的、包含表示约束条件的位势(约束势函数)项G(x1,x2,…xN)在内的哈密顿量H′。将不仅是哈密顿量H、也包括约束势函数在内的函数称作扩展哈密顿量,与原来的哈密顿量H区别。
[数式4]
Figure BDA0003283490390000103
例如,能够使用由组合最优化问题的约束条件导出的函数G(x1,x2,…xN)。但是,并不限定函数G(x1,x2,…xN)的导出方法和形式。此外,在式(4)中,对原本的哈密顿量H加上函数G(x1,x2,…xN)。但是,并不限定在扩展哈密顿量中包含函数G(x1,x2,…xN)的方法。
通过计算模拟分支算法的时间推进,能够将变量xi、yi(i=1,2,…,N)的值反复更新,求出伊辛模型的自旋si(i=1,2,…,N)。即,在进行时间推进的计算的情况下,将第1向量的要素的值和第2向量的要素的值反复更新。这里,设想进行时间推进的计算,说明各系数。但是,模拟分支算法的计算也可以通过时间推进以外的方式执行。
在(2)及(3)中,系数D相当于解调(detuning)。系数p(t)相当于泵送振幅(pumpingamplitude)。在计算模拟分支算法的时间推进的情况下,系数p(t)对应于更新次数而值单调增加。系数p(t)的初始值也可以设定为0。系数K相当于正的克尔系数(Kerrcoefficient)。作为系数c,可以使用常数系数。例如,也可以将系数c的值在基于模拟分支算法的计算的执行前决定。例如,可以将系数c设定为接近于J(2)矩阵的最大固有值的倒数的值。例如,可以使用c=0.5D√(N/2n)的值。这里,n是与组合最优化问题有关的曲线的边沿数。此外,a(t)是在时间推进的计算时随着p(t)而增加的系数。例如,作为a(t)可以使用√(p(t)/K)。另外,(3)及(4)中的局部磁场的向量hi可以省略。
在进行时间推进的计算的情况下,当系数p(t)的值超过了规定的值时,在第1向量中,如果分别将作为正值的变量xi变换为+1,将作为负值的变量xi变换为-1,则能够得到以自旋si为要素的解向量。该解向量相当于伊辛问题的解。另外,也可以基于第1向量及第2向量的更新次数执行上述的变换,进行是否求出解向量的判定。
在计算模拟分支算法的时间推进的情况下,可以使用辛欧拉法(SymplecticEuler method),将上述的(2)变换为离散性的递推式而进行求解。下述的(5)表示在对递推式变换后的模拟分支算法的例子。
[数式5]
Figure BDA0003283490390000121
这里,t是时刻,Δt是时间步长(时间刻度宽度)。另外,在(5)中,为了表示与微分方程式的对应关系,使用时刻t及时间步长Δt。但是,在实际将算法对软件或硬件安装时,也可以并不一定包含时刻t及时间步长Δt作为明示性的参数。例如,如果将时间步长Δt设为1,则能够从安装时的算法中将时间步长Δt除去。在安装算法时不包含时间t作为明示性的参数的情况下,只要在(4)中将xi(t+Δt)解释为xi(t)的更新后的值即可。即,上述的(4)中的“t”表示更新前的变量的值,“t+Δt”表示更新后的变量的值。
在计算模拟分支算法的时间推进的情况下,基于使p(t)的值从初始值(例如0)增加到规定的值后的变量xi的符号,能够求出自旋si的值。例如,如果使用在xi>0时为sgn(xi)=+1、在xi<0时为sgn(xi)=-1的符号函数,则当p(t)的值增加到规定的值时,通过将变量xi用符号函数变换,能够求出自旋si的值。作为符号函数,例如可以使用当xi≠0时为sgn(xi)=xi/|xi|、当xi=0时为sgn(xi)=+1或-1的函数。关于求解组合最优化问题的解(例如,伊辛模型的自旋si)的定时,没有特别限定。例如,也可以在第1向量及第2向量的更新次数或第1系数p的值变得比阈值大时求解组合最优化问题的解(解向量)。
这样,信息处理装置的处理电路也可以构成为,通过将作为正值的第1变量变换为第1值,将作为负值的第1变量变换为比第1值小的第2值,来计算解。此外,处理电路也可以构成为,基于第1系数的值、或者第1向量及第2向量的更新次数来判定是否计算解。这里,第1值例如是+1。第2值例如是-1。但是,第1值及第2值也可以是其他的值。
图6的流程图表示通过时间推进来计算模拟分支算法的解的情况下的处理的例子。以下,一边参照图6一边说明处理。
首先,计算服务器从管理服务器1取得与问题对应的矩阵Jij及向量hi(步骤S101)。接着,计算服务器将系数p(t)及a(t)初始化(步骤S102)。例如,在步骤S102中能够将系数p及a的值设为0,但并不限定系数p及a的初始值。接着,计算服务器将第1变量xi及第2变量yi初始化(步骤S103)。这里,第1变量xi是第1向量的要素。此外,第2变量yi是第2向量的要素。在步骤S103中计算服务器例如也可以通过伪随机数将xi及yi初始化。但是,并不限定xi及yi的初始化的方法。此外,也可以在与此不同的定时进行变量的初始化,也可以至少将某个变量多次初始化。
接着,计算服务器通过将对应的第2向量的要素yi加权并与第1向量的要素xi相加,将第1向量更新(步骤S104)。例如,在步骤S104中,可以对变量xi加上Δt×D×yi。并且,计算服务器将第2向量的要素yi更新(步骤S105及S106)。例如,在步骤S105中,可以对变量yi加上Δt×[(p-D-K×xi×xi)×xi]。在步骤S106中,可以再对变量yi加上-Δt×c×hi×a-Δt×c×ΣJij×xj
接着,计算服务器将系数p及a的值更新(步骤S107)。例如,对系数p加上一定的值(Δp),将系数a设定为更新后的系数p的正的平方根。但是,如后述那样,这只不过是系数p及a的值的更新方法的一例。接着,计算服务器判定第1向量及第2向量的更新次数是否小于阈值(步骤S108)。在更新次数小于阈值的情况下(步骤S108的“是”),计算服务器再次执行步骤S104~S107的处理。更新次数为阈值以上的情况下(步骤S108的“否”),基于第1向量的要素xi求出作为解向量的要素的自旋si(步骤S109)。在步骤S109中,例如在第1向量中,可以分别将作为正值的变量xi变换为+1,将作为负值的变量xi变换为-1,得到解向量。
另外,在步骤S108的判定中,也可以在更新次数小于阈值的情况下(步骤S108的“是”)基于第1向量计算哈密顿量的值,存储第1向量及哈密顿量的值。由此,用户能够通过多个第1向量选择最接近于最优解的近似解。
另外,也可以将图6的流程图中表示的至少某个处理并行地执行。例如,也可以并行地执行步骤S104~S106的处理,以将第1向量及第2向量分别具有的N个要素的至少一部分并行地更新。例如,也可以使用多台计算服务器使处理并行化。也可以通过多个处理器使处理并行化。但是,并不限定用来实现处理的并行化的安装及处理的并行化的方式。
上述的步骤S105~S106中表示的变量xi及yi的更新处理的执行顺序只不过为一例。因而,也可以以与此不同的顺序执行变量xi及yi的更新处理。例如,也可以将执行变量xi的更新处理和变量yi的更新处理的顺序替换。此外,各变量的更新处理中包含的子处理的顺序也没有限定。例如,变量yi的更新处理中包含的加法处理的执行顺序也可以与图6的例子不同。作为用来执行各变量的更新处理的前提的处理的执行顺序及定时也没有特别限定。例如,也可以将问题项的计算处理与包括变量xi的更新处理的其他处理并行地执行。变量xi及yi的更新处理、各变量的更新处理中包含的子处理及问题项的计算处理被执行的顺序及定时没有被限定这一点,关于以后所示的各流程图的处理也是同样的。
[包含约束项的目标函数]
如上述那样,可以代替哈密顿量H而使用在哈密顿量H中包含约束势函数G(x1,x2,…xN)的扩展哈密顿量来进行模拟分支算法的计算。以下,对函数G(x1,x2,…xN)的详细情况进行说明。
函数G(x1,x2,…xN)也可以是表示一个约束条件的函数。此外,如以下说明,函数G(x1,x2,…xN)也可以是表示多个约束条件的函数。这里,设gm(x1,x2,…xN)(m=1,2…M)表示分别表现M个约束条件的函数(约束函数)。在此情况下,能够使用多个函数gm(x1,x2,…xN)定义上述的函数G(x1,x2,…xN)。
在包含约束条件的最优化问题的计算中,优选的是使用不使求解处理的精度及效率下降的函数G(x1,x2,…xN)。因此,约束条件优选的是如gm(x1,x2,…xN)=0(m=1,2…M)那样被表现为等式约束。但是,并不限于将全部的约束条件表现为等式约束。因此,关于约束条件,也可以进行基于下述的(a)~(c)的规则的约束函数的变换。这里,g* m(x1,x2,…xN)是变换前的约束函数。
(a)在如gm *(x1,x2,…xN)=0那样,约束条件原本是等式约束的情况下,为gm(x1,x2,…xN)=gm *(x1,x2,…xN)。图7的约束x1+x2=0表示等式约束的一例。图7的表格表示约束x1+x2=0下的条件表。在图7的表格中没有被变成灰色的行相当于满足约束条件的变量的组合。
(b)在原本的约束条件为gm *(x1,x2,…xN)≤0那样的不等式约束的情况下,可以设为gm(x1,x2,…xN)=max(0,gm *(x1,x2,…xN))。这里,函数max是以第1自变量和第2自变量中的较大的自变量为值的函数。图8的约束x1+x2≤0表示不等式约束的一例。图8的表格表示约束x1+x2≤0的条件表。在图8的表格中没有被变成灰色的行相当于满足约束条件的变量的组合。
(c)在原本的约束条件为gm *(x1,x2,…xN)≥0那样的不等式约束的情况下,可以设为gm(x1,x2,…xN)=min(0,gm *(x1,x2,…xN))。这里,函数min是以第1自变量和第2自变量中的较小的自变量为值的函数。图9的约束x1+x2≥0表示不等式约束的一例。图9的表格表示约束x1+x2≥0的条件表。在图9的表格中没有被灰化的行相当于满足约束条件的变量的组合。
如果对约束条件应用上述的(a)~(c)的变换规则,则能够使用下述的式(6)中表示的扩展哈密顿量H′。
[数式6]
Figure BDA0003283490390000151
式(6)的cg(t)例如是根据更新次数而单调增加的系数。
在此情况下,下述的(7)的函数的值的效果随着更新次数而变大。
[数式7]
Figure BDA0003283490390000152
在使用式(6)的目标函数的情况下,执行将在下述的(8)中表示的联立常微分方程式分别对于有N个的2个变量xi、yi(i=1,2,…,N)在数值上求解的处理。
[数式8]
Figure BDA0003283490390000161
使用辛欧拉法,可以将上述的(8)变换为离散性的递推式,进行模拟分支算法的计算。下述的(9)表示对于递推式变换后的模拟分支算法的例子。
[数式9]
Figure BDA0003283490390000162
(9)中的下述的(10)的项来源于伊辛能量。该项的形式由于根据想要解的问题来决定,所以称作问题项(problem term)。
[数式10]
Figure BDA0003283490390000164
另一方面,(9)中的下述的(11)的项相当于变量yi的第1修正项。
[数式11]
Figure BDA0003283490390000163
作为系数cg(t)的初始值,可以使用比较小的值(0或0附近)的值。由此,根据在第1向量的各要素xi(i=1,2,…,N)中设定的初始值,能够防止(7)的项的值变得过大而导致计算处理的稳定性受损的情况。此外,不仅是特定的局部解的附近,能够进行更大域的探索,提高找到最优解或接近于它的近似解的概率。进而,由于不再需要将(9)的算法的时间步长Δt设定为较小的值,所以能够抑制计算时间。
例如,可以使用基于下述的式(12)而定义的系数cg(t)。
[数式12]
cg(t)=cg(0)+Δcgt (12)
这里,cg(0)是系数cg(t)的初始值。Δcg是对更新次数或计数变量t乘以的系数。作为cg(0)及Δcg可以使用正值。如果使用在(12)中定义的系数cg(t),则(11)的修正项的值对应于更新次数而变大。
这里说明的系数cg(t)的初始值及与更新次数对应的系数cg(t)的变化样式只不过是例子。因而,系数cg(t)的初始值及与更新次数对应的系数cg(t)的变化样式也可以与上述不同。
信息处理装置的处理电路也可以构成为,计算包含约束函数与将约束函数关于第1向量的某个要素(第1变量)进行了微分的导数的积在内的函数(约束项)。此外,处理电路也可以构成为,对于多个约束条件分别计算上述的积,将多个积相加来计算约束项。这里,上述的函数gm是约束函数的一例。
图10的流程图表示包含第1修正项的扩展哈密顿量的求解处理的例子。以下,一边参照图10一边说明处理。
首先,计算服务器从管理服务器1取得与问题对应的矩阵Jij及向量hi(步骤S111)。并且,计算服务器将系数p(t)及a(t)初始化(步骤S112)。例如,在步骤S112中可以将系数p及a的值设为0,但并不限定系数p及a的初始值。接着,计算服务器基于对应的第2向量的要素yi将第1向量的要素xi更新(步骤S113)。例如,在步骤S113中,可以对变量xi加上Δt×D×yi。并且,计算服务器将第2向量的要素yi更新(步骤S114~S116)。例如,在步骤S114中,可以对变量yi加上Δt×[(p-D-K×xi×xi)×xi]。在步骤S115中,可以再对变量yi加上-Δt×c×hi×a-Δt×c×∑Jii×xj。在步骤S116中,可以对变量yi加上
Figure BDA0003283490390000171
接着,计算服务器将系数p、cg及a的值更新(步骤S117)。例如,可以对系数p加上一定的值(Δp),将系数a设定为更新后的系数p的正的平方根,对系数cg加上Δcgt。但是,这只不过是系数p、cg及a的值的更新方法的一例。并且,计算服务器判定第1向量及第2向量的更新次数是否小于阈值(步骤S118)。在更新次数小于阈值的情况下(步骤8118的“是”),计算服务器反复执行步骤S113~S117的处理。在更新次数为阈值以上的情况下(步骤S118的“否”),基于第1向量的要素xi求出作为解向量的要素的自旋si(步骤S119)。在步骤S119中,例如在第1向量中,可以分别将作为正值的变量xi变换为+1、将作为负值的变量xi变换为-1,得到解向量。
另外,计算服务器也可以在任意的定时基于第1向量及第2向量计算目标函数的值。计算服务器能够将第1向量、第2向量及目标函数的值保存到存储部中。也可以在步骤S118的判定为肯定的情况下每次执行这些处理。此外,也可以在步骤S118的判定成为肯定的定时中的一部分的定时执行这些处理。进而,上述的处理也可以在其他的定时执行。用户可以根据可利用的存储区域及计算资源的量,决定计算目标函数的值的频度。也可以在步骤S118的定时基于保存在存储部中的第1向量、第2向量及目标函数的值的组合数是否超过阈值来进行是否继续循环处理的判定。这样,用户可以从保存在存储部中的多个第1向量中选择最接近于最优解的第1向量,计算解向量。
另外,也可以将图10的流程图中表示的至少某个处理并行地执行。例如,也可以将步骤S113~S116的处理并行地执行,以将第1向量及第2向量分别具有的N个要素的至少一部分并行地更新。例如,也可以使用多台计算服务器将处理并行化。也可以由多个处理器将处理并行化。但是,并不限定处理的并行化的安装及方式。
通过执行图10的流程图所示的处理,能够在比较短时间中求出满足约束条件的最优解或接近于它的近似解。
[基于扩展拉格朗日法的计算]
上述的式(6)只不过是能够反映约束条件的扩展哈密顿量的一例。例如,也可以如下述的式(13)那样,为了进行稳定的计算而对扩展哈密顿量进一步追加项。
[数式13]
Figure BDA0003283490390000181
式(13)所示的扩展哈密顿量H″包括惩罚函数(第2段第1项)和拉格朗日函数(第2段第2项)这两者。将这样在扩展哈密顿量中包括惩罚函数和拉格朗日函数这两者的方法称作扩展拉格朗日法。
在使用式(13)的扩展哈密顿量的情况下,执行将在下述的(14)中表示的联立常微分方程式对于分别有N个的2个变量xi、yi(i=1,2,…,N)在数值上求解的处理。
[数式14]
Figure BDA0003283490390000191
另外,在(14)的联立常微分方程式的计算中可以将系数λm基于下述的式(15)更新。
[数式15]
Figure BDA0003283490390000192
式(15)的向量xmin是相当于局部解的向量(x1,x2,…,xN)。该局部解xmin例如可以通过对计算途中的第1向量应用局部探索法或最佳优先探索等的探索算法来求出。作为局部探索法的例子,可以举出负的爬山算法。在使用负的爬山算法的情况下,例如对于各个变量xi(i=1,2,…,N)将扩展哈密顿量H″偏微分,求出下述的(16)的偏导数。
[数式16]
Figure BDA0003283490390000193
并且,基于各个偏导数,在第1向量的附近探索比扩展哈密顿量H″的评价值小的向量。例如,可以将对在第1向量的各个要素加上(16)的偏导数与Δx的积所得到的向量在下个迭代中使用。在下个迭代中,也进行上述偏导数的计算,在该向量的附近探索扩展哈密顿量H″的评价值变得更小的向量。反复进行该处理,直到(16)的偏导数的值都大致成为零。例如,也可以将(16)的偏导数的绝对值与阈值比较,判定是否继续反复处理。可以使用反复处理后的向量(x1,x2,…,xN)作为局部解。这里说明的局部解的探索方法只不过为一例。因此,也可以使用其他的算法进行局部解的探索。
使用辛欧拉法,能够将上述的(14)及(15)变换为离散性的递推式,进行模拟分支算法的计算。下述的(17)表示变换为递推式后的模拟分支算法的例子。
[数式17]
Figure BDA0003283490390000201
在(17)的算法中,系数cg也被更新。例如,能够基于上述的式(12)将系数cg更新。
在不满足约束条件的情况下,gm的值变得比较大。因此,在不满足约束条件的期间中,(17)的拉格朗日项的系数λm的增加率变大。因而,拉格朗日项的效果变大,能够使第1向量及第2向量向满足约束条件的方向变化。因此,如果使用包含拉格朗日函数的(17)的算法,则能够将系数cg的初始值设定得更小或将系数cg的值更平缓地增加。能够防止扩展哈密顿量的位势的斜率变得过大,能够使计算处理稳定化。
信息处理装置的处理电路也可以构成为,计算包含第3系数与将约束条件关于某个第1变量进行了微分的导数的积的第2修正项,将第2修正项加上第2变量。此外,处理电路也可以构成为,关于多个约束条件分别计算上述的积,将多个积相加来计算第2修正项。这里,上述的系数λm是第3系数的一例。上述的拉格朗日项是第2修正项的一例。
此外,处理电路也可以构成为,根据更新次数而将第3系数的绝对值增加。进而,处理电路也可以构成为,通过将与目标函数(扩展哈密顿量)的局部解相当的第1向量的要素代入到约束条件中来计算约束条件的评价值,将第2系数与评价值的积加上第3系数。例如,能够将通过局部探索法计算出的向量xmin代入到函数gm中,得到评价值。
图11的流程图表示还包括第2修正项的扩展哈密顿量的求解处理的例子。以下,一边参照图11一边说明处理。
首先,计算服务器将系数p(t)及a(t)初始化(步骤S121)。例如,在步骤S121中可以将系数p及a的值设为0,但并不限定系数p及a的初始值。另外,虽然在图11中没有表示,但设为计算服务器从管理服务器1取得与问题对应的矩阵Jij及向量hi。接着,计算服务器基于对应的第2向量的要素yi将第1向量的要素xi更新(步骤S122)。例如,在步骤S122中,可以对变量xi加上Δt×D×yi
然后,计算服务器将第2向量的要素yi更新(步骤S123~S126)。例如,在步骤S123中,可以对变量yi加上Δt×[(p-D-K×xi×xi)×xi]。在步骤S124中,可以再对变量yi加上-Δt×c×hi×a-Δt×c×ΣJij×xj。在步骤S125中,可以对变量yi加上
Figure BDA0003283490390000212
在步骤S126中,可以对变量yi加上
Figure BDA0003283490390000211
然后,计算服务器计算扩展哈密顿量H″的局部解(步骤S127)。在步骤S127中,可以如上述那样通过负的爬山算法计算局部解。但是,也可以通过其他的算法计算局部解。接着,基于在前步骤中计算出的局部解将系数λm更新(步骤S128)。例如,在步骤S128中,可以将局部解代入到函数gm中,求出函数gm的值之后,对系数λm加上Δt×cg×gm
接着,计算服务器将系数p、cg及a的值更新(步骤S129)。例如,可以对系数p加上一定的值(Δp),将系数a设定为更新后的系数p的正的平方根,对系数cg加上Δcgt。但是,这只不过是系数p、cg及a的值的更新方法的一例。并且,计算服务器判定第1向量及第2向量的更新次数是否小于阈值(步骤S130)。在更新次数小于阈值的情况下(步骤S130的“是”),计算服务器反复执行步骤S122~S129的处理。在更新次数为阈值以上的情况下(步骤S130的“否”),基于第1向量的要素xi求出作为解向量的要素的自旋si(步骤S131)。在步骤S131中,例如在第1向量中,可以分别将作为正值的变量xi变换为+1,将作为负值的变量xi变换为-1,得到解向量。
另外,计算服务器也可以在任意的定时基于第1向量及第2向量计算目标函数的值。计算服务器可以将第1向量、第2向量及目标函数的值保存到存储部中。也可以在步骤S130的判定为肯定的情况下每次执行这些处理。此外,也可以在步骤S130的判定为肯定的定时中的一部分的定时执行这些处理。进而,上述的处理也可以在其他的定时执行。用户能够根据可利用的存储区域及计算资源的量来计算目标函数的值的频度。也可以在步骤S130的定时下基于保存在存储部中的第1向量、第2向量及目标函数的值的组合的数量是否超过阈值来进行是否继续循环处理的判定。这样,用户能够从保存在存储部中的多个第1向量中选择最接近于最优解的第1向量来计算解向量。
另外,也可以将图11的流程图中表示的至少某个处理并行地执行。例如,也可以将步骤S122~S126的处理并行地执行,以将第1向量及第2向量分别具有的N个要素的至少一部分并行地更新。例如,也可以使用多台计算服务器将处理并行化。也可以由多个处理器将处理并行化。但是,并不限定处理的并行化的安装及方式。
通过执行在图11的流程图中表示的处理,能够在比较短时间中求出满足约束条件的最优解或接近于它的近似解。
[计算量的削减]
在上述的图11所示的流程图中,每次将系数λm更新。但是,在本实施方式的信息处理装置中,也可以并不一定每次将系数λm更新。例如,也可以在一部分的迭代中将系数λm的更新跳过。
例如,也可以代替上述的(15)而基于下述的(18)将系数λm更新。例如,也可以对W次(W是正整数)按照每1次进行基于下述(18)的规则的系数λm的更新。
[数式18]
λm(t+Δt)=λm(t)+ΔtZcg(t)gm(xmin) (18)
(18)的z既可以是固定值,也可以是变量。例如,作为Z,也可以设定与上述的W相等的值。此外,作为Z也可以使用1/(cg×gm)。
执行系数λm的更新处理的频度也可以变动。例如,也可以W的值与1/(cg×gm)成比例。由此,约束条件得到满足,g的值越小,系数λm的更新频度越减小,能够抑制计算量。
在系数λm的更新处理被跳过的迭代中,也可以将扩展哈密顿量H″的局部解的计算处理跳过。由此,能够在保持上述计算处理的稳定性的同时削减需要的计算量。
这样,信息处理装置的处理电路也可以构成为,在一部分的更新次数中增加第3系数的绝对值。
图12的流程图表示系数λm的更新处理的一部分被跳过的情况下的求解处理的例子。以下,一边参照图12一边说明处理。
首先,计算服务器将系数p(t)及a(t)初始化(步骤S141)。例如,可以在步骤S141中将系数p及a的值设为0,但并不限定系数p及a的初始值。后述的计数变量cnt可以初始化为0。另外,虽然在图12中没有表示,但设为计算服务器从管理服务器1取得与问题对应的矩阵Jij及向量hi。接着,计算服务器基于对应的第2向量的要素yi将第1向量的要素xi更新(步骤S142)。例如,在步骤S142中,可以对变量xi加上Δt×D×yi
然后,计算服务器将第2向量的要素yi更新(步骤S142~S146)。例如,在步骤S143中,可以对变量yi加上Δt×[(p-D-K×xi×xi)×xi]。在步骤S144中,可以再对变量yi加上-Δt×c×hi×a-Δt×c×ΣJij×xj。在步骤S145中,可以对变量yi加上
Figure BDA0003283490390000231
在步骤S146中,可以对变量yi加上
Figure BDA0003283490390000232
然后,计算服务器将计数变量cnt递增,判定计数变量cnt是否是W的倍数(S147)。在计数变量cnt不为W的倍数的情况下(S147的“否”),计算服务器将系数p、cg及a的值更新(步骤S150)。例如,可以对系数p加上一定的值(Δp),将系数a设定为更新后的系数p的正的平方根,对系数cg加上Δcgt。但是,这不过是系数p、cg及a的值的更新方法的一例。
在计数变量cnt是W的倍数的情况下(S147的“是”),计算服务器计算扩展哈密顿量H″的局部解(步骤S148)。在步骤S148中,可以如上述那样通过负的爬山算法计算局部解。但是,也可以通过其他的算法计算局部解。接着,基于在前步骤中计算出的局部解将系数λm更新(步骤S149)。例如,在步骤S149中,可以将局部解代入到函数gm中,在求出函数gm的值后,对系数λm加上Δt×cg×gm。在步骤S149的处理后,前进到上述步骤S150的处理。
在步骤S150的处理后,计算服务器判定第1向量及第2向量的更新次数是否小于阈值(步骤S151)。在更新次数小于阈值的情况下(步骤S151的“是”),计算服务器再次执行步骤S142以后的处理。在更新次数为阈值以上的情况下(步骤S151的“否”),基于第1向量的要素xi求出作为解向量的要素的自旋si(步骤S152)。在步骤S152中,例如在第1向量中,分别将作为正值的变量xi变换为+1、将作为负值的变量xi变换为-1,得到解向量。
另外,计算服务器也可以在任意的定时基于第1向量及第2向量计算目标函数的值。计算服务器可以将第1向量、第2向量及目标函数的值保存到存储部中。也可以在步骤S151的判定为肯定的情况下每次执行这些处理。此外,也可以在步骤S151的判定为肯定的定时中的一部分的定时执行这些处理。进而,上述的处理也可以在其他的定时执行。用户能够根据可利用的存储区域及计算资源的量来决定计算目标函数的值的频度。也可以在步骤S151的定时,基于保存在存储部中的第1向量、第2向量及目标函数的值的组合的数量是否超过阈值来进行是否继续循环处理的判定。这样,用户可以从保存在存储部中的多个第1向量中选择最接近于最优解的第1向量,来计算解向量。
另外,也可以将图12的流程图中表示的至少某个处理并行地执行。例如,也可以将步骤S142~S146的处理并行地执行,以将第1向量及第2向量分别具有的N个要素的至少一部分并行地更新。例如,也可以使用多台计算服务器将处理并行化。也可以通过多个处理器将处理并行化。但是,并不限定处理的并行化的安装及方式。
通过执行图12的流程图所示的处理,能够在抑制计算量的同时,在比较短时间中求出满足约束条件的最优解或接近于它的近似解。
以下,说明本实施方式的信息处理系统、信息处理方法、存储介质及程序的例子。
信息处理系统也可以具备存储装置和信息处理装置。存储装置例如构成为,存储作为第1向量的要素的第1变量及作为第2向量的要素的第2变量。信息处理装置例如构成为,将第1变量基于对应的第2变量更新,将第1变量用第1系数加权并加上对应的第2变量,使用多个第1变量来计算问题项,将问题项加上第2变量,计算包含约束项与第2系数的积的第1修正项,将第1修正项加上第2变量,根据更新次数而增加第1系数及第2系数的绝对值。这里,约束项也可以基于表示约束条件的约束函数,具有第1变量作为自变量。
此外,信息处理系统也可以具备多个信息处理装置。各个信息处理装置也可以构成为,并行地将第1向量的至少一部分及第2向量的至少一部分更新。
在信息处理方法中,例如将以第1变量为要素的第1向量及以与第1变量对应的第2变量为要素的第2向量反复更新。例如,信息处理方法也可以包括:将第1变量基于对应的第2变量更新的步骤;将第1变量用第1系数加权并加上对应的第2变量的步骤;使用多个第1变量计算问题项的步骤;将问题项加上第2变量的步骤;基于约束条件计算具有第1变量作为自变量的约束项的步骤;计算包含第2系数与约束项的积的第1修正项的步骤;将第1修正项加上第2变量的步骤;以及根据更新次数而增加第1系数及第2系数的绝对值的步骤。此外,程序也可以使计算机执行上述信息处理方法的步骤。进而,存储介质也可以是保存该程序的非暂时性的计算机可读的存储介质。
[包含多体相互作用的项的计算]
通过使用模拟分支算法,能够求解具有3次以上的目标函数的组合最优化问题。求解使以2值变量为变量的3次以上的目标函数最小化的变量的组合的问题,被称作HOBO(Higher Order Binary Optimization,高阶二次最优化)问题。在处置HOBO问题的情况下,作为向高次扩展的伊辛模型中的能量式,可以使用下述的式(19)。
[数式19]
Figure BDA0003283490390000251
这里,J(n)是n阶张量,是使式(1)的局部磁场hi和耦合系数的矩阵J一般化的量。例如,张量J(1)相当于局部磁场hi的向量。在n阶张量J(n)中,当在多个尾标中有相同的值时,要素的值为0。在式(15)中,表示到3次的项,但比其高次的项也能够与式(19)同样地定义。式(19)相当于包含多体相互作用的伊辛模型的能量。
另外,QUBO和HOBO都可以说是无约束多项式2值变量最优化(PUBO:PolynomialUnconstrained Binary Optimization)的1种。即,PUBO中的具有2次的目标函数的组合最优化问题是QUBO。此外,PUBO中的具有3次以上的目标函数的组合最优化问题可以说是HOBO。
在使用模拟分支算法求解HOBO问题的情况下,只要将上述的式(3)的哈密顿量H替换为下述的式(20)的哈密顿量H即可。
[数式20]
Figure BDA0003283490390000261
此外,根据式(20),导出在下述的式(21)中表示的问题项。
[数式21]
Figure BDA0003283490390000262
(21)的问题项zi取将(20)的第2个式子关于某个变量xi(第1向量的要素)进行了偏微分的形式。偏微分的变量xi根据索引i而不同。这里,变量xi的索引i相当于指定第1向量的要素及第2向量的要素的索引。
在进行包含多体相互作用的项的计算的情况下,上述的(17)的递推式替换为下述的(22)的递推式。
[数式22]
Figure BDA0003283490390000263
(22)相当于将(17)的递推式进一步一般化。同样,在上述的(9)的递推式中,也可以使用多体相互作用的项。
上述中表示的问题项只不过是本实施方式的信息处理装置能够使用的问题项的例子。因而,在计算中使用的问题项的形式也可以与它们不同。
[算法的变形例]
这里,对模拟分支算法的变形例进行说明。例如,以误差的减轻或计算时间的缩短为目的,也可以对上述的模拟分支算法进行各种变形。
例如,为了减小计算的误差,也可以在第1向量的要素的更新时执行追加的处理。例如,在第1向量的要素xi的绝对值通过更新而变得比1大时,将第1向量的要素xi的值替换为sgn(xi)。即,在通过更新而成为xi>1时,变量xi的值被设定为1。此外,当通过更新而成为xi<-1时,变量xi的值被设定为-1。由此,能够使用变量xi将自旋si以更高的精度近似。通过包含这样的处理,算法与在xi=±1的位置存在壁的N粒子的物理模型变得等价。更一般性地讲,运算电路也可以构成为,将值比第2值小的第1变量设定为第2值,将值比第1值大的第1变量设定为第1值。
进而,当通过更新而成为xi>1时,也可以对与变量xi对应的变量yi乘以系数rf。例如,如果使用-1<r≤0的系数rf,则上述的壁成为反射系数rf的壁。特别是,在使用rf=0的系数rf的情况下,算法与在xi=±1的位置存在发生完全非弹性碰撞的壁的物理模型变得等价。更一般性地讲,运算电路也可以构成为,将与值比第1值小的第1变量对应的第2变量或与值比第2值大的第1变量对应的第2变量更新为对原来的第2变量乘以第2系数所得到的值。例如,运算电路也可以构成为,将与值比-1小的第1变量对应的第2变量或与值比1大的第1变量对应的第2变量更新为对原来的第2变量乘以第2系数所得到的值。这里,第2系数相当于上述的系数rf。
另外,运算电路也可以当通过更新而成为xi>1时,将与变量xi对应的变量yi的值设定为伪随机数。例如,可以使用[-0.1,0.1]的范围的随机数。即,运算电路也可以构成为,将与值比第2值小的第1变量对应的第2变量的值或与值比第1值大的第1变量对应的第2变量的值设定为伪随机数。
如果如以上这样执行更新处理以抑制成为|xi|>1,则即使将(5)、(9)及(22)的非线性项K×xi 2除去,xi的值也不会发散。因而,能够使用在下述的(23)中表示的算法。
[数式23]
Figure BDA0003283490390000281
在(23)的算法中,在问题项中,不是使用离散变量,而是使用连续变量x。因此,有可能发生与本来的组合最优化问题中使用的离散变量的误差。为了减小该误差,如下述的(24)那样,在问题项的计算中,可以代替连续变量x而使用将连续变量x用符号函数变换后得到的值sgn(x)。
[数式24]
Figure BDA0003283490390000282
在(24)中,sgn(x)相当于自旋s。
在(24)中,也可以将问题项中的包含1阶的张量的项的系数α设为常数(例如α=1)。在(24)的算法中,由于在问题项中出现的自旋彼此的积必定取-1或1的某个值,所以在处理具有高次的目标函数的HOMO问题的情况下,能够防止因积运算带来的误差的发生。如上述的(24)的算法那样,计算服务器计算的数据也可以还包括以变量si(i=1,2,…,N)为要素的自旋的向量(s1,s2,…,sN)。通过将第1向量各自的要素用符号函数变换,能够得到自旋的向量。
[变量的更新处理的并行化的例子]
以下,对模拟分支算法的计算时的变量的更新处理的并行化的例子进行说明。
首先,对向PC集群安装了模拟分支算法的例子进行说明。所述的PC集群,是将多台计算机连接、实现用1台计算机不能得到的计算性能的系统。例如,图1中表示的信息处理系统100包括多台计算服务器及处理器,可以被作为PC集群使用。例如,在PC集群中,通过使用MPI(Message Passing Interface),即使是信息处理系统100那样的在多个计算服务器中分散配置有存储器的构成,也能够执行并行的计算。例如,可以使用MPI安装管理服务器1的控制程序14E、各计算服务器的计算程序34B及控制程序34C。
在由PC集群使用的处理器数为Q的情况下,可以使各个处理器进行第1向量(x1,x2,…,xN)中包含的变量xi中的L个变量的计算。同样,能够使各个处理器进行第2向量(y1,y2,…,yN)中包含的变量yi中的L个变量的计算。即,处理器#j(j=1,2,…,Q)进行变量{xm|m=(j-1)L+1,(j-1)L+2,…,jL}及{ym|m=(j-1)L+1,(j-1)L+2,…,jL}的计算。此外,设为由处理器#j进行的{ym|m=(j-1)L+1,(j-1)L+2,…,jL}的计算所需要的下述的(25)中表示的张量J(n)被保存在处理器#j能够访问的存储区域(例如,寄存器、高速缓存、存储器等)中。
[数式25]
Figure BDA0003283490390000291
这里,说明了各个处理器计算第1向量及第2向量的恒定数的变量的情况。但是,根据处理器,计算的第1向量及第2向量的变量的数量也可以不同。例如,在根据计算服务器中安装的处理器而有性能差的情况下,可以根据处理器的性能来决定作为计算对象的变量的数量。
为了将变量yi的值更新,需要第1向量(x1,x2,…,xN)的全部的成分的值。向2值变量的变换例如可以通过使用符号函数sgn()来进行。所以,能够使用Allgather函数,使Q个处理器共用第1向量(x1,x2,…,xN)的全部的成分的值。虽然关于第1向量(x1,x2,…,xN),需要共用处理器间的值,但关于第2向量(y1,y2,…,yN)及张量J(n),并不必须进行处理器间的值的共用。处理器间的数据的共用,例如可以通过使用处理器间通信或在共用存储器中保存数据来实现。
处理器#j计算问题项{zm|m=(j-1)L+1,(j-1)L+2,…,jL}的值。然后,处理器#j基于计算出的问题项{{zm|m=(j-1)L+1,(j-1)L+2,…,jL}的值,将变量{ym|m=(j-1)L+1,(j-1)L+2,…,jL}更新。
如上述的各式所示,在问题项的向量(z1,z2,…,zN)的计算中,需要包括张量J(n)与向量(x1,x2,…,xN)的积的计算在内的积和运算。积和运算是在上述的算法中计算量最大的处理,在计算速度的提高方面可能成为瓶颈。所以,在PC集群的安装中,能够将积和运算分散到Q=N/L个处理器中而并行地执行,实现计算时间的缩短。
图13概略地表示多处理器构成的例子。图13的多个计算节点例如相当于信息处理系统100的多个计算服务器。此外,图13的高速链路例如相当于由信息处理系统100的线缆4a~4c及开关5形成的计算服务器间的中间连接。图13的共用存储器例如相当于共用存储器32。图13的处理器例如相当于各计算服务器的处理器33A~33D。另外,在图13中表示了多个计算节点,但并不妨碍使用单一计算节点的构成。
在图13中表示配置在各构成要素中的数据及在构成要素间转送的数据。在各处理器中,计算变量xi、yi的值。此外,在处理器与共用存储器间转送变量xi。在各计算节点的共用存储器中,例如保存第1向量(x1,x2,…,xN)、第2向量(y1,y2,…,yN)的L个变量及张量J(n)的一部分。并且,在将计算节点间连接的高速链路中,例如转送第1向量(x1,x2,…,xN)。在使用全局收集(Allgather)函数的情况下,为了由各处理器将变量yi更新,需要第1向量(x1,x2,…,xN)的全要素。
另外,图13中表示的数据的配置及转送只不过是一例。关于PC集群中的数据的配置方法、转送方法及并行化的实现方法没有特别限定。
此外,也可以使用GPU(Graphics Processing Unit)进行模拟分支算法的计算。
图14概略地表示使用GPU的构成的例子。在图14中表示相互由高速链路连接的多个GPU。在各个GPU中,搭载有能够对共用存储器访问的多个内核。此外,在图14的构成例中,多个GPU经由高速链路被连接,形成GPU集群。例如,在GPU被搭载在图1的各个计算服务器中的情况下,高速链路相当于由线缆4a~4c及开关5形成的计算服务器间的中间连接。另外,在图14的构成例中使用多个GPU,但在使用一个GPU的情况下也能够执行并行的计算。即,图14的各个GPU能够执行与图13的各个计算节点相当的计算。即,信息处理装置(计算服务器)的处理器也可以是Graphics Processing Unit(GPU)的内核。
在GPU中,变量xi及yi以及张量J(n)被定义为设备变量。GPU可以通过矩阵向量积函数而并行地计算在变量yi的更新中需要的张量J(n)与第1向量(x1,x2,…,xN)的积。另外,通过反复执行矩阵与向量的积运算,能够求出张量与向量的积。此外,关于第1向量(x1,x2,…,xN)的计算和第2向量(y1,y2,…,yN)中的积和运算以外的部分,能够使各个线程执行第i个要素(xi,yi)的更新处理,实现处理的并行化。
[用来求解组合最优化问题的整体性的处理]
以下,说明为了使用模拟分支算法求解组合最优化问题而执行的整体性的处理。
图15的流程图表示为了求解组合最优化问题而执行的整体性的处理的例子。以下,一边参照图15一边说明处理。
首先,将组合最优化问题公式化(步骤S201)。然后,将被公式化的组合最优化问题变换为伊辛问题(伊辛模型的形式)(步骤S202)。接着,通过伊辛机(信息处理装置)计算伊辛问题的解(步骤S203)。然后,验证计算出的解(步骤S204)。例如,在步骤S204中,进行是否满足约束条件的确认。此外,也可以在步骤S204中参照能量函数(哈密顿量)的值,进行得到的解是否为最优解或接近于它的近似解的确认。
然后,根据步骤S204中的验证结果或计算次数的至少某个来判定是否进行再计算(步骤S205)。在判定为进行再计算的情况下(步骤S205的“是”),再次执行步骤S203及S204的处理。另一方面,在判定为不进行再计算的情况下(步骤S205的“否”),进行解的选择(步骤S206)。例如,在步骤S206中,可以基于约束条件的满足或能量函数的值的至少某个来进行选择。另外,在没有计算出多个解的情况下,也可以将步骤S206的处理跳过。最后,将所选择的解变换为组合最优化问题的解,输出组合最优化问题的解(步骤S207)。
通过使用在上述中说明的信息处理装置、信息处理系统、信息处理方法、存储介质及程序,能够在实用性的时间内计算组合最优化问题的解。由此,组合最优化问题的求解变得更容易,能够促进社会的创新及科学技术的进步。
另外,本发明并不原样限定于上述实施方式,在实施阶段中能够在不脱离其主旨的范围中将构成要素变形而具体化。此外,通过在上述实施方式中公开的多个构成要素的适当的组合,能够形成各种发明。例如,也可以从在实施方式中表示的全构成要素中删除几个构成要素。进而,也可以将跨不同的实施方式的构成要素适当组合。
附图标记说明
1 管理服务器
2 网络
3a、3b、3c 计算服务器
4a、4b、4c 线缆
5 开关
6 客户终端
10 处理器
11 管理部
12 变换部
13 控制部
14 存储部
14A 问题数据
14B 计算数据
14C 管理程序
14D 变换程序
14E、34C 控制程序
15、31 通信电路
16 输入电路
17 输出电路
18 操作装置
19 显示装置
20 总线
32 共用存储器
33A、33B、33C、33D 处理器
34 存储设备
34A 计算数据
34B 计算程序
35 主机总线适配器

Claims (18)

1.一种信息处理装置,其中,
具备:
存储部,构成为存储第1变量及第2变量,上述第1变量是第1向量的要素,上述第2变量是第2向量的要素;以及
处理电路,构成为,将上述第1变量基于对应的上述第2变量更新,将上述第1变量用第1系数加权并加上对应的上述第2变量,使用多个上述第1变量计算问题项,将上述问题项加上上述第2变量,计算包含约束项与第2系数的积在内的第1修正项,将上述第1修正项加上上述第2变量,根据更新次数将上述第1系数及上述第2系数的绝对值增加,
上述约束项是基于对约束条件进行表示的约束函数的约束项,具有上述第1变量作为自变量。
2.如权利要求1所述的信息处理装置,其中,
上述处理电路构成为,计算包含上述约束函数与将上述约束函数关于某个上述第1变量进行了微分后的导数的积在内的上述约束项。
3.如权利要求2所述的信息处理装置,其中,
上述处理电路构成为,关于多个上述约束条件分别计算上述积,将多个上述积相加而计算上述约束项。
4.如权利要求1所述的信息处理装置,其中,
上述处理电路构成为,计算包含第3系数与将上述约束条件关于某个上述第1变量进行了微分后的导数的积在内的第2修正项,将上述第2修正项加上上述第2变量。
5.如权利要求4所述的信息处理装置,其中,
上述处理电路构成为,对于多个上述约束条件分别计算上述积,将多个上述积相加而计算上述第2修正项。
6.如权利要求4或5所述的信息处理装置,其中,
上述处理电路构成为,根据更新次数将上述第3系数的绝对值增加。
7.如权利要求6所述的信息处理装置,其中,
上述处理电路构成为,在一部分的更新次数将上述第3系数的绝对值增加。
8.如权利要求6或7所述的信息处理装置,其中,
上述处理电路构成为,通过将与目标函数的局部解相当的上述第1变量代入到上述约束函数中来计算上述约束函数的评价值,将上述第2系数与上述评价值的积加上上述第3系数。
9.如权利要求1~8中任一项所述的信息处理装置,其中,
上述处理电路计算的上述问题项基于伊辛模型。
10.如权利要求9所述的信息处理装置,其中,
上述处理电路计算的上述问题项包含多体相互作用。
11.如权利要求1~10中任一项所述的信息处理装置,其中,
具备多个上述处理电路;
各个上述处理电路构成为,并行地将上述第1向量的至少一部分及上述第2向量的至少一部分更新。
12.如权利要求1~11中任一项所述的信息处理装置,其中,
上述处理电路构成为,通过将作为正值的上述第1变量变换为第1值、将作为负值的上述第1变量变换为比上述第1值小的第2值来计算解。
13.如权利要求12所述的信息处理装置,其中,
上述处理电路构成为,基于上述第1系数的值或上述第1向量及上述第2向量的更新次数,判定是否计算解。
14.一种信息处理系统,其中,
具备:
存储装置,构成为存储第1变量及第2变量,上述第1变量是第1向量的要素,上述第2变量是第2向量的要素;以及
信息处理装置,构成为,将上述第1变量基于对应的上述第2变量更新,将上述第1变量用第1系数加权并加上对应的上述第2变量,使用多个上述第1变量计算问题项,将上述问题项加上上述第2变量,计算包含约束项与第2系数的积在内的第1修正项,将上述第1修正项加上上述第2变量,根据更新次数将上述第1系数及上述第2系数的绝对值增加,
上述约束项是基于对约束条件进行表示的约束函数的约束项,具有上述第1变量作为自变量。
15.如权利要求14所述的信息处理系统,其中,
具备多个上述信息处理装置;
各个上述信息处理装置构成为,并行地将上述第1向量的至少一部分及上述第2向量的至少一部分更新。
16.一种信息处理方法,将以第1变量为要素的第1向量及以与上述第1变量对应的第2变量为要素的第2向量反复更新,其中,
包括:
将上述第1变量基于对应的上述第2变量进行更新的步骤;
将上述第1变量用第1系数加权并加上对应的上述第2变量的步骤;
使用多个上述第1变量来计算问题项的步骤;
将上述问题项加上上述第2变量的步骤;
基于约束条件计算约束项的步骤,上述约束项具有上述第1变量作为自变量;
计算包含第2系数与上述约束项的积在内的第1修正项的步骤;
将上述第1修正项加上上述第2变量的步骤;以及
根据更新次数将上述第1系数及上述第2系数的绝对值增加的步骤。
17.一种非暂时性的计算机可读的存储介质,其中,
保存有程序,所述程序是使计算机将以第1变量为要素的第1向量及以与上述第1变量对应的第2变量为要素的第2向量反复更新的程序,使计算机执行如下步骤:
将上述第1变量基于对应的上述第2变量进行更新的步骤;
将上述第1变量用第1系数加权并加上对应的上述第2变量的步骤;
使用多个上述第1变量来计算问题项的步骤;
将上述问题项加上上述第2变量的步骤;
基于约束条件计算约束项的步骤,上述约束项具有上述第1变量作为自变量;
计算包含第2系数与上述约束项的积在内的第1修正项的步骤;
将上述第1修正项加上上述第2变量的步骤;以及
根据更新次数将上述第1系数及上述第2系数的绝对值增加的步骤。
18.一种程序,使计算机将以第1变量为要素的第1向量及以与上述第1变量对应的第2变量为要素的第2向量反复更新,其中,
包括如下步骤:
将上述第1变量基于对应的上述第2变量进行更新的步骤;
将上述第1变量用第1系数加权并加上对应的上述第2变量的步骤;
使用多个上述第1变量来计算问题项的步骤;
将上述问题项加上上述第2变量的步骤;
基于约束条件计算约束项的步骤,上述约束项具有上述第1变量作为自变量;
计算包含第2系数与上述约束项的积在内的第1修正项的步骤;
将上述第1修正项加上上述第2变量的步骤;以及
根据更新次数将上述第1系数及上述第2系数的绝对值增加的步骤。
CN202080025399.2A 2019-03-28 2020-03-27 信息处理装置、信息处理系统、信息处理方法、存储介质及程序 Pending CN113646784A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019-064587 2019-03-28
JP2019064587 2019-03-28
PCT/JP2020/014156 WO2020196862A1 (ja) 2019-03-28 2020-03-27 情報処理装置、情報処理システム、情報処理方法、記憶媒体およびプログラム

Publications (1)

Publication Number Publication Date
CN113646784A true CN113646784A (zh) 2021-11-12

Family

ID=72609510

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080025399.2A Pending CN113646784A (zh) 2019-03-28 2020-03-27 信息处理装置、信息处理系统、信息处理方法、存储介质及程序

Country Status (5)

Country Link
US (1) US20220012387A1 (zh)
JP (1) JP7562508B2 (zh)
CN (1) CN113646784A (zh)
CA (1) CA3135128A1 (zh)
WO (1) WO2020196862A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220075841A1 (en) * 2020-09-09 2022-03-10 Nec Corporation Information processing device, information processing method and computer-readable recording medium recording information processing program
JP7455773B2 (ja) 2021-03-17 2024-03-26 株式会社東芝 求解装置およびプログラム
JP7536710B2 (ja) * 2021-05-24 2024-08-20 株式会社東芝 求解装置、求解方法およびプログラム
WO2023228336A1 (ja) * 2022-05-25 2023-11-30 Tdk株式会社 計算モデル及び計算プログラム
TWI837818B (zh) * 2022-07-14 2024-04-01 仁寶電腦工業股份有限公司 網路連線控制系統及方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7877333B2 (en) * 2006-09-06 2011-01-25 D-Wave Systems Inc. Method and system for solving integer programming and discrete optimization problems using analog processors
US10691771B2 (en) * 2017-03-13 2020-06-23 Universities Space Research Association System and method to hardcode interger linear optimization problems on physical implementations of the Ising model
JP6836529B2 (ja) 2018-02-23 2021-03-03 株式会社東芝 計算装置、計算プログラム、記録媒体及び計算方法
WO2019165439A1 (en) * 2018-02-26 2019-08-29 Microsoft Technology Licensing, Llc Short path quantum procedures for solving combinatorial optimization problems
JP7502269B2 (ja) * 2019-03-28 2024-06-18 株式会社東芝 情報処理装置、情報処理システム、情報処理方法、記憶媒体およびプログラム
WO2020196872A1 (ja) * 2019-03-28 2020-10-01 株式会社 東芝 情報処理装置、情報処理システム、情報処理方法、記憶媒体およびプログラム
CA3135147A1 (en) * 2019-03-28 2020-10-01 Kabushiki Kaisha Toshiba Information processing device, information processing system, information processing method, storage medium, and program
CN113646783A (zh) * 2019-03-28 2021-11-12 株式会社东芝 信息处理设备、信息处理系统、信息处理方法、存储介质及程序
US11132422B2 (en) * 2019-06-20 2021-09-28 Fujitsu Limited Automating solving NP problems in annealer systems
US11556830B2 (en) * 2019-11-19 2023-01-17 International Business Machines Corporation Efficient quadratic ising hamiltonian generation with qubit reduction

Also Published As

Publication number Publication date
WO2020196862A1 (ja) 2020-10-01
JP7562508B2 (ja) 2024-10-07
JPWO2020196862A1 (zh) 2020-10-01
CA3135128A1 (en) 2020-10-01
US20220012387A1 (en) 2022-01-13

Similar Documents

Publication Publication Date Title
CN113646784A (zh) 信息处理装置、信息处理系统、信息处理方法、存储介质及程序
AU2020252872B2 (en) Adaptive error correction in quantum computing
JP7562509B2 (ja) 情報処理装置、情報処理システム、情報処理方法、記憶媒体およびプログラム
WO2020196866A1 (ja) 情報処理装置、情報処理システム、情報処理方法、記憶媒体およびプログラム
JP7421545B2 (ja) 情報処理装置、情報処理システム、情報処理方法、記憶媒体およびプログラム
JP7474242B2 (ja) 情報処理装置、情報処理システム、情報処理方法、記憶媒体およびプログラム
JP7176127B2 (ja) 量子シミュレーションアルゴリズムに基づくデータサーチ方法、装置及び機器並びにコンピュータプログラム
US11410069B2 (en) Grouping of Pauli observables using Bell measurements
US11966450B2 (en) Calculation device, calculation method, and computer program product
US10671550B1 (en) Memory offloading a problem using accelerators
JP7536710B2 (ja) 求解装置、求解方法およびプログラム
JP7472062B2 (ja) 計算装置、計算方法およびプログラム
CN117313882A (zh) 量子电路处理方法、装置及电子设备
CN117313877A (zh) 量子电路处理方法、装置及电子设备
CN117313879A (zh) 量子电路处理方法、装置及电子设备
CN117313884A (zh) 量子电路处理方法、装置及电子设备

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