Information processing system and information processing method

The information processing system enhances the efficiency of solving combinatorial optimization problems by using an Ising machine to perform multiple search processes with varied initial values, reducing data transfer times and improving throughput.

JP7785620B2Active Publication Date: 2025-12-15KK TOSHIBA
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2022106775
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-07-01
Publication Date
2025-12-15
Estimated Expiration
2042-07-01

AI Technical Summary

Technical Problem

Existing systems face inefficiencies in solving combinatorial optimization problems due to long transfer times for large data volumes, such as coefficient matrices and vectors, which reduce the throughput of Ising machines used for solving these problems.

Method used

An information processing system comprising an Ising machine and a host device, where the Ising machine performs multiple search processes on a single Ising model with varied initial values for main and auxiliary variables, and the host device receives and processes the results to output solutions efficiently.

Benefits of technology

This approach reduces transfer times for large data, improves system throughput, and enables the generation of multiple solutions for better accuracy and efficiency in solving combinatorial optimization problems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007785620000005
    Figure 0007785620000005
  • Figure 0007785620000006
    Figure 0007785620000006
  • Figure 0007785620000007
    Figure 0007785620000007
Patent Text Reader

Abstract

To output a solution to a combinatorial optimization problem efficiently in a short time.SOLUTION: An information processing system comprises an Ising machine and a host apparatus. The Ising machine includes a coefficient memory, a variable memory, an arithmetic circuit, an output circuit, and a setting circuit. The coefficient memory stores a coefficient matrix and a coefficient vector defining an Ising model. The variable memory stores a main variable and an auxiliary variable corresponding to each of a plurality of Ising spins contained in the Ising model. The arithmetic circuit alternately repeats, in search processing, execution of auxiliary variable update processing for updating the auxiliary variable with the main variable and main variable update processing for updating the main variable with the auxiliary variable, for each of the plurality of Ising spins. The coefficient memory continues storing a preceding coefficient matrix and a preceding coefficient vector until the setting circuit writes a new coefficient matrix and a new coefficient vector.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] An embodiment of the present invention is an information processing system and information processing methods Regarding. [Background technology]

[0002] Optimization of complex systems in various application fields such as finance, logistics, control, and chemistry often reduces to mathematical combinatorial optimization problems, which are problems of finding a combination of discrete values ​​that minimizes a function of discrete variables called a cost function.

[0003] In recent years, special-purpose devices called Ising machines, which perform processing to search for the ground state of the Ising model, have been attracting attention. The problem of searching for the ground state of the Ising model is called the Ising problem. The Ising problem is a combinatorial optimization problem that minimizes a cost function given by a quadratic function of a variable (Ising spin) that represents two values. The cost function is called the Ising energy. Many practical combinatorial optimization problems can be converted into Ising problems. Therefore, a system that solves combinatorial optimization problems can solve the desired combinatorial optimization problem by using an Ising machine.

[0004] The system for solving combinatorial optimization problems includes an Ising machine that performs a search process for the ground state of an Ising model, and a host device that performs processes other than the search process. The Ising model is defined by a coefficient matrix (a set of coupling coefficients, a J matrix) and a coefficient vector (a set of external magnetic field coefficients, an h vector).

[0005] In such a system for solving combinatorial optimization problems, a host device transmits a coefficient matrix and a coefficient vector to an Ising machine and receives values ​​of each of a plurality of optimized Ising spins from the Ising machine. The Ising machine also receives the coefficient matrix and the coefficient vector from the host device and returns values ​​of each of a plurality of Ising spins optimized to minimize the Ising energy.

[0006] In a system for solving such combinatorial optimization problems, large amounts of data, such as coefficient matrices and coefficient vectors, are transmitted from a host device to an Ising machine, which results in a long transfer time for the coefficient matrices and coefficient vectors, reducing the throughput of the entire system. [Prior art documents] [Patent documents]

[0007] [Patent Document 1] Japanese Patent Publication No. 2022-032703 [Patent Document 2] International Publication No. 2021 / 084629 [Non-patent literature]

[0008] [Non-Patent Document 1] Hayato Goto, Kosuke Tatsumura, Alexander R. Dixon, “Combinatorial optimization by simulating adiabatic bifurcations in nonlinear Hamiltonian systems”, Science Advances, Vol. 5, no. 4, eaav2372, 19 Apr. 2019 Summary of the Invention [Problem to be solved by the invention]

[0009] The problem to be solved by the present invention is to efficiently output a solution to a combinatorial optimization problem in a short time. [Means for solving the problem]

[0010] An information processing system according to an embodiment solves a combinatorial optimization problem. The information processing system includes an Ising machine and a host device. The Ising machine is hardware that executes a search process to search for a ground state of an Ising model that represents the combinatorial optimization problem. The host device is hardware that is connected to the Ising machine via an interface and controls the Ising machine. The Ising machine includes a coefficient memory, a variable memory, an arithmetic circuit, an output circuit, and a setting circuit. The coefficient memory stores a coefficient matrix and a coefficient vector that define the Ising model. The variable memory stores main variables and auxiliary variables corresponding to each of a plurality of Ising spins included in the Ising model. In the search process, the arithmetic circuit alternately performs an auxiliary variable update process that updates the auxiliary variable using the main variable and a main variable update process that updates the main variable using the auxiliary variable for each of the plurality of Ising spins. The output circuit transmits values ​​based on the main variables corresponding to each of the plurality of Ising spins after the search process has been executed to the host device as search results. The setting circuit writes the coefficient matrix and the coefficient vector to the variable memory and causes the arithmetic circuit to start the search process in response to receiving an instruction to start execution of the search process from the host device. After the search process, the host device receives the search results from the Ising machine and outputs a solution to the combinatorial optimization problem based on the received search results. The coefficient memory continues to store the previous coefficient matrix and coefficient vector until new coefficient matrices and coefficient vectors are written by the setting circuit. The setting circuit causes the arithmetic circuit to execute the search process multiple times on a first Ising model that is the Ising model. The host device transmits the coefficient matrix and the coefficient vector that define the first Ising model to the Ising machine once prior to executing the search process multiple times. The setting circuit stores an initial value table that describes multiple patterns of sets of initial values ​​of at least one of the sets of main variables and sets of auxiliary variables, and sets at least one of the sets of main variables and sets of auxiliary variables for the multiple Ising spins to multiple sets of initial values ​​based on any of the multiple patterns described in the initial value table before starting each of the multiple executions of the search process. [Brief explanation of the drawings]

[0011] [Figure 1] FIG. 1 is a functional configuration diagram of an information processing system according to a first embodiment. [Figure 2] FIG. 1 is a diagram showing a graph representing an Ising model. [Figure 3] FIG. 1 is a diagram showing variables stored in an Ising machine. [Figure 4]10 is a flowchart showing the flow of a search process by an Ising machine. [Figure 5] FIG. 1 is a diagram showing the hardware configuration of a host device together with an Ising machine. [Figure 6] FIG. 1 is a diagram showing the configuration of an Ising machine according to a first embodiment, together with a host device. [Figure 7] FIG. 3 is a sequence diagram showing a first example of a processing flow according to the first embodiment. [Figure 8] FIG. 8 is a timing chart showing the processing time when the processing is performed according to the flow shown in FIG. 7. [Figure 9] FIG. 4 is a sequence diagram showing a second example of the processing flow according to the first embodiment. [Figure 10] FIG. 10 is a sequence diagram showing a third example of the processing flow in the first embodiment. [Figure 11] FIG. 11 is a timing chart showing the processing time when the processing is performed according to the flow shown in FIG. 10. [Figure 12] FIG. 10 is a diagram showing the functional configuration of a modified example of the first embodiment. [Figure 13] FIG. 10 is a sequence diagram showing a processing flow of an information processing system according to a modified example. [Figure 14] FIG. 14 is a timing chart showing the processing time when the processing is performed according to the flow shown in FIG. 13. [Figure 15] FIG. 10 is a sequence diagram showing the flow of processing in an information processing system according to a second embodiment. [Figure 16] FIG. 10 is a functional configuration diagram of an Ising machine and a host device according to a second embodiment. [Figure 17] FIG. 10 is a sequence diagram showing the flow of processing in an information processing system according to a second embodiment. [Figure 18] FIG. 18 is a timing chart showing the processing time when the processing is performed according to the flow shown in FIG. 17. [Figure 19] FIG. 10 is a diagram showing an example of data to be transmitted. DETAILED DESCRIPTION OF THE INVENTION

[0012] (First embodiment) First, an information processing system 10 according to the first embodiment will be described.

[0013] FIG. 1 is a diagram showing the functional configuration of an information processing system 10 according to the first embodiment.

[0014] The information processing system 10 solves a combinatorial optimization problem. The information processing system 10 according to the first embodiment includes an Ising machine 12 and a host device 14.

[0015] The Ising machine 12 is hardware that executes a search process for searching for a ground state of an Ising model that represents a combinatorial optimization problem. The Ising machine 12 is, for example, a reconfigurable semiconductor device such as an FPGA (Field Programmable Gate Array). Note that the Ising machine 12 may be either a non-reconfigurable semiconductor device or a processing circuit that executes information processing according to a program.

[0016] The host device 14 is connected to the Ising machine 12 via a physical interface and is hardware that controls the Ising machine 12. The host device 14 is a processing circuit that executes information processing according to a program. The host device 14 executes processes other than the search process executed by the Ising machine 12 among a series of processes for solving a combinatorial optimization problem.

[0017] When searching for the ground state of an Ising model that represents a combinatorial optimization problem to be solved, the host device 14 transmits, to the Ising machine 12 via the interface, a coefficient matrix and a coefficient vector, which are definition information that define the Ising model, and control parameters for controlling the search process executed by the Ising machine 12.

[0018] The Ising machine 12 executes a search process to search for a ground state of an Ising model defined by a coefficient matrix and a coefficient vector. At the start of the search process, the Ising machine 12 sets a plurality of sets of initial values ​​for each of a plurality of sets of main variables (x1, x2, x3, ...) and a plurality of sets of auxiliary variables (p1, p2, p3, ...). Then, the Ising machine 12 starts the search process after setting an initial value for each of the plurality of main variables (x1, x2, x3, ...) and each of the plurality of auxiliary variables (p1, p2, p3, ...).

[0019] By performing a search process, the Ising machine 12 can calculate multiple main variables (x1, x2, x3, ...) that minimize the Ising energy in the Ising model. Then, the Ising machine 12 transmits multiple Ising spins (s1, s2, s3, ...) obtained by binarizing each of the multiple main variables (x1, x2, x3, ...) after the search process to the host device 14 via an interface as search results. The Ising machine 12 may also transmit the multiple main variables (x1, x2, x3, ...) after the search process to the host device 14 as search results. In this case, the host device 14 binarizes each of the multiple main variables (x1, x2, x3, ...) to calculate multiple Ising spins (s1, s2, s3, ...). Then, the host device 14 outputs the multiple Ising spins (s1, s2, s3, ...) as a solution to the combinatorial optimization problem.

[0020] In this embodiment, the Ising machine 12 executes a search process multiple times on a first Ising model defined by a first coefficient matrix, which is one of the coefficient matrices, and a first coefficient vector, which is one of the coefficient vectors. When executing the search process multiple times on the first Ising model, the Ising machine 12 sets at least one of a set of multiple main variables (x1, x2, x3, ...) and a set of multiple auxiliary variables (p1, p2, p3, ...) for the first Ising model to a set of multiple initial values ​​that are different in each of the multiple search processes before starting each of the multiple search processes. For example, when executing the search process multiple times on the first Ising model, the Ising machine 12 sets at least one of a set of multiple main variables (x1, x2, x3, ...) and a set of multiple auxiliary variables (p1, p2, p3, ...) to a set of multiple initial values ​​based on random numbers in each of the multiple search processes before starting each of the multiple search processes. For example, the Ising machine 12 may set a set of initial values ​​generated based on random numbers or the like to one of a set of multiple main variables (x1, x2, x3, ...) and a set of multiple auxiliary variables (p1, p2, p3, ...), and set a set of predetermined values ​​such as 0 to the other.

[0021] The Ising machine 12 may perform a search process and output an approximate solution instead of an exact solution as a search result. Therefore, the Ising machine 12 can calculate multiple different approximate solutions for an Ising model defined by the same coefficient matrix and coefficient vector by changing the initial value of at least one of a set of multiple main variables (x1, x2, x3, ...) and a set of multiple auxiliary variables (p1, p2, p3, ...) and performing the search process multiple times. Therefore, the information processing system 10 can output a better solution by selecting the best approximate solution from the multiple approximate solutions calculated by the Ising machine 12, or can output the multiple approximate solutions calculated by the Ising machine 12 as is. This allows the information processing system 10 to perform multiple search processes by changing only the initial state to obtain the best possible solution, for example, in a traveling salesman problem in which the shortest route is calculated for visiting all of multiple cities while visiting each city only once. The information processing system 10 can also obtain multiple different sample data from the same model, such as sampling in machine learning.

[0022] 2 is a diagram showing a graph representing an Ising model. The energy (E(s)) of an Ising model including N Ising spins is expressed by the following formula (1).

number

[0023] N is the number of Ising spins included in the Ising model and is an integer equal to or greater than 3. i and j represent the indices of the Ising spins and are integers equal to or greater than 1 and equal to or less than N. s i represents the ith Ising spin. j represents the j-th Ising spin. i and s j represents either -1 or +1. N Ising spins can be grouped together into an s vector (s1, s2, ..., s N) The s vector represents the -1 or +1 configuration of the N Ising spins.

[0024] J ij is the element in the i-th row and j-th column of the coefficient matrix. The coefficient matrix has the same elements for the symmetric components (J ij =J ji ), a square matrix with N rows and N columns. In the Ising model, a coupling coefficient is defined for each pair of all two Ising spins included in the N Ising spins. J ij represents the coupling coefficient that represents the interaction between the ith Ising spin and the jth Ising spin.

[0025] h i is the i-th element in the coefficient vector. In the Ising model, external magnetic field coefficients are defined that represent the external magnetic field that affects each of the N Ising spins individually. h i represents the external magnetic field coefficient that affects the ith Ising spin.

[0026] The N-size Ising problem is the problem of calculating the spin configuration that minimizes the Ising energy for an Ising model containing N Ising spins. The spin configuration (s vector) that minimizes the energy is called the ground state.

[0027] Figure 2 shows a graph representing the Ising model when N = 6. The graph vertices correspond to Ising spins. The graph edges correspond to the coupling coefficients J between Ising spins. ij The external magnetic field coefficient h i is assigned to a graph vertex.

[0028] A general combinatorial optimization problem is expressed as an Ising problem defined by a coefficient matrix and a coefficient vector. The Ising machine 12 receives the coefficient matrix and coefficient vector as the problem to be solved, internally searches for a spin configuration with a lower Ising energy, and outputs the optimized spin configuration as a solution.

[0029] A spin configuration with the smallest Ising energy corresponds to an exact solution. A spin configuration with an Ising energy close to the smallest is equivalent to an approximate solution. In general, the performance of the Ising machine 12 is represented by the time it takes to output a solution and the accuracy of the solution (the smaller the energy, the more accurate the solution). The Ising machine 12 outputs not only an exact solution but also an approximate solution as a solution. Furthermore, the search process for searching for a ground state by the Ising machine 12 includes not only a process for searching for an exact solution but also a process for searching for an approximate solution.

[0030] Furthermore, the Ising machine 12 that can solve an N-sized Ising problem can also solve an Ising problem smaller than N. For example, the Ising machine 12 can search for an Ising problem smaller than N as an N-sized Ising problem by setting the coupling coefficients and external magnetic field coefficients of elements in which no Ising spin exists in the coefficient matrix and h matrix to 0.

[0031] The simulated annealing (SA) method has been known as a solution to the Ising problem. A device that searches for the ground state of the Ising model according to the SA method is called an SA-based Ising machine.

[0032] Furthermore, the simulated bifurcation (SB) method is known as a solution method for solving the Ising problem. The Ising machine 12 according to this embodiment also performs a search process for the ground state of the Ising model by the simulated bifurcation method. For example, the simulated bifurcation method is proposed in Non-Patent Document 1. The simulated bifurcation method is an algorithm in which the equation of motion in an optimization algorithm based on adiabatic change in classical mechanics is modified into a form suitable for high-speed simulation.

[0033] In the simulated bifurcation method, two main variables (x i ) and auxiliary variables (p i ) is used. N particles correspond one-to-one to N Ising spins. In the simulated bifurcation method, the main variable (xi ) represents the position of the i-th particle among N particles (i = 1, 2, . . . , N). In the simulated bifurcation method, the auxiliary variable (p i ) represents the momentum of the i-th particle. N main variables (x i ) and N auxiliary variables (p i ) are continuous variables expressed as real numbers.

[0034] In the simulated bifurcation method, simultaneous ordinary differential equations, for example, Equations (2) and (3) below, are numerically solved for each of the N virtual particles.

number

[0035] Here, H is the Hamiltonian of the following equation (4).

number

[0036] c is a predetermined coefficient. D is a predetermined coefficient corresponding to detuning. K is a coefficient corresponding to a positive Kerr coefficient. t is a variable representing time. p(t) corresponds to pumping amplitude and is a function whose value monotonically increases according to the number of updates during calculation of the simulated bifurcation method. The initial value of p(t) may be set to 0. α(t) is a function whose value monotonically increases with p(t).

[0037] Now, using the Symplectic Euler method, we can solve the differential equations given by equations (2) and (3). When using the Symplectic Euler method, the differential equations are rewritten as discrete recurrence equations, as shown in equations (5) and (6) below.

number

[0038] Therefore, the Ising machine 12 alternately executes the calculations of equations (5) and (6) while increasing t by Δt until t reaches a predetermined end time (T). Then, the Ising machine 12 calculates the finally obtained N main variables (x i ) are binarized into N Ising spins (s i ) values, or the N main variables (x i ) is output as the search result.

[0039] The Ising machine 12 may execute an algorithm that calculates a formula other than formula (3) and formula (4) as long as the algorithm uses a simulated bifurcation method. For example, the Ising machine 12 may execute an algorithm that calculates a formula obtained by modifying formula (3) and formula (4). Furthermore, for example, the Ising machine 12 may execute an algorithm that performs predetermined control processing in addition to the calculation of formula (3) and formula (4) or the calculation of a formula obtained by modifying formula (3) and formula (4).

[0040] In the Ising machine 12, performance indicators such as convergence speed and accuracy of the solution reached may change by changing the algorithm to be executed. Therefore, the algorithm applied to the Ising machine 12 may differ depending on the Ising problem to be solved and the purpose (emphasis on convergence speed, emphasis on accuracy, etc.). The Ising machine 12 may execute the search process using an algorithm selected by the user from a plurality of preset algorithms.

[0041] FIG. 3 is a diagram showing variables stored in the Ising machine 12. The Ising machine 12 executes an algorithm using a simulated bifurcation method by means of a hardware circuit. When performing a search process for the ground state of an Ising model including N Ising spins, the Ising machine 12 stores N main variables (x i ) and N auxiliary variables (p i ) to remember.

[0042] In this way, the Ising machine 12 stores 2×N variables inside. Therefore, the Ising machine 12 has a different configuration from the SA-based Ising machine that stores N variables. i ) is converted into the Ising spin (s i ) is converted into the auxiliary variable (p i ) is the Ising spin (s i ) is not used for conversion.

[0043] Also, N main variables (x i ) and N auxiliary variables (p i ) are initialized at the start of the search process. The Ising machine 12 can find the N main variables (x i ) and N auxiliary variables (p i ) is different, a different solution (approximate solution) may be output. For this reason, the Ising machine 12 i ) and N auxiliary variables (p i ) and execute the search process for problems with the same coefficient matrix and coefficient vector multiple times, it is possible to obtain a more accurate solution.

[0044] 4 is a flowchart showing the flow of the search process by the Ising machine 12. The Ising machine 12 executes the search process according to the flow shown in FIG.

[0045] First, in S111, the Ising machine 12 sets the coefficients of K and D, functions such as p(t) and α(t), the number of repetitions, etc. Subsequently, in the search process, the Ising machine 12 repeats the loop process from S112 to S119 the set number of times.

[0046] In steps S113 to S115 in the loop, the Ising machine 12 executes an auxiliary variable update process while incrementing i by 1 from i=1 to i=N (S113, S114, S115). In the auxiliary variable update process (S114) for updating the i-th auxiliary variable, the Ising machine 12 updates N main variables (x1 to x N ), the i-th main variable (x i ) and the other (N-1) main variables (x 1~i-1, x i+1~N ) and N coupling coefficients (J i,j ), and the i-th external magnetic field coefficient (h j ) and the i-th auxiliary variable (p i ) to update the

[0047] Specifically, the Ising machine 12 calculates the i-th auxiliary variable (p i ) is calculated.

[0048] The Ising machine 12 may execute the process of S114 in parallel. As a result, the Ising machine 12 calculates the N auxiliary variables (p1 to p N ) can be calculated quickly.

[0049] Subsequently, in S116 to S118, the Ising machine 12 executes a main variable update process while incrementing i by 1 from i=1 to i=N (S116, S117, S118). In the main variable update process (S117) for updating the i-th main variable, the Ising machine 12 updates the i-th auxiliary variable (p i ) to find the i-th main variable (x i ) to update the

[0050] Specifically, the Ising machine 12 calculates the i-th main variable (x i ) is calculated.

[0051] The Ising machine 12 may execute the process of S117 in parallel. As a result, the Ising machine 12 calculates the N main variables (x1 to xN ) can be calculated quickly.

[0052] Then, the Ising machine 12 ends this flow when it has executed the loop processing between S112 and S119 a set number of times. Note that, in the loop processing from S112 to S119, the Ising machine 12 may first execute the processing of S116 to S118 and then execute the processing of S113 to S115.

[0053] As described above, the Ising machine 12 generates N Ising spins (s1 to s N ), an auxiliary variable update process (S114) that updates the auxiliary variables using the main variables and a main variable update process (S117) that updates the main variables using the auxiliary variables are alternately repeated multiple times. Furthermore, the Ising machine 12 outputs a value based on the main variables after alternately executing the auxiliary variable update process (S114) and the main variable update process (S117) multiple times as a search result. In this way, the Ising machine 12 can execute an algorithm using the simulated bifurcation method and execute a search process for the ground state of the Ising model.

[0054] 5 is a diagram showing an example of the hardware configuration of the host device 14 together with the Ising machine 12. For example, the host device 14 includes a central processing unit 22 (CPU), a main memory device 24, an external memory device 26, an input device 28, a display device 30, an internal bus 32, and an external bus 34.

[0055] The central processing unit 22 operates according to a program stored in the main memory device 24. The central processing unit 22 generates definition information and control parameters. The central processing unit 22 also transmits the definition information and control parameters to the Ising machine 12 via the internal bus 32 and the external bus 34. The central processing unit 22 then receives search results from the Ising machine 12 via the external bus 34 and the internal bus 32, and outputs a solution to the combinatorial optimization problem based on the received search results.

[0056] The main memory device 24 is a random access memory (RAM) and is used as a working area for the central processing unit 22 to process data.

[0057] The external storage device 26 is a non-volatile storage device. The external storage device 26 is, for example, an HDD (hard disk drive) or an SSD (solid state drive). The external storage device 26 stores programs to be executed by the central processing unit 22. The central processing unit 22 loads the programs stored in the external storage device 26 into the main storage device 24 and executes them.

[0058] The input device 28 is a device for inputting instructions and the like from a user. The input device 28 is, for example, a mouse, a keyboard, etc. The input device 28 receives an instruction to start processing from a user. When the input device 28 receives the start instruction from the user, the central processing unit 22 starts the process of calculating a solution to the combinatorial optimization problem.

[0059] The display device 30 is a device for displaying information to a user, and displays a solution to a combinatorial optimization problem.

[0060] The internal bus 32 connects the central processing unit 22, the main memory device 24, the external memory device 26, the input device 28, and the display device 30, allowing data to be transmitted and received. The external bus 34 functions as an interface that connects the Ising machine 12 and the host device 14.

[0061] 6 is a diagram showing the functional configuration of the Ising machine 12 and the host device 14 according to the first embodiment. The Ising machine 12 has a coefficient memory 52, a variable memory 54, a control parameter memory 56, an arithmetic circuit 58, an output memory 60, an output circuit 62, and a setting circuit 64.

[0062] The coefficient memory 52 stores a coefficient matrix (coupling coefficient group, J matrix) and a coefficient vector (external magnetic field coefficient group, h vector) that define the Ising model to be searched. In this embodiment, the coefficient memory 52 stores a coefficient matrix including N×N coefficients and a coefficient vector including N coefficients.

[0063] The variable memory 54 stores main variables and auxiliary variables corresponding to each of the multiple Ising spins (s1, s2, s3, ...) included in the Ising model. In this embodiment, the variable memory 54 stores a set of N main variables (x1, x2, x3, ...) and a set of N auxiliary variables (p1, p2, p3, ...).

[0064] The control parameter memory 56 stores control parameters including a plurality of setting values ​​for executing the search process shown in Fig. 4. Specifically, the control parameters include the number of loops in the loop process of Fig. 4. Also specifically, the control parameters include constants and functions such as K, D, Δt, p(t), and α(t) included in equations (5) and (6).

[0065] 4 using the control parameters stored in the control parameter memory 56 and the coefficient matrix and coefficient vector stored in the coefficient memory 52. ​​In the search process, the arithmetic circuit 58 alternately repeats multiple times for each of the multiple Ising spins (s1, s2, s3, ...): an auxiliary variable update process for updating the auxiliary variables stored in the variable memory 54 using the main variables stored in the variable memory 54; and a main variable update process for updating the main variables stored in the variable memory 54 using the auxiliary variables stored in the variable memory 54. After completing the search process, the arithmetic circuit 58 writes the multiple main variables (x1, x2, x3, ...) to the output memory 60.

[0066] The output memory 60 stores a plurality of main variables (x1, x2, x3, ...) calculated by the search process performed by the arithmetic circuit 58. In this embodiment, the output memory 60 stores N main variables (x1, x2, x3, ...).

[0067] After completing the search process, the output circuit 62 calculates a plurality of Ising spins (s1, s2, s3, ...) by binarizing each of the plurality of main variables (x1, x2, x3, ...). After the arithmetic circuit 58 executes the search process, the output circuit 62 transmits the plurality of Ising spins (s1, s2, s3, ...) as search results to the host device 14. Note that after the arithmetic circuit 58 executes the search process, the output circuit 62 may transmit a plurality of main variables (x1, x2, xs3, ...) instead of the plurality of Ising spins (s1, s2, s3, ...) as search results to the host device 14. In other words, after the arithmetic circuit 58 executes the search process, the output circuit 62 transmits values ​​based on the main variables corresponding to each of the plurality of Ising spins (s1, s2, s3, ...) to the host device 14 as search results.

[0068] The host device 14 includes, as its functional components, a model generation unit 72, a coefficient transmission unit 74, an execution instruction unit 76, and an output unit 78.

[0069] The model generation unit 72 receives a combinatorial optimization problem to be solved. Then, based on the received combinatorial optimization problem, the model generation unit 72 generates a coefficient matrix and a coefficient vector that define an Ising model to be searched. The coefficient transmission unit 74 transmits the coefficient matrix and coefficient vector generated by the model generation unit 72 to the Ising machine 12. The execution instruction unit 76 transmits an execution start instruction to the Ising machine 12 that instructs the Ising machine 12 to start execution of the search process. After the search process, the output unit 78 receives the search results from the Ising machine 12 and generates a solution to the combinatorial optimization problem based on the received search results. Then, the output unit 78 outputs the solution to the combinatorial optimization problem.

[0070] Furthermore, the setting circuit 64 of the Ising machine 12 has a processing circuit and a memory, and the processing circuit executes information processing according to a program. For example, the processing circuit that processes information according to the program may be a hardwired sequencer circuit. Furthermore, for example, the memory may be a register that holds control parameters. By processing information according to the program, the setting circuit 64 functions as a receiving unit 80, a coefficient writing unit 82, a parameter setting unit 84, an initial value setting unit 86, and a control unit 88.

[0071] The receiving unit 80 receives the coefficient matrix and the coefficient vector from the host device 14. The receiving unit 80 also receives an execution start instruction from the host device 14.

[0072] When the receiving unit 80 receives the coefficient matrix and the coefficient vector, the coefficient writing unit 82 writes the received coefficient matrix and the coefficient vector into the coefficient memory 52 .

[0073] The parameter setting unit 84 writes the control parameters to the control parameter memory 56. The parameter setting unit 84 may receive control parameters from the host device 14 and write them to the control parameter memory 56, or may write predetermined control parameters to the control parameter memory 56.

[0074] The initial value setting unit 86 sets initial values ​​for each of the main variables (x1, x2, x3, . . . ) and the auxiliary variables (y1, y2, y3, . . . ) stored in the variable memory 54.

[0075] When the receiving unit 80 receives an execution start instruction from the host device 14, the control unit 88 causes the arithmetic circuit 58 to execute the search process.

[0076] Here, the control unit 88 causes the arithmetic circuit 58 to execute a search process multiple times on a first Ising model, which is an Ising model generated based on a combinatorial optimization problem. In this case, the host device 14 transmits the coefficient matrix and coefficient vector defining the first Ising model to the Ising machine 12 once before executing the search process multiple times. The receiving unit 80 receives the coefficient matrix and coefficient vector defining the first Ising model from the host device 14 once before executing the search process multiple times on the first Ising model. Then, the coefficient writing unit 82 writes the received coefficient matrix and coefficient vector into the coefficient memory 52 before executing the search process multiple times on the first Ising model, and does not update the coefficient matrix and coefficient vector written in the coefficient memory 52 until the search process multiple times is completed. As a result, the coefficient memory 52 continues to store the previous coefficient matrix and coefficient vector until new coefficient matrix and coefficient vector are written by the setting circuit 64.

[0077] The Ising model has a coefficient matrix (J) with a data volume of N 2 × the amount of data per element, which is very large. Therefore, if the information processing system 10 transmits the coefficient matrix from the host device 14 to the Ising machine 12 multiple times to solve a combinatorial optimization problem, the communication time becomes a factor in increasing the processing time of the entire system. However, such an information processing system 10 executes multiple search processes by transmitting the coefficient matrix and coefficient vector once. Therefore, the information processing system 10 can shorten the transfer time of the coefficient matrix and coefficient vector, thereby improving the throughput of the entire system.

[0078] Furthermore, before starting each of the multiple search processes for the first Ising model, the initial value setting unit 86 sets at least one of the sets of multiple main variables (x1, x2, x3, ...) and the sets of multiple auxiliary variables (p1, p2, p3, ...) for the multiple Ising spins to multiple sets of initial values ​​that differ in each of the multiple search processes. For example, the initial value setting unit 86 stores an initial value table that describes multiple patterns of sets of initial values ​​for at least one of the sets of multiple main variables and the sets of multiple auxiliary variables. In this case, before starting each of the multiple search processes, the initial value setting unit 86 sets at least one of the sets of multiple main variables and the sets of multiple auxiliary variables for the multiple Ising spins to multiple sets of initial values ​​based on any of the multiple patterns described in the initial value table. Also, for example, before starting execution of each of the multiple search processes, the initial value setting unit 86 sets at least one of the set of multiple main variables (x1, x2, x3, ...) and the set of multiple auxiliary variables (p1, p2, p3, ...) to a set of multiple initial values ​​based on random numbers in each of the multiple search processes.

[0079] Furthermore, when the search process is executed multiple times, the output circuit 62 transmits the search result each time the search process is executed once to the host device 14. Alternatively, the output circuit 62 may transmit the search results obtained by executing the search process multiple times to the host device 14 all at once.

[0080] Such an information processing system 10 can obtain a plurality of different approximate solutions as a result of multiple search processes for the first Ising model, thereby enabling the information processing system 10 to output a more accurate solution or multiple solutions.

[0081] 7 is a sequence diagram showing a first example of the flow of processing by the information processing system 10 according to the first embodiment. The information processing system 10 executes processing according to the flow shown in FIG.

[0082] In S11, the host device 14 acquires a combinatorial optimization problem input by a user or received from another device.

[0083] Next, in S12, the host device 14 generates a first Ising model to be searched based on the acquired combinatorial optimization problem. That is, the host device 14 generates a coefficient matrix and a coefficient vector that define the first Ising model.

[0084] Next, in S13, the host device 14 transmits the generated coefficient matrix and coefficient vector to the Ising machine 12. Next, in S14, the Ising machine 12 receives the coefficient matrix and coefficient vector from the host device 14, and writes the received coefficient matrix and coefficient vector into the coefficient memory 52. ​​Note that the coefficient memory 52 continues to store the coefficient matrix and coefficient vector written immediately before until a new coefficient matrix and coefficient vector are written therein.

[0085] Subsequently, in S15, the host device 14 transmits an execution start instruction to the Ising machine 12. Note that the host device 14 may transmit the execution start instruction to the Ising machine 12 together with the coefficient matrix and the coefficient vector of S13.

[0086] Subsequently, in S16, in response to receiving the execution start instruction, the Ising machine 12 sets N sets of initial values ​​for at least one of the set of N main variables (x1, x2, x3, ...) and the set of N auxiliary variables (p1, p2, p3, ...). The set of N initial values ​​differs for each search process. For example, the Ising machine 12 generates N sets of initial values ​​based on random numbers for each search process.

[0087] Subsequently, in S17, the Ising machine 12 executes the search process shown in FIG.

[0088] When the search process is completed, the Ising machine 12 transmits the search result to the host device 14 in S18.

[0089] Next, in S19, the host device 14 determines whether the termination condition has been satisfied. For example, the host device 14 may determine that the termination condition has been satisfied when it has received search results for a predetermined number of executions for the first Ising model. Furthermore, for example, the host device 14 may determine that the termination condition has been satisfied when a predetermined end time has been reached, or when a predetermined execution time has elapsed since the execution start instruction was output.

[0090] If the termination condition is not satisfied (No in S19), the host device 14 returns the process to S15 and transmits the next execution start instruction to the Ising machine 12, thereby causing the Ising machine 12 to repeatedly execute the search process. If the termination condition is satisfied (Yes in S19), the host device 14 advances the process to S20.

[0091] In S20, the host device 14 selects the best search result from among the multiple search results received for the first Ising machine. The host device 14 may select a predetermined number of top search results in addition to the best search result. Furthermore, each time the host device 14 receives a search result in S18, it may compare the received search result with a previous best search result and retain whichever is better as the best search result. This allows the host device 14 to complete the selection process of the best search result earlier than if the host device 14 selects the best search result from among the multiple search results after receiving all of the multiple search results.

[0092] Next, in S21, the host device 14 generates a solution to the combinatorial optimization problem based on the selected best search result, and then outputs the generated solution to the user or transmits it to another device.

[0093] The host device 14 that executes the processing of this first example transmits an execution start instruction that instructs a search process for the first Ising model multiple times to the Ising machine 12. The Ising machine 12 causes the arithmetic circuit 58 to execute the search process for the first Ising model every time it receives an execution start instruction from the host device 14. In this case, the host device 14 transmits a coefficient matrix and a coefficient vector to the Ising machine 12 prior to the multiple execution start instructions.

[0094] FIG. 8 is a timing chart showing an example of the processing time of each step when the processing is executed according to the flow shown in FIG.

[0095] When solving a very large combinatorial optimization problem, the coefficient matrix and coefficient vector become large in size, and the time required for the transfer process of the coefficient matrix and coefficient vector in S13 and the process of writing the coefficient matrix and coefficient vector to the coefficient memory 52 in S14 becomes long. However, the information processing system 10 that executes the process according to the flow shown in Fig. 7 executes the transfer process of the coefficient matrix and coefficient vector in S13 and the process of writing the coefficient matrix and coefficient vector to the coefficient memory 52 in S14 only once, even when the Ising machine 12 executes multiple search processes on the first Ising model. Therefore, according to the information processing system 10 that executes the process according to the flow shown in Fig. 7, the throughput of the entire system can be improved and the time required from obtaining a combinatorial optimization problem to outputting a solution can be shortened.

[0096] Fig. 9 is a sequence diagram showing a second example of the processing flow of the information processing system 10 according to the first embodiment. The information processing system 10 may execute processing according to the flow shown in Fig. 9, for example. Note that the processing flow shown in Fig. 9 is similar to the processing flow shown in Fig. 7, so the same step numbers are used for substantially the same processing, and detailed descriptions thereof will be omitted.

[0097] The host device 14 acquires a combinatorial optimization problem in S11, generates a coefficient matrix and a coefficient vector in S12, and transmits the coefficient matrix and the coefficient vector to the Ising machine 12 in S13. Subsequently, the Ising machine 12 writes the received coefficient matrix and coefficient vector into the coefficient memory 52 in S14.

[0098] Subsequently, in S21, the host device 14 transmits an execution start instruction including the number of executions once to the Ising machine 12. In S21, the host device 14 may transmit an execution start instruction including a stop time or an execution time once to the Ising machine 12, instead of the execution start instruction including the number of executions.

[0099] Following S21, in S16, in response to receiving an execution start instruction, the Ising machine 12 sets a set of N initial values ​​for at least one of the set of N main variables (x1, x2, x3, ...) and the set of N auxiliary variables (p1, p2, p3, ...).

[0100] Subsequently, in S17, the Ising machine 12 executes the search process shown in Fig. 4. When the search process is completed, the Ising machine 12 transmits the search result to the host device 14 in S18.

[0101] Next, in S22, the Ising machine 12 determines whether or not the termination condition has been satisfied. Specifically, the Ising machine 12 determines that the termination condition has been satisfied when it has transmitted search results for the number of executions included in the execution start instruction to the host device 14. Furthermore, the Ising machine 12 determines that the termination condition has been satisfied when it has reached the stop time included in the execution start instruction. Furthermore, the Ising machine 12 determines that the termination condition has been satisfied when the execution time included in the execution start instruction has elapsed since it received the execution start instruction.

[0102] If the termination condition is not satisfied (No in S22), the Ising machine 12 returns the process to S16 and executes the next initial value setting process (S16) and search process (S17). If the termination condition is satisfied (Yes in S22), the Ising machine 12 terminates the process.

[0103] On the other hand, after transmitting the execution start instruction, the host device 14 waits to receive the search result. When the host device 14 receives the search result from the Ising machine 12, the host device 14 advances the process to S23.

[0104] In S23, the host device 14 determines whether the termination condition has been met. Specifically, the host device 14 determines that the termination condition has been met when it has received search results for the number of executions included in the execution start instruction. The host device 14 may also determine that the termination condition has been met when the stop time included in the execution start instruction has arrived. The host device 14 may also determine that the termination condition has been met when the execution time included in the execution start instruction has elapsed since the execution start instruction was sent.

[0105] If the termination condition is not met (No in S23), the host device 14 waits until the next search result is received. If the termination condition is met (Yes in S23), the host device 14 advances the process to S20.

[0106] In S20, the host device 14 selects the best search result from among the multiple search results received for the first Ising machine. Then, in S21, the host device 14 generates a solution to the combinatorial optimization problem based on the selected best search result, and displays the generated solution to a user or transmits it to another device.

[0107] The host device 14 that executes the processing of this second example transmits an execution start instruction that instructs the Ising machine 12 to perform a search process on the first Ising model once. Then, when the Ising machine 12 receives the execution start instruction from the host device 14, it causes the arithmetic circuit 58 to execute the search process on the first Ising model multiple times. For example, the Ising machine 12 causes the arithmetic circuit 58 to execute the search process on the first Ising model the number of times indicated in the execution count included in the execution start instruction. Furthermore, for example, the Ising machine 12 causes the arithmetic circuit 58 to repeatedly execute the search process on the first Ising model until the stop time included in the execution start instruction is reached or until the execution time included in the execution start instruction has elapsed.

[0108] Even when executing the processing of the second example, the information processing system 10 can improve the throughput of the entire system and shorten the time from obtaining a combinatorial optimization problem to outputting a solution.

[0109] Fig. 10 is a sequence diagram showing a third example of the processing flow of the information processing system 10 according to the first embodiment. The information processing system 10 may execute processing according to the flow shown in Fig. 10, for example. Note that the processing flow shown in Fig. 10 is similar to the processing flow shown in Fig. 9, so the same step numbers are used for substantially the same processing, and detailed descriptions thereof will be omitted.

[0110] In the third example, the information processing system 10 executes the processes of S11, S12, S13, S14, S21, S16, and S17 in the same manner as the flow shown in FIG.

[0111] Following S17, the Ising machine 12 advances the process to S22. In S22, the Ising machine 12 determines whether or not the termination condition is satisfied. If the termination condition is not satisfied (No in S22), the Ising machine 12 returns the process to S16 and executes the next initial value setting process (S16) and search process (S17). If the termination condition is satisfied (Yes in S22), the Ising machine 12 advances the process to S31.

[0112] In S31, the Ising machine 12 transmits a plurality of search results obtained by multiple search processes to the host device 14 in a batch.

[0113] On the other hand, after transmitting the execution start instruction, the host device 14 proceeds to the process at S32. In S32, the host device 14 determines whether or not the search result has been received. If the search result has not been received (No in S32), the host device 14 waits for reception of the search result. If the host device 14 has received the search result from the Ising machine 12 (Yes in S32), the host device 14 proceeds to the process at S20.

[0114] In S20, the host device 14 selects the best search result from among the multiple search results received for the first Ising machine. Then, in S21, the host device 14 generates a solution to the combinatorial optimization problem based on the selected best search result, and displays the generated solution to a user or transmits it to another device.

[0115] The Ising machine 12 that executes the processing of the third example transmits a plurality of search results obtained by executing the search processing multiple times to the host device 14 in a batch.

[0116] FIG. 11 is a timing chart showing an example of the processing time of each step when the processing is executed according to the flow shown in FIG.

[0117] Even when the processing is performed according to the flow shown in Fig. 11, the information processing system 10 can improve the throughput of the entire system and shorten the time from obtaining a combinatorial optimization problem to outputting a solution. Furthermore, when the processing is performed according to the flow shown in Fig. 11, the information processing system 10 can reduce the number of communications between the host device 14 and the Ising machine 12 for transmitting search results.

[0118] Fig. 12 is a diagram showing a functional configuration of a modified example in the Ising machine 12 and the host device 14 according to the first embodiment. The Ising machine 12 may have a configuration as shown in Fig. 12, for example. Note that the Ising machine 12 shown in Fig. 12 has a similar configuration to the configuration shown in Fig. 6, and therefore, the same reference numerals are used for almost the same components, and detailed description thereof will be omitted.

[0119] The Ising machine 12 further includes a best selection circuit 92 and a candidate value memory 94.

[0120] The best selection circuit 92 selects the best search result from among the multiple search results obtained by executing multiple search processes on the first Ising model by the arithmetic circuit 58. The candidate value memory 94 stores the candidate value of the best search result selected by the best selection circuit 92.

[0121] For example, each time the arithmetic circuit 58 outputs a search result, the best selection circuit 92 compares the candidate values ​​stored in the candidate value memory 94 with the search result output from the arithmetic circuit 58 to determine which is best. If the best selection circuit 92 determines that the search result output from the arithmetic circuit 58 is best, it rewrites the candidate values ​​stored in the candidate value memory 94 with the search result output from the arithmetic circuit 58. After the arithmetic circuit 58 outputs a predetermined number of search results for the first Ising model, the best selection circuit 92 supplies the candidate value stored in the candidate value memory 94 to the output circuit 62 as the best search result. Then, the output circuit 62 transmits the best search result received from the best selection circuit 92 to the host device 14.

[0122] The candidate value memory 94 may also store an address value of the output memory 60 in which the candidate value of the best search result selected by the best selection circuit 92 is stored. In this case, the candidate value memory 94 may store a pair of the address value and an evaluation value for comparing which search result is better. The evaluation value is, for example, an energy value obtained by inputting N Ising spins into a predetermined function. In this case, each time a new search result is obtained by the arithmetic circuit 58, the best selection circuit 92 may compare the evaluation value stored in the candidate value memory 94 with the evaluation value of the new search result. This allows the best selection circuit 92 to easily determine whether the new search result is better by comparing it with previous search results.

[0123] The best selection circuit 92 may select not only the best search result among the multiple search results, but also a predetermined number of search results from the top of the multiple search results. In this case, the output circuit 62 transmits the predetermined number of search results from the top selected by the best selection circuit 92 to the host device 14.

[0124] Fig. 13 is a sequence diagram showing the processing flow of the information processing system 10 according to the modified example shown in Fig. 12. The information processing system 10 according to the modified example shown in Fig. 12 executes processing, for example, according to the flow shown in Fig. 13. Note that the processing flow shown in Fig. 13 is similar to the processing flow shown in Fig. 9, so the same step numbers are used for substantially the same processing, and detailed descriptions thereof will be omitted.

[0125] The information processing system 10 according to the modified example shown in FIG. 12 executes the processes of S11, S12, S13, S14, S21, S16, and S17 in the same manner as the flow shown in FIG.

[0126] Following S17, the Ising machine 12 advances the process to S41. In S41, the Ising machine 12 selects the best search result from among one or more search results that have been output up to now for the first Ising model. For example, the Ising machine 12 selects the best search result using the best selection circuit 92 and the candidate value memory 94.

[0127] Next, in S42, the Ising machine 12 determines whether or not the termination condition is satisfied. If the termination condition is not satisfied (No in S42), the Ising machine 12 returns the process to S16 and executes the next initial value setting process (S16) and search process (S17). If the termination condition is satisfied (Yes in S42), the Ising machine 12 proceeds to the process of S43.

[0128] The Ising machine 12 may perform a process of determining whether or not the termination condition of S42 is satisfied in parallel with the process of selecting the best search result of S41. In this case, if the termination condition is not satisfied, the Ising machine 12 may return the process to S16 before completing the process of selecting the best search result of S41. This allows the Ising machine 12 to improve throughput by performing the process of setting initial values ​​(S16) and the search process (S17) and the process of selecting the best search result (S41) in parallel.

[0129] In S43, the Ising machine 12 transmits the last selected best search result to the host device 14.

[0130] On the other hand, after transmitting the execution start instruction, the host device 14 proceeds to S44. In S44, the host device 14 determines whether or not the best search result has been received. If the best search result has not been received (No in S44), the host device 14 waits for reception of the best search result. If the host device 14 has received the best search result from the Ising machine 12 (Yes in S44), the host device 14 proceeds to S45.

[0131] In S45, the host device 14 generates a solution to the combinatorial optimization problem based on the received best search results, and displays the generated solution to the user or transmits it to another device.

[0132] FIG. 14 is a timing chart showing an example of the processing time of each step when the processing is executed according to the flow shown in FIG.

[0133] 13, the information processing system 10 according to the modified example can transmit only one search result from the Ising machine 12 to the host device 14. As a result, the information processing system 10 according to the modified example can shorten the transfer time of the search result and improve the throughput of the entire system.

[0134] (Second embodiment) Next, an information processing system 10 according to a second embodiment will be described. The information processing system 10 according to the second embodiment has substantially the same functions and configuration as the information processing system 10 according to the first embodiment described with reference to Figures 1 to 14, and therefore components having the same functions and configurations are denoted by the same reference numerals and detailed descriptions thereof will be omitted.

[0135] FIG. 15 is a sequence diagram showing the flow of processing in the information processing system 10 according to the second embodiment.

[0136] An information processing system 10 according to the second embodiment repeatedly receives problem data including information for defining a combinatorial optimization problem from another device. Each time the information processing system 10 receives problem data, it generates a coefficient matrix and a coefficient vector that define the Ising model to be searched, executes a solution process for the combinatorial optimization problem using the generated coefficient matrix and coefficient vector, and outputs the resulting solution. For example, the information processing system 10 may receive problem data irregularly or at predetermined time intervals.

[0137] Here, the information processing system 10 receives partial information that is the basis for values ​​of a first portion that is a part of the coefficient matrix and the coefficient vector. For example, the first portion may be, for example, a part of rows or columns in the coefficient matrix. Alternatively, the first portion may be a submatrix that is a part of the coefficient matrix. Alternatively, the first portion may be a part of values ​​included in the coefficient matrix or the coefficient vector.

[0138] When the information processing system 10 receives partial information (S101), it changes the value of the first part indicated in the partial information in the coefficient matrix and coefficient vector already stored (S102). Next, the information processing system 10 executes a solution-finding process based on the changed coefficient matrix and coefficient vector (S103), and outputs the solution obtained through the solution-finding process (S104). Then, the information processing system 10 repeats the above processes from S101 to S104 every time it receives partial information.

[0139] For example, after startup or reset, the information processing system 10 separately receives information on which all values ​​of the coefficient matrix and coefficient vector are based, and generates and stores the coefficient matrix and submatrix. Alternatively, the information processing system 10 may repeatedly receive problem data including partial information until all values ​​of the coefficient matrix and submatrix are generated, and start the solution process after all values ​​of the coefficient matrix and submatrix are generated.

[0140] The information processing system 10 according to the second embodiment can be used, for example, in an application that detects, from stock data, a set of stocks that are candidates for constructing a diversified portfolio. This application solves a combinatorial optimization problem called the maximum independent set problem, which graphs the correlation between stock price movements. This application receives problem data including the price movements of individual stocks in the stock data and generates a problem. The price movements of each stock only affect a portion of the coefficient matrix and coefficient vector that define the combinatorial optimization problem. Therefore, the information processing system 10 according to the second embodiment can be applied to such an application.

[0141] The information processing system 10 according to the second embodiment can generate a new combinatorial optimization problem by changing only a part of the coefficient matrix and coefficient vector. Therefore, the information processing system 10 can reduce the amount of data communication and memory writing within the system, thereby improving throughput.

[0142] FIG. 16 is a diagram showing the functional configuration of the Ising machine 12 and the host device 14 according to the second embodiment.

[0143] The host device 14 includes a partial information receiving unit 122 , a model updating unit 126 , a partial coefficient transmitting unit 128 , an execution instruction unit 76 , and an output unit 78 .

[0144] The partial information receiving unit 122 receives partial information transmitted from another device. The partial information is information that is the basis for the value of a first part, which is a part of the coefficient matrix and the coefficient vector. The partial information receiving unit 122 receives the partial information irregularly or at predetermined time intervals.

[0145] The model update unit 126 updates the coefficient matrix and the coefficient vector every time the partial information receiving unit 122 receives partial information. Specifically, the model update unit 126 generates a new coefficient matrix and coefficient vector by replacing the values ​​of the first part in the coefficient matrix and coefficient vector that define the Ising model of the immediately preceding search target with values ​​based on the partial information.

[0146] Each time the model update unit 126 generates a new coefficient matrix and coefficient vector, the partial coefficient transmission unit 128 generates difference information indicating addresses and values ​​indicating positions of differences between the coefficient matrix and coefficient vector defining the immediately preceding Ising model to be searched and the new coefficient matrix and coefficient vector. Then, the partial coefficient transmission unit 128 transmits the generated difference information to the Ising machine 12.

[0147] The setting circuit 64 of the Ising machine 12 functions as a partial coefficient writing unit 132 instead of the coefficient writing unit 82. The receiving unit 80 of the setting circuit 64 receives difference information from the host device 14. When the receiving unit 80 receives the difference information, the partial coefficient writing unit 132 rewrites the values ​​of the addresses indicated in the received difference information in the coefficient matrix and the coefficient vector stored in the coefficient memory 52 to the values ​​indicated in the difference information.

[0148] 17 is a sequence diagram showing the flow of processing of the information processing system 10 according to the second embodiment. The information processing system 10 executes processing according to the flow shown in FIG.

[0149] In S121, the host device 14 receives partial information from another device.

[0150] Subsequently, in S122, the host device 14 updates the coefficient matrix and the coefficient vector based on the received partial information. Specifically, the host device 14 generates a new coefficient matrix and a new coefficient vector by replacing the values ​​of the first part in the coefficient matrix and the coefficient vector that define the Ising model of the immediately preceding search target with values ​​based on the partial information.

[0151] Next, in S123, the host device 14 generates difference information indicating addresses and values ​​of differences between the coefficient matrix and coefficient vector defining the Ising model of the previous search target and the new coefficient matrix and coefficient vector. Next, in S124, the host device 14 transmits the generated difference information to the Ising machine 12.

[0152] Subsequently, in S125, the Ising machine 12 receives difference information from the host device 14 and updates the coefficient matrix and the coefficient vector stored in the coefficient memory 52. ​​Specifically, the host device 14 rewrites the values ​​of the addresses indicated in the received difference information in the coefficient matrix and the coefficient vector stored in the coefficient memory 52 to the values ​​indicated in the difference information.

[0153] Subsequently, in S126, the host device 14 transmits an execution start instruction to the Ising machine 12. Note that the host device 14 may transmit the execution start instruction together with the difference information.

[0154] Subsequently, in S127, in response to receiving the execution start instruction, the Ising machine 12 sets N sets of initial values ​​for at least one of the set of N main variables (x1, x2, x3, ...) and the set of N auxiliary variables (p1, p2, p3, ...). The set of N initial values ​​differs for each search process.

[0155] Subsequently, in S128, the Ising machine 12 executes the search process shown in Fig. 4. When the search process is completed, the Ising machine 12 transmits the search result to the host device 14 in S129.

[0156] Next, in S130, the host device 14 generates a solution to the combinatorial optimization problem based on the received search results, and then transmits the generated solution to other devices.

[0157] Note that the information processing system 10 according to the second embodiment executes one search process on the Ising model to be searched, but may execute multiple search processes on the Ising model according to another flow described in the first embodiment.

[0158] FIG. 18 is a timing chart showing an example of the processing time of each step when the processing is executed according to the flow shown in FIG.

[0159] In the transfer process (S124) after startup or reset, for example, the information processing system 10 according to the second embodiment transfers all data of the coefficient matrix and coefficient vector that define the Ising model from the host device 14 to the Ising machine 12. However, in the second or subsequent transfer process (S124), the information processing system 10 according to the second embodiment transfers only the difference between the coefficient matrix and coefficient vector that define the Ising model that is the immediately preceding search target from the host device 14 to the Ising machine 12.

[0160] When solving a very large combinatorial optimization problem, the coefficient matrix and coefficient vector become large in size, and the transfer process (S124) of the coefficient matrix and coefficient vector becomes long. However, the information processing system 10 according to the second embodiment can shorten the transfer process (S124) from the second time onwards, and therefore can shorten the time from obtaining partial information to outputting a solution in the second and subsequent solution-finding processes.

[0161] FIG. 19 is a diagram showing an example of data transmitted in the information processing system 10 according to the second embodiment.

[0162] The host device 14 may set the portions of the coefficient matrix and coefficient vector to be transmitted to the Ising machine 12 according to the addresses and the number of differences between the coefficient matrix and coefficient vector defining the Ising model to be searched immediately before and the new coefficient matrix and coefficient vector.

[0163] For example, the host device 14 may set the value to be included in the difference information according to any one of the row transfer mode, column transfer mode, submatrix transfer mode, element designation transfer mode, and vector transfer mode.

[0164] In the row transfer mode, the difference information includes the address of a row containing a difference in the coefficient matrix and the coefficient vector, and a plurality of values ​​contained in that row, which allows the Ising machine 12 to efficiently rewrite the coefficient matrix row by row.

[0165] In the column transfer mode, the difference information includes the address of a column containing a difference between the coefficient matrix and the coefficient vector, and a plurality of values ​​contained in that column, which allows the Ising machine 12 to efficiently rewrite the coefficient matrix on a column-by-column basis.

[0166] In the submatrix transfer mode, the difference information includes the address of a submatrix including differences between the coefficient matrix and the coefficient vector, and multiple values ​​included in the submatrix, which allows the Ising machine 12 to efficiently rewrite a range of a continuous portion of the coefficient matrix.

[0167] In the element-specified transfer mode, the difference information includes the addresses and values ​​of the elements of the difference in the coefficient matrix and the coefficient vector, which allows the host device 14 to efficiently transmit only the different values ​​to the Ising machine 12.

[0168] In the vector transfer mode, the difference information includes multiple values ​​included in the coefficient vector. This allows the host device 14 to transmit only the coefficient vector to the Ising machine 12. Furthermore, the Ising machine 12 can efficiently rewrite only the coefficient vector.

[0169] Although the embodiments of the present invention have been described above, the above-described embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These novel embodiments and their modifications are included within the scope and spirit of the invention, and are also included in the inventions and their equivalents as defined in the claims. [Explanation of symbols]

[0170] 10 Information Processing Systems 12 Ising machine 14 Host Device 22 Central processing unit 24 Main memory 26 External storage device 28 Input Devices 30 Display device 32 internal bus 34 External Bus 52 coefficient memory 54 Variable Memory 56 control parameter memory 58 Arithmetic circuit 60 output memories 62 Output circuit 64 Setting circuit 72 Model Generation Unit 74 Coefficient transmission unit 76 Execution instruction section 78 Output section 82 Coefficient writing section 84 Parameter setting section 86 Initial value setting section 88 Control Unit 92 Best Selection Circuit 94 candidate value memory 122 Partial information receiving unit 126 Model Update Section 128 Partial Coefficient Transmission Unit 132 Partial coefficient writing unit

Claims

1. An information processing system for solving a combinatorial optimization problem, comprising: an Ising machine that is hardware that executes a search process to search for a ground state of an Ising model that represents the combinatorial optimization problem; a host device that is hardware connected to the Ising machine via an interface and controls the Ising machine; Equipped with The Ising machine is a coefficient memory that stores a coefficient matrix and a coefficient vector that define the Ising model; a variable memory that stores main variables and auxiliary variables corresponding to each of a plurality of Ising spins included in the Ising model; an arithmetic circuit that alternately and repeatedly executes, for each of the plurality of Ising spins in the search process, an auxiliary variable update process that updates the auxiliary variables using the main variables and a main variable update process that updates the main variables using the auxiliary variables; an output circuit that transmits values ​​based on the master variables corresponding to each of the plurality of Ising spins after the search process has been performed to the host device as search results; a setting circuit that writes the coefficient matrix and the coefficient vector into the variable memory and causes the arithmetic circuit to start the search process in response to receiving an instruction to start the search process from the host device; Equipped with after the search process, the host device receives the search result from the Ising machine and outputs a solution to the combinatorial optimization problem based on the received search result; the coefficient memory continues to store the immediately preceding coefficient matrix and coefficient vector until new coefficient matrix and coefficient vector are written by the setting circuit; the setting circuit causes the arithmetic circuit to execute the search process a plurality of times on a first Ising model that is the Ising model; the host device transmits the coefficient matrix and the coefficient vector defining the first Ising model to the Ising machine once prior to executing the search process multiple times; The setting circuit storing an initial value table describing a plurality of patterns of sets of initial values ​​of at least one of a plurality of sets of main variables and a plurality of sets of auxiliary variables for the plurality of Ising spins; Before starting execution of each of the plurality of search processes, at least one of the plurality of sets of main variables and the plurality of sets of auxiliary variables for the plurality of Ising spins is set to a plurality of sets of initial values ​​based on any one of the plurality of patterns described in the initial value table. Information processing system.

2. The setting circuit receives the coefficient matrix and the coefficient vector defining the first Ising model from the host device prior to executing the search process a plurality of times, writes the received coefficient matrix and the coefficient vector into the coefficient memory, and does not update the coefficient matrix and the coefficient vector written in the coefficient memory until the search process a plurality of times is completed. The information processing system according to claim 1 .

3. the host device transmits the execution start instruction, which instructs the search process for the first Ising model, to the Ising machine a plurality of times; The setting circuit causes the arithmetic circuit to execute the search process for the first Ising model every time the execution start instruction is received. The information processing system according to claim 2 .

4. the host device transmits the execution start instruction, which instructs the search process for the first Ising model, to the Ising machine once; When the setting circuit receives the execution start instruction, the setting circuit causes the arithmetic circuit to execute the search process for the first Ising model the plurality of times. The information processing system according to claim 2 .

5. the host device transmits the execution start instruction including the number of executions to the Ising machine once, When the setting circuit receives the execution start instruction, the setting circuit causes the arithmetic circuit to execute the search process for the first Ising model the number of times indicated in the number of executions. The information processing system according to claim 4 .

6. the host device transmits the execution start instruction including a stop time or an execution time to the Ising machine once, When the setting circuit receives the execution start instruction, the setting circuit causes the arithmetic circuit to repeatedly execute the search process until the stop time is reached or the execution time has elapsed. The information processing system according to claim 5 .

7. The output circuit transmits a plurality of search results obtained by executing the search process a plurality of times to the host device in a batch. The information processing system according to claim 2 .

8. The Ising machine is a best selection circuit for selecting the best search result from among the plurality of search results obtained by executing the search process a plurality of times; Furthermore, The output circuit transmits the best search result selected by the best selection circuit to the host device. The information processing system according to claim 2 .

9. The host device receiving partial information on which values ​​of a first part, which is a part of the coefficient matrix and the coefficient vector, are based; generating new coefficient matrices and coefficient vectors by replacing values ​​of the first portion in the coefficient matrix and the coefficient vector that define the Ising model of a previous search target with values ​​based on the partial information; generating difference information indicating an address and a value indicating a position at a difference between the coefficient matrix and the coefficient vector stored in the coefficient memory that defines the Ising model of the immediately preceding search target and the new coefficient matrix and the coefficient vector, and transmitting the difference information to the Ising machine; When the setting circuit receives the difference information, it rewrites the values ​​of the addresses indicated in the difference information in the coefficient matrix and the coefficient vector stored in the coefficient memory to the values ​​indicated in the difference information. The information processing system according to claim 1 .

10. The difference information is an address of a row in the coefficient matrix and the coefficient vector containing the difference and a plurality of values ​​contained in the row; an address of a column containing the difference in the coefficient matrix and the coefficient vector, and a plurality of values ​​contained in the column; an address of a submatrix including the difference between the coefficient matrix and the coefficient vector, and a plurality of values ​​included in the submatrix; the addresses and values ​​of the elements of the differences in the coefficient matrix and the coefficient vector; and a plurality of values ​​included in the coefficient vector; Contains at least one of The information processing system according to claim 9 .

11. An information processing system for solving combinatorial optimization problems, comprising: an Ising machine that is hardware that executes a search process to search for a ground state of an Ising model that represents the combinatorial optimization problem; a host device that is hardware connected to the Ising machine via an interface and controls the Ising machine; Equipped with The Ising machine is a coefficient memory that stores a coefficient matrix and a coefficient vector that define the Ising model; a variable memory that stores main variables and auxiliary variables corresponding to each of a plurality of Ising spins included in the Ising model; an arithmetic circuit that alternately and repeatedly executes, for each of the plurality of Ising spins in the search process, an auxiliary variable update process that updates the auxiliary variables using the main variables and a main variable update process that updates the main variables using the auxiliary variables; an output circuit that transmits values ​​based on the master variables corresponding to each of the plurality of Ising spins after the search process has been performed to the host device as search results; a setting circuit that writes the coefficient matrix and the coefficient vector into the variable memory and causes the arithmetic circuit to start the search process in response to receiving an instruction to start the search process from the host device; Equipped with after the search process, the host device receives the search result from the Ising machine and outputs a solution to the combinatorial optimization problem based on the received search result; the coefficient memory continues to store the immediately preceding coefficient matrix and coefficient vector until new coefficient matrix and coefficient vector are written by the setting circuit; the setting circuit causes the arithmetic circuit to execute the search process a plurality of times on a first Ising model that is the Ising model; the host device transmits the coefficient matrix and the coefficient vector defining the first Ising model to the Ising machine once prior to executing the search process multiple times; the host device transmits the execution start instruction including a stop time or an execution time to the Ising machine once, When the setting circuit receives the execution start instruction, the setting circuit causes the arithmetic circuit to repeatedly execute the search process until the stop time is reached or the execution time has elapsed. Information processing system.

12. An information processing system for solving combinatorial optimization problems, comprising: an Ising machine that is hardware that executes a search process to search for a ground state of an Ising model that represents the combinatorial optimization problem; a host device that is hardware connected to the Ising machine via an interface and controls the Ising machine; Equipped with The Ising machine is a coefficient memory that stores a coefficient matrix and a coefficient vector that define the Ising model; a variable memory that stores main variables and auxiliary variables corresponding to each of a plurality of Ising spins included in the Ising model; an arithmetic circuit that alternately and repeatedly executes, for each of the plurality of Ising spins in the search process, an auxiliary variable update process that updates the auxiliary variables using the main variables and a main variable update process that updates the main variables using the auxiliary variables; an output circuit that transmits values ​​based on the master variables corresponding to each of the plurality of Ising spins after the search process has been performed to the host device as search results; a setting circuit that writes the coefficient matrix and the coefficient vector into the variable memory and causes the arithmetic circuit to start the search process in response to receiving an instruction to start the search process from the host device; Equipped with after the search process, the host device receives the search result from the Ising machine and outputs a solution to the combinatorial optimization problem based on the received search result; the coefficient memory continues to store the immediately preceding coefficient matrix and coefficient vector until new coefficient matrix and coefficient vector are written by the setting circuit; the setting circuit causes the arithmetic circuit to execute the search process a plurality of times on a first Ising model that is the Ising model; the host device transmits the coefficient matrix and the coefficient vector defining the first Ising model to the Ising machine once prior to executing the search process multiple times; The output circuit transmits a plurality of search results obtained by executing the search process a plurality of times to the host device in a batch. Information processing system.

13. An information processing system for solving combinatorial optimization problems, comprising: an Ising machine that is hardware that executes a search process to search for a ground state of an Ising model that represents the combinatorial optimization problem; a host device that is hardware connected to the Ising machine via an interface and controls the Ising machine; Equipped with The Ising machine is a coefficient memory that stores a coefficient matrix and a coefficient vector that define the Ising model; a variable memory that stores main variables and auxiliary variables corresponding to each of a plurality of Ising spins included in the Ising model; an arithmetic circuit that alternately and repeatedly executes, for each of the plurality of Ising spins in the search process, an auxiliary variable update process that updates the auxiliary variables using the main variables and a main variable update process that updates the main variables using the auxiliary variables; an output circuit that transmits values ​​based on the master variables corresponding to each of the plurality of Ising spins after the search process has been performed to the host device as search results; a setting circuit that writes the coefficient matrix and the coefficient vector into the variable memory and causes the arithmetic circuit to start the search process in response to receiving an instruction to start the search process from the host device; Equipped with after the search process, the host device receives the search result from the Ising machine and outputs a solution to the combinatorial optimization problem based on the received search result; the coefficient memory continues to store the immediately preceding coefficient matrix and coefficient vector until new coefficient matrix and coefficient vector are written by the setting circuit; The host device receiving partial information on which values ​​of a first part, which is a part of the coefficient matrix and the coefficient vector, are based; generating new coefficient matrices and coefficient vectors by replacing values ​​of the first portion in the coefficient matrix and the coefficient vector that define the Ising model of a previous search target with values ​​based on the partial information; generating difference information indicating an address and a value indicating a position at a difference between the coefficient matrix and the coefficient vector stored in the coefficient memory that defines the Ising model of the immediately preceding search target and the new coefficient matrix and the coefficient vector, and transmitting the difference information to the Ising machine; When the setting circuit receives the difference information, it rewrites the values ​​of the addresses indicated in the difference information in the coefficient matrix and the coefficient vector stored in the coefficient memory to the values ​​indicated in the difference information. Information processing system.

14. An information processing system for solving combinatorial optimization problems, comprising: an Ising machine that is hardware that executes a search process to search for a ground state of an Ising model that represents the combinatorial optimization problem; a host device that is hardware connected to the Ising machine via an interface and controls the Ising machine; Equipped with The Ising machine is a coefficient memory that stores a coefficient matrix and a coefficient vector that define the Ising model; a variable memory that stores main variables and auxiliary variables corresponding to each of a plurality of Ising spins included in the Ising model; an arithmetic circuit that alternately and repeatedly executes, for each of the plurality of Ising spins in the search process, an auxiliary variable update process that updates the auxiliary variables using the main variables and a main variable update process that updates the main variables using the auxiliary variables; an output circuit that transmits values ​​based on the master variables corresponding to each of the plurality of Ising spins after the search process has been performed to the host device as search results; a setting circuit that writes the coefficient matrix and the coefficient vector into the variable memory and causes the arithmetic circuit to start the search process in response to receiving an instruction to start the search process from the host device; Equipped with after the search process, the host device receives the search result from the Ising machine and outputs a solution to the combinatorial optimization problem based on the received search result; the coefficient memory continues to store the immediately preceding coefficient matrix and coefficient vector until new coefficient matrix and coefficient vector are written by the setting circuit; the setting circuit causes the arithmetic circuit to execute the search process a plurality of times on a first Ising model that is the Ising model; the host device transmits the coefficient matrix and the coefficient vector defining the first Ising model to the Ising machine once prior to executing the search process multiple times; The setting circuit sets a plurality of auxiliary variables for the plurality of Ising spins to a set of a plurality of initial values ​​that are different in each of the plurality of search processes before starting execution of each of the plurality of search processes. Information processing system.

15. An information processing method executed in an information processing system for solving a combinatorial optimization problem, comprising: The information processing system includes: an Ising machine that is hardware that executes a search process to search for a ground state of an Ising model that represents the combinatorial optimization problem; a host device that is hardware connected to the Ising machine via an interface and controls the Ising machine; Equipped with The Ising machine is a coefficient memory that stores a coefficient matrix and a coefficient vector that define the Ising model; a variable memory that stores main variables and auxiliary variables corresponding to each of a plurality of Ising spins included in the Ising model; an arithmetic circuit that alternately and repeatedly executes, for each of the plurality of Ising spins in the search process, an auxiliary variable update process that updates the auxiliary variables using the main variables and a main variable update process that updates the main variables using the auxiliary variables; an output circuit that transmits values ​​based on the master variables corresponding to each of the plurality of Ising spins after the search process has been performed to the host device as search results; a setting circuit that writes the coefficient matrix and the coefficient vector into the variable memory and causes the arithmetic circuit to start the search process in response to receiving an instruction to start the search process from the host device; Equipped with after the search process, the host device receives the search result from the Ising machine and outputs a solution to the combinatorial optimization problem based on the received search result; the coefficient memory continues to store the immediately preceding coefficient matrix and coefficient vector until new coefficient matrix and coefficient vector are written by the setting circuit; the setting circuit causes the arithmetic circuit to execute the search process a plurality of times on a first Ising model that is the Ising model; the host device transmits the coefficient matrix and the coefficient vector defining the first Ising model to the Ising machine once prior to executing the search process multiple times; The setting circuit storing an initial value table describing a plurality of patterns of sets of initial values ​​of at least one of a plurality of sets of main variables and a plurality of sets of auxiliary variables for the plurality of Ising spins; Before starting execution of each of the plurality of search processes, at least one of the plurality of sets of main variables and the plurality of sets of auxiliary variables for the plurality of Ising spins is set to a plurality of sets of initial values ​​based on any one of the plurality of patterns described in the initial value table. Information processing methods.

16. An information processing method executed in an information processing system for solving a combinatorial optimization problem, comprising: The information processing system includes: an Ising machine that is hardware that executes a search process to search for a ground state of an Ising model that represents the combinatorial optimization problem; a host device that is hardware connected to the Ising machine via an interface and controls the Ising machine; Equipped with The Ising machine is a coefficient memory that stores a coefficient matrix and a coefficient vector that define the Ising model; a variable memory that stores main variables and auxiliary variables corresponding to each of a plurality of Ising spins included in the Ising model; an arithmetic circuit that alternately and repeatedly executes, for each of the plurality of Ising spins in the search process, an auxiliary variable update process that updates the auxiliary variables using the main variables and a main variable update process that updates the main variables using the auxiliary variables; an output circuit that transmits values ​​based on the master variables corresponding to each of the plurality of Ising spins after the search process has been performed to the host device as search results; a setting circuit that writes the coefficient matrix and the coefficient vector into the variable memory and causes the arithmetic circuit to start the search process in response to receiving an instruction to start the search process from the host device; Equipped with after the search process, the host device receives the search result from the Ising machine and outputs a solution to the combinatorial optimization problem based on the received search result; the coefficient memory continues to store the immediately preceding coefficient matrix and coefficient vector until new coefficient matrix and coefficient vector are written by the setting circuit; the setting circuit causes the arithmetic circuit to execute the search process a plurality of times on a first Ising model that is the Ising model; the host device transmits the coefficient matrix and the coefficient vector defining the first Ising model to the Ising machine once prior to executing the search process multiple times; the host device transmits the execution start instruction including a stop time or an execution time to the Ising machine once, When the setting circuit receives the execution start instruction, the setting circuit causes the arithmetic circuit to repeatedly execute the search process until the stop time is reached or the execution time has elapsed. Information processing methods.

17. An information processing method executed in an information processing system for solving a combinatorial optimization problem, comprising: The information processing system includes: an Ising machine that is hardware that executes a search process to search for a ground state of an Ising model that represents the combinatorial optimization problem; a host device that is hardware connected to the Ising machine via an interface and controls the Ising machine; Equipped with The Ising machine is a coefficient memory that stores a coefficient matrix and a coefficient vector that define the Ising model; a variable memory that stores main variables and auxiliary variables corresponding to each of a plurality of Ising spins included in the Ising model; an arithmetic circuit that alternately and repeatedly executes, for each of the plurality of Ising spins in the search process, an auxiliary variable update process that updates the auxiliary variables using the main variables and a main variable update process that updates the main variables using the auxiliary variables; an output circuit that transmits values ​​based on the master variables corresponding to each of the plurality of Ising spins after the search process has been performed to the host device as search results; a setting circuit that writes the coefficient matrix and the coefficient vector into the variable memory and causes the arithmetic circuit to start the search process in response to receiving an instruction to start the search process from the host device; Equipped with after the search process, the host device receives the search result from the Ising machine and outputs a solution to the combinatorial optimization problem based on the received search result; the coefficient memory continues to store the immediately preceding coefficient matrix and coefficient vector until new coefficient matrix and coefficient vector are written by the setting circuit; the setting circuit causes the arithmetic circuit to execute the search process a plurality of times on a first Ising model that is the Ising model; the host device transmits the coefficient matrix and the coefficient vector defining the first Ising model to the Ising machine once prior to executing the search process multiple times; The output circuit transmits a plurality of search results obtained by executing the search process a plurality of times to the host device in a batch. Information processing methods.

18. An information processing method executed in an information processing system for solving a combinatorial optimization problem, comprising: The information processing system includes: an Ising machine that is hardware that executes a search process to search for a ground state of an Ising model that represents the combinatorial optimization problem; a host device that is hardware connected to the Ising machine via an interface and controls the Ising machine; Equipped with The Ising machine is a coefficient memory that stores a coefficient matrix and a coefficient vector that define the Ising model; a variable memory that stores main variables and auxiliary variables corresponding to each of a plurality of Ising spins included in the Ising model; an arithmetic circuit that alternately and repeatedly executes, for each of the plurality of Ising spins in the search process, an auxiliary variable update process that updates the auxiliary variables using the main variables and a main variable update process that updates the main variables using the auxiliary variables; an output circuit that transmits values ​​based on the master variables corresponding to each of the plurality of Ising spins after the search process has been performed to the host device as search results; a setting circuit that writes the coefficient matrix and the coefficient vector into the variable memory and causes the arithmetic circuit to start the search process in response to receiving an instruction to start the search process from the host device; Equipped with after the search process, the host device receives the search result from the Ising machine and outputs a solution to the combinatorial optimization problem based on the received search result; the coefficient memory continues to store the immediately preceding coefficient matrix and coefficient vector until new coefficient matrix and coefficient vector are written by the setting circuit; The host device receiving partial information on which values ​​of a first part, which is a part of the coefficient matrix and the coefficient vector, are based; generating new coefficient matrices and coefficient vectors by replacing values ​​of the first portion in the coefficient matrix and the coefficient vector that define the Ising model of a previous search target with values ​​based on the partial information; generating difference information indicating an address and a value indicating a position at a difference between the coefficient matrix and the coefficient vector stored in the coefficient memory that defines the Ising model of the immediately preceding search target and the new coefficient matrix and the coefficient vector, and transmitting the difference information to the Ising machine; When the setting circuit receives the difference information, it rewrites the values ​​of the addresses indicated in the difference information in the coefficient matrix and the coefficient vector stored in the coefficient memory to the values ​​indicated in the difference information. Information processing methods.

19. An information processing method executed in an information processing system for solving a combinatorial optimization problem, comprising: The information processing system includes: an Ising machine that is hardware that executes a search process to search for a ground state of an Ising model that represents the combinatorial optimization problem; a host device that is hardware connected to the Ising machine via an interface and controls the Ising machine; Equipped with The Ising machine is a coefficient memory that stores a coefficient matrix and a coefficient vector that define the Ising model; a variable memory that stores main variables and auxiliary variables corresponding to each of a plurality of Ising spins included in the Ising model; an arithmetic circuit that alternately and repeatedly executes, for each of the plurality of Ising spins in the search process, an auxiliary variable update process that updates the auxiliary variables using the main variables and a main variable update process that updates the main variables using the auxiliary variables; an output circuit that transmits values ​​based on the master variables corresponding to each of the plurality of Ising spins after the search process has been performed to the host device as search results; a setting circuit that writes the coefficient matrix and the coefficient vector into the variable memory and causes the arithmetic circuit to start the search process in response to receiving an instruction to start the search process from the host device; Equipped with after the search process, the host device receives the search result from the Ising machine and outputs a solution to the combinatorial optimization problem based on the received search result; the coefficient memory continues to store the immediately preceding coefficient matrix and coefficient vector until new coefficient matrix and coefficient vector are written by the setting circuit; the setting circuit causes the arithmetic circuit to execute the search process a plurality of times on a first Ising model that is the Ising model; the host device transmits the coefficient matrix and the coefficient vector defining the first Ising model to the Ising machine once prior to executing the search process multiple times; The setting circuit sets a plurality of auxiliary variables for the plurality of Ising spins to a set of a plurality of initial values ​​that are different in each of the plurality of search processes before starting execution of each of the plurality of search processes. Information processing methods.

Citation Information

Patent Citations

  • Semiconductor device, image segmentation method, and image processing device

    JP2016051313A

  • Information processing system

    JP2022032703A

  • Calculation apparatus, calculation method, and program

    JP2022048780A

  • Information processing system

    WO2017033263A1

  • Calculation circuit, calculation device, information processing device, and ground state search method for ising model

    WO2021084629A1