WO2021084629A1 - 演算回路、演算装置、情報処理装置およびイジングモデルの基底状態探索方法 - Google Patents

演算回路、演算装置、情報処理装置およびイジングモデルの基底状態探索方法 Download PDF

Info

Publication number
WO2021084629A1
WO2021084629A1 PCT/JP2019/042433 JP2019042433W WO2021084629A1 WO 2021084629 A1 WO2021084629 A1 WO 2021084629A1 JP 2019042433 W JP2019042433 W JP 2019042433W WO 2021084629 A1 WO2021084629 A1 WO 2021084629A1
Authority
WO
WIPO (PCT)
Prior art keywords
subfunction
interaction
coefficient
magnetic field
external magnetic
Prior art date
Application number
PCT/JP2019/042433
Other languages
English (en)
French (fr)
Inventor
拓哉 奥山
山岡 雅直
Original Assignee
株式会社日立製作所
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 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2019/042433 priority Critical patent/WO2021084629A1/ja
Priority to US17/635,736 priority patent/US20220343202A1/en
Priority to JP2021553941A priority patent/JPWO2021084629A1/ja
Publication of WO2021084629A1 publication Critical patent/WO2021084629A1/ja

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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

Definitions

  • the present invention relates to an information processing device, an arithmetic unit, and an information processing method.
  • Patent Document 1 states, "Provides a semiconductor device in which components serving as basic constituent units for obtaining a solution of an interaction model are arranged in an array.”, "A value indicating a state of one node of the interaction model.” To fix the values of the first memory cell that stores the first memory cell, the second memory cell that stores the interaction coefficient indicating the interaction from another node connected to one node, and the first memory cell. A third memory cell that stores the flag of, a first arithmetic circuit that determines a value indicating the next state of the one node based on a value indicating the state of another node and the interaction coefficient, and a flag. It is provided with a plurality of units having a second arithmetic circuit for determining whether or not to record a value indicating the next state in the first memory cell according to the value of. "
  • Non-Patent Document 1 describes minor-embedding in adiabatic quantum optimization in adiabatic quantum optimization.
  • interaction models are defined by the plurality of nodes that make up the model, the interaction between the nodes, and if necessary, the bias for each node.
  • Various models have been proposed in the fields of physics and social science, but all can be interpreted as a form of interaction model.
  • Ising model As one of the interaction models. Searching for the ground state of the Ising model is an optimization problem for finding a spin array that minimizes the energy function of the Ising model.
  • MCMC Markov chain Monte Carlo methods
  • this energy function is generally expressed by the linear sum of multiple terms such as the penalty term representing the constraint. Since the optimum value of the weight of each term is generally unknown, the solution is searched while changing the weight to obtain an exact solution or a good approximate solution.
  • the present invention has been made in view of such a background, and an object of the present invention is to provide an information processing apparatus and an information processing method capable of efficiently searching for the ground state of the Ising model.
  • a preferred aspect of the present invention is a variable memory that stores a value indicating the state of one variable of the interaction model, an interaction coefficient auxiliary memory that stores the interaction coefficient of a subfunction corresponding to the variable memory, and a variable.
  • An external magnetic field coefficient auxiliary memory that stores the external magnetic field coefficient of the subfunction corresponding to the memory, a weight input line that receives the weight signal of the subfunction, and a weight using the interaction coefficient of the weight signal of the subfunction and the subfunction.
  • the interaction coefficient calculation unit that calculates the interaction coefficient
  • the external magnetic field coefficient calculation unit that calculates the weighted subfunction external magnetic field coefficient using the weighting signal of the subfunction and the external magnetic field coefficient of the subfunction
  • the variable It is an arithmetic circuit including a next state calculation unit that calculates the next state of a variable based on a value indicating a state, a weighted subfunction interaction coefficient, and a weighted subfunction external magnetic field coefficient.
  • the interaction coefficient auxiliary memory stores the interaction coefficients of K subfunctions (where K is an integer of 2 or more), and the external magnetic field coefficient auxiliary memory ,
  • the external magnetic field coefficients of K subfunctions are stored, and the weight input line inputs the weight signals of K subfunctions, the interaction coefficients of K subfunctions, and the outside of K subfunctions.
  • the magnetic field coefficients and the weighting signals of the K subfunctions are associated with each other.
  • Another preferable aspect of the present invention is an arithmetic unit that includes N of the above arithmetic circuits and corresponds to N variables of the interaction model.
  • the interaction coefficient calculation unit adds K weighted subfunction interaction coefficients, and the interaction coefficient J i, in the energy function H ( ⁇ ) of the Zing model.
  • the external magnetic field coefficient calculation unit adds K weighted subfunction external magnetic field coefficients to obtain the external magnetic field coefficient h i in the energy function H ( ⁇ ) of the Zing model.
  • Equation 1 the relationship of Equation 1 described later holds, ⁇ i acts on the value of the i-th variable, J i and j act on the interaction coefficient between the i-th and j-th variables, and h i acts on the i-th variable. Represents the external magnetic field coefficient.
  • Another preferred aspect of the present invention is an information processing device comprising a processor, a main storage device, an auxiliary storage device, an input device, an output device, the arithmetic unit, and a system bus connecting them. is there.
  • Another preferable aspect of the present invention is that when searching for the base state of the Ising model using the energy function H represented by Equation 2 described later, ⁇ i is set as the i-th spin value and ⁇ k is set.
  • the subfunction of the k item and w k are the weights of the subfunction of the k item, the first memory for storing the spin value ⁇ i , the second memory for storing the interaction coefficient of the subfunction, and the second memory.
  • This is a method for searching the base state of the Ising model, which uses a plurality of spin units including a third memory for storing the external magnetic field coefficient of the subfunction.
  • the first step of converting the problem data into an ing model, the second step of setting the interaction coefficient of each term of the subfunction in the second memory, and the external magnetic field coefficient of each term of the subfunction are set to the second.
  • the third step of setting the memory of 3 the fourth step of setting the weight of each term of the subfunction, the fifth step of initializing the spin value of the first memory, and the interaction of the second memory.
  • a sixth step of performing an interaction operation to calculate the next state of the spin value using the coefficients, the external magnetic field coefficients of the third memory, and the weights is performed.
  • the weight of each term of the subfunction is changed a plurality of times.
  • the ground state search of the interaction model can be efficiently performed. Issues, configurations and effects other than those described above will be clarified by the following description of embodiments for carrying out the invention.
  • the Ising model is a model of statistical mechanics used to explain the behavior of magnetic materials.
  • the Ising model is defined using a spin state that takes a binary value of + 1 / -1 (which may be "0/1", "up / down", etc.) and an interaction coefficient that indicates the interaction between the spins. Is.
  • the energy function H ( ⁇ ) of the Ising model (generally called Hamiltonian) is expressed by the following equation 1.
  • J i and j represent the interaction coefficient between the i-th and j-th spins
  • h i represents the external magnetic field coefficient acting on the i-th spin.
  • a matrix J and a vector h that collectively represent these are introduced.
  • the elements in rows i and columns j are J i and j
  • the diagonal components are 0.
  • the vector h i-th element is a h i.
  • the graph G is composed of a set V of vertices and a set E of edges.
  • V ⁇ v 1, ..., v N ⁇ at vertex set, regarded to have spin sigma i Ising model on each vertex v i.
  • Equation 1 The right-hand side of Equation 1 is the sum of the energies resulting from the interactions between spins.
  • the Ising model is expressed as an undirected graph and does not distinguish between the interaction from the i-th spin to the j-th spin and the interaction from the j-th spin to the i-th spin. Therefore, in Equation 1, the influence of the interaction is obtained for the combination of ⁇ i and ⁇ j satisfying i ⁇ j.
  • Searching for the ground state of the Ising model is an optimization problem for finding a spin array that minimizes the energy function of the Ising model.
  • the search for the ground state of the Ising model is performed by the Markov chain Monte Carlo method (hereinafter referred to as MCMC (Markov chain Monte Carlo methods)).
  • Figure 1 is a conceptual diagram of the energy landscape of the Ising model.
  • the horizontal axis of the graph is the spin array, and the vertical axis is the total energy of the system.
  • the probability of transition from the state ⁇ to the state ⁇ ' is hereinafter referred to as a transition probability P ( ⁇ , ⁇ ').
  • Examples of the transition probability P ( ⁇ , ⁇ ') include those by the metropolis method and those by the heat bath method.
  • a method of changing the value of one spin from the current state ⁇ is common.
  • the search is performed for the states that the entire spin can take. For example, in the case of FIG. 1, when one spin is inverted from the state A, the state is B, and when one spin is inverted, the state is C.
  • SA Simulated Annealing
  • MA momentum annealing
  • the spin value is determined based on the probabilistic behavior such as Equation 2 below.
  • Equation 2 the probabilistic behavior such as Equation 2 below.
  • a plurality of circuits that realize stochastic processing based on Equation 2 are prepared, and the values of a plurality of spins are updated in parallel to speed up the processing. It is possible.
  • the energy function H is mostly represented by the sum of a plurality of terms ⁇ that represent a certain meaning.
  • w is the weight of the term and k is the number of the term.
  • the spins ⁇ t and n are binary variables indicating whether to visit the city n at the tth position.
  • Factors to be considered in the formulation are (1) a term that expresses the distance traveled, (2) a term that expresses the constraint "visit only one place at a time”, and (3) a term that expresses the constraint "each city visits only once”. , And.
  • is a sufficiently large value called a penalty coefficient.
  • Equation 2 it is expressed as an energy function by the sum of a plurality of terms expressing a certain meaning. This applies not only to the traveling salesman problem, but also to various combinatorial optimization problems.
  • the penalty coefficient ⁇ which represents the strength of the constraint, must be sufficiently large above a certain threshold.
  • is too large, the height of the energy wall shown in FIG. 1 becomes high, the transition between states becomes difficult, and an exact solution or a good approximate solution cannot be obtained. Therefore, in order to obtain a solution within a practical time, it is necessary to set ⁇ to an appropriate value.
  • FIG. 2 is an example of an information processing device that searches for the ground state of the Ising model.
  • the information processing device 10 includes a processor 11, a main storage device 12, an auxiliary storage device 13, an input device 14, an output device 15, a communication device 16, one or more arithmetic units 20, and a plurality of arithmetic units 20 thereof.
  • a system bus 5 for communicably connecting the devices is provided. Even if the information processing device 10 is realized by using a virtual information processing resource such as a cloud server provided by a cloud system, for example, a part or all of the information processing device 10. Good. Further, the information processing device 10 may be realized by, for example, a plurality of information processing devices connected to each other so as to operate in cooperation with each other.
  • the processor 11 is configured by using, for example, a CPU (Central Processing Unit) or an MPU (Micro Processing Unit).
  • the main storage device 12 is a device that stores programs and data, and is, for example, a ROM (Read Only Memory) (SRAM (Static Random Access Memory), NVRAM (Non Volatile RAM), mask ROM (Mask Read Only Memory), PROM. (Programmable ROM), etc.), RAM (RandomAccessMemory) (DRAM (DynamicRandomAccessMemory), etc.), etc.
  • the auxiliary storage device 13 is a hard disk drive (Hard Disk Drive), a flash memory (Flash Memory), an SSD (Solid State Drive), an optical storage device (CD (Compact Disc), DVD (Digital Versatile Disc), etc.) and the like. ..
  • the programs and data stored in the auxiliary storage device 13 are read into the main storage device 12 at any time.
  • the input device 14 is a user interface that receives information input from the user, and is, for example, a keyboard, a mouse, a card reader, a touch panel, or the like.
  • the output device 15 is a user interface that provides information to the user, and is, for example, a display device (LCD (Liquid Crystal Display), graphic card, etc.) that visualizes various information, an audio output device (speaker), a printing device, and the like. ..
  • the communication device 16 is a communication interface that communicates with other devices, such as a NIC (Network Interface Card), a wireless communication module, a USB (Universal Serial Interface) module, and a serial communication module.
  • the arithmetic unit 20 is a device that executes processing related to the search for the ground state of the Ising model.
  • the arithmetic unit 20 may take the form of an expansion card mounted on the information processing unit 10, such as a GPU (Graphics Processing Unit).
  • the arithmetic unit 20 is composed of hardware such as a CMOS (Complementary Metal Oxide Semiconductor) circuit, an FPGA (Field Programmable Gate Array), and an ASIC (Application Specific Integrated Circuit).
  • the arithmetic unit 20 includes a control device, a storage device, an interface for connecting to the system bus 5, and sends / receives commands and information to / from the processor 11 via the system bus 5.
  • the arithmetic unit 20 may be, for example, one that is communicably connected to another arithmetic unit 20 via a communication line and operates in cooperation with the other arithmetic unit 20.
  • the function realized by the arithmetic unit 20 may be realized, for example, by causing a processor (CPU, GPU, etc.) to execute a program.
  • the arithmetic unit 20 shown in FIG. 2 will be described later in FIG.
  • One or a plurality of arithmetic units 20 can be mounted.
  • FIG. 3 is a diagram for explaining the operating principle of the arithmetic unit 20, and is a block diagram of a circuit (hereinafter, referred to as an arithmetic circuit 500) constituting the arithmetic unit 20.
  • the arithmetic circuit 500 realizes a function of probabilistically determining a spin value according to a standard such as the metropolis method.
  • the arithmetic circuit 500 includes a spin memory for storing the value of one spin and a circuit for calculating the value of the spin.
  • a plurality of arithmetic circuits 500 are mounted on the arithmetic unit 20 and can be operated in parallel. Thereafter, the sub-function phi 1 constituting the energy function H, ..., phi K K pieces exist, each subfunction shall be expressed by Equation 3.
  • Equation 4 Substituting Equation 3 into Equation 2 gives Equation 4.
  • the interaction coefficient J ij and the external magnetic field coefficient h i of the energy function H can be calculated by the product-sum calculation of each coefficient of the subfunction and the weight. ..
  • the signal weight of FIG. 3 has subfunction weights w 1 , ..., W K.
  • the interaction coefficient calculation unit 513 performs calculations corresponding to Equation 5
  • the external magnetic field coefficient calculation unit 514 performs calculations corresponding to Equation 6. Since these calculations can be performed in parallel for each interaction and spin, a parallel circuit may be provided to realize this.
  • Interaction coefficients J ij after the external magnetic field coefficient h i is obtained, since the same problem solving Equation 1, may be determined next state of the spin for example by utilizing the configuration described in Patent Document 1 ..
  • the signal Random supplies this random number sequence.
  • the current state of the spin value is stored in the spin memory 516, and this value is also used for determining the next state.
  • the next state calculation unit 515 determines the next state of all spins based on the above information. Similar to the interaction coefficient calculation unit 513 and the external magnetic field coefficient calculation unit 514, the next state calculation unit 515 can also calculate independently for each spin, and speeding up due to parallelization can be expected.
  • an arithmetic circuit 500 that calculates and stores the value of one spin as one spin unit in an array on the arithmetic unit 20 and performing parallel calculation of a plurality of spins. It becomes.
  • FIG. 4 shows the main functions (software configuration) of the information processing device 10.
  • the information processing apparatus 10 includes a storage unit 600, a model conversion unit 611, a model coefficient setting unit 612, a weight setting unit 613, a spin value initialization unit 614, a temperature setting unit 615, and an interaction calculation execution unit. It includes 616 and a spin value reading unit 617. These functions are realized by the processor 11 reading and executing the program stored in the main storage device 12, or by the hardware included in the arithmetic unit 20.
  • the information processing device 10 may have other functions such as an operating system, a file system, a device driver, and a DBMS (DataBase Management System).
  • DBMS DataBase Management System
  • the storage unit 600 stores the problem data 601, the singing format problem data 602, and the arithmetic unit control program 603 in the main storage device 12 or the auxiliary storage device 13.
  • the problem data 601 is data in which, for example, a combinatorial optimization problem or the like is described in a predetermined description format.
  • the problem data 601 is set by the user, for example, via a user interface (input device, output device, communication device, etc.).
  • the Ising format problem data 602 is data generated by the model conversion unit 611 converting the problem data 601 into Ising model format data.
  • the arithmetic unit control program 603 is a program that is executed when the interaction arithmetic execution unit 616 controls the arithmetic unit 20, or is loaded by the interaction arithmetic execution unit 616 into the individual arithmetic units 20 and executed by the arithmetic unit 20. is there.
  • the model conversion unit 611 converts the problem data 601 into Ising format problem data 602, which is Ising model format data.
  • the function of the model conversion unit 611 does not necessarily have to be implemented in the information processing device 10, and the information processing device 10 inputs the singing format problem data 602 generated by another information processing device or the like to the input device 14 or the communication device 16. It may be taken in via.
  • the model coefficient setting unit 612 displays the interaction relationship of the Ising model based on the Ising format problem data 602 in the interaction coefficient auxiliary memory 511 and the vector h representing the external magnetic field coefficient in the external magnetic field coefficient auxiliary memory 512. Set.
  • the spin value initialization unit 614 initializes the value of each spin stored in the spin memory 516 of the arithmetic circuit 500 in the arithmetic unit 20.
  • the spin value initialization unit 614 has, for example, the value of each spin of the first spin group ⁇ L 1 , ... ⁇ L N , and the value of each spin of the second spin group ⁇ R 1 , in the complete bipartite graph. ..., it is set to "1" or "-1" in both a 50% probability sigma R N.
  • the temperature setting unit 615 sets the value of the temperature T used when the interaction calculation execution unit 616 searches for the ground state of the Ising model.
  • the interaction calculation execution unit 616 performs a calculation (hereinafter referred to as an interaction calculation) for searching the ground state of the Ising model for each temperature T set by the temperature setting unit 615.
  • the interaction calculation execution unit 616 changes, for example, the temperature T from the higher side to the lower side.
  • the spin value reading unit 617 reads the spin value stored in the spin memory 516, and reads the read value into the output device 15 or the communication device 16. Output to.
  • FIG. 5 is a flowchart illustrating a process (hereinafter, referred to as a ground state search process S700) performed by the information processing apparatus 10 when searching for the ground state of the Ising model.
  • a ground state search process S700 will be described with reference to the figure.
  • the letter "S" attached before the code means a processing step.
  • the ground state search process S700 is started by receiving an instruction or the like from the user via the input device 14, for example.
  • the model conversion unit 611 first converts the problem data 601 into the Ising format problem data 602 (S711). If the storage unit 600 has already stored the Ising format problem data 602, the process S711 is omitted.
  • the processing of S711 and the processing after S712 may be executed by different devices. Further, the processing of S711 and the processing after S712 may be executed at different timings (for example, it is conceivable that the processing of S711 is performed in advance).
  • the memory value can also be set or edited by the user via a user interface (eg, realized by an input device 14, an output device 15, a communication device 16, etc.).
  • the weight setting unit 613 reads out the weights w 1 , ..., W K of each term from the storage unit 600, and determines the value of the signal weight (S713).
  • the interaction coefficient, the external magnetic field coefficient, and the weight are set to values according to the Ising model in each of the arithmetic circuits 500 formed in an array in the arithmetic unit 20.
  • the spin value initialization unit 614 initializes the value of each spin stored in the spin memory 516 (S714). In initialization, for example, a value of +1 or -1 is set at random.
  • T m 1,2,3, 7.3
  • the above-mentioned subscript m represents the type of temperature T to be set.
  • the interaction calculation execution unit 616 generates the next state in the next state calculation unit 515 (S716).
  • the interaction calculation execution unit 616 supplies a signal weight to each of the calculation circuits 500, and the calculation circuit 500 generates the next state based on the interaction coefficient, the external magnetic field coefficient, and the weight.
  • the calculation at that time is as described in Equation 1, Equation 5, and Equation 6.
  • the weights w 1 , ..., W K are sent from the interaction calculation execution unit 616 to the calculation circuit 500 each time the calculation of the next state is performed.
  • a weight memory for storing weights is provided in the calculation circuit 500, and after the interaction calculation execution unit 616 stores the weights in the weight memory, the weights are read from the memory and the next state is calculated. You may. By doing so, it is possible to omit the transmission of the weight from the interaction calculation execution unit 616 to the calculation circuit 500, and it is possible to reduce the burden on the host device.
  • a coefficient storage memory for storing the coefficient is provided in the arithmetic circuit 500, and after the interaction coefficient calculation unit 513 and the external magnetic field coefficient calculation unit 514 perform the calculations of the equations 5 and 6, the result is stored in the coefficient. It may be stored in a memory, and the next state calculation unit 515 may read the coefficients J i j and hi from the memory to calculate the next state. By doing so, it is possible to reduce the burden of calculating the coefficient each time the calculation of the next state is performed.
  • the interaction calculation execution unit 616 determines whether or not the stop condition is satisfied (for example, whether or not the temperature T has reached a preset minimum temperature) (S717).
  • the interaction calculation execution unit 616 determines that the stop condition is satisfied (S717: YES)
  • the process proceeds to S718.
  • the interaction calculation execution unit 616 determines that the stop condition is not satisfied (S717: NO)
  • the process returns to S716.
  • the spin value reading unit 617 reads and outputs the spin value stored in the spin memory 516.
  • the user who sees the output result can determine whether to change the weight of the subfunction and change the weight if necessary (S719: YES).
  • the ground state search process S700 is completed (S719: NO).
  • the weight setting unit 613 can change the value of the signal weight by changing the weights w 1 , ..., W K of the storage unit 600, or by selecting from a plurality of prepared ones. Therefore, the weight of the subfunction ⁇ k can be changed from the outside of the arithmetic circuit 500. Therefore, it is easy to change the weight of the subfunction according to the result of the ground state search process S700. Alternatively, the weights of the subfunctions can be changed under predetermined conditions to automatically perform the plurality of ground state search processes S700, and a preferable one can be selected from the plurality of obtained results.
  • the information processing apparatus 10 the GUI for setting the weights of the sub-function ⁇ k (Graphical User Interface), it is preferable to display on the output device 15.
  • the GUI function may be a part of the function of the weight setting unit 613.
  • the GUI can, for example, let the user select a weight prepared in advance and automatically execute a plurality of types of ground state searches with a plurality of types of weights. The user can select a good result from a plurality of types of results.
  • the information processing apparatus 10 of the present embodiment it is possible to efficiently search for the ground state of the Ising model. Therefore, the combinatorial optimization problem can be solved efficiently. Since the information processing device 10 (including the arithmetic unit 20) has a simple structure, it can be manufactured inexpensively and easily.
  • each of the above configurations, functional units, processing units, processing means, etc. may be realized by hardware by designing a part or all of them by, for example, an integrated circuit.
  • each of the above configurations, functions, and the like may be realized by software by the processor interpreting and executing a program that realizes each function.
  • Information such as programs, tables, and files that realize each function can be placed in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.
  • control lines and information lines are shown as necessary for explanation, and not all the control lines and information lines in the implementation are necessarily shown. For example, in practice almost all configurations may be considered interconnected.
  • the arrangement form of various functional units, various processing units, and various databases of the information processing apparatus 10 described above is only an example.
  • the arrangement form of the various functional units, the various processing units, and the various databases can be changed to the optimum arrangement form from the viewpoints of the performance, processing efficiency, communication efficiency, and the like of the hardware and software included in the information processing apparatus 10.
  • the configuration of the database (schema, etc.) that stores the various data described above can be flexibly changed from the viewpoints of efficient use of resources, improvement of processing efficiency, improvement of access efficiency, improvement of search efficiency, and the like.
  • the calculation of the spin of the Ising model has been described as an example.
  • the spin of the Ising model is generally treated as a binary value, but this embodiment is also applicable to the case where the entity of the interaction model is represented by a variable having three or more values.
  • An example of extending the spin value of the Ising model so that it can be expressed in a state of three or more values can be found in Japanese Patent Application Laid-Open No. 2016-51314.
  • the spin memory 516 of the embodiment may be changed so that three or more values can be stored.
  • It can be used for information processing devices, arithmetic units, and information processing methods.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Medical Informatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

相互作用モデルの1つのスピンの状態を示す値を記憶するスピンメモリと、スピンメモリに対応してサブ関数の相互作用係数を記憶する相互作用係数補助メモリと、スピンメモリに対応してサブ関数の外部磁場係数を記憶する外部磁場係数補助メモリと、サブ関数の重み信号を受信する重み入力線と、サブ関数の重み信号とサブ関数の相互作用係数を用いて重み付きサブ関数相互作用係数を計算する相互作用係数計算部と、サブ関数の重み信号とサブ関数の外部磁場係数を用いて重み付きサブ関数外部磁場係数を計算する外部磁場係数計算部と、スピンの状態を示す値、重み付きサブ関数相互作用係数、および重み付きサブ関数外部磁場係数に基づいて、スピンの次状態を計算する次状態計算部と、を備える演算回路である。

Description

演算回路、演算装置、情報処理装置およびイジングモデルの基底状態探索方法
 本発明は、情報処理装置、演算装置、及び情報処理方法に関する。
 特許文献1には、「相互作用モデルの解を求めるための基本構成単位となる構成要素をアレイ状に配置した半導体装置を提供する。」、「相互作用モデルの1つのノードの状態を示す値を記憶する第1のメモリセルと、1つのノードに接続された他のノードからの相互作用を示す相互作用係数を記憶する第2のメモリセルと、第1のメモリセルの値を固定するためのフラグを記憶する第3のメモリセルと、他のノードの状態を示す値及び前記相互作用係数に基づいて、前記1つのノードの次状態を示す値を決定する第1の演算回路と、フラグの値に応じて前記次状態を示す値を第1のメモリセルに記録するか否かを決定する第2の演算回路と、を有するユニットを複数備える。」と記載されている。
 非特許文献1には、量子アニーリング(断熱量子計算)(adiabatic quantum optimization)におけるマイナーエンベッディング(minor-embedding in adiabatic quantum optimization)に関して記載されている。
特開2016-51313号公報
Choi, V. (2008). Minor-embedding in adiabatic quantum computation: I. The parameter setting problem. Quantum Information Processing, 7(5), 193-209.
 物理現象や社会現象の多くは相互作用モデルによって表現することができる。相互作用モデルは、モデルを構成する複数のノードと、ノード間の相互作用、さらに必要であればノード毎のバイアスで定義される。物理学や社会科学の分野においては種々のモデルが提案されているが、いずれも相互作用モデルの一形態として解釈することができる。
 相互作用モデルの一つとしてイジングモデル(Ising Model)がある。イジングモデルの基底状態の探索は、イジングモデルのエネルギー関数を最小化するスピン配列を求める最適化問題である。イジングモデルの基底状態を探索する方法として、マルコフ連鎖モンテカルロ法(以下、MCMC(Markov chain Monte Carlo methods)と称する。)によるものがある。
 巡回セールスマン問題や経路探索問題などを相互作用モデルの基底状態探索問題として解く場合,このエネルギー関数は一般に,制約を表すペナルティー項など複数の項の線形和で表される。各項の重みの最適値は一般には不明であるため,重みを変化させつつ解を探索して,厳密解または良質な近似解を得る。
 従来,重みを変更した相互作用モデルを解く場合,相互作用モデル計算をマシン外部(ホストPC)で行い,その結果をマシンに書き込むことで実現してきた。しかし問題規模が大きくなるに従って,または頻繁に重みを切り替える必要がある場合は,上記処理では計算コスト・通信コストが掛かる。その結果,最適化計算におけるパラメータの多角化や,制約付き最適化に対するペナルティー係数の調整が困難という課題があった。
 本発明は、こうした背景に鑑みてなされたもので、イジングモデルの基底状態の探索を効率よく行うことが可能な、情報処理装置及び情報処理方法を提供することを目的とする。
 本願発明の好ましい一側面は、相互作用モデルの1つの変数の状態を示す値を記憶する変数メモリと、変数メモリに対応してサブ関数の相互作用係数を記憶する相互作用係数補助メモリと、変数メモリに対応してサブ関数の外部磁場係数を記憶する外部磁場係数補助メモリと、サブ関数の重み信号を受信する重み入力線と、サブ関数の重み信号とサブ関数の相互作用係数を用いて重み付きサブ関数相互作用係数を計算する相互作用係数計算部と、サブ関数の重み信号とサブ関数の外部磁場係数を用いて重み付きサブ関数外部磁場係数を計算する外部磁場係数計算部と、変数の状態を示す値、重み付きサブ関数相互作用係数、および重み付きサブ関数外部磁場係数に基づいて、変数の次状態を計算する次状態計算部と、を備える演算回路である。
 本発明のさらに具体的な一側面では、前記の相互作用係数補助メモリは、K個(ただしKは2以上の整数)のサブ関数の相互作用係数を記憶し、前記の外部磁場係数補助メモリは、K個のサブ関数の外部磁場係数を記憶し、前記の重み入力線は、K個のサブ関数の重み信号を入力し、K個のサブ関数の相互作用係数、K個のサブ関数の外部磁場係数、およびK個のサブ関数の重み信号は、それぞれが対応付けられている。
 本発明の好ましい他の一側面は、前記の演算回路をN個備え、相互作用モデルのN個の変数に対応させる、演算装置である。
 本発明のさらに具体的な一側面では、前記の相互作用係数計算部は、K個の重み付きサブ関数相互作用係数を加算し、イジングモデルのエネルギー関数H(σ)における相互作用係数Ji,jを得、前記の外部磁場係数計算部は、K個の重み付きサブ関数外部磁場係数を加算し、イジングモデルのエネルギー関数H(σ)における外部磁場係数hiを得る。ここで、後述の式1の関係が成り立ち、σはi番目の変数の値、Ji,jはi番目とj番目の変数の間の相互作用係数、hiはi番目の変数に働く外部磁場係数を表す。
 本発明の好ましい他の一側面は、プロセッサと、主記憶装置と、補助記憶装置と、入力装置と、出力装置と、前記の演算装置と、これらを接続するシステムバスを備える、情報処理装置である。
 本発明の好ましい他の一側面は、後述の式2で表されるエネルギー関数Hを用いて、イジングモデルの基底状態を探索する際に、σをi番目のスピンの値とし、φをk項目のサブ関数とし、wをk項目のサブ関数の重みとしたとき、スピンの値σを記憶する第1のメモリと、サブ関数の相互作用係数を記憶する第2のメモリと、サブ関数の外部磁場係数を記憶する第3のメモリと、を備えるスピンユニットを複数用いる、イジングモデルの基底状態探索方法である。この方法では、問題データをイジングモデルに変換する第1のステップ、サブ関数の各項の相互作用係数を第2のメモリに設定する第2のステップ、サブ関数の各項の外部磁場係数を第3のメモリに設定する第3のステップ、サブ関数の各項の重みを設定する第4のステップ、第1のメモリのスピンの値を初期化する第5のステップ、第2のメモリの相互作用係数と、第3のメモリの外部磁場係数と、重みを用いて、スピンの値の次状態を計算する相互作用演算を実行する第6のステップ、を実行する。
 本発明の他の具体的な一側面では、サブ関数の各項の重みの変更を複数回行う。
 本発明によれば、相互作用モデルの基底状態探索を効率よく行うことができる。上記した以外の課題、構成および効果は、以下の発明を実施するための形態の説明により明らかにされる。
イジングモデルのエネルギーランドスケープの概念図である。 情報処理装置の概略的な構成を示すブロック図である。 演算回路のブロック図である。 情報処理装置が備える主な機能を示す機能ブロック図である。 基底状態探索処理を説明するフローチャートである。
 以下、実施の形態を図面に基づいて詳細に説明する。尚、以下の説明において、同一の又は類似する構成に共通の符号を付して重複した説明を省略することがある。また同一あるいは同様の機能を有する要素が複数ある場合に同一の符号に異なる添字を付して説明することがある。また複数の要素を区別する必要がない場合は添字を省略して説明することがある。
 まずイジングモデル(Ising Model)について説明する。イジングモデルは磁性体の振舞いの説明に用いられる統計力学のモデルである。イジングモデルは、+1/-1(「0/1」や「上/下」等でもよい)の2値をとるスピンの状態、及び上記スピン間の相互作用を示す相互作用係数を用いて定義される。イジングモデルのエネルギー関数H(σ)(一般にハミルトニアンと呼ばれる)は次式1で表わされる。
Figure JPOXMLDOC01-appb-M000003
 式1において、σはi番目のスピンの値、Ji,jはi番目とj番目のスピンの間の相互作用係数、hiはi番目のスピンに働く外部磁場係数を表す。これらをまとめて表す行列Jとベクトルhを導入する。行列Jはi行j列の要素がJi、jで対角成分が0である。また、ベクトルhはi番目の要素がhである。
 イジングモデルのスピン間の接続関係をグラフG=(V,E)と表す。グラフGは、頂点の集合Vと辺の集合Eから構成される。V={v,...,v}は頂点集合で,各頂点v上にイジングモデルのスピンσがあると捉える。
 式1の右辺は、スピン間の相互作用に起因するエネルギーの総和である。一般にイジングモデルは無向グラフとして表現され、i番目のスピンからj番目のスピンへの相互作用と、j番目のスピンからi番目のスピンへの相互作用とを区別することはない。そのため、式1ではi<jを満たすσ、σの組合せについて相互作用の影響を求めている。
 イジングモデルの基底状態の探索はイジングモデルのエネルギー関数を最小化するスピン配列を求める最適化問題である。本実施形態では、イジングモデルの基底状態の探索をマルコフ連鎖モンテカルロ法(以降、MCMC(Markov chain Monte Carlo methods)と呼ぶ)により行う。
 図1はイジングモデルのエネルギーランドスケープの概念図である。グラフの横軸はスピン配列、縦軸は系の全エネルギーである。確率的な遷移では、現在の状態σから、状態σの近傍のある状態σ’への確率的な遷移を繰り返す。状態σから状態σ’に遷移する確率のことを、以下、遷移確率P(σ,σ’)と称する。遷移確率P(σ,σ’)の例としてメトロポリス法(Metropolis method)によるものや熱浴法によるものがある。
 近傍の状態σ’を生成する方法としては、現在の状態σから一つのスピンの値を変更する方法が一般的である。変更するスピンを一つずつ順番に変えていくことで、スピン全体が取り得る状態について探索を行う。例えば、図1の場合、状態Aから一つのスピンが反転すると状態Bとなり、更に一つのスピンが反転すると状態Cとなる。
 温度Tを大きな値から徐々に減少させつつMCMCを実行するとき、エネルギーが最も低い状態に漸近的に収束する。これを利用して最小化問題の最適解または近似解を求める手法として、シミュレーティッド・アニーリング(以下、SA(Simulated Annealing)と称する。)やモーメンタム・アニーリング(以下、MA(Momentum Annealing)と称する。)がある。
 イジングモデルに対してMCMCやSA、MAを適用する場合、以下の式2などの確率的挙動に基づきスピンの値を決定する。ここで、例えば、特許文献1に記載されているように、式2に基づく確率的処理を実現する回路を複数用意し、複数のスピンの値を並列更新することで、処理の高速化を図ることが可能である。
 ところで,エネルギー関数Hは以下に示すように、ある意味を表す複数の項φの和で表されることが大半である。wは項の重み、kは項の番号である。
Figure JPOXMLDOC01-appb-M000004
 例えばN都市の巡回セールスマン問題をイジングモデルの基底状態探索問題と捉えて定式化することを考える。このときスピンσt、nはt番目に都市nを訪問するかを表す2値変数である。定式化で考慮すべき要素は(1)移動距離を表す項、(2)制約「一度に一箇所しか訪問しない」を表す項、(3)制約「各都市は一度しか訪問しない」を表す項、の3つである。それぞれの項をφ(σ)、φ(σ)、φ(σ)と表すと、巡回セールスマン問題を解くために求められるイジングモデルのエネルギー関数は
H=φ(σ)+λ(φ(σ)+φ(σ))
となる。ただしλはペナルティー係数と呼ばれる充分に大きい値である。式2が示す通り、ある意味を表す複数の項の和でエネルギー関数で表現される。これは巡回セールスマン問題のみならず、様々な組合せ最適化問題に対して当てはまる。
 制約の強さを表すペナルティー係数λはある閾値以上に充分に大きくしなければならない。一方で、λが大きすぎると図1に示すエネルギー壁の高さが高くなり、状態間の遷移が困難となり、厳密解または良質な近似解が得られなくなる。そのため、実用的な時間内で解を得るためには、λを適切な値に設定する必要がある。
 一般に、事前に適切なλを計算することは困難である。そのため、λの値を変化させつつ、それぞれのλの下で解探索を実行することが好ましい。λを変化させたとき、新たなエネルギー関数は専用計算機の外のホストPCで計算されていた。しかしながら計算時間の増加を引き起こすため好ましくない。そこで本実施例では掛かる課題を解決するため、問題再構成に好適な情報処理装置および計算フローを提案する。
 図2は、イジングモデルの基底状態の探索を行う情報処理装置の一例である。同図に示すように、この情報処理装置10は、プロセッサ11、主記憶装置12、補助記憶装置13、入力装置14、出力装置15、通信装置16、一つ以上の演算装置20、及びこれらの装置を通信可能に接続するシステムバス5を備える。情報処理装置10は、例えば、その一部又は全部がクラウドシステム(Cloud System)により提供されるクラウドサーバ(Cloud Server)のような仮想的な情報処理資源を用いて実現されるものであってもよい。また情報処理装置10は、例えば、互いに協調して動作する、通信可能に接続された複数の情報処理装置によって実現されるものであってもよい。
 プロセッサ11は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)を用いて構成されている。主記憶装置12は、プログラムやデータを記憶する装置であり、例えば、ROM(Read Only Memory)(SRAM(Static Random Access Memory)、NVRAM(Non Volatile RAM)、マスクROM(Mask Read Only Memory)、PROM(Programmable ROM)等)、RAM(Random Access Memory)(DRAM(Dynamic Random Access Memory)等)等である。補助記憶装置13は、ハードディスクドライブ(Hard Disk Drive)、フラッシュメモリ(Flash Memory)、SSD(Solid State Drive)、光学式記憶装置(CD(Compact Disc)、DVD(Digital Versatile Disc)等)等である。補助記憶装置13に格納されているプログラムやデータは、随時、主記憶装置12に読み込まれる。
 入力装置14は、ユーザから情報の入力を受け付けるユーザインタフェースであり、例えば、キーボード、マウス、カードリーダ、タッチパネル等である。出力装置15は、ユーザに情報を提供するユーザインタフェースであり、例えば、各種情報を可視化する表示装置(LCD(Liquid Crystal Display)、グラフィックカード等)や音声出力装置(スピーカ)、印字装置等である。通信装置16は、他の装置と通信する通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール、USB(Universal Serial Interface)モジュール、シリアル通信モジュール等である。
 演算装置20は、イジングモデルの基底状態の探索に関する処理を実行する装置である。演算装置20は、例えば、GPU(Graphics Processing Unit)のように、情報処理装置10に装着する拡張カードの形態を取るものであってもよい。演算装置20は、例えば、CMOS(Complementary Metal Oxide Semiconductor)回路、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)等のハードウェアによって構成される。演算装置20は、制御装置、記憶装置、システムバス5に接続するためのインタフェース等を含み、システムバス5を介してプロセッサ11との間でコマンドや情報の送受を行う。演算装置20は、例えば、通信線を介して他の演算装置20と通信可能に接続され、他の演算装置20と協調して動作するものであってもよい。演算装置20により実現される機能を、例えば、プロセッサ(CPU、GPU等)にプログラムを実行させることにより実現してもよい。
 図2に示される演算装置20は、後に図3で説明される。演算装置20は、一つもしくは複数を実装することができる。
 図3は、演算装置20の動作原理を説明する図であり、演算装置20を構成する回路(以下、演算回路500と称する。)のブロック図である。演算回路500はメトロポリス法などの基準に従って確率的にスピンの値を決定する機能を実現する。演算回路500は一つのスピンの値を格納するスピンメモリと、当該スピンの値を計算する回路を含んでいる。演算回路500は演算装置20に複数実装され、並列動作させることができる。以降,エネルギー関数Hを構成するサブ関数はφ、…、φのK個存在し、それぞれのサブ関数は式3で表せるものとする。
Figure JPOXMLDOC01-appb-M000005
 サブ関数に含まれる相互作用係数J ijは相互作用係数補助メモリ511が、外部磁場係数h iは外部磁場係数補助メモリ512がすべて保持する。
 式3を式2に代入すると式4を得る。
Figure JPOXMLDOC01-appb-M000006
式4と式1を比べると、次の関係式を得る。
Figure JPOXMLDOC01-appb-M000007
Figure JPOXMLDOC01-appb-M000008
 つまり、各項の重みw、…、wが与えられたとき、エネルギー関数Hの相互作用係数Jij、外部磁場係数hiは、サブ関数の各係数と重みの積和演算で算出できる。図3の信号Weightはサブ関数の重みw、…、wを持つ。そして相互作用係数計算部513が式5、外部磁場係数計算部514が式6に相当する計算を行う。これらの計算は相互作用、スピン毎に並列計算が可能であるため、これを実現する並列回路を設けても良い。
 相互作用係数Jij、外部磁場係数hiが得られた後は、式1を解く問題と同じであるから、例えば特許文献1に記載の構成を活用してスピンの次状態を決定すれば良い。一般に、MCMCに基づいてスピン値を更新する場合、次状態の決定には乱数が必要であり、図3では信号Randomがこの乱数列を供給する。また、スピン値の現在の状態はスピンメモリ516に記憶されており、この値も次状態の決定に用いられる。次状態計算部515は以上の情報を基に全スピンの次状態を決定する。相互作用係数計算部513や外部磁場係数計算部514と同様に、次状態計算部515も各スピン毎に独立して計算することが可能であり、並列化による高速化を見込める。
 以上のように、一つのスピンの値を計算及び格納する演算回路500を一つのスピンユニットとして、演算装置20にアレイ状に形成し、複数スピンの並列計算を行うことで、高速な計算が可能となる。
 図4に情報処理装置10が備える主な機能(ソフトウェア構成)を示している。同図に示すように、情報処理装置10は、記憶部600、モデル変換部611、モデル係数設定部612、重み設定部613、スピン値初期化部614、温度設定部615、相互作用演算実行部616、及びスピン値読出部617を備える。これらの機能は、プロセッサ11が、主記憶装置12に格納されているプログラムを読み出して実行することにより、もしくは、演算装置20が備えるハードウェアにより実現される。尚、情報処理装置10は、上記の機能に加えて、例えば、オペレーティングシステム、ファイルシステム、デバイスドライバ、DBMS(DataBase Management System)等の他の機能を備えていてもよい。
 上記機能のうち記憶部600は、問題データ601、イジング形式問題データ602、及び演算装置制御プログラム603を、主記憶装置12又は補助記憶装置13に記憶する。問題データ601は、例えば、組合せ最適化問題等を所定の記述形式で記述したデータである。問題データ601は、例えば、ユーザがユーザインタフェース(入力装置、出力装置、通信装置等)を介して設定する。イジング形式問題データ602は、モデル変換部611が、問題データ601をイジングモデル形式のデータに変換することにより生成されるデータである。演算装置制御プログラム603は、相互作用演算実行部616が演算装置20を制御する際に実行する、もしくは相互作用演算実行部616が個々の演算装置20にロードして演算装置20に実行させるプログラムである。
 モデル変換部611は、問題データ601をイジングモデル形式のデータであるイジング形式問題データ602に変換する。モデル変換部611の機能は必ずしも情報処理装置10に実装されていなくてもよく、情報処理装置10が、他の情報処理装置等で生成されたイジング形式問題データ602を入力装置14や通信装置16を介して取り込むようにしてもよい。
 モデル係数設定部612は、イジング形式問題データ602に基づくイジングモデルの相互作用関係を前述した隣接行列Jを相互作用係数補助メモリ511に、外部磁場係数を表すベクトルhを外部磁場係数補助メモリ512に設定する。
 スピン値初期化部614は、演算装置20内の演算回路500のスピンメモリ516に格納されている各スピンの値を初期化する。スピン値初期化部614は、例えば、完全2部グラフにおける第1スピン群の各スピンの値σ 、・・・σ 、及び第2スピン群の各スピンの値σ 、・・・、σ をいずれも50%の確率で「1」か「-1」に設定する。
 温度設定部615は、相互作用演算実行部616がイジングモデルの基底状態の探索を行う際に用いる温度Tの値を設定する。
 相互作用演算実行部616は、温度設定部615により設定された温度Tごとに、イジングモデルの基底状態を探索する演算(以下、相互作用演算と称する。)を行う。相互作用演算に際し、相互作用演算実行部616は、例えば、温度Tを高いほうから低いほうに向けて変化させる。
 スピン値読出部617は、相互作用演算実行部616によるイジングモデルの基底状態の探索が終了すると、スピンメモリ516に格納されているスピンの値を読み出し、読み出した値を出力装置15や通信装置16に出力する。
 図5は、イジングモデルの基底状態の探索に際し情報処理装置10が行う処理(以下、基底状態探索処理S700と称する。)を説明するフローチャートである。以下、同図とともに基底状態探索処理S700について説明する。尚、以下において、符号の前に付している「S」の文字は処理ステップの意味である。基底状態探索処理S700は、例えば、入力装置14を介してユーザからの指示等を受け付けることにより開始される。
 同図に示すように、まずモデル変換部611が、問題データ601をイジング形式問題データ602に変換する(S711)。記憶部600が既にイジング形式問題データ602を記憶している場合は当該処理S711は省略される。S711の処理と、S712以降の処理とは、夫々を異なる装置で実行するようにしてもよい。またS711の処理と、S712以降の処理とを異なるタイミングで実行するようにしてもよい(例えば、S711の処理を事前に行っておくことが考えられる。)。
 続いて、モデル係数設定部612が、相互作用係数補助メモリ511および外部磁場係数補助メモリ512に、サブ関数に含まれる相互作用係数J ijと外部磁場係数h iの値を設定する(S712)。メモリの値は、ユーザインタフェース(例えば、入力装置14、出力装置15、通信装置16等により実現される。)を介してユーザが設定又は編集することもできる。
 続いて、重み設定部613が、記憶部600から各項の重みw、…、wを読みだし、信号Weightの値を決定する(S713)。相互作用係数、外部磁場係数、および重みは、演算装置20にアレイ状に形成されている演算回路500のそれぞれに、イジングモデルに応じた値が設定される。
 続いて、スピン値初期化部614が、スピンメモリ516に格納されている各スピンの値を初期化する(S714)。初期化では、例えばランダムに+1または-1の値を設定する。
 続いて、温度設定部615が、温度と呼ばれるアニーリング法に用いられるパラメータT(m=1,2,3、…)を設定する(S715)。尚、上記の添字mは設定される温度Tの種類を表す。
 続いて、相互作用演算実行部616が次状態計算部515で次状態を生成する(S716)。相互作用演算実行部616は演算回路500のそれぞれに信号Weightを供給し、演算回路500は相互作用係数、外部磁場係数、および重みに基づいて、次状態を生成する。その際の計算は、式1、式5、式6で説明したとおりである。
 上記の説明では、重みw、…、wは、次状態の計算のたびに相互作用演算実行部616から演算回路500に送っている。他の例としては、演算回路500内に重みを記憶する重みメモリを設けておき、相互作用演算実行部616が重みメモリに重みを記憶した後は、当該メモリから重みを読み出して次状態を計算してもよい。このようにすると、相互作用演算実行部616から演算回路500への重みの送信を省略でき、上位装置の負担を軽減できる。
 また、演算回路500内に係数を記憶する係数格納メモリを設けておき、相互作用係数計算部513と外部磁場係数計算部514が、式5と式6の計算を行った後、結果を係数格納メモリに記憶しておき、次状態計算部515では当該メモリから係数Jijとhiを読み出して次状態を計算してもよい。このようにすると、次状態の計算のたびに係数を計算する負担を軽減できる。
 続いて、相互作用演算実行部616は、停止条件が成立したか否か(例えば、温度Tが予め設定された最低温度に達したか否か)を判定する(S717)。停止条件が成立したと相互作用演算実行部616が判定した場合(S717:YES)、処理はS718に進む。一方、停止条件が成立しないと相互作用演算実行部616が判定した場合(S717:NO)、処理はS716に戻る。
 S718では、スピン値読出部617が、スピンメモリ516に格納されているスピンの値を読み出して出力する。出力結果を見たユーザは、サブ関数の重みを変更するかどうかを判断し、必要により重みを変更することができる(S719:YES)。重みの変更が必要ない場合には、以上で基底状態探索処理S700は終了する(S719:NO)。
 出力結果は、出力装置15により確認することができる。本実施例では、記憶部600の重みw、…、wを変更し、あるいは複数準備されたものから選択することにより、重み設定部613が、信号Weightの値を変更することができる。よって、サブ関数φの重みを演算回路500の外部から変更可能である。したがって、基底状態探索処理S700の結果に応じて、サブ関数の重みを変更することが容易である。あるいは、予め定めた条件でサブ関数の重みを変更して、複数の基底状態探索処理S700を自動的に行い、得られた複数の結果から好ましいものを選択することもできる。上記機能を実現するために、情報処理装置10は、サブ関数φの重みを設定するためのGUI(Graphical User Interface)を、出力装置15に表示させることが望ましい。GUIの機能は、重み設定部613の機能の一部としてよい。
 GUIは、例えば予め準備した重みをユーザに選択させ、複数種類の重みによって複数種類の基底状態探索を自動的に実行させることができる。ユーザは複数種類の結果から、良好なものを選択することができる。
 以上、詳細に説明したように、本実施形態の情報処理装置10によれば、イジングモデルの基底状態の探索を効率よく行うことができる。そのため、組合せ最適化問題を効率よく解くことができる。尚、情報処理装置10(演算装置20を含む)は、シンプルな構成であるので安価かつ容易に製造することができる。
 以上、一実施形態について詳述したが、本発明は上記の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また上記実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
 また上記の各構成、機能部、処理部、処理手段等は、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に置くことができる。
 また上記の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。例えば、実際には殆ど全ての構成が相互に接続されていると考えてもよい。
 また以上に説明した情報処理装置10の各種機能部、各種処理部、各種データベースの配置形態は一例に過ぎない。各種機能部、各種処理部、各種データベースの配置形態は、情報処理装置10が備えるハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態に変更し得る。
 また前述した各種のデータを格納するデータベースの構成(スキーマ(Schema)等)は、リソースの効率的な利用、処理効率向上、アクセス効率向上、検索効率向上等の観点から柔軟に変更し得る。
 以上の実施例では、イジングモデルのスピンの計算を例に説明した。イジングモデルのスピンは一般に2値で扱われるが、本実施例は相互作用モデルのエンティティを3値以上の変数で表現する場合にも適用可能である。イジングモデルのスピンの値を3値以上の状態で表現できるように拡張する例を、特開2016-51314号公報に見ることができる。この場合、実施例のスピンメモリ516を、3値以上を格納できるように変更すればよい。
 情報処理装置、演算装置、及び情報処理方法に利用することが可能である。
 10 情報処理装置、11 プロセッサ、12 主記憶装置、20 演算装置、511 相互作用係数補助メモリ、512 外部磁場係数補助メモリ、513 相互作用係数計算部、514 外部磁場係数計算部、515 次状態計算部、516 スピンメモリ、600 記憶部、601 問題データ、602 イジング形式問題データ、603 演算装置制御プログラム、611 モデル変換部、612 モデル係数設定部、613 重み設定部、614 スピン値初期化部、615 温度設定部、616 相互作用演算実行部、617 スピン値読出部

Claims (11)

  1.  相互作用モデルの1つの変数の状態を示す値を記憶する変数メモリと、
     前記変数メモリに対応してサブ関数の相互作用係数を記憶する相互作用係数補助メモリと、
     前記変数メモリに対応してサブ関数の外部磁場係数を記憶する外部磁場係数補助メモリと、
     サブ関数の重み信号を受信する重み入力線と、
     前記サブ関数の重み信号と前記サブ関数の相互作用係数を用いて重み付きサブ関数相互作用係数を計算する相互作用係数計算部と、
     前記サブ関数の重み信号と前記サブ関数の外部磁場係数を用いて重み付きサブ関数外部磁場係数を計算する外部磁場係数計算部と、
     前記変数の状態を示す値、前記重み付きサブ関数相互作用係数、および前記重み付きサブ関数外部磁場係数に基づいて、変数の次状態を計算する次状態計算部と、
     を備える演算回路。
  2.  前記相互作用係数補助メモリは、K個(ただしKは2以上の整数)のサブ関数の相互作用係数を記憶し、
     前記外部磁場係数補助メモリは、K個のサブ関数の外部磁場係数を記憶し、
     前記重み入力線は、K個のサブ関数の重み信号を入力し、
     K個の前記サブ関数の相互作用係数、K個の前記サブ関数の外部磁場係数、およびK個の前記サブ関数の重み信号は、それぞれが対応付けられている、
     請求項1記載の演算回路。
  3.  前記相互作用係数計算部は、対応付けられた前記サブ関数の重み信号と前記サブ関数の相互作用係数を用いて、K個の重み付きサブ関数相互作用係数を計算し、
     前記外部磁場係数計算部は、対応付けられた前記サブ関数の重み信号と前記サブ関数の外部磁場係数を用いて、K個の重み付きサブ関数外部磁場係数を計算する、
     請求項2記載の演算回路。
  4.  請求項3記載の演算回路をN個備え、相互作用モデルのN個の変数に対応させる、
     演算装置。
  5.  前記相互作用係数計算部は、前記K個の重み付きサブ関数相互作用係数を加算し、イジングモデルのエネルギー関数H(σ)における相互作用係数Ji,jを得、
     前記外部磁場係数計算部は、前記K個の重み付きサブ関数外部磁場係数を加算し、イジングモデルのエネルギー関数H(σ)における外部磁場係数hiを得、
     ここで、
    Figure JPOXMLDOC01-appb-M000001
    であり、σはi番目の変数の値、Ji,jはi番目とj番目の変数の間の相互作用係数、hiはi番目の変数に働く外部磁場係数を表す、
     請求項4記載の演算装置。
  6.  プロセッサと、主記憶装置と、補助記憶装置と、入力装置と、出力装置と、請求項4記載の演算装置と、これらを接続するシステムバスを備える、情報処理装置。
  7.  前記出力装置は、前記サブ関数の重み信号を設定するためのGUIを表示する、
     請求項6記載の情報処理装置。
  8. Figure JPOXMLDOC01-appb-M000002
    で表されるエネルギー関数Hを用いて、イジングモデルの基底状態を探索する際に、
     σをi番目のスピンの値とし、φをk項目のサブ関数とし、wをk項目のサブ関数の重みとしたとき、
     前記スピンの値σを記憶する第1のメモリと、前記サブ関数の相互作用係数を記憶する第2のメモリと、前記サブ関数の外部磁場係数を記憶する第3のメモリと、を備えるスピンユニットを複数用いる、イジングモデルの基底状態探索方法であって、
     問題データを前記イジングモデルに変換する第1のステップ、
     前記サブ関数の各項の相互作用係数を前記第2のメモリに設定する第2のステップ、
     前記サブ関数の各項の外部磁場係数を前記第3のメモリに設定する第3のステップ、
     前記サブ関数の各項の重みを設定する第4のステップ、
     前記第1のメモリのスピンの値を初期化する第5のステップ、
     前記第2のメモリの相互作用係数と、前記第3のメモリの外部磁場係数と、前記重みを用いて、前記スピンの値の次状態を計算する相互作用演算を実行する第6のステップ、
     を実行するイジングモデルの基底状態探索方法。
  9.  前記第4のステップで、ユーザにサブ関数の各項の重みを設定させるためのGUIを用いる、
     請求項8記載のイジングモデルの基底状態探索方法。
  10.  前記第6のステップの後、前記第4のステップに戻って前記サブ関数の各項の重みを変更し、前記第5のステップと前記第6のステップを再度実行する、
     請求項8記載のイジングモデルの基底状態探索方法。
  11.  前記サブ関数の各項の重みの変更を複数回行う、
     請求項10記載のイジングモデルの基底状態探索方法。
PCT/JP2019/042433 2019-10-29 2019-10-29 演算回路、演算装置、情報処理装置およびイジングモデルの基底状態探索方法 WO2021084629A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2019/042433 WO2021084629A1 (ja) 2019-10-29 2019-10-29 演算回路、演算装置、情報処理装置およびイジングモデルの基底状態探索方法
US17/635,736 US20220343202A1 (en) 2019-10-29 2019-10-29 Arithmetic circuit, arithmetic device, information processing apparatus, and method for searching for ground state of ising model
JP2021553941A JPWO2021084629A1 (ja) 2019-10-29 2019-10-29

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/042433 WO2021084629A1 (ja) 2019-10-29 2019-10-29 演算回路、演算装置、情報処理装置およびイジングモデルの基底状態探索方法

Publications (1)

Publication Number Publication Date
WO2021084629A1 true WO2021084629A1 (ja) 2021-05-06

Family

ID=75714946

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/042433 WO2021084629A1 (ja) 2019-10-29 2019-10-29 演算回路、演算装置、情報処理装置およびイジングモデルの基底状態探索方法

Country Status (3)

Country Link
US (1) US20220343202A1 (ja)
JP (1) JPWO2021084629A1 (ja)
WO (1) WO2021084629A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016006071A1 (ja) * 2014-07-09 2016-01-14 株式会社日立製作所 半導体装置及び情報処理システム
JP2016051313A (ja) * 2014-08-29 2016-04-11 株式会社日立製作所 半導体装置、画像セグメンテーション方法、および画像処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016006071A1 (ja) * 2014-07-09 2016-01-14 株式会社日立製作所 半導体装置及び情報処理システム
JP2016051313A (ja) * 2014-08-29 2016-04-11 株式会社日立製作所 半導体装置、画像セグメンテーション方法、および画像処理装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KANAMARU, S. ET AL.: "Efficient Ising Model Mapping to Solving Slot Placement Problem", PROCEEDINGS OF THE 2019 IEEE INTERNATIONAL CONFERENCE ON CONSUMER ELECTRONICS (ICCE, 13 January 2019 (2019-01-13), pages 1 - 6, XP033528076, ISBN: 978-1-5386-7910-4, DOI: 10.1109/ICCE.2019.8661947 *
KANAMARU, S. ET AL.: "Method to solve Slot Placement Problem by Ising Computer", IEICE TECHNICAL REPORT, vol. 118, no. 85, 7 June 2018 (2018-06-07), pages 161 - 166, ISSN: 0913-5685 *
YAMAOKA, M. ET AL.: "A 20k-Spin Ising Chip to Solve Combinatorial Optimization Problems With CMOS Annealing", IEEE JOURNAL OF SOLID-STATE CIRCUITS, vol. 51, no. 1, 9 December 2015 (2015-12-09), pages 303 - 309, XP011596430, ISSN: 0018-9200, DOI: 10.1109/JSSC. 2015. 2498601 *

Also Published As

Publication number Publication date
US20220343202A1 (en) 2022-10-27
JPWO2021084629A1 (ja) 2021-05-06

Similar Documents

Publication Publication Date Title
JP6874219B2 (ja) 情報処理装置、演算装置、及び情報処理方法
JP7007520B2 (ja) 情報処理装置、演算装置、及び情報処理方法
JP6605610B2 (ja) 半導体装置
JP6925546B1 (ja) 演算システム、情報処理装置、および最適解探索処理方法
JP6380051B2 (ja) 有限要素演算プログラム、有限要素演算装置および有限要素演算方法
US11244026B2 (en) Optimization problem arithmetic method and optimization problem arithmetic device
US20220012387A1 (en) Information processing device, information processing system, information processing method, and storage medium
JP6895415B2 (ja) 計算装置、計算プログラム、記録媒体及び計算方法
JP7219402B2 (ja) 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム
WO2021084629A1 (ja) 演算回路、演算装置、情報処理装置およびイジングモデルの基底状態探索方法
US20220114470A1 (en) Apparatus and method for optimization
US20220012306A1 (en) Information processing device, information processing system, information processing method, and storage medium
JP7357795B2 (ja) 情報処理方法および情報処理システム
JP7470019B2 (ja) 情報処理システム
JP7444804B2 (ja) 制御方法およびサンプリング装置
JP7398401B2 (ja) 最適化方法、情報処理装置及びそれを用いたシステム
US20230267170A1 (en) Information processing system, information processing method, and non-transitory computer-readable recording medium for information processing program
JP2024049148A (ja) 情報処理方法、及び情報処理装置
US20220012017A1 (en) Information processing device, information processing system, information processing method, and storage medium
JP7239521B2 (ja) 情報処理装置および情報処理方法
JP2022158010A (ja) 情報処理システム、情報処理方法、及び情報処理プログラム
JP2023073842A (ja) 最適化方法、情報処理装置、及び、情報処理システム
JP2023024085A (ja) プログラム、データ処理方法及びデータ処理装置
CN113283609A (zh) 信息处理方法、信息处理设备和信息处理程序
Creutz Direct simulations of small multi-fermion systems

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19950409

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021553941

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19950409

Country of ref document: EP

Kind code of ref document: A1