CN114077805A - 信息处理系统 - Google Patents
信息处理系统 Download PDFInfo
- Publication number
- CN114077805A CN114077805A CN202110210672.5A CN202110210672A CN114077805A CN 114077805 A CN114077805 A CN 114077805A CN 202110210672 A CN202110210672 A CN 202110210672A CN 114077805 A CN114077805 A CN 114077805A
- Authority
- CN
- China
- Prior art keywords
- search
- circuit
- machine
- cpu34
- main
- 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
- 230000010365 information processing Effects 0.000 title claims abstract description 103
- 238000000034 method Methods 0.000 claims abstract description 248
- 230000008569 process Effects 0.000 claims abstract description 223
- 238000012545 processing Methods 0.000 claims abstract description 170
- 238000005457 optimization Methods 0.000 claims abstract description 55
- NHTMVDHEPJAVLT-UHFFFAOYSA-N Isooctane Chemical compound CC(C)CC(C)(C)C NHTMVDHEPJAVLT-UHFFFAOYSA-N 0.000 claims description 21
- 239000004065 semiconductor Substances 0.000 claims description 16
- JVSWJIKNEAIKJW-UHFFFAOYSA-N dimethyl-hexane Natural products CCCCCC(C)C JVSWJIKNEAIKJW-UHFFFAOYSA-N 0.000 claims description 15
- 230000005283 ground state Effects 0.000 claims description 7
- 230000008878 coupling Effects 0.000 description 39
- 238000010168 coupling process Methods 0.000 description 39
- 238000005859 coupling reaction Methods 0.000 description 39
- 238000004422 calculation algorithm Methods 0.000 description 24
- 230000004048 modification Effects 0.000 description 23
- 238000012986 modification Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 22
- 239000011159 matrix material Substances 0.000 description 20
- 238000007781 pre-processing Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 10
- JXDYKVIHCLTXOP-UHFFFAOYSA-N isatin Chemical compound C1=CC=C2C(=O)C(=O)NC2=C1 JXDYKVIHCLTXOP-UHFFFAOYSA-N 0.000 description 9
- -1 isooctyl Chemical group 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000002922 simulated annealing Methods 0.000 description 5
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 239000002245 particle Substances 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000005366 Ising model Effects 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000005086 pumping Methods 0.000 description 2
- HTIQEAQVCYTUBX-UHFFFAOYSA-N amlodipine Chemical compound CCOC(=O)C1=C(COCCN)NC(C)=C(C(=O)OC)C1C1=CC=CC=C1Cl HTIQEAQVCYTUBX-UHFFFAOYSA-N 0.000 description 1
- 229960001948 caffeine Drugs 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 125000002347 octyl group Chemical group [H]C([*])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])[H] 0.000 description 1
- 102200085381 rs119486096 Human genes 0.000 description 1
- 102220072405 rs191342808 Human genes 0.000 description 1
- 102220059026 rs786201684 Human genes 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- RYYVLZVUVIJVGH-UHFFFAOYSA-N trimethylxanthine Natural products CN1C(=O)N(C)C(=O)C2=C1N=CN2C RYYVLZVUVIJVGH-UHFFFAOYSA-N 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/08—Computing arrangements based on specific mathematical models using chaos models or non-linear system models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
- G06F17/13—Differential equations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Operations Research (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Nonlinear Science (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Probability & Statistics with Applications (AREA)
- Game Theory and Decision Science (AREA)
- Medical Informatics (AREA)
- Entrepreneurship & Innovation (AREA)
- Quality & Reliability (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Geometry (AREA)
- Computational Linguistics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Advance Control (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供信息处理系统。高速计算组合最佳化问题的解。实施方式所涉及的信息处理系统求解组合最佳化问题。在信息处理系统中,在具备伊辛机和主机部的搜索处理中,伊辛机关于多个伊辛自旋的各个伊辛自旋,将通过主变量更新辅助变量的辅助变量更新处理以及通过辅助变量更新主变量的主变量更新处理交替反复执行多次。在搜索处理之前,主机部将与多个伊辛自旋的各个伊辛自旋对应的辅助变量的初始值发送给伊辛机。
Description
技术领域
本发明的实施方式涉及信息处理系统。
背景技术
金融、物流、控制、化学等各种应用领域中的复杂的系统的最佳化在大多数的情况下,被归结为数学上的组合最佳化问题。组合最佳化问题是找出使被称为成本函数的离散变量的函数最小化的离散值的组合的问题。
近年来,被称为伊辛机的、进行伊辛模型的基底状态的搜索处理的特定目的装置得到瞩目。将搜索伊辛模型的基底状态的问题称为伊辛问题。伊辛问题是使通过表示2值的变量(伊辛自旋)的2次函数提供的成本函数最小化的组合最佳化问题。成本函数被称为伊辛能量。大量的实用的组合最佳化问题能够变换为伊辛问题。因此,求解组合最佳化问题的系统通过使用伊辛机,能够求解目的的组合最佳化问题。
求解组合最佳化问题的系统包括:伊辛机,进行伊辛模型的基底状态的搜索处理;以及主机部,进行搜索处理以外的处理。另外,伊辛问题通过耦合系数群(J矩阵)和外部磁场系数群(h矢量)定义。
在求解这样的组合最佳化问题的系统中,主机部将J矩阵以及h矢量发送给伊辛机,从伊辛机接收最佳化的多个伊辛自旋各自的值。另外,伊辛机从主机部接受J矩阵以及h矢量,回送以使伊辛能量成为最小的方式最佳化的多个伊辛自旋各自的值。求解这样的组合最佳化问题的系统被要求在主机部与伊辛机之间高效地发送接收信息,缩短从开始组合最佳化问题的计算处理至输出解的时间。
发明内容
本发明想要解决的课题在于高速计算组合最佳化问题的解。
实施方式所涉及的信息处理系统求解组合最佳化问题。所述信息处理系统具备伊辛机和主机部。所述伊辛机是执行搜索表示所述组合最佳化问题的伊辛模型的基底状态的搜索处理的硬件。所述主机部是与所述伊辛机经由接口连接,控制所述伊辛机的硬件。在所述搜索处理中,所述伊辛机将与包含于所述伊辛模型的多个伊辛自旋的各个伊辛自旋对应的主变量以及辅助变量对应起来存储,关于所述多个伊辛自旋的各个伊辛自旋,将通过所述主变量更新所述辅助变量的辅助变量更新处理以及通过所述辅助变量更新所述主变量的主变量更新处理交替反复执行多次,将基于将所述主变量更新处理以及所述辅助变量更新处理交替执行多次后的与所述多个伊辛自旋的各个伊辛自旋对应的所述主变量的值,作为搜索结果输出。在所述搜索处理之前,所述主机部将与所述多个伊辛自旋的各个伊辛自旋对应的所述辅助变量的初始值发送给所述伊辛机。在所述搜索处理之后,所述主机部从所述伊辛机接收所述搜索结果,根据接收到的所述搜索结果,输出所述组合最佳化问题的解。根据上述信息处理系统,能够高速计算组合最佳化问题的解。
附图说明
图1是示出第1实施方式所涉及的信息处理系统的功能结构的图。
图2是示出表示伊辛模型的图表的图。
图3是示出存储于伊辛机的变量的图。
图4是示出利用伊辛机的搜索处理的流程的流程图。
图5是示出信息处理系统的硬件结构的图。
图6是示出信息处理系统的处理的流程的序列图。
图7是示出第2实施方式所涉及的信息处理系统的硬件结构的图。
图8是第2实施方式的第1例的流程图。
图9是第2实施方式的第1例的时序图。
图10是第2实施方式的第2例的流程图。
图11是示出预处理的流程的流程图。
图12是第2实施方式的第2例的时序图。
图13是示出第3实施方式所涉及的信息处理系统的功能结构的图。
图14是第3实施方式的流程图。
图15是第3实施方式的定时器中断的流程图。
图16是第3实施方式的时序图。
图17是第4实施方式的定时器中断的流程图。
图18是第4实施方式的时序图。
图19是示出未重构的情况以及已重构的情况下的处理时间的图。
图20是示出包括耦合系数的耦合信息的图。
(符号说明)
10:信息处理系统;12:伊辛机;14:主机部;32:FPGA;34:CPU;36:主存储装置;38:电路信息存储装置;40:输入装置;42:显示装置;44:总线;51:第1标志存储电路;52:第2标志存储电路。
具体实施方式
(第1实施方式)
图1是示出第1实施方式所涉及的信息处理系统10的功能结构的图。
信息处理系统10是求解组合最佳化问题的装置。第1实施方式所涉及的信息处理系统10具备伊辛机12、和主机部14。
伊辛机12是执行搜索表示组合最佳化问题的伊辛模型的基底状态的搜索处理的硬件。伊辛机12例如是FPGA(Field Programmable Gate Array,现场可编程门阵列)等能够重构的半导体装置。此外,在第1实施方式中,伊辛机12也可以并非能够重构的半导体装置。在第1实施方式中,伊辛机12例如既可以是无法重构的半导体装置,也可以是依照程序执行信息处理的处理电路。
主机部14是与伊辛机12经由物理性的接口连接,控制伊辛机12的硬件。主机部14是依照程序执行信息处理的处理电路。主机部14执行用于求解组合最佳化问题的一连串的处理中的、由伊辛机12执行的搜索处理以外的处理。
在搜索表示应求解的组合最佳化问题的伊辛模型的基底状态的情况下,主机部14将作为定义伊辛模型的定义信息的J矩阵以及h矢量、用于控制由伊辛机12执行的搜索处理的控制参数、以及多个辅助变量(p1,p2,p3,…)(详细后述)各自的初始值,经由接口发送给伊辛机12。此外,主机部14进而也可以将多个主变量(x1,x2,x3,…)(详细后述)的初始值经由接口发送给伊辛机12。
伊辛机12执行搜索用J矩阵以及h矢量定义的伊辛模型的基底状态的搜索处理。在搜索处理的开始时,伊辛机12在多个辅助变量(p1,p2,p3,…)的各个辅助变量中代入从主机部14接收到的初始值。进而,在搜索处理的开始时,伊辛机12在多个主变量(x1,x2,x3,…)的各个主变量中,作为初始值,代入0等预先决定的值。伊辛机12也可以在多个主变量(x1,x2,x3,…)的各个主变量中,根据随机数等生成值,将生成的值作为初始值代入。此外,伊辛机12在从主机部14接收到多个主变量(x1,x2,x3,…)各自的初始值的情况下,在多个主变量(x1,x2,x3,…)的各个主变量中代入接收到的值。然后,伊辛机12在多个主变量(x1,x2,x3,…)的各个主变量以及多个辅助变量(p1,p2,p3,…)的各个辅助变量中代入初始值后,开始搜索。
伊辛机12通过执行搜索处理,能够计算使得伊辛模型中的伊辛能量成为最小的多个主变量(x1,x2,x3,…)的值。然后,伊辛机12将对搜索处理后的多个主变量(x1,x2,x3,…)的值的各个主变量进行2值化而得到的N个伊辛自旋(s1,s2,s3,…)的值,作为搜索结果经由接口发送给主机部14。伊辛机12也可以将搜索处理后的多个主变量(x1,x2,x3,…)的值,作为搜索结果发送给主机部14。然后,主机部14将多个伊辛自旋(s1,s2,s3,…)的值,作为组合最佳化问题的解输出。
图2是示出表示伊辛模型的图表的图。包括N个伊辛自旋的伊辛模型的能量(E(s))通过下述的(1)式表示。
【式1】
N是包含于伊辛模型的伊辛自旋的数量,是3以上的整数。i以及j表示伊辛自旋的索引,是1以上、N以下的整数。si表示第i个伊辛自旋。sj表示第j个伊辛自旋。si以及sj表示-1或者+1中的某一个。此外,还有将N个伊辛自旋集中称为s矢量(s1,s2,…,sN)的情况。s矢量表示N个伊辛自旋中的-1或者+1的配置。
Jij是J矩阵中的i行、j列的要素。J矩阵是对称分量的要素相同(Jij=Jji)的、N行、N列的方阵。伊辛模型针对包含于N个伊辛自旋的所有2个伊辛自旋的每个组,定义耦合系数。Jij表示表示第i个伊辛自旋与第j个伊辛自旋之间的相互作用的耦合系数。
hi是h矢量中的第i个要素。伊辛模型定义表示针对N个伊辛自旋的各个伊辛自旋个别地提供影响的外部磁场的外部磁场系数。hi表示对第i个伊辛自旋提供影响的外部磁场系数。
N尺寸的伊辛问题是指,针对包括N个伊辛自旋的伊辛模型,计算伊辛能量成为最小的自旋配置的问题。成为能量最小的自旋配置(S矢量)被称为基底状态。
在图2中,示出表示N=6的情况的伊辛模型的图表。图表顶点与伊辛自旋对应。图表边缘与伊辛自旋和伊辛自旋之间的耦合系数Jij相当。外部磁场系数hi被分配给图表顶点。
一般的组合最佳化问题被表示为通过J矩阵以及h矢量定义的伊辛问题。伊辛机12接受J矩阵以及h矢量作为应求解的问题,在内部搜索伊辛能量更低的自旋配置,作为解输出该最佳化的自旋配置。
伊辛能量最小的自旋配置与精确解相当。伊辛能量接近最小的自旋配置与近似解相当。一般而言,伊辛机12的性能通过直至输出解的时间和解的精度(在更小的能量时解的精度高)表示。伊辛机12也可以作为解,不仅是输出精确解,而且还输出近似解。另外,利用伊辛机12的搜索基底状态的搜索处理不仅包括搜索精确解的处理,而且还包括搜索近似解的处理。
另外,能够求解N尺寸的伊辛问题的伊辛机12能够还求解比N尺寸小的伊辛问题。例如,伊辛机12通过使J矩阵以及h矩阵中的不存在伊辛自旋的要素的耦合系数以及外部磁场系数成为0,能够搜索比N尺寸小的伊辛问题,作为N尺寸的伊辛问题。
作为伊辛问题的解法,以往,已知模拟退火(SA)法。依照SA法进行伊辛模型的基底状态的搜索处理的装置还被称为基于SA的伊辛机。
另外,作为求解伊辛问题的解法,已知模拟分支(SB)法。另外,伊辛机12通过模拟分支法,进行伊辛模型的基底状态的搜索处理。例如,在非专利文献1以及专利文献2~7等中,提出模拟分支法。模拟分支法是将古典力学中的基于绝热变化的最佳化算法中的运动方程式改变为适合于高速仿真的形式的算法。伊辛机12使用这样的模拟分支法,执行伊辛模型的基底状态的搜索处理。
在模拟分支法中,使用分别与N个虚拟的粒子对应的2个主变量(xi)以及辅助变量(pi)。N个粒子与N个伊辛自旋对应。在模拟分支法中,主变量(xi)表示N个粒子中的第i个粒子的位置(i=1、2、…、N)。在模拟分支法中,辅助变量(pi)表示第i个粒子的运动量。N个主变量(xi)的各个主变量以及N个辅助变量(pi)的各个辅助变量是用实数表示的连续变量。
然后,在模拟分支法中,关于N个虚拟的粒子的各个虚拟的粒子,在数值上求解例如下述的式(2)以及式(3)的联立常微分方程式。
【式2】
在此,H是下述的式(4)的哈密顿。
【式3】
c是预先决定的系数。D是预先决定的系数,与解谐(detuning)相当。K是与正的克尔系数(Kerr coefficient)相当的系数。t是表示时刻的变量。p(t)与抽运振幅(pumpingamplitude)相当,是在模拟分支法的计算时根据更新次数而值单调增加的函数。p(t)的初始值也可以设定为0。α(t)是与p(t)一起单调增加的函数。
在此,在使用辛欧拉法时,能够求解通过式(2)以及(3)提供的微分方程式。如下述的式(5)以及式(6)所示,在使用辛欧拉法的情况下,微分方程式被改写为离散的递推式。
【式4】
xi=xi+DpiΔt …(5)
Δt是时间步长(单位时间、时间增量)。
因此,伊辛机12在使t逐次增加Δt的同时,直至t达到预先决定的结束时刻(T),交替执行式(5)以及式(6)的运算。然后,伊辛机12将对最终地得到的N个主变量(xi)的各个主变量进行2值化而得到的N个伊辛自旋(si)的值、或者N个主变量(xi)的值,作为搜索结果输出。
此外,伊辛机12只要是使用模拟分支法的算法,则也可以执行运算式(3)以及式(4)以外的算法。例如,伊辛机12也可以执行运算使式(3)以及式(4)变形而成的式的算法。另外,例如,伊辛机12也可以除了式(3)以及式(4)的运算或者使式(3)以及式(4)变形而成的式的运算以外,还执行进行预定的控制处理的算法。
伊辛机12由于变更执行的算法,有收敛速度以及到达解精度这样的性能指标变化的情况。因此,应用于伊辛机12的算法也可以根据应求解的伊辛问题以及目的(收敛速度重视以及精度重视等)而不同。伊辛机12也可以通过预先设定的多个算法中的由用户选择的算法,执行搜索处理。例如,在伊辛机12是能够重构的半导体设备的情况下,主机部14根据表示执行由用户选择的算法的电路的电路信息,重构半导体设备。由此,伊辛机12能够根据应求解的伊辛问题以及目的,通过适合的电路执行伊辛模型的基底状态的搜索处理。
图3是示出存储于伊辛机12的变量的图。伊辛机12通过硬件电路执行使用模拟分支法的算法。在进行包括N个伊辛自旋的伊辛模型的基底状态的搜索处理的情况下,伊辛机12在内部的存储器或者寄存器中,存储N个主变量(xi)以及N个辅助变量(pi)。
这样,伊辛机12在内部存储2×N个变量。因此,伊辛机12的结构与存储N个变量的基于SA的伊辛机不同。此外,主变量(xi)通过2值化处理,被变换为伊辛自旋(si)。相对于此,辅助变量(pi)无法用于向伊辛自旋(si)的变换。
另外,N个主变量(xi)的各个主变量以及N个辅助变量(pi)的各个辅助变量在搜索处理的开始时被初始化。伊辛机12即便是J矩阵以及h矢量相同的问题,在辅助变量(pi)的初始值不同的情况下,也有输出不同的解(近似)的情况。因此,伊辛机12通过变更辅助变量(pi)的初始值,执行J矩阵以及h矢量相同的问题的搜索处理,能够得到精度更高的解。
图4是示出利用伊辛机12的搜索处理的流程的流程图。伊辛机12按照图4所示的流程执行搜索处理。
首先,在S111中,伊辛机12进行设定处理。具体而言,伊辛机12例如设定K及D的系数、以及p(t)及α(t)等函数、以及反复次数等。进而,伊辛机12根据从主机部14接受的定义信息,设定J矩阵以及h矢量。
接下来,在S112中,伊辛机12对N个主变量(x1~xN)各自的值以及N个辅助变量(p1~pN)各自的值进行初始化。例如,伊辛机12将N个主变量(x1~xN)各自的值设定为0、预先决定的值、或者在预定的范围内通过随机数决定的值。另外,伊辛机12在从主机部14接收到N个主变量(x1~xN)各自的初始值的情况下,将N个主变量(x1~xN)各自的值设定为从主机部14接收到的初始值。进而,伊辛机12将N个辅助变量(p1~pN)各自的值设定为从主机部14接收到的初始值。
接下来,伊辛机12将S113至S120的循环处理反复设定的次数。
在循环内的S114~S116中,伊辛机12在使i从i=1至i=N逐次递增1的同时,执行辅助变量更新处理(S114、S115、S116)。在用于更新第i个辅助变量的辅助变量更新处理(S115)中,伊辛机12通过N个主变量(x1~xN)、表示第i个主变量(xi)与其他(N-1)个主变量(x1~i-1,xi+1~N)之间的相互作用的N个耦合系数(Ji,j)、以及第i个外部磁场系数(hj),更新第i个辅助变量(pi)。
具体而言,伊辛机12通过运算上述式(6),计算第i个辅助变量(pi)。
此外,伊辛机12也可以并行地执行S115的处理。由此,伊辛机12能够高速地计算N个辅助变量(p1~pN)。
接着,在S117~S119中,伊辛机12在使i从i=1至i=N逐次递增1的同时,执行主变量更新处理(S117、S118、S119)。在用于更新第i个主变量的主变量更新处理(S118)中,伊辛机12通过第i个辅助变量(pi),更新第i个主变量(xi)。
具体而言,伊辛机12通过运算上述式(5),计算第i个主变量(xi)。
此外,伊辛机12也可以并行地执行S118的处理。由此,伊辛机12能够高速地计算N个主变量(x1~xN)。
然后,伊辛机12在将S113与S120之间的循环处理执行设定的次数的情况下,使处理进入到S121。此外,伊辛机12也可以在S113至S120的循环处理内,先执行S117~S119的处理,后执行S114~S116的处理。
在S121中,伊辛机12将搜索结果输出给主机部14。例如,伊辛机12将对N个主变量(x1~xN)的各个主变量进行2值化而得到的N个伊辛自旋(s1~sN)、或者N个主变量(x1~xN),输出给主机部14。然后,伊辛机12在结束S121的处理后,结束搜索处理。
如以上所述,伊辛机12关于N个伊辛自旋(s1~sN)的各个伊辛自旋,将通过主变量更新辅助变量的辅助变量更新处理(S115)以及通过辅助变量更新主变量的主变量更新处理(S118)交替反复执行多次。进而,伊辛机12将基于将辅助变量更新处理(S115)以及主变量更新处理(S118)交替执行多次后的主变量的值,作为搜索结果输出。由此,伊辛机12能够执行使用模拟分支法的算法,执行伊辛模型的基底状态的搜索处理。
图5是示出信息处理系统10的硬件结构的一个例子的图。例如,信息处理系统10具备FPGA32、CPU(Central Processing Unit,中央处理单元)34、主存储装置36、电路信息存储装置38、输入装置40、显示装置42、以及总线44。
FPGA32从CPU34经由总线44接受电路信息,依照接受的电路信息构成为预先决定的电路。由此,FPGA32作为伊辛机12发挥功能。
FPGA32从CPU34经由总线44接受定义信息以及控制参数,依照接受的定义信息以及控制参数执行搜索处理。定义信息是定义伊辛模型的信息。具体而言,是J矩阵以及h矢量。控制参数是用于控制搜索处理的信息。例如,控制参数是系数(c、D、K)、函数(α(t)、p(t))、单位时间(Δt)、以及循环处理的反复次数等。
另外,FPGA32在搜索处理之前,从CPU34经由总线44接受与包含于伊辛模型的多个伊辛自旋对应的N个辅助变量(pi)各自的存储于主存储装置36的初始值。进而,FPGA32也可以在搜索处理之前,从CPU34经由总线44接受与多个伊辛自旋对应的N个主变量(xi)各自的存储于主存储装置36的初始值。
然后,FPGA32在搜索处理结束之后,将搜索结果经由总线44输出给主机部14。具体而言,在FPGA32中,作为搜索结果,将对与多个伊辛自旋的各个伊辛自旋对应的主变量(xi)的各个主变量进行2值化而得到的伊辛自旋(si)的值、或者多个主变量(xi)各自的值输出给主机部14。
CPU34依照存储于主存储装置36的程序动作。由此,CPU34以及主存储装置36作为主机部14发挥功能。
CPU34执行预处理、参数发送处理、结果接收处理以及主处理。CPU34在预处理中,生成定义信息以及控制参数。另外,CPU34在预处理中,生成多个辅助变量(pi)各自的初始值。CPU34也可以在预处理中,还生成多个主变量(xi)各自的初始值。
CPU34在参数发送处理中,将定义信息、控制参数以及多个辅助变量(pi)各自的初始值,经由总线44发送给FPGA32。CPU34也可以在参数发送处理中,进而将多个主变量(xi)各自的初始值,经由总线44发送给FPGA32。
CPU34在结果接收处理中,从FPGA32经由总线44接收搜索结果,根据接收到的搜索结果,输出组合最佳化问题的解。另外,CPU34将预处理、参数发送处理以及结果接收处理以外的处理作为主处理执行。
主存储装置36是RAM(Random Access Memory,随机存取存储器)。主存储装置36被用作用于CPU34的数据处理的作业区域。
电路信息存储装置38是非易失性的存储装置。电路信息存储装置38存储用于使FPGA32构成为用于搜索伊辛模型的基底状态的电路的电路信息。
电路信息存储装置38也可以存储多个电路信息。多个电路信息的各个电路信息例如也可以是表示能够求解的伊辛模型的最大尺寸相互不同的电路的信息。另外,多个电路信息的各个电路信息例如也可以是表示执行算法相互不同的搜索处理的电路的信息。CPU34从多个电路信息中选择由用户指定的电路信息,通过选择的电路信息使FPGA32重构。
输入装置40是用于输入来自用户的指示等的装置。输入装置40例如是鼠标以及键盘等。输入装置40从用户受理处理的开始指示。CPU34在输入装置40受理到由用户输入的开始指示的情况下,开始组合最佳化问题的解的计算处理。
显示装置42是用于对用户显示信息的装置。显示装置42显示组合最佳化问题的解。
总线44连接FPGA32、CPU34、主存储装置36、电路信息存储装置38、输入装置40以及显示装置42,进行数据的发送接收。总线44作为连接伊辛机12与主机部14之间的接口发挥功能。
图6是示出信息处理系统10的处理的流程的序列图。信息处理系统10在FPGA32计算包括N个伊辛自旋的伊辛模型的解的情况下,按照图6所示的流程执行处理。
首先,在S11中,CPU34执行主处理。接下来,在S12中,CPU34执行预处理。具体而言,CPU34在预处理中,与在FPGA32中构成的伊辛机12对应地,生成定义信息(J、h)、控制参数、以及N个辅助变量(p1~pN)各自的初始值。进而,CPU34也可以生成N个主变量(x1~xN)各自的初始值。
接下来,在S13中,CPU34经由总线44,将定义信息(J、h)、控制参数、以及N个辅助变量(p1~pN)各自的初始值经由总线44发送给FPGA32。进而,CPU34也可以将N个主变量(x1~xN)各自的初始值经由总线44发送给FPGA32。
接下来,在S14中,FPGA32执行搜索处理。具体而言,FPGA32关于N个伊辛自旋的各个伊辛自旋,将通过主变量(xi)更新辅助变量(pi)的辅助变量更新处理、以及通过辅助变量(pi)更新主变量(xi)的主变量更新处理交替反复执行多次。具体而言,FPGA32执行图4所示的处理。
此外,在搜索处理的开始时,FPGA32在N个辅助变量(pi)的各个辅助变量中,设定从CPU34接收到的初始值。进而,在搜索处理的开始时,FPGA32在N个主变量(xi)的各个主变量中,作为初始值,例如设定0等预先决定的值。另外,FPGA32也可以在N个主变量(xi)的各个主变量中,作为初始值,在内部生成与随机数等对应的值,设定生成的值。此外,FPGA32在从CPU34接收到N个主变量(xi)各自的初始值的情况下,在N个主变量(xi)的各个主变量中,设定从CPU34接收到的初始值。
接下来,在S14中,FPGA32将搜索结果发送给CPU34。具体而言,FPGA32将对N个主变量(x1~xN)的各个主变量进行2值化而得到的N个伊辛自旋(s1~sN)、或者N个主变量(x1~xN),经由总线44发送给CPU34。接下来,在S15中,CPU34从FPGA32经由总线44接收搜索结果。
如以上所述,本实施方式所涉及的信息处理系统10从主机部14(CPU34以及主存储装置36)经由接口(总线44)向伊辛机12(FPGA32),除了定义伊辛模型的定义信息(J、h)以及控制参数以外,还发送多个辅助变量(pi)各自的初始值。伊辛机12(FPGA32)即使主变量(xi)的值是固定值,在辅助变量(pi)的初始值不同的情况下,也能够输出不同的近似解。即,主机部14(CPU34)即使未向伊辛机12(FPGA32)发送主变量(xi)的初始值,只要变更辅助变量(pi)的初始值,则能够使伊辛机12(FPGA32)执行适合的搜索处理。因此,本实施方式所涉及的信息处理系统10也可以不进行主变量(xi)的生成以及发送处理,能够缩短处理时间以及通信时间。这样,根据本实施方式所涉及的信息处理系统10,能够高速计算组合最佳化问题的解。
(第2实施方式)
接着,说明第2实施方式所涉及的信息处理系统10。第2实施方式所涉及的信息处理系统10的结构与第1实施方式大致相同。因此,在第2实施方式所涉及的信息处理系统10的说明中,对与第1实施方式大致相同的构成要素附加同一符号,省略详细的说明。
第2实施方式所涉及的信息处理系统10将多个组合最佳化问题依次逐次求解1个。
图7是示出第2实施方式所涉及的信息处理系统10的硬件结构的图。第2实施方式所涉及的CPU34包括第1标志存储电路51。第1标志存储电路51存储表示利用FPGA32的搜索处理是否结束的第1标志。第1标志存储电路51例如是在CPU34内设置的标志寄存器。第1标志存储电路51也可以设置于CPU34的外部(例如主存储装置36)。
第1标志存储电路51能够由CPU34写入以及读出第1标志。与此同时,在第1标志存储电路51中,根据FPGA32的动作状况设置第1标志。例如,第1标志在是0的情况下,表示利用FPGA32的搜索处理未结束,在是1的情况下,表示利用FPGA32的搜索处理结束。
另外,在第2实施方式中,CPU34还能够代替FPGA32,执行搜索处理。在该情况下,CPU34通过执行预先决定的搜索程序,执行搜索处理。
图8是示出第2实施方式的第1例所涉及的CPU34的处理的流程的流程图。在第1例中,在信息处理系统10中,CPU34代替FPGA32执行搜索处理。在第1例中,CPU34按照图8所示的流程执行处理。
在第1例中,CPU34将S21与S24之间的循环处理执行L次。L表示应求解的组合最佳化问题的数量,是预先决定的2以上的整数。CPU34在各循环处理中,执行主处理(S22)以及搜索处理(S23)。此外,主处理(S22)与图6所示的S11的处理相同。另外,搜索处理(S23)与图6所示的S14的处理相同。然后,CPU34在将循环处理执行L次的情况下,结束本流程(S24)。
图9是第2实施方式的第1例所涉及的由信息处理系统10执行的处理的时序图。m表示应求解的组合最佳化问题的索引,是1至L的整数。信息处理系统10在使m逐次递增1的同时,依次求解从m=1的组合最佳化问题至m=L的组合最佳化问题。
如图9所示,在第1例中,CPU34将主处理和搜索处理交替反复执行。由此,第2实施方式的第1例所涉及的信息处理系统10能够依次求解多个组合最佳化问题。
图10是示出第2实施方式的第2例所涉及的CPU34的处理的流程的流程图。在第2例中,在信息处理系统10中,FPGA32执行搜索处理,CPU34执行搜索处理以外的处理。在第2例中,CPU34按照图10所示的流程执行处理。
在第2例中,CPU34将S31与S41之间的循环处理执行L次。CPU34在各循环处理中,执行S32至S40的处理。
在S32中,CPU34执行主处理。主处理(S32)与图6所示的S11的处理相同。接下来,在S33中,CPU34执行预处理。关于S33的预处理,参照图11后述。
接下来,在S34中,CPU34判断是否实施FPGA32的重构。例如,CPU34判断当前在FPGA32中构成的电路是否与表示此后应求解的组合最佳化问题的伊辛模型对应。然后,CPU34判断为在对应的情况下,不实施重构,在未对应的情况下,实施重构。在不实施重构的情况下(S34的“否”),CPU34使处理进入到S36。在实施重构的情况下(S34的“是”),CPU34使处理进入到S35。在S35中,CPU34将与表示此后应求解的组合最佳化问题的伊辛模型对应的电路信息提供给FPGA32,使FPGA32重构。
接下来,在S36中,CPU34将在预处理(S33)中生成的参数发送给FPGA32。具体而言,CPU34将定义信息(J、h)、控制参数、以及N个辅助变量(p1~pN)各自的初始值经由总线44发送给FPGA32。进而,CPU34也可以将N个主变量(x1~xN)各自的初始值经由总线44发送给FPGA32。
接下来,在S37中,CPU34针对FPGA32,指示搜索处理的开始。此外,FPGA32在开始搜索处理之前,将第1标志(bs_flag)设为作为表示搜索处理未结束的值的0。另外,FPGA32在搜索处理结束的情况下,将第1标志(bs_flag)设为作为表示搜索处理结束的值的1。
接下来,在S38中,CPU34确认利用FPGA32的搜索处理是否结束。具体而言,CPU34取得第1标志(bs_flag)。
接下来,在S39中,CPU34判断搜索处理是否结束。在搜索处理结束的情况、即是bs_flag==1的情况下(S39的“是”),使处理进入到S40。在搜索处理未结束的情况、即并非bs_flag==1的情况下(S39的“否”),使处理返回到S38,反复S38以及S39的处理。即,CPU34在从指示搜索处理的开始至搜索处理结束,为了确认搜索处理结束,进行作为反复确认第1标志(bs_flag)的处理的轮询。
在S40中,CPU34从FPGA32接收搜索结果。然后,CPU34在将循环处理执行L次的情况下,结束本流程(S41)。
图11是示出预处理(S33)的流程的流程图。CPU34在预处理(S32)中,执行S51至S54的处理。
在S51中,CPU34生成N个辅助变量(p1~pN)各自的初始值。此外,CPU34也可以还生成N个主变量(xi)各自的初始值。
接下来,在S52中,CPU34生成J矩阵。接下来,在S53中,CPU34生成h矢量。接下来,在S54中,CPU34生成包括系数(c、D、K)、函数(α(t)、p(t))、单位时间(Δt)、以及反复次数等的控制参数。CPU34在结束S54的处理后,使处理返回到图10的流程。
图12是第2实施方式的第2例所涉及的由信息处理系统10执行的处理的时序图。如图12所示,在第2实施方式的第2例中,在CPU34进行主处理、预处理以及参数发送处理之后,FPGA32进行搜索处理。CPU34在FPGA32进行搜索处理的过程中,通过轮询确认搜索处理是否结束,在搜索处理结束之后,进行结果接收处理。然后,CPU34在结果接收处理之后,开始接下来的问题的主处理。这样,在第2实施方式的第2例所涉及的信息处理系统10中,CPU34和FPGA32在排他的定时执行处理。由此,第2实施方式的第2例所涉及的信息处理系统10能够依次求解多个组合最佳化问题。
在此,FPGA32能够构成并行地运算N个主变量(x1~xN)以及N个辅助变量(p1~pN)的电路。因此,FPGA32能够实施大规模的并行运算。相对于此,一般而言,CPU34由于在核的数量以及线程的数量中有限制,所以无法实施大规模的并行运算处理。因此,第2例所涉及的信息处理系统10相比于第1例所涉及的信息处理系统10,追加预处理、参数发送处理以及结果接收处理,但能够大幅缩短搜索处理。因此,第2例所涉及的信息处理系统10作为整体能够增大吞吐量。
(第3实施方式)
接着,说明第3实施方式所涉及的信息处理系统10。第3实施方式所涉及的信息处理系统10的结构与第2实施方式大致相同。因此,在第3实施方式所涉及的信息处理系统10的说明中,对与第2实施方式大致相同的构成要素附加同一符号,省略详细的说明。
第3实施方式所涉及的信息处理系统10将多个组合最佳化问题依次逐次求解1个,并且并行地执行利用CPU34的主处理和利用FPGA32的搜索处理。
图13是示出第3实施方式所涉及的信息处理系统10的功能结构的图。第3实施方式所涉及的CPU34相比于图7所示的第2实施方式的结构,还包括第2标志存储电路52。第2标志存储电路52存储表示CPU34是否从FPGA32接收到搜索结果的第2标志。第2标志存储电路52例如是内置于CPU34内的标志寄存器。第2标志存储电路52也可以设置于CPU34的外部(例如主存储装置36)。
关于第2标志存储电路52,CPU34能够进行写入以及读出。例如,第2标志在是0的情况下,表示CPU34未接收到搜索结果,在是1的情况下,表示CPU34接收到搜索结果。
图14是示出第3实施方式所涉及的CPU34的处理的流程的流程图。第3实施方式所涉及的CPU34按照图14所示的流程执行处理。
首先,在S61中,CPU34将第1标志(bs_flag)设定为作为表示搜索处理未结束的值的0。进而,CPU34将第2标志(rcv_flag)设定为作为表示接收到搜索结果的值的1。
接下来,CPU34将S62与S75之间的循环处理执行L次。CPU34在各循环处理中,执行S63至S74的处理。
在S63中,CPU34许可定时器的中断。定时器针对每预定时间发生定时器标志。在许可定时器的中断的情况下,CPU34每当发生定时器标志时,执行后述图15所示的处理。
接下来,在S64中,CPU34执行主处理。主处理(S64)与图10所示的S32的处理相同。
接下来,在S65中,CPU34执行预处理。预处理(S65)与图10所示的S33的处理相同。
接下来,在S66中,CPU34禁止在S63中许可的定时器的中断。以后,直至接下来定时器的中断被许可,即使发生定时器标志,CPU34也不执行图15所示的处理。
接下来,在S67中,CPU34判断第2标志(rcv_flag)是否表示未接收到搜索结果。在第2标志(rcv_flag)表示接收到搜索结果的情况、即并非rcv_flag==0的情况下(S67的“否”),CPU34使处理进入到S71。在第2标志(rcv_flag)表示未接收到搜索结果的情况、即是rcv_flag==0的情况下(S67的“是”),CPU34使处理进入到S68。
接下来,在S68中,CPU34确认是否已结束利用FPGA32的搜索处理。具体而言,CPU34取得第1标志(bs_flag)。
接下来,在S69中,CPU34判断搜索处理是否结束。在搜索处理结束的情况、即是bs_flag==1的情况下(S69的“是”),使处理进入到S70。在搜索处理未结束的情况、即并非bs_flag==1的情况下(S69的“否”),使处理返回到S68,反复S68以及S69的处理。即,CPU34在从指示搜索处理的开始至搜索处理结束,进行用于确认搜索处理结束的轮询。
在S70中,CPU34从FPGA32接收搜索结果。进而,CPU34在搜索结果的接收完成的情况下,将第2标志(rcv_flag)设定为作为表示接收到搜索结果的值的1。
接下来,在S71中,CPU34判断是否实施FPGA32的重构。在不实施重构的情况下(S71的“否”),CPU34使处理进入到S73。在实施重构的情况下(S71的“是”),CPU34使处理进入到S72。在S72中,CPU34将与表示此后应求解的组合最佳化问题的伊辛模型对应的电路信息提供给FPGA32,使FPGA32重构。
接下来,在S73中,CPU34将在预处理(S65)中生成的参数,发送给FPGA32。参数发送处理(S73)与图10所示的S36的处理相同。
接下来,在S74中,CPU34针对FPGA32指示搜索处理的开始。进而,CPU34将第2标志(rcv_flag)设定为作为表示未接收到搜索结果的值的0。然后,CPU34在将循环处理执行L次的情况下,结束本流程(S75)。
图15是示出在第3实施方式所涉及的CPU34中,发生定时器中断的情况下的处理的流程的流程图。第3实施方式所涉及的CPU34在许可定时器中断的状态下发生定时器中断的情况下,按照图15所示的流程执行处理。
首先,在S81中,CPU34判断第2标志(rcv_flag)是否表示未接收到搜索结果。在第2标志(rcv_flag)表示接收到搜索结果的情况、即并非rcv_flag==0的情况下(S81的“否”),CPU34结束定时器中断的流程。在第2标志(rcv_flag)表示未接收到搜索结果的情况、即是rcv_flag==0的情况下(S81的“是”),CPU34使处理进入到S82。
在S82中,CPU34确认是否已结束利用FPGA32的搜索处理。具体而言,CPU34取得第1标志(bs_flag)。
接下来,在S83中,CPU34判断搜索处理是否结束。在搜索处理结束的情况、即是bs_flag==1的情况下(S83的“是”),使处理进入到S84。在搜索处理未结束的情况、即并非bs_flag==1的情况下(S83的“否”),CPU34结束定时器中断的流程。
在S84中,CPU34从FPGA32接收搜索结果。进而,CPU34在搜索结果的接收完成的情况下,将第2标志(rcv_flag)设定为作为表示接收到搜索结果的值的1。然后,CPU34在S84的处理结束后,结束定时器中断的流程。
图16是第3实施方式所涉及的由信息处理系统10执行的处理的时序图。在第3实施方式所涉及的信息处理系统10中,在利用FPGA32的搜索处理中,CPU34执行接下来应求解的组合最佳化问题中的主处理。例如,在信息处理系统10中,在执行搜索第1伊辛模型的基底状态的第1搜索处理(m=1)之后执行搜索第2伊辛模型的基底状态的第2搜索处理(m=2)的情况下,CPU34以及FPGA32如下所述进行处理。
首先,CPU34执行生成在第1搜索处理(m=1)的执行中使用的信息的第1主处理,接下来,执行用于第1搜索处理(m=1)的预处理以及参数发送处理。接下来,FPGA32在由CPU34执行第1主处理之后,执行第1搜索处理(m=1)。
接下来,CPU34在FPGA32执行第1搜索处理(m=1)的期间中,执行生成在第2搜索处理(m=2)的执行中使用的信息的第2主处理。CPU34在执行第2主处理的过程中利用FPGA32的第1搜索处理(m=1)结束的情况下,将第2主处理临时地中断,执行接收第1搜索处理(m=1)的搜索结果的结果接收处理。然后,FPGA32在由CPU34执行第2主处理之后,执行第2搜索处理(m=2)。
这样,第3实施方式所涉及的信息处理系统10使CPU34和FPGA32并行地动作。由此,第3实施方式所涉及的信息处理系统10能够缩短整体的处理时间,作为整体增大吞吐量。
(第4实施方式)
接着,说明第4实施方式所涉及的信息处理系统10。第4实施方式所涉及的信息处理系统10的结构与图13所示的第3实施方式所涉及的信息处理系统10的结构相同。另外,第4实施方式所涉及的信息处理系统10的处理相比于第3实施方式所涉及的信息处理系统10,发生定时器中断的情况的处理不同,其他处理相同。因此,在第4实施方式所涉及的信息处理系统10的说明中,对与第3实施方式大致相同的构成要素附加同一符号,省略详细的说明。
第4实施方式所涉及的信息处理系统10将多个组合最佳化问题依次逐次求解1个,并且并行地执行利用CPU34的主处理和利用FPGA32的搜索处理。进而,第4实施方式所涉及的信息处理系统10在CPU34的主处理中,如果可能则将搜索处理执行多次。
图17是示出在第4实施方式所涉及的CPU34中,发生定时器中断的情况下的处理的流程的流程图。第4实施方式所涉及的CPU34在许可定时器中断的状态下发生定时器中断的情况下,按照图17所示的流程执行处理。
首先,在S91中,CPU34判断第2标志(rcv_flag)是否表示未接收到搜索结果。在第2标志(rcv_flag)表示接收到搜索结果的情况、即并非rcv_flag==0的情况下(S91的“否”),CPU34结束定时器中断的流程。在第2标志(rcv_flag)表示未接收到搜索结果的情况、即是rcv_flag==0的情况下(S91的“是”),CPU34使处理进入到S92。
在S92中,CPU34确认是否已结束利用FPGA32的搜索处理。具体而言,CPU34取得第1标志(bs_flag)。
接下来,在S93中,CPU34判断搜索处理是否结束。在搜索处理结束的情况、即是bs_flag==1的情况下(S93的“是”),使处理进入到S94。在搜索处理未结束的情况、即并非bs_flag==1的情况下(S93的“否”),CPU34结束定时器中断的流程。
在S94中,CPU34从FPGA32接收搜索结果。进而,CPU34在搜索结果的接收完成的情况下,将第2标志(rcv_flag)设定为作为表示接收到搜索结果的值的1。
接下来,在S95中,CPU34生成N个辅助变量(p1~pN)各自的初始值。此外,CPU34也可以还生成N个主变量(x1~xN)各自的初始值。
在此,在本实施方式中,FPGA32能够在利用CPU34的1次的主处理中,执行多次的搜索处理。在S95中,CPU34生成用于执行在1次的主处理中执行的多次的搜索处理中的第2次以后(ini=2以后)的搜索处理的初始值。在S95中,CPU34针对在主处理中执行的多次的搜索处理的每一个,以成为不同的值的组合的方式,生成N个辅助变量(p1~pN)各自的初始值、以及N个主变量(x1~xN)各自的初始值。
接下来,在S96中,CPU34将生成的N个辅助变量(p1~pN)各自的初始值发送给FPGA32。进而,CPU34在生成主变量(x1~xN)的初始值的情况下,将生成的N个主变量(x1~xN)各自的初始值发送给FPGA32。
接下来,在S97中,CPU34针对FPGA32指示搜索处理的开始。进而,CPU34将第2标志(rcv_flag)设定为作为表示未接收到搜索结果的值的0。
FPGA32在从CPU34接受到搜索处理的开始的指示的情况下,不变更定义信息(J、h)以及控制参数,而仅变更N个辅助变量(p1~pN)各自的初始值以及N个主变量(x1~xN)各自的初始值,开始搜索处理。然后,CPU34在结束S97的处理后,结束定时器中断的流程。
图18是第4实施方式所涉及的由信息处理系统10执行的处理的时序图。
在第4实施方式所涉及的信息处理系统10中,在利用FPGA32的搜索处理中,CPU34执行接下来应求解的组合最佳化问题中的主处理。进而,FPGA32直至CPU34结束主处理,变更N个辅助变量(p1~pN)各自的初始值并且将搜索处理执行多次。
例如,信息处理系统10在执行搜索第1伊辛模型的基底状态的第1搜索处理(m=1)之后执行搜索第2伊辛模型的基底状态的第2搜索处理(m=2)的情况下,CPU34以及FPGA32如下所述进行处理。
首先,CPU34执行第1主处理,接下来,执行用于第1搜索处理(m=1)的预处理以及参数发送处理。接下来,FPGA32执行第1搜索处理(m=1)。接下来,CPU34在FPGA32执行第1搜索处理(m=1)的期间中,执行第2主处理。
在此,CPU34在执行第2主处理的过程中利用FPGA32的第1搜索处理(m=1)结束的情况下,将第2主处理临时地中断,执行接收第1搜索处理(m=1)的搜索结果的结果接收处理。进而,CPU34发送N个辅助变量(p1~pN)各自的新的初始值,通过新的初始值使FPGA32再次执行第1搜索处理。然后,CPU34直至第2主处理的执行结束,使FPGA32反复第1搜索处理。
然后,CPU34在第2主处理的执行中接收到辅助变量的初始值不同的第1搜索处理的多个搜索结果的情况下,根据接收到的多个搜索结果,生成第1搜索处理的搜索结果。
这样,第4实施方式所涉及的信息处理系统10通过使CPU34和FPGA32并行地动作,能够缩短整体的处理时间,作为整体增大吞吐量。进而,第4实施方式所涉及的信息处理系统10能够针对1个组合最佳化问题取得多个搜索结果,根据多个搜索结果输出解。由此,第4实施方式所涉及的信息处理系统10能够输出精度更良好的解。
(第1变形例)
接着,说明第1变形例。能够针对第2实施方式至第4实施方式这全部应用第1变形例。
第1变形例所涉及的信息处理系统10将多个组合最佳化问题依次逐次求解1个。信息处理系统10在求解各个组合最佳化问题之前,判断在当前FPGA32中构成的电路是否适合,在不适合的情况下,重构FPGA32,在适合的情况下,不重构FPGA32而使处理前进。
例如,CPU34从多个电路信息中,根据成为求解的对象的组合最佳化问题或者目的(收敛速度重视以及精度重视等)选择表示执行适合的算法的电路的电路信息,通过选择的电路信息使FPGA32重构。另外,例如,CPU34判断是否以使包括重构时间的整体的处理时间变短的方式进行重构。
图19是示出不重构FPGA32的情况下的处理时间和重构FPGA32的情况下的处理时间的图。例如,考虑信息处理系统10执行求解J矩阵的尺寸动态地变化的组合最佳化问题的应用的情况。
设为应用在第1次的处理(m=1)中求解大规模问题(N=Nlarge),接下来,在第2次的处理(m=2)中求解小规模问题(N=Nsmall)。此外,Nlarge>Nsmall。在第2次的处理(m=2)中,不执行重构的情况下,FPGA32通过用于求解N=Nlarge的电路,实施基底状态的搜索处理。因此,在第2次的处理(m=2)中,不执行重构的情况下,处理时间由用于更新Nlarge个主变量以及Nlarge个辅助变量的变量更新时间、和更新处理的反复次数决定。
第2次的处理(m=2)能够通过用于求解N=Nsmall的电路执行规定状态的搜索处理。利用用于求解N=Nsmall的电路的变量更新时间比利用用于求解N=Nlarge的电路的变量更新时间短。但是,FPGA32在第2次的处理(m=2)中安装用于求解N=Nsmall的电路的情况下,必须执行重构处理。即,在重构后的电路中的处理时间和重构时间的合计时间比紧接着之前的不重构电路而执行的情况下的处理时间短的情况下,FPGA32能够缩短第2次的处理(m=2)的整体的处理时间。
因此,在FPGA32中构成能够搜索第1伊辛模型的基底状态的第1电路的状态下执行搜索能够由第1电路搜索的第2伊辛模型的基底状态的搜索处理的情况下,CPU34执行如下的处理。
首先,比较表示由第1电路执行的搜索处理的预想执行时间的第1时间、和包括将FPGA32重构为第2电路的重构时间以及由第2电路执行的搜索处理的预想执行时间的第2时间。在此,第2电路是能够搜索第2伊辛模型的基底状态,搜索时间比第1电路少的电路。
然后,在第2时间是第1时间以上的情况下,CPU34不使构成第1电路的FPGA32重构,而使FPGA32执行搜索第2伊辛模型的基底状态的搜索处理。在第2时间比第1时间短的情况下,CPU34使FPGA32重构为第2电路,使FPGA32执行搜索第2伊辛模型的基底状态的搜索处理。通过执行这样的处理,信息处理系统10能够缩短整体的处理时间。
此外,信息处理系统10有时在搜索出第2伊辛模型的基底状态之后,进而,连续地搜索能够通过第2电路搜索基底状态的1个或者多个伊辛模型的基底状态。在这样的情况下,CPU34将通过第1电路搜索出接着第2伊辛模型的1个或者多个伊辛模型各自的基底状态的情况下的预测执行时间加到第1时间。进而,CPU34将通过第2电路搜索出接着第2伊辛模型的1个或者多个伊辛模型各自的基底状态的情况下的预测执行时间加到第2时间。由此,信息处理系统10即使在通过第2电路连续搜索多个伊辛模型的基底状态的情况下,也能够缩短整体的处理时间。
(第2变形例)
接着,说明第2变形例。能够针对第1实施方式至第4实施方式这全部应用第2变形例。
图20是示出包括耦合系数的耦合信息的图。在第2变形例中,信息处理系统10从用户等取得定义表示成为求解的对象的组合最佳化问题的伊辛模型的定义信息。定义信息包括记述有定义伊辛模型的多个耦合系数的耦合信息。例如,信息处理系统10取得以预先决定的格式记述的文件化的耦合信息。
关于包含于耦合信息的多个耦合系数的各个耦合系数,将用于指定第i个的索引和用于指定第j个的索引对应起来。另外,例如,关于耦合信息,按照i、j的索引的光栅扫描顺序,排列而记述有多个耦合系数。因此,CPU34能够从最终位置的耦合系数的索引(i、j),检测J矩阵的尺寸。例如,在图20的例子中,CPU34通过检测N≥max(i,j),将N=4检测为伊辛模型的尺寸。此外,max()是检测包含于耦合信息的多个耦合系数中的、i以及j的最大值的函数。
CPU34在组合最佳化问题的搜索处理之前,从存储于电路信息存储装置38的多个电路信息中选择适合的电路信息,将选择的电路信息提供给FPGA32,使FPGA32构成电路。在该情况下,CPU34根据从系数信息检测的伊辛模型的尺寸,选择电路信息。例如,CPU34选择表示搜索从系数信息检测的尺寸以上并且尺寸最小的伊辛模型的电路的电路信息。
另外,CPU34也可以将通过根据耦合信息选择的电路信息表示的电路选择为第1变形例中的第2电路。
另外,电路信息存储装置38也可以在包括表示耦合系数的精度不同的电路的多个电路信息的情况下,根据在耦合信息中记述的耦合系数的精度,选择选择表示能够搜索伊辛模型的基底状态的电路的1个电路信息的电路信息。
例如,CPU34如果在耦合信息中记述的多个耦合系数的全部用整数表示、并且是-32768~32767的范围,则选择表示以整数型16比特的精度运算的电路的电路信息。另外,CPU34在耦合信息中记述的多个耦合系数的任意1个中包含表示小数的耦合系数的情况下,选择表示以浮动小数点型或者固定小数点型的精度运算的电路的电路信息。
另外,CPU34也可以使选择的电路信息、检测的伊辛模型的尺寸以及耦合系数的精度显示于显示装置42。由此,CPU34能够对用户通知这些信息。
这样第2变形例所涉及的信息处理系统10从记述有耦合系数的耦合信息检测伊辛模型的尺寸以及包含于J矩阵的耦合系数的精度,根据检测的尺寸以及精度,从多个电路信息中选择适合的电路信息并使FPGA32构成。由此,第2变形例所涉及的信息处理系统10能够省略用户指定电路信息的工夫,还排除指定错误的信息的风险。此外,文件化的耦合信息的格式、尺寸的检测方法、以及耦合系数的精度的检测方法不限于上述方法,可以是任意的方法。
(第3变形例)
接着,说明第3变形例。能够针对第1实施方式至第4实施方式这全部应用第3变形例。
在第3变形例中,电路信息存储装置38存储用于实现通过相互不同的算法执行搜索处理的电路的多个电路信息。在第3变形例中,用户输入除了用于指定算法的信息以外的其他信息。例如,用户输入定义信息(J矩阵、h矢量)以及控制参数。
在第3例中,CPU34从多个电路信息选择在主变量更新处理以及辅助变量更新处理中计算主变量(xi)以及辅助变量(pi)的算法不同的2个以上的电路信息。然后,CPU34针对选择的2个以上的电路信息的每一个,依次使FPGA32重构,使搜索处理执行,接收搜索结果。在该情况下,FPGA32关于2个以上的电路信息的各个电路信息,通过同一定义信息、同一控制参数、同一主变量(xi)的初始值以及同一多个辅助变量(pi)的初始值,取得搜索结果。然后,CPU34通过关于2个以上的电路信息的各个电路信息,将识别算法的信息和搜索结果的组显示于显示装置42,向用户输出搜索结果。
伊辛机12有时由于变更算法,收敛速度以及到达解精度这样的性能指标变化。第3变形例所涉及的信息处理系统10通过利用多个算法执行搜索处理,关于多个算法的各个算法输出搜索结果,能够对用户通知易于得到适合的搜索结果的算法。
(第4变形例)
接着,说明第4变形例。能够针对第1实施方式至第4实施方式这全部应用第4变形例。
FPGA32(伊辛机12)如图4所示,将更新辅助变量(yi)的辅助变量更新处理(S115)以及更新主变量(xi)的主变量更新处理(S118)交替反复预定次。在第4变形例中,信息处理系统10还具备存储图4中的每一次反复处理的N个主变量(xi)的更新历史以及N个辅助变量(yi)的更新历史的更新历史存储装置。例如,FPGA32(伊辛机12)在更新处理中,将反复次数和N个主变量(xi)的值以及N个辅助变量(yi)的值对应起来存储到存储器,在搜索处理完成后输出到更新历史存储装置。CPU34(主机部14)在接受到来自用户的指示的情况下,接收存储于更新历史存储装置的、N个主变量(xi)的值的更新历史以及N个辅助变量(yi)的值的更新历史,使接收到的更新历史例如成为图表等而显示于显示装置42。
由此,第4变形例所涉及的信息处理系统10能够使用户为了进行组合最佳化问题的研究等而参照N个主变量(xi)的值的更新历史以及N个辅助变量(yi)的值的更新历史。
以上,说明了本发明的实施方式,但上述实施方式为例示,未意图限定发明的范围。这些新的实施方式能够以其他各种方式实施,能够在不脱离发明的要旨的范围内,进行各种省略、置换、变更。这些新的实施方式、其变形包含于发明的范围、要旨,并且包含于权利要求书记载的发明和其均等的范围。
此外,能够将上述实施方式总结为以下的技术方案。
技术方案1
一种信息处理系统,求解组合最佳化问题,其中,具备:
作为硬件的伊辛机,执行搜索表示所述组合最佳化问题的伊辛模型的基底状态的搜索处理;以及
作为硬件的主机部,与所述伊辛机经由接口连接,控制所述伊辛机,
在所述搜索处理中,所述伊辛机进行:
将与包含于所述伊辛模型的多个伊辛自旋的各个伊辛自旋对应的主变量以及辅助变量对应起来存储,
关于所述多个伊辛自旋的各个伊辛自旋,将通过所述主变量更新所述辅助变量的辅助变量更新处理以及通过所述辅助变量更新所述主变量的主变量更新处理交替反复执行多次,
将基于将所述主变量更新处理以及所述辅助变量更新处理交替执行多次后的与所述多个伊辛自旋的各个伊辛自旋对应的所述主变量的值作为搜索结果输出,
在所述搜索处理之前,所述主机部将与所述多个伊辛自旋的各个伊辛自旋对应的所述辅助变量的初始值发送给所述伊辛机,
在所述搜索处理之后,所述主机部从所述伊辛机接收所述搜索结果,根据接收到的所述搜索结果,输出所述组合最佳化问题的解。
技术方案2
根据技术方案1所述的信息处理系统,其中,
在所述搜索处理之前,所述伊辛机将与所述多个伊辛自旋的各个伊辛自旋对应的所述主变量的初始值设定为预先决定的值。
技术方案3
根据技术方案1所述的信息处理系统,其中,
在所述搜索处理之前,所述主机部将与所述多个伊辛自旋的各个伊辛自旋对应的所述主变量的初始值发送给所述伊辛机。
技术方案4
根据技术方案1至3中的任意一项所述的信息处理系统,其中,
在所述搜索处理之前,所述主机部将用于定义所述伊辛模型的定义信息、以及用于控制所述搜索处理的控制参数发送给所述伊辛机。
技术方案5
根据技术方案1至4中的任意一项所述的信息处理系统,其中,
还具备存储表示所述搜索处理是否结束的第1标志的第1标志存储电路,
所述第1标志存储电路根据来自所述伊辛机的在所述搜索处理结束的情况下发送的通知,更新所述第1标志的值,
所述主机部根据所述第1标志的值,从所述伊辛机接收所述搜索结果。
技术方案6
根据技术方案1至5中的任意一项所述的信息处理系统,其中,
在执行搜索第1伊辛模型的基底状态的第1搜索处理之后执行搜索第2伊辛模型的基底状态的第2搜索处理的情况下,
所述主机部执行生成在所述第1搜索处理的执行中使用的信息的第1主处理,
所述伊辛机在通过所述主机部执行所述第1主处理之后,执行所述第1搜索处理,
所述主机部在所述伊辛机执行所述第1搜索处理的期间中,执行生成在所述第2搜索处理的执行中使用的信息的第2主处理,
所述伊辛机在由所述主机部执行所述第2主处理之后,执行所述第2搜索处理。
技术方案7
根据技术方案6所述的信息处理系统,其中,
所述主机部在所述第2主处理的执行中所述第1搜索处理结束的情况下,发送所述辅助变量的新的初始值,通过所述辅助变量的新的初始值使所述伊辛机再次执行所述第1搜索处理,
所述主机部在所述第2主处理的执行中接收到所述辅助变量的初始值不同的所述第1搜索处理的多个所述搜索结果的情况下,根据接收到的多个所述搜索结果,生成所述第1搜索处理的所述搜索结果。
技术方案8
根据技术方案1至7中的任意一项所述的信息处理系统,其中,
所述伊辛机是能够重构的半导体装置,
所述信息处理系统还具备电路信息存储装置,该电路信息存储装置存储分别表示使所述半导体装置实现所述搜索处理的电路的多个电路信息,
在所述搜索处理之前,所述主机部选择所述多个电路信息中的、表示能够搜索所述伊辛模型的基底状态的电路的1个电路信息,通过选择的所述电路信息使所述伊辛机重构。
技术方案9
根据技术方案8所述的信息处理系统,其中,
在所述半导体装置中构成能够搜索第1伊辛模型的基底状态的第1电路的状态下执行搜索能够由所述第1电路搜索的第2伊辛模型的基底状态的所述搜索处理的情况下,所述主机部进行:
比较表示由所述第1电路执行的所述搜索处理的预想执行时间的第1时间、和包括将所述半导体装置重构为第2电路的重构时间以及由所述第2电路执行的所述搜索处理的预想执行时间的第2时间,
在所述第2时间比所述第1时间短的情况下,使所述半导体装置重构为所述第2电路而使所述伊辛机执行所述搜索处理,
所述第2电路是能够搜索所述第2伊辛模型的基底状态、且搜索时间比所述第1电路少的电路。
技术方案10
根据技术方案8所述的信息处理系统,其中,
所述主机部进行:
取得包括定义所述伊辛模型的多个耦合系数的系数信息,
根据包含于所述系数信息的所述多个耦合系数的数量,选择所述多个电路信息中的、表示能够搜索所述伊辛模型的基底状态的电路的1个电路信息。
技术方案11
根据技术方案8所述的信息处理系统,其中,
所述主机部进行:
取得包括定义所述伊辛模型的耦合系数的系数信息,
根据包含于所述系数信息的所述耦合系数的精度,选择所述多个电路信息中的、表示能够搜索所述伊辛模型的基底状态的电路的1个电路信息。
技术方案12
根据技术方案8所述的信息处理系统,其中,
在接受到搜索所述伊辛模型的基底状态的指示的情况下,所述主机部进行:
从所述多个电路信息,选择在所述主变量更新处理以及所述辅助变量更新处理中计算所述主变量以及所述辅助变量的算法不同的2个以上的电路信息,
针对所述2个以上的电路信息的每一个,依次使所述半导体装置重构,使所述搜索处理执行,接收所述搜索结果,
输出从所述2个以上的电路信息接收到的所述搜索结果。
技术方案13
根据技术方案1至12中的任意一项所述的信息处理系统,其中,
所述伊辛机每当执行所述主变量更新处理时,与所述主变量更新处理的反复次数对应起来存储与所述多个伊辛自旋的各个伊辛自旋对应的所述主变量的值,
在所述搜索处理之后,所述主机部接收与所述主变量更新处理的所述反复次数对应起来的与所述多个伊辛自旋的各个伊辛自旋对应的所述主变量的值。
Claims (10)
1.一种信息处理系统,求解组合最佳化问题,其中,具备:
作为硬件的伊辛机,执行搜索表示所述组合最佳化问题的伊辛模型的基底状态的搜索处理;以及
作为硬件的主机部,与所述伊辛机经由接口连接,控制所述伊辛机,
在所述搜索处理中,所述伊辛机进行:
将与包含于所述伊辛模型的多个伊辛自旋的各个伊辛自旋对应的主变量以及辅助变量对应起来存储,
关于所述多个伊辛自旋的各个伊辛自旋,将通过所述主变量更新所述辅助变量的辅助变量更新处理以及通过所述辅助变量更新所述主变量的主变量更新处理交替反复执行多次,
将基于将所述主变量更新处理以及所述辅助变量更新处理交替执行多次后的与所述多个伊辛自旋的各个伊辛自旋对应的所述主变量的值作为搜索结果输出,
在所述搜索处理之前,所述主机部将与所述多个伊辛自旋的各个伊辛自旋对应的所述辅助变量的初始值发送给所述伊辛机,
在所述搜索处理之后,所述主机部从所述伊辛机接收所述搜索结果,根据接收到的所述搜索结果,输出所述组合最佳化问题的解。
2.根据权利要求1所述的信息处理系统,其中,
在所述搜索处理之前,所述伊辛机将与所述多个伊辛自旋的各个伊辛自旋对应的所述主变量的初始值设定为预先决定的值。
3.根据权利要求1所述的信息处理系统,其中,
在所述搜索处理之前,所述主机部将与所述多个伊辛自旋的各个伊辛自旋对应的所述主变量的初始值发送给所述伊辛机。
4.根据权利要求1至3中的任意一项所述的信息处理系统,其中,
在所述搜索处理之前,所述主机部将用于定义所述伊辛模型的定义信息、以及用于控制所述搜索处理的控制参数发送给所述伊辛机。
5.根据权利要求1至4中的任意一项所述的信息处理系统,其中,
还具备存储表示所述搜索处理是否结束的第1标志的第1标志存储电路,
所述第1标志存储电路根据来自所述伊辛机的在所述搜索处理结束的情况下发送的通知,更新所述第1标志的值,
所述主机部根据所述第1标志的值,从所述伊辛机接收所述搜索结果。
6.根据权利要求1至5中的任意一项所述的信息处理系统,其中,
在执行搜索第1伊辛模型的基底状态的第1搜索处理之后执行搜索第2伊辛模型的基底状态的第2搜索处理的情况下,
所述主机部执行生成在所述第1搜索处理的执行中使用的信息的第1主处理,
所述伊辛机在通过所述主机部执行所述第1主处理之后,执行所述第1搜索处理,
所述主机部在所述伊辛机执行所述第1搜索处理的期间中,执行生成在所述第2搜索处理的执行中使用的信息的第2主处理,
所述伊辛机在由所述主机部执行所述第2主处理之后,执行所述第2搜索处理。
7.根据权利要求6所述的信息处理系统,其中,
所述主机部在所述第2主处理的执行中所述第1搜索处理结束的情况下,发送所述辅助变量的新的初始值,通过所述辅助变量的新的初始值使所述伊辛机再次执行所述第1搜索处理,
所述主机部在所述第2主处理的执行中接收到所述辅助变量的初始值不同的所述第1搜索处理的多个所述搜索结果的情况下,根据接收到的多个所述搜索结果,生成所述第1搜索处理的所述搜索结果。
8.根据权利要求1至7中的任意一项所述的信息处理系统,其中,
所述伊辛机是能够重构的半导体装置,
所述信息处理系统还具备电路信息存储装置,该电路信息存储装置存储分别表示使所述半导体装置实现所述搜索处理的电路的多个电路信息,
在所述搜索处理之前,所述主机部选择所述多个电路信息中的、表示能够搜索所述伊辛模型的基底状态的电路的1个电路信息,通过选择的所述电路信息使所述伊辛机重构。
9.根据权利要求8所述的信息处理系统,其中,
在所述半导体装置中构成能够搜索第1伊辛模型的基底状态的第1电路的状态下执行搜索能够由所述第1电路搜索的第2伊辛模型的基底状态的所述搜索处理的情况下,所述主机部进行:
比较表示由所述第1电路执行的所述搜索处理的预想执行时间的第1时间、和包括将所述半导体装置重构为第2电路的重构时间以及由所述第2电路执行的所述搜索处理的预想执行时间的第2时间,
在所述第2时间比所述第1时间短的情况下,使所述半导体装置重构为所述第2电路而使所述伊辛机执行所述搜索处理,
所述第2电路是能够搜索所述第2伊辛模型的基底状态、且搜索时间比所述第1电路少的电路。
10.根据权利要求1至9中的任意一项所述的信息处理系统,其中,
所述伊辛机每当执行所述主变量更新处理时,与所述主变量更新处理的反复次数对应起来存储与所述多个伊辛自旋的各个伊辛自旋对应的所述主变量的值,
在所述搜索处理之后,所述主机部接收与所述主变量更新处理的所述反复次数对应起来的与所述多个伊辛自旋的各个伊辛自旋对应的所述主变量的值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020-136775 | 2020-08-13 | ||
JP2020136775A JP7326235B2 (ja) | 2020-08-13 | 2020-08-13 | 情報処理システム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114077805A true CN114077805A (zh) | 2022-02-22 |
Family
ID=74666635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110210672.5A Pending CN114077805A (zh) | 2020-08-13 | 2021-02-25 | 信息处理系统 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11816595B2 (zh) |
EP (1) | EP3955175A1 (zh) |
JP (3) | JP7326235B2 (zh) |
CN (1) | CN114077805A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115577782A (zh) * | 2022-09-28 | 2023-01-06 | 北京百度网讯科技有限公司 | 量子计算方法、装置、设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6901448B2 (ja) * | 2018-09-14 | 2021-07-14 | 株式会社東芝 | 計算装置、計算プログラム、記録媒体及び計算方法 |
JP2024005745A (ja) | 2022-06-30 | 2024-01-17 | 富士通株式会社 | 情報処理方法、情報処理プログラム、および情報処理装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6207584B2 (ja) | 2015-12-25 | 2017-10-04 | 株式会社日立製作所 | 情報処理システム及び管理装置 |
WO2018170027A1 (en) * | 2017-03-13 | 2018-09-20 | 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 | 株式会社東芝 | 計算装置、計算プログラム、記録媒体及び計算方法 |
JP6820875B2 (ja) | 2018-03-09 | 2021-01-27 | 株式会社東芝 | 計算装置 |
JP7093009B2 (ja) * | 2018-08-30 | 2022-06-29 | 富士通株式会社 | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム |
JP6895415B2 (ja) | 2018-09-14 | 2021-06-30 | 株式会社東芝 | 計算装置、計算プログラム、記録媒体及び計算方法 |
JP6902006B2 (ja) | 2018-09-14 | 2021-07-14 | 株式会社東芝 | 計算装置、計算プログラム、記録媒体及び計算方法 |
JP6901448B2 (ja) | 2018-09-14 | 2021-07-14 | 株式会社東芝 | 計算装置、計算プログラム、記録媒体及び計算方法 |
JP6964056B2 (ja) | 2018-09-18 | 2021-11-10 | 株式会社東芝 | 計算装置 |
JP7246941B2 (ja) * | 2019-01-21 | 2023-03-28 | 株式会社東芝 | データ処理装置、データ処理方法、データ処理プログラム |
-
2020
- 2020-08-13 JP JP2020136775A patent/JP7326235B2/ja active Active
-
2021
- 2021-02-17 EP EP21157692.1A patent/EP3955175A1/en active Pending
- 2021-02-25 US US17/249,293 patent/US11816595B2/en active Active
- 2021-02-25 CN CN202110210672.5A patent/CN114077805A/zh active Pending
-
2023
- 2023-08-02 JP JP2023126045A patent/JP2023139287A/ja active Pending
- 2023-08-02 JP JP2023126044A patent/JP2023139286A/ja active Pending
- 2023-10-09 US US18/483,269 patent/US20240037430A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115577782A (zh) * | 2022-09-28 | 2023-01-06 | 北京百度网讯科技有限公司 | 量子计算方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2022032703A (ja) | 2022-02-25 |
EP3955175A1 (en) | 2022-02-16 |
US11816595B2 (en) | 2023-11-14 |
US20220051120A1 (en) | 2022-02-17 |
JP7326235B2 (ja) | 2023-08-15 |
JP2023139287A (ja) | 2023-10-03 |
US20240037430A1 (en) | 2024-02-01 |
JP2023139286A (ja) | 2023-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230267319A1 (en) | Training neural network accelerators using mixed precision data formats | |
US20230196085A1 (en) | Residual quantization for neural networks | |
CN114077805A (zh) | 信息处理系统 | |
US20200264876A1 (en) | Adjusting activation compression for neural network training | |
EP3906616B1 (en) | Neural network activation compression with outlier block floating-point | |
US20200210840A1 (en) | Adjusting precision and topology parameters for neural network training based on a performance metric | |
US20080307399A1 (en) | Gene expression programming based on hidden markov models | |
US20230196202A1 (en) | System and method for automatic building of learning machines using learning machines | |
JP7178513B2 (ja) | ディープラーニングに基づく中国語単語分割方法、装置、記憶媒体及びコンピュータ機器 | |
CN113723613A (zh) | 对量子电路进行模拟的方法及装置 | |
CN111914378B (zh) | 一种单振幅量子计算模拟方法及装置 | |
CN113723612B (zh) | 对单向量子计算机计算模型的量子系统进行操作的方法及装置 | |
US11106761B2 (en) | Optimization problem arithmetic method and optimization problem arithmetic apparatus | |
US11475311B2 (en) | Neural network instruction streaming | |
Al-Zoubi et al. | Design space exploration of the KNN imputation on FPGA | |
US20230169240A1 (en) | Computing device and method generating optimal input data | |
Palomar | Algorithms: Successive Convex Approximation (SCA) | |
Kurek et al. | Self-aware hardware acceleration of financial applications on a heterogeneous cluster | |
Onoo et al. | On automatic generation of VHDL code for self-organizing map | |
CN116090571A (zh) | 基于广义极小残量的量子线性求解方法、装置及介质 | |
CN117093337A (zh) | 混合计算资源优化 | |
Burian | Design tool for evolutionary design of digital circuits | |
CN117993150A (zh) | 代理模型训练方法、目标对象优化方法及相关装置 | |
CN116090572A (zh) | 基于完全正交化的量子线性求解方法、装置、介质及设备 | |
CN116957084A (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 |