Information processing system, information processing device, information processing method, program, and circuit information

JP2025042315AActive Publication Date: 2025-03-27KK TOSHIBA
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
JP2023149253
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-14
Publication Date
2025-03-27
Estimated Expiration
2043-09-14

Smart Images

  • Figure 2025042315000001_ABST
    Figure 2025042315000001_ABST
Patent Text Reader

Abstract

To reduce the amount of data output to a solver device by an information processing device.SOLUTION: An information processing system solves a combination optimization problem. The information processing system comprises an information processing device and a solver device. The information processing device is configured to: generate a plurality of coefficients on the basis of the combination optimization problem; encode a first coefficient represented by a predetermined first data type among the plurality of coefficients into a first identification value represented by a second data type having a smaller data size than the first data type; output coefficient information containing the first identification value to the solver device in place of the first coefficient; acquire ground state information from the solver device; and output a solution of the combination optimization problem on the basis of the ground state information. In solution processing, the solver device calculates the first coefficient using a first restoration value corresponding to the first identification value represented by restoration information. The first restoration value is represented by the first data type.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 relates to an information processing system, an information processing device, an information processing method, a program, and circuit information. [Background technology]

[0002] In many application fields, such as control, finance, communication, logistics, and chemistry, system optimization is often mathematically reduced to a combinatorial optimization problem. Information processing systems have been proposed that realize various information processing functions, such as recognition, judgment, and planning, and improve the efficiency of such functions by solving combinatorial optimization problems.

[0003] A combinatorial optimization problem is a problem in which a cost function is defined with arguments being multiple decision variables (e.g., discrete variables) that represent the state of the system to be optimized, and the combination of values ​​of multiple decision variables that minimizes the defined cost function is solved. The state of the system represented by multiple decision variables is called a solution. In a combinatorial optimization problem, the number of states that can be taken as a solution increases exponentially as the number of decision variables increases. The increase in the number of states that can be taken as a solution is called combinatorial explosion. Combinatorial optimization, which involves selecting an optimal solution from all candidate solutions, is known to be a computationally difficult problem. Performing large-scale combinatorial optimization in a short period of time remains a challenging task.

[0004] In recent years, a special-purpose device called an Ising machine that searches for the ground state of an Ising model has been attracting attention. The problem of searching for the ground state of an 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 the Ising spin, which is one of the binary variables. In the Ising problem, the cost function is called the Ising energy. Many practical combinatorial optimization problems can be converted into Ising problems. An Ising machine can solve an Ising problem quickly. Therefore, many practical combinatorial optimization problems can be solved quickly using an Ising machine.

[0005] The information processing system having a function of solving a combinatorial optimization problem using an Ising machine includes an Ising machine that performs a search process for the ground state of an Ising model, and a host unit that performs processes other than the search process. The Ising model is defined by a set of coupling coefficients (J matrix) and a set of external magnetic field coefficients (h vector). The host unit transmits Ising model data including the J matrix and the h vector to the Ising machine, and receives each value of a plurality of Ising spins optimized from the Ising machine. The Ising machine also receives the Ising model data from the host unit, and replies with each value of a plurality of Ising spins optimized to minimize the Ising energy. In this way, the information processing system transmits the Ising model data from the host unit to the Ising machine prior to the search process for the ground state.

[0006] The Ising model becomes more versatile by expressing it using a data type with high accuracy and a wide range of values. However, the amount of data becomes large when the Ising model is expressed using a data type with high accuracy and a wide range of values. For this reason, when the information processing system uses an Ising model expressed using a data type with high accuracy and a wide range of values, the transfer time of the Ising model data from the host unit to the Ising machine becomes long. On the other hand, when the information processing system uses an Ising model expressed using a data type with low accuracy and a narrow range of values, the transfer time of the Ising model data from the host unit to the Ising machine can be shortened. However, the Ising model expressed using a data type with low accuracy and a narrow range of values ​​decreases in versatility. Thus, there is a trade-off between the versatility of the Ising model and the data transfer time from the host unit to the Ising machine depending on the accuracy and the range of the data type expressing the Ising model. For this reason, it is preferable that the information processing system having the function of solving the optimization problem using the Ising model can shorten the data transfer time from the host unit to the Ising machine and can increase the accuracy and widen the range of the data type expressing the Ising model.

[0007] In addition, the information processing system having the function of solving the optimization problem is not limited to the Ising machine, and can also solve the combined optimization problem using a QUBO (Quadratic Unconstrained Binary Optimization) solver or a HUBO (Higher Order Binary Optimization) solver. In the information processing system having the function of solving the optimization problem using such a solver, there is a trade-off between the versatility of the multiple coefficients included in the cost function and the data transfer time from the host unit to the Ising machine depending on the accuracy and range of the data type expressing the multiple coefficients included in the cost function. Therefore, it is preferable that the information processing system having the function of solving the optimization problem can also shorten the data transfer time from the host unit to the Ising machine and can increase the accuracy and widen the range of the data type expressing the multiple coefficients included in the cost function. [Prior art documents] [Patent documents]

[0008] [Patent Document 1] International Publication No. 2021 / 084629A1 [Patent Document 2] JP 2021-060864 A [Patent Document 3] JP 2019-145010 A [Patent Document 4] JP 2019-159566 A [Patent Document 5] Patent Publication No. 2021-043667 [Patent Document 6] JP 2021-043589 A [Non-patent literature]

[0009] [Non-Patent Document 1] Hayato Goto, Kosuke Tatsumura and Alexander R. Dixon, “Combinatorial optimization by simulating adiabatic bifurcations in nonlinear Hamiltonian systems,” Science Advances 5, eaav2372, 2019 [Non-Patent Document 2] Hayato Goto, Kotaro Endo, Masaru Suzuki, Yoshisato Sakai, Taro Kanao, Yohei Hamakawa, Ryo Hidaka, Masaya Yamasaki and Kosuke Tatsumura, “High-performance combinatorial optimization based on classical mechanics”, Science Advances 7, eabe7953, 2021 Summary of the Invention [Problem to be solved by the invention]

[0010] The problem to be solved by the present invention is to solve a combinatorial optimization problem with high accuracy while reducing the amount of data that an information processing device outputs to a solver device. [Means for solving the problem]

[0011] An information processing system according to an embodiment solves a combinatorial optimization problem. The information processing system includes an information processing device and a solver device. The information processing device outputs coefficient information representing a plurality of coefficients in a cost function including a plurality of coefficients and N decision variables (N is an integer equal to or greater than 2). The solver device calculates ground state information representing each value of the N decision variables by performing a solution process for minimizing the cost function based on the coefficient information. The information processing device generates the plurality of coefficients based on the combinatorial optimization problem, encodes a first coefficient among the plurality of coefficients expressed by a predetermined first data type into a first identification value expressed by a second data type having a smaller data size than the first data type, outputs the coefficient information including the first identification value to the solver device instead of the first coefficient, obtains the ground state information from the solver device, and outputs a solution to the combinatorial optimization problem based on the ground state information. In the solution process, the solver device performs an operation on the first coefficient using a first restoration value corresponding to the first identification value represented by restoration information. The first restored value is represented by the first data type. [Brief description of the drawings]

[0012] [Figure 1] A diagram showing a model of the Ising problem. [Diagram 2] FIG. 2 illustrates internal variables used by the simulated branching algorithm. [Diagram 3] 4 is a flowchart showing a process flow of a simulated branching machine. [Figure 4] FIG. 1 is a configuration diagram of an information processing system according to a first embodiment. [Diagram 5] FIG. 1 is a configuration diagram of an information processing system equipped with a simulated branching machine. [Figure 6] FIG. 2 is a diagram showing the configuration of a host device and the configuration of a solver device. [Figure 7] FIG. 13 is a diagram showing an example of types of values ​​that a plurality of coefficients can take. [Figure 8] FIG. 4 is a diagram for explaining a first encoding method. [Figure 9] FIG. 13 is a diagram showing a restoration method corresponding to the first encoding method. [Figure 10] FIG. 4 is a diagram showing a first example of ranges of values ​​that multiple coefficients can take. [Figure 11] FIG. 11 is a diagram for explaining a second encoding method. [Figure 12] FIG. 11 is a diagram showing a restoration method corresponding to the second encoding method. [Figure 13] FIG. 13 is a diagram showing a second example of the range of values ​​that a plurality of coefficients can take. [Figure 14] FIG. 11 is a diagram for explaining a third encoding method. [Figure 15] FIG. 11 is a diagram for explaining a fourth encoding method. [Figure 16] FIG. 13 is a diagram showing a restoration method corresponding to the fourth encoding method. [Figure 17] FIG. 11 is a diagram showing an example of the configuration of a solution-finding circuit according to the second embodiment. [Figure 18] FIG. 2 is a diagram showing the configuration of a product-sum calculation circuit. [Figure 19] Diagram of the market system. [Figure 20] FIG. 1 is a diagram showing an example of the configuration of a control system. [Figure 21] A diagram of the computer hardware configuration. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0013] (Premise) First, terms and techniques that are the basis for the description of the embodiments will be described.

[0014] A combinatorial optimization problem is a problem in which a cost function is defined with multiple decision variables (e.g., discrete variables) representing the state of a system to be optimized as arguments, and a combination of the values ​​of the multiple decision variables that minimizes the defined cost function is solved. The cost function includes multiple decision variables representing the state of the system as arguments, and is a linear or higher function of the multiple decision variables. For example, the cost function is expressed by a linear or quadratic function of the multiple decision variables. The cost function may be a cubic or higher function of the multiple decision variables. In other words, the cost function is a function that sums up multiple terms. Each of the multiple terms is a function that multiplies one or more of the multiple decision variables, which is a predetermined number or less, by a coefficient. In addition, the coefficient in each of the multiple terms is a real number and is also called a weight value. In other words, each of the multiple terms that constitute the cost function is expressed by multiplying one or more of the multiple decision variables by any one of the multiple weight values.

[0015] The state of the system, represented by the decision variables, is called a solution. The universe of possible solutions for the state of the system is called the solution space. The solution that gives the minimum of the cost function is called an exact solution. The solution that gives a value close to the minimum of the cost function is called a good solution.

[0016] An exact solution method is a method for finding an exact solution that gives a minimum value of a cost function for a combinatorial optimization problem, and is a method that guarantees that the solution is an exact solution.

[0017] A heuristic solution is a solution method for combinatorial optimization problems that finds an exact solution that minimizes the cost function or a good solution that is close to the minimum of the cost function. Heuristic solutions are also called discovery solutions. Heuristic solutions do not guarantee the accuracy of the solution, that is, an index that indicates how close the solution is to the minimum of the cost function. Heuristic solutions can output a solution with practically significant accuracy in a shorter solution time than exact solutions.

[0018] The computational complexity of a solution to a combinatorial optimization problem is the amount of calculations required to obtain a solution, such as the number of multiply-and-accumulate operations. The solution time required to obtain a solution to a combinatorial optimization problem depends not only on the computational complexity but also on the configuration of the computer that processes the calculations. For example, the solution time becomes shorter as the computer's computational parallelism and operating frequency increase.

[0019] The QUBO problem is an unconstrained quadratic optimization problem in which the decision variables are binary. In the QUBO problem, each of the multiple terms included in the cost function is expressed by a linear or quadratic expression of the decision variables. In the narrow definition of the QUBO problem, the decision variables are binary variables of 0 or 1. In this embodiment, the QUBO problem represents a narrow definition problem in which the decision variables are 0 or 1. In the narrow definition of the QUBO problem, the decision variables are sometimes called bit variables.

[0020] The cost function for the QUBO problem is H in Eq. (1). total_QUBO It is expressed by:

number

[0021] FIG. 1 is a diagram showing a model of the Ising problem. The Ising problem is a problem of searching for the ground state of the Ising model. The Ising problem is one of the QUBO problems. The decision variables of the Ising problem represent discrete variables of -1 or +1.

[0022] The cost function for the Ising problem is H in Eq. (2). total_Ising It is expressed by:

number

[0023] If the decision variable is s i The Ising problem corresponds to the problem of searching for the ground state of the Ising model, which is a magnetic model in statistical mechanics. i is sometimes called the spin variable. The number of decision variables, N, is sometimes called the spin number. H total_Ising is sometimes called the Ising energy. total_Ising N s for which i The vector represented by is sometimes called the ground state (ground spin configuration).

[0024] The cost function of the QUBO problem and the cost function of the Ising problem differ only in the value of the constant. Therefore, the QUBO problem and the Ising problem are the same as combinatorial optimization problems. In other words, the QUBO problem and the Ising problem can be converted into each other. For example, the Ising problem and the QUBO problem can be converted into each other by formula (3-1), formula (3-2), formula (3-3), and formula (3-4).

number

[0025] The QUBO problem and the Ising problem are known to be NP-complete. That is, many NP-hard problems can be converted into QUBO or Ising problems in polynomial time. Therefore, many practical combinatorial optimization problems can be converted into QUBO or Ising problems.

[0026] An Ising machine is a device that solves Ising problems. Most Ising machines solve Ising problems using heuristic solutions. Ising machines based on various principles, such as electronic engineering, optics, quantum mechanics, and statistical mechanics, have been proposed. Many Ising machines can output exact or good solutions in a short time.

[0027] The simulated branching algorithm is an algorithm for solving combinatorial optimization problems. The simulated branching algorithm is a heuristic solution algorithm.

[0028] The simulated bifurcation algorithm is shown in, for example, Non-Patent Documents 1-2 and Patent Documents 2-6. The simulated bifurcation algorithm was discovered based on the idea of ​​a quantum mechanical optimization method based on the quantum adiabatic theorem, and is therefore also called a quantum-inspired algorithm. The simulated bifurcation algorithm can solve a combinatorial optimization problem in which the cost function is a quadratic function of multiple decision variables. The simulated bifurcation algorithm can also solve a combinatorial optimization problem in which the cost function is a cubic or higher function of multiple decision variables, that is, a HUBO (Higher Order Binary Optimization) problem. For example, a simulated bifurcation algorithm that solves a HUBO problem is shown in Patent Document 5. The simulated bifurcation algorithm can also solve a combinatorial optimization problem in which some or all of the multiple decision variables include variables with continuous values. A simulated bifurcation algorithm that solves a combinatorial optimization problem in which some or all of the multiple decision variables include variables with continuous values ​​is shown in Patent Document 6.

[0029] The simulated bifurcation machine is a computing device that executes processing according to a simulated bifurcation algorithm. The simulated bifurcation machine that solves the QUBO problem or the Ising problem is an example of an Ising machine. In this embodiment, the simulated bifurcation machine solves the Ising problem.

[0030] FIG. 2 is a diagram showing the internal variables used by the simulated branching algorithm.

[0031] The simulated branching algorithm is a method to determine the number of decision variables (s1 to s N When solving a combinatorial optimization problem in which the cost function is expressed using N ) and N momentum variables (y1~y N ) is used. That is, the simulated bifurcation algorithm uses 2×N internal variables.

[0032] N location variables (x i ) is the number of N decision variables (s i ) in one-to-one correspondence. That is, the i-th position variable (x i ) is the i-th decision variable (s i ) corresponding to the N momentum variables (y i ) is the number of N decision variables (s i ) corresponds to the i-th momentum variable (y i ) is the i-th decision variable (s i )

[0033] 3 is a flow chart showing the flow of processing of the simulated branching machine. The simulated branching machine executes processing according to the simulated branching algorithm in the flow shown in FIG.

[0034] First, in S11, the simulated bifurcation machine obtains an Ising problem. Specifically, the simulated bifurcation machine obtains J, which is a matrix including N×N coefficients, and h, which includes N bias coefficients.

[0035] Next, in S12, the simulated branching machine calculates 2×N internal variables, i.e., N position variables (x1 to x N ) and N momentum variables (y1~y N ) is initialized. The simulated branching machine initializes N position variables (x1 to x N ) and the initial values ​​of N momentum variables (y1~y N The initial values ​​of N position variables (x1 to x N ) and the initial values ​​of N momentum variables (y1~y N The initial value of x1 to x2 may be generated by a random number generator or may be set to a predetermined value. Since the simulated branching machine is a heuristic, the initial value of x1 to x2 may be set to a predetermined value even if the same problem is being solved. N ) and the initial values ​​of N momentum variables (y1~y N ) is different, a different good solution may be output.

[0036] Next, the simulated branching machine repeats the process from S14 to S16 a preset number of times (loop process between S13 and S17). The process from S14 to S16 is performed by iterating N position variables (x1 to x N ) by a matrix containing weight values ​​of N rows and N columns, and N ) and N momentum variables (y1~y N ) is a time evolution process.

[0037] In S14, the simulated bifurcation machine calculates N momentum variables (y1 to y N) in the y update process. The simulated bifurcation machine updates the i-th momentum variable (y i In the update process of N position variables (x1~x N ) and the i-th position variable (x i ) and the other (N-1) location variables (x 1~i-1, x i+1~N ) and N coefficients (J i,j ) and the i-th bias coefficient (h i ) and the i-th momentum variable (y i ) to update the

[0038] Next, in S15, the simulated branching machine calculates N position variables (x1 to x N ) in the x update process. The simulated branch machine updates the i-th position variable (x i In the update process of the i-th momentum variable (y i ) to the i-th position variable (x i ) to update the

[0039] The simulated branching machine may execute the process of S14 and the process of S15 in an interchangeable order.

[0040] Next, in S16, the simulated branching machine calculates N position variables (x1 to x N ), the simulated branching machine performs wall processing on the position variables whose absolute values ​​exceed 1. Furthermore, the simulated branching machine also performs wall processing on the momentum variables corresponding to the position variables whose absolute values ​​exceed 1. For example, in wall processing, the simulated branching machine changes the absolute value of the position variable whose absolute value exceeds 1 to 1 or a value smaller than 1 while keeping the sign the same. Also, for example, in wall processing, the simulated branching machine changes the value of the momentum variable corresponding to the position variable whose absolute value exceeds 1 to 0.

[0041] The simulated bifurcation algorithm has variations in the calculation of x-update processing, y-update processing, and wall processing. For example, the simulated bifurcation algorithm has variations such as the adiabatic simulated bifurcation (aSB) algorithm, the ballistic simulated bifurcation (bSB) algorithm, and the discrete simulated bifurcation (dSB) algorithm.

[0042] When executing processing according to the adiabatic simulated branching algorithm, the simulated branching machine executes the calculation shown in formula (4-1) in the y update processing (S14), and executes the calculation shown in formula (4-2) in the x update processing (S15). Note that when executing processing according to the adiabatic simulated branching algorithm, the simulated branching machine does not execute the wall processing (S15).

number

[0043] When executing processing according to the ballistic simulated branching algorithm, the simulated branching machine performs the calculation shown in equation (5-1) in the y update processing (S14), the calculation shown in equation (5-2) in the x update processing (S15), and the calculation shown in equation (5-3) in the wall processing (S16).

number

[0044] When executing processing according to the discrete simulated branching algorithm, the simulated branching machine performs the calculation shown in equation (6-1) in the y update processing (S14), the calculation shown in equation (6-2) in the x update processing (S15), and the calculation shown in equation (6-3) in the wall processing (S16).

number

[0045] In addition, in formulas (4-1), (4-2), (5-1), (5-2), (5-3), (6-1), (6-2) and (6-3), t k and t k+1 represents the time. k+1 t k This is the time obtained by adding a unit time (Δt) to the current time.

[0046] x i (t k ) is the time (t k ) the i-th position variable (x i ) value. i (t k+1 ) is the time (t k+1 ) the i-th position variable (x i ) value. i (t k ) is the time (t k ) the i-th momentum variable (y i ) value. i (t k+1 ) is the time (t k+1 ) the i-th momentum variable (y i ) value.

[0047] K, a0, η, and c0 are predetermined constants. k ) is a function that changes with time. k ) is a positive real number that increases as time increases, for example, a(t1)=0, and is a function that becomes a0 at the end time (T) (a(T)=a0). Also, sgn(x i (t k )) is the time (t k ) the i-th position variable (x i ), which outputs the sign of x i (t k ) is 0 or more, then +1, x i (t k ) is less than 0, it becomes -1.

[0048] When the simulated branching machine has executed the processes of S14 to S16 a predetermined number of times, that is, when it has executed the operations until time t reaches the final time T, it exits the loop process between S13 and S17 and proceeds to S18.

[0049] In S18, the simulated branching machine calculates the N position variables (x1 to x N ), or N position variables (x1~x N ) are calculated based on N decision variables (s1 to s N ) The simulated branching machine outputs N decision variables (s1 to s N ) the i-th decision variable (s i ) to sgn(x i ) is used for the calculation.

[0050] When the simulated branching machine finishes the process of S18, it ends the process according to the simulated branching algorithm.

[0051] The number of times the time-evolution process (loop process between S13 and S17) is repeated is determined in advance depending on the application. The amount of calculation required for one process in the time-evolution process (one process from S14 to S16) does not vary. For this reason, the simulated branching machine can reduce fluctuations in the solution-finding time. Therefore, even if the simulated branching machine is applied to a real-time system with time constraints that require processing to be completed by a certain time, it can reliably output a solution by the certain time.

[0052] Also, as shown in Patent Document 2, for example, the simulated branching machine can be configured using a dedicated parallel processing circuit including a large number of arithmetic units. This allows the simulated branching machine to extremely shorten the calculation time for one processing in time-evolution processing. Also, unlike software processing, the simulated branching machine implemented in a dedicated hardware circuit does not generate any interrupt processing, so the solution-finding time is strictly fixed. For example, the simulated branching machine implemented in a dedicated hardware circuit can fix the time until a solution is obtained in clock cycle units. Therefore, when applied to a real-time system, the simulated branching machine implemented in a dedicated hardware circuit can output a solution while more reliably observing time constraints.

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

[0054] 4 is a diagram showing a configuration of an information processing system 10 according to the first embodiment. The information processing system 10 receives a combinatorial optimization problem, and solves the combinatorial optimization problem using a host device 20 and a solver device 30. Then, the information processing system 10 outputs a solution to the combinatorial optimization problem.

[0055] The information processing system 10 includes a host device 20 and a solver device 30.

[0056] The solver device 30 is an Ising machine realized by hardware. The solver device 30 is introduced for the purpose of shortening the time required to solve a combinatorial optimization problem, and operates as an accelerator or offloader in the information processing system 10.

[0057] The host device 20 is an information processing device and includes a general-purpose processor, and an accelerator, an offloader, a memory, a storage, a sensor, an actuator, a communication interface, and the like other than the solver device 30. The host device 20 executes processes other than the processes executed by the solver device 30.

[0058] The host device 20 and the solver device 30 may be connected via a network. For example, the host device 20 may be a client terminal device on the network, and the solver device 30 may be realized as a server or a cloud on the network. The host device 20 and the solver device 30 may be connected via a communication bus. For example, the host device 20 may be a computer, and the solver device 30 may be realized as an external device of the computer or a separate computer.

[0059] The host device 20 acquires a combinatorial optimization problem. Based on the acquired combinatorial optimization problem, the host device 20 formulates a cost function including multiple coefficients and N decision variables (N is an integer equal to or greater than 2). In this embodiment, the host device 20 formulates a cost function for an Ising problem based on the acquired combinatorial optimization problem. Then, the host device 20 outputs at least coefficient information (matrix (J) and bias coefficient array (h)) for identifying the Ising problem to the solver device 30.

[0060] The solver device 30 acquires coefficient information from the host device 20. When the solver device 30 acquires the coefficient information, the solver device 30 executes a solution-finding process for minimizing the cost function formulated by the host device 20 based on the coefficient information. After the solution-finding process is completed, the solver device 30 calculates N decision variables (s1 to s N ) opt ) to the host device 20.

[0061] The solver device 30 may be a QUBO solver that solves a QUBO problem. In this case, the host device 20 generates coefficient information (matrix (Q)) that specifies the QUBO problem as coefficient information, and outputs it to the solver device 30. In this case, the solver device 30 calculates N decision variables (b1 to b N ) opt ) to the host device 20.

[0062] The solver device 30 may also acquire coefficient information (matrix (Q)) that specifies the QUBO problem, reduce the QUBO problem to an Ising problem, and execute a solution process. The solver device 30 may be a HUBO solver that solves the HUBO problem, or may be a device that can execute a solution process to minimize a cost function that includes variables that represent continuous values ​​in some of the N decision variables. In this case, the host device 20 formulates a cost function in a format that can be solved by the solver device 30, and outputs coefficient information that represents multiple coefficients included in the formulated cost function to the solver device 30.

[0063] FIG. 5 is a diagram showing a configuration of an information processing system 10 including a solver device 30 which is a simulated bifurcation machine.

[0064] The solver device 30 may be a simulated bifurcation machine. In this case, the host device 20 provides information (matrix (J) and bias coefficient (h)) for identifying an Ising problem to the simulated bifurcation machine. Furthermore, the host device 20 provides N position variables (x1 to x N ) and the initial values ​​of N momentum variables (y1~y N ) to the solver device 30. The host device 20 may also provide various constants and functions (e.g., K, a0, c 0、 a(t) and Δt) to the solver device 30. After the optimization process, the solver device 30 outputs N decision variables (s1 to s N ) opt ), we use N position variables (x1 to xN ) opt ) to the host device 20. Furthermore, even if the solver device 30 is a simulated bifurcation machine, the solver device 30 may acquire coefficient information (matrix (Q)) that specifies the QUBO problem, reduce the QUBO problem to an Ising problem, and execute the solution process.

[0065] FIG. 6 is a diagram showing the configuration of the host device 20 and the configuration of the solver device 30. As shown in FIG.

[0066] The host device 20 includes a problem acquisition unit 42 , a formulation unit 44 , an encoding unit 46 , a coefficient output unit 48 , a solution generation unit 50 , and a solution output unit 52 .

[0067] The problem acquisition unit 42 acquires a combinatorial optimization problem from an external device. As an example, the problem acquisition unit 42 acquires a problem such as a bipartite graph maximum matching problem or a maximum independent set problem. The problem acquisition unit 42 may acquire an Ising problem or a QUBO problem as the combinatorial optimization problem. The problem acquisition unit 42 may also acquire a problem including a constraint condition.

[0068] The formulation unit 44 formulates the acquired combinatorial optimization problem into a cost function in a format that can be solved by the solver device 30.

[0069] The cost function is a function that sums up a number of terms. Each of the multiple terms is a function that multiplies a coefficient by one or more but not more than a predetermined number of decision variables among the N decision variables. The formulation unit 44 generates a number of coefficients included in such a cost function based on the acquired combinatorial optimization problem. For example, when the solver device 30 is an Ising machine, the formulation unit 44 generates a matrix (J) and a bias coefficient array (h). When the solver device 30 is a QUBO solver, the formulation unit 44 generates a matrix (Q).

[0070] Each of the multiple coefficients is expressed by a predetermined first data type. The first data type is a data type that can be handled by the solver device 30. For example, the first data type is a data type that represents real values, such as a 32-bit floating-point type or a 64-bit fixed-point type.

[0071] The encoding unit 46 encodes each of the multiple coefficients generated by the formulation unit 44 into an identification value represented by a second data type. The second data type has a smaller data size than the first data type. The second data type is, for example, a data type representing a bit string such as 2 bits, 4 bits, or 8 bits, an integer value, or a real value.

[0072] That is, the encoding unit 46 converts the multiple coefficients, each of which is expressed in the first data type, into multiple identification values, each of which is expressed in the second data type. The multiple identification values ​​are the same in number as the multiple coefficients, and are arranged in the same manner as the multiple coefficients.

[0073] Here, each of the multiple coefficients belongs to one of P groups (P is an integer equal to or greater than 2). A group may be made up of coefficients with the same value, may be made up of coefficients within the same value range, or may be made up of coefficients with relatively similar values.

[0074] The encoding unit 46 sets a unique identification value represented by the second data type to each of the P groups. Therefore, the encoding unit 46 sets P identification values ​​that correspond one-to-one to the P groups. The encoding unit 46 then encodes each of the multiple coefficients into an identification value that identifies the group to which it belongs.

[0075] Furthermore, the encoding unit 46 generates reconstruction information based on the multiple coefficients and the P identification values. The reconstruction information is information for causing the solver device 30 to generate reconstruction values ​​based on the identification values. The reconstruction values ​​are represented by the first data type and are values ​​that represent the coefficients before being encoded into the identification values. The reconstruction values ​​may be the same values ​​as the coefficients before being encoded into the identification values, or may be values ​​different from the coefficients before being encoded into the identification values.

[0076] The restoration information represents a restored value corresponding to each of the P identification values. In other words, the restoration information represents the p-th restored value among the P restoration values ​​in association with the p-th identification value (p is an integer between 1 and P) among the P identification values. In this case, the p-th identification value identifies the p-th group among the P groups. The p-th restored value represents a coefficient before encoding the p-th identification value.

[0077] For example, the restoration information may be a table representing restoration values ​​corresponding to the P identification values. Also, for example, the restoration information may be a function that outputs a restoration value corresponding to an input identification value when any of the P identification values ​​is input. Also, the restoration information may be information that combines a table and a function.

[0078] Then, the encoding unit 46 generates coefficient information including a plurality of identification values ​​instead of the plurality of coefficients. For example, the encoding unit 46 generates coefficient information including a first identification value that identifies a group to which the first coefficient of the P identification values ​​belongs instead of a first coefficient of the plurality of coefficients. For example, when the solver device 30 is an Ising machine, the encoding unit 46 generates a matrix (J) including identification values ​​instead of coefficients and a bias coefficient array (h) as coefficient information. Also, for example, when the solver device 30 is a QUBO solver, the encoding unit 46 generates a matrix (Q) including identification values ​​instead of coefficients as coefficient information.

[0079] The method of encoding the identification value by the encoding unit 46 and the restoration information will be described in further detail below.

[0080] The coefficient output unit 48 outputs the coefficient information and reconstruction information generated by the encoding unit 46 to the solver device 30. In response to receiving the coefficient information and reconstruction information, the solver device 30 executes a solution-finding process. Then, the solver device 30 outputs ground state information representing the values ​​of each of the N decision variables in the ground state to the host device 20 as a result of the solution-finding process.

[0081] The solution generating unit 50 acquires ground state information from the solver device 30. The solution generating unit 50 generates a solution to the combinatorial optimization problem based on the acquired ground state information. The solution output unit 52 outputs the generated solution to the combinatorial optimization problem.

[0082] The solver device 30 includes an acquisition circuit 54 , a coefficient information memory 56 , a reconstruction information memory 58 , a solution circuit 60 , and a ground state output circuit 62 .

[0083] The acquisition circuit 54 acquires coefficient information and reconstruction information from the host device 20. The acquisition circuit 54 writes the acquired coefficient information into a coefficient information memory 56. The acquisition circuit 54 also writes the acquired reconstruction information into a reconstruction information memory 58.

[0084] The coefficient information memory 56 stores the coefficient information. The reconstruction information memory 58 stores the reconstruction information.

[0085] The solution finding circuit 60 executes a solution finding process to minimize the cost function based on the coefficient information stored in the coefficient information memory 56 and the reconstruction information stored in the reconstruction information memory 58. Then, the solution finding circuit 60 calculates ground state information representing the values ​​of each of the N decision variables obtained by the solution finding process.

[0086] For example, when performing a calculation on a first coefficient among a plurality of coefficients, the solution finding circuit 60 acquires a first identification value included in the coefficient information instead of the first coefficient. Then, the solution finding circuit 60 uses the first restored value corresponding to the first identification value represented by the restoration information as the first coefficient. Then, the solution finding circuit 60 executes a calculation process based on the acquired first restored value as the first coefficient.

[0087] When performing a calculation for each of the multiple coefficients, the solution finding circuit 60 obtains a restored value in the same manner as the first coefficient and performs the calculation process. The solution finding circuit 60 may also obtain two or more restored values ​​corresponding to two or more coefficients in parallel from the coefficient information.

[0088] The ground state output circuit 62 outputs the ground state information calculated by the solution finding circuit 60 to the host device 20.

[0089] The information processing system 10 as described above can use the host device 20 and the solver device 30 to solve a combinatorial optimization problem and output the solution to the combinatorial optimization problem.

[0090] The encoding unit 46 in the host device 20 may store preset restoration information. In this case, when a plurality of coefficients are generated by the formulation unit 44, the encoding unit 46 does not need to generate the restoration information.

[0091] Furthermore, when the encoding unit 46 stores preset reconstruction information, the coefficient output unit 48 in the host device 20 does not need to transmit the reconstruction information to the solver device 30. In this case, the reconstruction information memory 58 in the solver device 30 stores in advance the same reconstruction information as the reconstruction information set in the host device 20. That is, the solver device 30 stores the reconstruction information before the encoding unit 46 generates the coefficient information, without acquiring the reconstruction information from the host device 20.

[0092] Even when multiple coefficients expressed by a first data type with high accuracy and a wide range are used, the information processing system 10 as described above transmits coefficient information including multiple identification values ​​expressed by a second data type having a smaller data size than the first data type from the host device 20 to the solver device 30. Then, the solver device 30 restores each of the multiple identification values ​​expressed by the second data type to a restored value expressed by the first data type using the restoration information, and executes the calculation.

[0093] As a result, the information processing system 10 can eliminate or reduce degradation of multiple coefficients and reduce the amount of data transferred from the host device 20 to the solver device 30. Therefore, the information processing system 10 can solve combinatorial optimization problems quickly and with high accuracy.

[0094] Furthermore, the solver device 30 stores a plurality of identification values ​​each expressed by a second data type, instead of a plurality of coefficients each expressed by a first data type. When the solver device 30 executes an operation on a first coefficient among the plurality of coefficients, the solver device 30 reads out the first identification value included in the coefficient information instead of the first coefficient, and executes the operation by restoring the first restored value from the first identification value using the restoration information. This allows the solver device 30 to reduce the storage capacity of the coefficient information memory 56.

[0095] (First encoding method) Next, a first encoding method for the coefficient information and the reconstruction information will be described.

[0096] FIG. 7 is a diagram showing an example of the types of values ​​that a plurality of coefficients can take.

[0097] In the cost function, the number of possible values ​​for the multiple coefficients may be very small compared to the range of possible values ​​represented by the first data type. For example, in the example of Fig. 7, the cost function has multiple coefficients each of which is, for example, a, b, c, or d (a, b, c, and d are real numbers represented by the first data type).

[0098] FIG. 8 is a diagram for explaining the first encoding method.

[0099] For example, assume that the number of types of values ​​that each of the multiple coefficients included in the cost function can take is P (P is an integer equal to or greater than 2). In this case, each of the multiple coefficients included in the cost function can take one of the P values.

[0100] The encoding unit 46 searches all of the multiple coefficients to detect all of the P values. Depending on the cost function, all of the P values ​​may be determined in advance. In such a case, the encoding unit 46 may read the preset P values ​​from a memory or the like.

[0101] Furthermore, the encoding unit 46 generates P different identification values, each of which is represented by the second data type. Then, the encoding unit 46 assigns the pth identification value of the P identification values ​​to the pth value (p is an integer between 1 and P) of the P values. That is, the encoding unit 46 assigns the P identification values ​​to the P values ​​in a one-to-one relationship.

[0102] Furthermore, the encoding unit 46 assigns the p-th restored value of the P restored values ​​to the p-th value of the P values. That is, the encoding unit 46 assigns the P restored values ​​to the P values ​​in a one-to-one relationship.

[0103] The pth restored value is the same as the pth value of the P values. The pth restored value may be a value obtained by quantizing the pth value by a predetermined value, a value obtained by rounding down the pth value below a predetermined digit, a value obtained by rounding up the pth value below a predetermined digit, or a value obtained by rounding up or down the pth value below a predetermined digit by a threshold value.

[0104] Furthermore, the encoding unit 46 generates restoration information representing the correspondence relationship between the P identification values ​​and the P restoration values. For example, the restoration information is a table representing that the p-th restoration value among the P restoration values ​​corresponds to the p-th identification value among the P identification values.

[0105] Then, the encoding unit 46 generates coefficient information in which each of the multiple coefficients is replaced with an identification value corresponding to the target coefficient among the P identification values. For example, the encoding unit 46 generates coefficient information including a first identification value that identifies the same value as the first coefficient among the P identification values, instead of a first coefficient among the multiple coefficients.

[0106] In the example of Fig. 8, the multiple coefficients can each take four values: "a = -2.8", "b = 8.5", "c = 0.7", and "d = 12.1". In this case, the encoding unit 46 generates four identification values: "0", "1", "2", and "3" represented by a 2-bit data type. The encoding unit 46 then assigns an identification value of "0" to "-2.8", an identification value of "1" to "8.5", an identification value of "2" to "0.7", and an identification value of "3" to "12.1".

[0107] In the example of FIG. 8, the encoding unit 46 generates a table as the restoration information. The table indicates that a restored value representing "-2.8" of the first data type corresponds to an identification value representing "0", a restored value representing "8.5" of the first data type corresponds to an identification value representing "1", a restored value representing "0.7" of the first data type corresponds to an identification value representing "2", and a restored value representing "12.1" of the first data type corresponds to an identification value representing "3".

[0108] Furthermore, the encoding unit 46 generates a plurality of coefficients ({W} A ), "a=-2.8" is replaced with the discrimination value representing "0" of the second data type, "b=8.5" is replaced with the discrimination value representing "1" of the second data type, "c=0.7" is replaced with the discrimination value representing "2" of the second data type, and "d=12.1" is replaced with the discrimination value representing "3" of the second data type.

[0109] FIG. 9 is a diagram showing an example of a method for reconstructing a reconstruction value from coefficient information and reconstruction information encoded by the first encoding method.

[0110] The coefficient information memory 56 stores coefficient information encoded by the first encoding method. The reconstruction information memory 58 stores reconstruction information encoded by the first encoding method. When performing an operation on a coefficient identified by a coefficient position (m) among multiple coefficients included in a cost function, the solution finding circuit 60 performs the following process.

[0111] In the case of an Ising problem, the coefficient position (m) is information that specifies the row number and column number of the matrix (J) or information that specifies the position of an element in the bias coefficient array (h). In the case of a cost function of a QUBO problem, the coefficient position (m) is information that specifies the row number and column number of the matrix (Q).

[0112] First, the solution-finding circuit 60 provides the coefficient position (m) to the coefficient information memory 56, and finds the discrimination value (cW m ) is read out. Next, the solution circuit 60 reads out the discrimination value (cW m ) to the restoration information memory 58, and from the restoration information stored in the restoration information memory 58, the discrimination value (cW m In this way, the solution finding circuit 60 can restore the restoration value corresponding to the coefficient included in the specified coefficient position (m) based on the coefficient information and restoration information encoded by the first encoding method.

[0113] Then, the solution finding circuit 60 executes a calculation for the coefficient specified by the coefficient position (m) among the multiple coefficients, using the reconstruction value read out from the reconstruction information memory 58.

[0114] By using the coefficient information and restoration information generated by the first encoding method as described above, the information processing system 10 can significantly reduce the amount of data transmitted from the host device 20 to the solver device 30 without degrading the multiple coefficients. Also, the information processing system 10 can reduce the memory capacity of the coefficient information memory 56 provided in the solver device 30.

[0115] In addition, when solving a combinatorial optimization problem in which the number of possible values ​​for multiple coefficients included in a cost function is very small compared to the number of coefficients, the information processing system 10 preferably applies such a first encoding method.

[0116] For example, the information processing system 10 may apply the first encoding method when solving a bipartite graph maximum matching problem. The bipartite graph maximum matching problem formulated in the QUBO model is expressed by Equation (11-1), Equation (11-2), Equation (11-3), and Equation (11-4).

number

[0117] b i,j represents a decision variable that is 1 if the i-th object and the j-th object match, and 0 if they do not match. i, j are 1 or more, N O is an integer equal to or less than N O represents the number of objects and is an integer equal to or greater than 2. A is H penalty is a constant that represents the strength of the match. MR(i,j) represents the ratio at which the i-th object matches the j-th object.

[0118] When the QUBO model represented by equations (11-1) to (11-4) is converted to an Ising model, the possible values ​​of each of the multiple coefficients included in the J matrix are −0.5A or 0. That is, the number of types of multiple coefficients included in the J matrix is ​​two. Therefore, when solving the bipartite graph maximum matching problem, the information processing system 10 can significantly reduce the amount of data transmitted from the host device 20 to the solver device 30 by using the coefficient information and reconstruction information generated by the first encoding method.

[0119] Also, for example, the information processing system 10 may apply the first encoding method when solving the maximum independent set problem. The maximum independent set problem formulated in the QUBO model is expressed by equations (12-1), (12-2), (12-3), and (12-4).

number

[0120] The graph to be solved for the maximum independent set problem is represented as G = (V, E), where V represents the set of vertices and E represents the set of edges.

[0121] b i represents a decision variable that is 1 if the i-th vertex in the set of vertices (V) is an element of the independent set, and 0 if it is not an element. A is a penalty is a constant that represents the strength of i b j represents 1 if there is an edge from the i-th vertex to the j-th vertex, and 0 if there is no edge.

[0122] When the QUBO model represented by equations (12-1) to (12-4) is converted to an Ising model, the possible values ​​of each of the multiple coefficients included in the J matrix are -0.5A or 0. That is, the number of types of multiple coefficients included in the J matrix is ​​two. Therefore, when solving the maximum independent set problem, the information processing system 10 can significantly reduce the amount of data transmitted from the host device 20 to the solver device 30 by using the coefficient information and reconstruction information generated by the first encoding method.

[0123] (Second encoding method) Next, a second encoding method for the coefficient information and the reconstruction information will be described.

[0124] FIG. 10 is a diagram showing a first example of ranges of values ​​that a plurality of coefficients can take.

[0125] In the cost function, the values ​​that the multiple coefficients can take may be distributed within a specific value range with respect to the range of values ​​that the first data type can take. For example, in the example of FIG. 10, the multiple coefficients included in the cost function are V min That’s all~V max Below (V min , V max are real numbers represented by the first data type).

[0126] FIG. 11 is a diagram for explaining the second encoding method.

[0127] For example, assume that the values ​​that the multiple coefficients included in the cost function can take are distributed within a specific value range. In this case, the encoding unit 46 generates P value ranges by dividing the range of values ​​that the multiple coefficients can take into P parts. Note that the range of values ​​that the multiple coefficients can take is determined by dividing the range of values ​​by the minimum value (V min ) or more, the maximum value of multiple coefficients (V min ) in the following range:

[0128] Furthermore, the encoding unit 46 generates P different identification values, each of which is represented by the second data type. Then, the encoding unit 46 assigns the pth identification value of the P identification values ​​to the pth value range of the P value ranges. That is, the encoding unit 46 assigns the P identification values ​​to the P value ranges in a one-to-one relationship.

[0129] Furthermore, the encoding unit 46 assigns the p-th restored value of the P restored values ​​to the p-th value region of the P value regions. That is, the encoding unit 46 assigns the P restored values ​​to the P value regions in a one-to-one relationship.

[0130] The p-th restored value is a value included in the p-th value range. In this example, the p-th restored value is the minimum value in the p-th value range. The p-th restored value may be the maximum value or the intermediate value in the p-th value range.

[0131] Furthermore, the encoding unit 46 generates restoration information that indicates the correspondence relationship between the P identification values ​​and the P restoration values. For example, the restoration information is a function that receives the pth identification value and outputs the pth restoration value.

[0132] For example, let the width of the values ​​in each of the P value ranges be step, and let the pth discrimination value be cW m In this case, the encoding unit 46 calculates {(cW m ×step)+V min} is generated as restoration information. Note that step is (Vmax -V min) It is calculated by / P.

[0133] The restoration information is {(cW m ×step)+V min +V off}. V off is any value greater than or equal to 0 and less than or equal to step.

[0134] Then, the encoding unit 46 generates coefficient information in which each of the multiple coefficients is replaced with an identification value corresponding to the target coefficient among the P identification values. For example, the encoding unit 46 generates coefficient information including a first identification value that identifies a value range including the first coefficient among the P identification values, instead of a first coefficient among the multiple coefficients.

[0135] In the example of FIG. 11, the minimum value (V min ) is 0.0. Maximum value (V max) is 4.0. And P is 4. In this case, the encoding unit 46 generates four identification values ​​of "0", "1", "2" and "3" represented by a 2-bit data type. The encoding unit 46 assigns "0" as an identification value to a value range of 0.0 or more and less than 1.0, assigns "1" as an identification value to a value range of 1.0 or more and less than 2.0, assigns "2" as an identification value to a value range of 2.0 or more and less than 3.0, and assigns "3" as an identification value to a value range of 3.0 or more and 4.0 or less.

[0136] Furthermore, the encoding unit 46 calculates {(cW m ×step)+V min} is generated as restoration information. In this example, step is 1.0, and V min is 0.0.

[0137] Furthermore, the encoding unit 46 further selects a plurality of coefficients ({W} A ) are replaced with the corresponding discriminant values. BIn the example of FIG. 11, the encoding unit 46 generates a plurality of coefficients ({W} A ), coefficients greater than or equal to 0.0 and less than 1.0 are replaced with an identification value representing "0", coefficients greater than or equal to 1.0 and less than 2.0 are replaced with an identification value representing "1", coefficients greater than or equal to 2.0 and less than 3.0 are replaced with an identification value representing "2", and coefficients greater than or equal to 3.0 and less than or equal to 4.0 are replaced with an identification value representing "3".

[0138] FIG. 12 is a diagram showing an example of a restoration method for restoring a restored value from coefficient information and restoration information encoded by the second encoding method.

[0139] The coefficient information memory 56 stores the coefficient information encoded by the second encoding method. The reconstruction information memory 58 stores the reconstruction information encoded by the second encoding method. When performing an operation on a coefficient specified by a coefficient position (m) among multiple coefficients included in a cost function, the solution finding circuit 60 performs the following process.

[0140] First, the solution-finding circuit 60 provides the coefficient position (m) to the coefficient information memory 56, and finds the discrimination value (cW m ) is read out. Next, the solution-finding circuit 60 obtains a function that outputs a restored value from the restoration information memory 58. Then, the solution-finding circuit 60 reads out the discrimination value (cW m ) into the function to obtain the discrimination value (cW m ) is calculated. In this way, the solution finding circuit 60 can restore the restoration value corresponding to the coefficient included in the specified coefficient position (m) based on the coefficient information and restoration information encoded by the second encoding method.

[0141] Then, the solution finding circuit 60 executes an operation on the coefficient identified by the coefficient position (m) among the multiple coefficients using the calculated restored value.

[0142] By using the coefficient information and restoration information generated by the second encoding method as described above, the information processing system 10 can reduce degradation of a plurality of coefficients and significantly reduce the amount of data transmitted from the host device 20 to the solver device 30. Furthermore, the information processing system 10 can reduce the memory capacity of the coefficient information memory 56 provided in the solver device 30.

[0143] Next, a third encoding method for the coefficient information and the reconstruction information will be described.

[0144] FIG. 13 is a diagram showing a second example of the range of values ​​that a plurality of coefficients can take.

[0145] In the cost function, the possible values ​​of the multiple coefficients may be distributed in multiple subregions with respect to the range of possible values ​​represented by the first data type. For example, in the example of FIG. 13, the multiple coefficients in the cost function are included in either of two subregions.

[0146] FIG. 14 is a diagram for explaining the third encoding method.

[0147] For example, it is assumed that possible values ​​of multiple coefficients included in the cost function are distributed in multiple partial regions. In this case, the encoding unit 46 clusters the multiple coefficients and divides them into P classes. This allows the encoding unit 46 to generate P classes each including a group of coefficients that are similar to each other. Note that P changes depending on the distribution state of the multiple coefficients, the clustering algorithm, etc.

[0148] Furthermore, the encoding unit 46 generates P different identification values ​​each expressed by the second data type. Then, the encoding unit 46 assigns the pth identification value of the P identification values ​​to the pth class of the P classes. That is, the encoding unit 46 assigns the P identification values ​​to the P classes in a one-to-one relationship.

[0149] Furthermore, the encoding unit 46 assigns the p-th restored value to the p-th class among the P classes. That is, the encoding unit 46 assigns the P restored values ​​to the P classes in a one-to-one relationship.

[0150] The p-th restored value is a value that represents the set of coefficients included in the p-th class. For example, the p-th restored value is the minimum, median, average, or maximum value of the set of coefficients included in the p-th class.

[0151] Furthermore, the encoding unit 46 generates restoration information that indicates the correspondence relationship between the P identification values ​​and the P restoration values. For example, the restoration information is a table indicating that the p-th restoration value corresponds to the p-th identification value.

[0152] Then, the encoding unit 46 generates coefficient information in which each of the multiple coefficients is replaced with an identification value corresponding to the target coefficient among the P identification values. For example, the encoding unit 46 generates coefficient information including a first identification value that identifies a class including the first coefficient among the P identification values, instead of a first coefficient among the multiple coefficients.

[0153] In the example of Fig. 14, the encoding unit 46 divides a plurality of coefficients into two classes. In this case, the encoding unit 46 generates two discrimination values, "0" and "1", which are represented by a 1-bit data type. The encoding unit 46 then assigns "0" as a discrimination value to the first class and "1" as a discrimination value to the second class.

[0154] In the example of FIG. 14, the encoding unit 46 calculates “−2.8”, which is the median of the group of coefficients included in the first class, as the representative value of the first class, and calculates “8.5”, which is the median of the group of coefficients included in the first class, as the representative value of the second class.

[0155] Furthermore, in the example of Figure 14, the encoding unit 46 generates restoration information representing a table in which a restoration value representing "-2.8", which is the representative value of the first class, corresponds to an identification value representing "0", and a restoration value representing "8.5" corresponds to an identification value representing "1".

[0156] Furthermore, in the example of FIG. 14, the encoding unit 46 calculates a plurality of coefficients ({W} A ) are replaced with the corresponding discriminant values. B In this case, the encoding unit 46 generates a plurality of coefficients ({W} A ), the coefficients in the first class are replaced with a discrimination value representing "0", and the coefficients in the second class are replaced with a discrimination value representing "1".

[0157] Furthermore, when using the coefficient information and the reconstruction information encoded by the third encoding method, the solution finding circuit 60 reconstructs the reconstruction value in the same manner as the reconstruction method shown in Fig. 9. Then, the solution finding circuit 60 executes an operation on a coefficient identified by a coefficient position (m) among the multiple coefficients using the calculated reconstruction value.

[0158] By using the coefficient information and restoration information generated by the above-described third encoding method, the information processing system 10 can reduce degradation of a plurality of coefficients and significantly reduce the amount of data transmitted from the host device 20 to the solver device 30. In addition, the information processing system 10 can reduce the memory capacity of the coefficient information memory 56 provided in the solver device 30.

[0159] Next, a fourth encoding method for the coefficient information and the reconstruction information will be described.

[0160] FIG. 15 is a diagram for explaining the fourth encoding method.

[0161] For example, assume that possible values ​​of multiple coefficients included in the cost function are distributed in multiple partial regions as shown in Fig. 13. In this case, the encoding unit 46 clusters the multiple coefficients and divides them into S classes. Note that S is an integer equal to or greater than 2, and varies depending on the distribution state of the multiple coefficients, the clustering algorithm, etc.

[0162] The encoding unit 46 generates S class values ​​that are different from each other. Then, the encoding unit 46 assigns the s-th class value of the S class values ​​to the s-th class (s is an integer between 1 and S) of the S classes. That is, the encoding unit 46 assigns the S class values ​​to the S classes on a one-to-one basis.

[0163] The encoding unit 46 generates T value regions by dividing the range of values ​​that the coefficient group included in each of the S classes can take into T parts (T is an integer equal to or greater than 2). T is an integer equal to or greater than 2. For example, for the sth class, the encoding unit 46 generates T value regions by dividing the range of values ​​that the coefficient group included in the sth class can take into T parts. Note that the range of values ​​that the coefficient group included in the sth class can take is determined based on the minimum value (V min_s ) or more, the maximum value of the coefficient group included in the sth class (V max_s ) is in the range below. Furthermore, T may be the same for all of the S classes, or may be a unique value for each of the S classes.

[0164] The encoding unit 46 generates T sub-identification values ​​for each of the S classes. Then, the encoding unit 46 assigns the t-th sub-identification value of the T sub-identification values ​​to a t-th value range (t is 1 or more and T or less) of the T value ranges for each of the S classes. That is, the encoding unit 46 assigns the T sub-identification values ​​to the T value ranges in a one-to-one relationship for each of the S classes.

[0165] Furthermore, the encoding unit 46 assigns the t-th restored value among the T restored values ​​to the t-th value region among the T value regions for each of the S classes. That is, the encoding unit 46 assigns the T restored values ​​to the T value regions in a one-to-one relationship for each of the S classes.

[0166] For each of the S classes, the t-th restored value is a value included in the t-th value range. In this example, the t-th restored value is the minimum value in the t-th value range. The t-th restored value may be the maximum value or the intermediate value in the t-th value range.

[0167] Then, the encoding unit 46 generates restoration information representing the correspondence relationship between the T sub identification values ​​and the T restored values ​​for each of the S classes. For example, the encoding unit 46 generates restoration information representing a function that outputs the t-th restored value by inputting the t-th sub identification value for each of the S classes.

[0168] For example, for the sth class, the value width in each of the T value ranges is step_s, and the tth sub-classification value is QW m In this case, the encoding unit 46 writes {(QW m ×step_s)+V min_s} is generated as restoration information. max_s -V min_s) It is calculated by V / T. max_s is the maximum value of the coefficients included in the sth class. V min_s is the minimum value of the coefficients included in the sth class.

[0169] The restoration information is m ×step_s)+V min_s +V off_s}. V off_s is any value greater than or equal to 0 and less than or equal to step_s.

[0170] Furthermore, the encoding unit 46 generates coefficient information in which each of the multiple coefficients is replaced with an identification value represented in the second data type.

[0171] Here, the identification value is represented by a pair of a class value and a sub-identification value. The pair of the class value and the sub-identification value is expressed by a second data type. The identification value may be an array including two values, or an integer value including a class value in a higher digit and a sub-identification value in a lower digit. If the number of pairs of the class value and the sub-identification value is P, each of the multiple coefficients is included in one of the P groups.

[0172] For example, the encoding unit 46 generates coefficient information including a first identification value instead of a first coefficient among the multiple coefficients. In this case, the first identification value represents a set of a class value that identifies a class among the S classes to which the first coefficient belongs, and a sub-identification value that identifies a value range to which the first coefficient belongs among the T value ranges in the class to which the first coefficient belongs.

[0173] In the example of Fig. 15, the encoding unit 46 classifies a plurality of coefficients into two classes. In this case, the encoding unit 46 generates two class values, "0" and "1", which are represented by a 1-bit data type. The encoding unit 46 then assigns "0" as a class value to the first class and "1" as a class value to the second class.

[0174] Furthermore, in FIG. 15, the encoding unit 46 assigns {(QW m ×step_1)+V min_1} corresponds to the second class, {(QW m ×step_2)+V min_2} generates the corresponding restoration information.

[0175] FIG. 16 is a diagram showing an example of a restoration method for restoring a restored value from coefficient information and restoration information encoded by the fourth encoding method.

[0176] The coefficient information memory 56 stores coefficient information encoded by the fourth encoding method. The reconstruction information memory 58 stores reconstruction information encoded by the fourth encoding method. When performing an operation on a coefficient specified by a coefficient position (m) among multiple coefficients included in a cost function, the solution finding circuit 60 performs the following process.

[0177] First, the solution-finding circuit 60 provides the coefficient position (m) to the coefficient information memory 56, and finds the discrimination value (cW m ) is read out. Next, the solution circuit 60 reads out the discrimination value (cW m ) to class value and sub-discrimination value (QV m Next, the solution finding circuit 60 provides the class value to the reconstruction information memory 58, and reads out a function corresponding to the class value from the reconstruction information stored in the reconstruction information memory 58. Next, the solution finding circuit 60 extracts the sub-discrimination value (QV m ) is input to the read function to calculate the restored value. In this way, the solution finding circuit 60 can restore the restored value corresponding to the coefficient included in the specified coefficient position (m) based on the coefficient information and restoration information encoded by the fourth encoding method.

[0178] Then, the solution finding circuit 60 executes an operation on the coefficient identified by the coefficient position (m) among the multiple coefficients using the calculated restored value.

[0179] By using the coefficient information and restoration information generated by the above-described fourth encoding method, the information processing system 10 can reduce degradation of a plurality of coefficients and significantly reduce the amount of data transmitted from the host device 20 to the solver device 30. In addition, the information processing system 10 can reduce the memory capacity of the coefficient information memory 56 provided in the solver device 30.

[0180] Second embodiment Next, an information processing system 10 according to a second embodiment will be described.

[0181] The information processing system 10 according to the second embodiment is the same as the first embodiment described with reference to Fig. 1 to Fig. 16, except for the solution-finding circuit 60 in the solver device 30. Hereinafter, elements having substantially the same functions and configurations as those in the first embodiment are denoted by the same reference numerals, and detailed description will be omitted except for the differences.

[0182] FIG. 17 is a diagram showing an example of the configuration of a solution-finding circuit 60 according to the second embodiment.

[0183] The solution finding circuit 60 includes a first variable memory 68 , a product-sum calculation circuit 70 , and a search circuit 72 .

[0184] The first variable memory 68 stores N first variables (x1 to x N ) is stored. N represents the number of decision variables included in the cost function. N first variables (x1 to x N The nth first variable (n is an integer between 1 and N) of the N decision variables (s1 to s N ) the nth decision variable (s n For example, when the solver device 30 is a simulated bifurcation machine, N first variables (x1 to x N ) corresponds to N position variables.

[0185] In this embodiment, N first variables (x1 to x N Each of the N first variables (x1 to x N ) may each be of a first data type.

[0186] The product-sum calculation circuit 70 acquires and stores P reconstruction values ​​represented by the reconstruction information stored in the reconstruction information memory 58 prior to the solution-finding process.

[0187] The product-sum calculation circuit 70 receives from the search circuit 72 the coefficient positions (m1 to m N The product-sum calculation circuit 70 accepts the specification of the coefficient positions (m1 to mN When the specification of the coefficient position m1 to m2 is received, the coefficient position m1 to m2 is selected from the coefficient information stored in the coefficient information memory 56. N ) are replaced by N discrimination values ​​(cW1 to cW N The product-sum calculation circuit 70 also reads out the coefficient positions (m1 to m N When the specification of x1 to x2 is accepted, N first variables (x1 to x2) are stored in the first variable memory 68. N ) is read.

[0188] The product-sum calculation circuit 70 calculates N discrimination values ​​(cW1 to cW N ), the first N variables (x1~x N ) and N restored values ​​(W´1 to W´ N Specifically, the product-sum operation circuit 70 performs the operation shown in equation (21).

number

[0189] Then, the multiply-and-accumulate circuit 70 outputs the calculation results as N first variables (x1 to x N ) and the specified coefficient position (m1~m N ) is supplied to the search circuit 72 as a product-sum operation value with the N coefficients of

[0190] In the solution-finding process, the search circuit 72 searches for coefficient positions (m1 to m N ) while changing the coefficient position (m1~m N In the solution-finding process, the search circuit 72 repeatedly specifies N first variables (x1 to x N ) is updated.

[0191] Then, the search circuit 72 searches for N first variables (x1 to x N After completing the solution-finding process, the search circuit 72 updates the N first variables (x1 to x N) to the ground state output circuit 62. The ground state output circuit 62 outputs the N first variables (x1 to x N ) based on N decision variables (s1 to s N ) opt ) and outputs it to the host device 20.

[0192] FIG. 18 is a diagram showing a configuration of the product-sum calculation circuit 70. As shown in FIG.

[0193] The product-sum calculation circuit 70 includes P cumulative addition circuits 80 (80-1 to 80-P), a demultiplexer circuit 82, P data type conversion circuits 84 (84-1 to 84-P), a restored value read circuit 86, and a subsequent circuit 88.

[0194] The P accumulating circuits 80 correspond one-to-one to the P groups included in the coefficients. That is, the p-th accumulating circuit 80-p of the P accumulating circuits 80 corresponds to the p-th group of the P groups. The P groups vary depending on the contents of the coefficients and the encoding method of the coefficient information and the reconstruction information. Therefore, the product-sum operation circuit 70 selects P accumulating circuits 80 from the many accumulating circuits 80 based on the reconstruction information before executing the process, and makes them function.

[0195] Each of the P accumulating circuits 80 stores an accumulating value. Each of the P accumulating circuits 80 adds the acquired value to the accumulating value stored therein. Each of the P accumulating circuits 80 is configured to receive the accumulated value from the demultiplexer circuit 82. N ), reset the stored cumulative value to 0.

[0196] The demultiplexer circuit 82 selects a designated coefficient position (m1 to m N ) are the N discrimination values ​​(cW1 to cW N The demultiplexer circuit 82 sequentially acquires the N first variables (x1 to xN In this case, the demultiplexer circuit 82 sequentially acquires the N first variables (x1 to x N ) the first variable (x n ) and N discrimination values ​​(cW1 to cW N ) the nth discrimination value (cW n ) and retrieve them synchronously.

[0197] The demultiplexer circuit 82 multiplexes N first variables (x1 to x N ) to one of the P accumulating circuits 80. More specifically, the demultiplexer circuit 82 outputs each of the N first variables (x1 to x N ) the first variable (x n ), the first variable (x n ) into N discrimination values ​​(cW1 to cW N ) the nth discrimination value (cW n ) to the accumulation circuit 80 corresponding to the group identified by

[0198] For example, the demultiplexer circuit 82 includes P selectors 92 (92-1 to 92-P) and a switching control circuit 94.

[0199] The P selectors 92 correspond one-to-one to the P cumulative addition circuits 80. The p-th selector 92-p among the P selectors 92 corresponds to the p-th cumulative addition circuit 80-p. Note that, before executing processing, the product-sum operation circuit 70 selects P selectors 92 from the multiple selectors 92 and causes them to function, similar to the P cumulative addition circuits 80.

[0200] Each of the P selectors 92 selects N first variables (x1 to x N Each of the P selectors 92 sequentially acquires the N first variables (x1 to x N ) the first variable (x n ), the first variable (x n ) or 0 to the corresponding accumulating circuit 80.

[0201] The switching control circuit 94 selects N discrimination values ​​(cW1 to cW N The switching control circuit 94 sequentially acquires the n-th identification value (cW n ), the nth discrimination value (cW n ) from the selector 92 corresponding to the group identified by n ) and causes the other selectors 92 to output 0. For example, the switching control circuit 94 n ) identifies the p-th group among the P groups, the n-th first variable (x n ) and causes the other selector 92 to output 0.

[0202] Such a demultiplexer circuit 82 multiplexes N first variables (x1 to x N ) the first variable (x n ), N discrimination values ​​(cW1 to cW N ) the nth discrimination value (cW n The n-th first variable (x n ) to add to the accumulated value stored.

[0203] Therefore, the p-th accumulator circuit 80-n among the P accumulator circuits 80 can execute the calculation shown in equation (22).

number

[0204] In addition, in equation (22), ACC p represents the cumulative value stored in the p-th cumulative addition circuit 80-n. n =p indicates that the nth identification value identifies the pth group.

[0205] Each of the P cumulative addition circuits 80 stores a cumulative value expressed in the third data type. Therefore, each of the P cumulative addition circuits 80 stores a cumulative value expressed in the third data type and a first variable (x1 to x N ) and add.

[0206] The P data type conversion circuits 84 correspond one-to-one to the P accumulating circuits 80. That is, the p-th data type conversion circuit 84-p among the P data type conversion circuits 84 corresponds to the p-th accumulating circuit 80-p. Note that, before executing processing, the product-sum operation circuit 70 selects and operates the P data type conversion circuits 84 from the many data type conversion circuits 84, similar to the P accumulating circuits 80.

[0207] Each of the P data type conversion circuits 84 acquires an accumulated value from a corresponding one of the P cumulative addition circuits 80. Then, each of the P data type conversion circuits 84 converts the acquired accumulated value from the third data type to the first data type and provides it to the subsequent circuit 88. That is, the pth data type conversion circuit 84-p converts the accumulated value acquired from the pth cumulative addition circuit 80-p from the third data type to the first data type and provides it to the subsequent circuit 88.

[0208] Prior to the solution-finding process, the reconstruction value readout circuit 86 acquires P reconstruction values ​​represented by the reconstruction information stored in the reconstruction information memory 58. The reconstruction value readout circuit 86 provides the acquired P reconstruction values ​​to a subsequent circuit 88, which stores the P reconstruction values ​​internally prior to the solution-finding process.

[0209] The subsequent circuit 88 acquires and stores P restored values, each of which is expressed by the first data type, prior to the solution-finding process. The subsequent circuit 88 also acquires P accumulated values, each of which is expressed by the first data type, from the P data type conversion circuits 84. The subsequent circuit 88 then performs a multiply-and-accumulate operation on the P accumulated values, each of which is expressed by the first data type, and the P restored values, each of which is expressed by the first data type.

[0210] That is, the rear circuit 88 executes the calculation shown in equation (23).

number

[0211] In equation (23), W p ' represents the p-th restored value among the P restored values. p represents the pth accumulation value represented by the first data type.

[0212] Then, the rear circuit 88 outputs the N first variables (x1 to x N ), the P accumulated values ​​thus calculated and the P restored values ​​are multiplied and summed, and the summed value is output as a multiplied and summed value.

[0213] For example, the subsequent circuit 88 includes P restoration value memories 96 (96-1 to 96-P), P multiplication circuits 98 (98-1 to 98-P), and an adder circuit 100. Note that, before executing processing, the product-sum calculation circuit 70, like the P cumulative addition circuits 80, selects and operates the P restoration value memories 96, the P restoration value memories 96, and the P multiplication circuits 98 from among the multiple restoration value memories 96, the multiple restoration value memories 96, and the multiple multiplication circuits 98.

[0214] The P restoration value memories 96 correspond one-to-one to the P groups. Each of the P restoration value memories 96 stores a restoration value associated with an identification value that identifies the corresponding group. That is, the p-th restoration value memory 96-p of the P restoration value memories 96 stores a restoration value associated with an identification value that identifies the p-th group.

[0215] The P multiplication circuits 98 correspond one-to-one to the P groups. Each of the P multiplication circuits 98 obtains an accumulated value represented by the first data type in the corresponding group. That is, the pth multiplication circuit 98-p of the P multiplication circuits 98 obtains the accumulated value stored in the pth accumulating addition circuit 80-p via the pth data type conversion circuit 84-p. Also, each of the P multiplication circuits 98 obtains a restored value represented by the first data type in the corresponding group. That is, the pth multiplication circuit 98-p obtains the restored value stored in the pth restored value memory 96-p.

[0216] Then, each of the P multiplication circuits 98 calculates a multiplied value by multiplying the accumulated value represented by the obtained first data type by the restored value represented by the obtained first data type.

[0217] The adder circuit 100 obtains the P multiplied values ​​calculated by the P multiplier circuits 98. Then, the adder circuit 100 outputs the sum of all the P multiplied values ​​as a product-sum operation value.

[0218] In general, when the data type of each of the multiple coefficients is a first data type with high precision and wide range, the value obtained by multiplying the coefficient and the first variable also exists in the same high precision and wide range of the first data type. Therefore, when performing a multiply-add operation without degrading the precision and range, the input / output data of each calculator included in the multiply-add calculator needs to be a high precision and wide band data type corresponding to the first data type.

[0219] However, in the multiply-and-accumulate circuit 70 according to the second embodiment, when attention is paid to the P cumulative addition circuits 80, the first variable (x1 to x N ), so no calculations are performed on coefficients with high precision and wide range data types. N ) is limited to a value between -1.0 and 1.0 when the Ising machine is a ballistic simulated bifurcation algorithm (equations (5-1) to (5-3)). N) is limited to −1 or 1, for example, when the Ising machine is a discrete simulated bifurcation algorithm (equations (6-1) to (6-3)). Therefore, the first variable (x1 to x N ) is expressed in a data type smaller than the data size of the first data type, the product-sum calculation circuit 70 of the second embodiment can include P cumulative addition circuits 80 in which the data type of the input data is, for example, a fixed value range with a narrow band and relatively low precision.

[0220] In this way, since the multiply-and-accumulate circuit 70 includes a circuit that performs operations on data of a narrow-band, relatively low-precision data type, it is possible to reduce the resources required for implementation and increase the operation speed compared to a general multiply-and-accumulate unit that must input and output data of a high-precision, wide-range data type. Therefore, the multiply-and-accumulate circuit 70 can perform operations of the same precision as a multiply-and-accumulate unit that must input and output data of a high-precision, wide-range data type, but at a lower speed and with less power consumption.

[0221] As described above, the information processing system 10 according to the second embodiment, like the first embodiment, can reduce the amount of data transferred from the host device 20 to the solver device 30 by eliminating or reducing degradation of a plurality of coefficients. Furthermore, the information processing system 10 can reduce the storage capacity of the coefficient information memory 56 of the solver device 30. Furthermore, the information processing system 10 according to the second embodiment can efficiently execute the product-sum operation executed in the solver device 30.

[0222] Third embodiment Next, a market system 200 according to a third embodiment will be described.

[0223] The information processing system 10 described in the first and second embodiments can be applied to the market system 200.

[0224] 19 is a diagram showing the configuration of market system 200. Market system 200 executes electronic trading of multiple targets by multiple participants. More specifically, market system 200 accepts buy orders and sell orders from multiple participants for each of the multiple targets, matches the price and quantity of the accepted buy order with the price and quantity of the sell order, and electronically completes the trade.

[0225] For example, the market system 200 executes buying and selling transactions of multiple stocks (multiple brands of stocks) as electronic transactions of multiple targets. Note that the targets are not limited to stocks, and may be securities such as bonds, stock investment trusts, real estate investment trusts, and futures thereof, financial products such as foreign exchange, interest rates, and interest rate futures, commodities such as gold, crude oil, and grains, and commodity futures thereof, as long as they are tradable in the market.

[0226] The market system 200 includes a market server device 212 and a number of client devices 214 .

[0227] The market server device 212 is a computer used by a market administrator. The market server device 212 is connected to a number of client devices 214 via a network.

[0228] Each of the client devices 214 is a device used by a market participant, and is realized, for example, by a computer.

[0229] Each of the plurality of client devices 214 determines which stock among the plurality of stocks to trade. Each of the plurality of client devices 214 generates and transmits to the market server device 212 an order packet including trading information for the stock among the plurality of stocks that the client device 214 has determined to trade.

[0230] The market server device 212 executes transactions for a plurality of stocks. The market server device 212 receives order packets transmitted from each of the plurality of client devices 214. The market server device 212 matches the price and quantity of sell orders with the price and quantity of buy orders for each of the plurality of stocks, and completes transactions between sell orders and buy orders whose prices and quantities match in the order in which they are received. The market server device 212 simultaneously distributes market condition packets including information indicating the status of stock transactions to the plurality of client devices 214.

[0231] Each of the client devices 214 receives the market condition packet and determines which of the multiple stocks to trade based on the information contained in the received market condition packet. Then, each of the client devices 214 generates an order packet for the determined stock and transmits it to the market server device 212.

[0232] The information processing system 10 according to this embodiment functions as a part of the client device 214 in the market system 200. The information processing system 10 may be realized by a computer including a processor, a memory, and the like, or may be configured to include a dedicated hardware circuit in addition to the processor, the memory, and the like.

[0233] Here, the information processing system 10 generates a combinatorial optimization problem based on the market condition packet, solves the generated combinatorial optimization problem, and decides whether or not to trade each of the multiple stocks based on the solution of the combinatorial optimization problem obtained by solving it. Then, the information processing system 10 generates an order packet including trading information for the stocks for which it has been decided to execute a trade among the multiple stocks, and transmits it to the market server device 212.

[0234] In this manner, the information processing system 10 can be applied to the client device 214 of the market system 200 to optimally execute electronic trading of stocks and the like.

[0235] (Fourth embodiment) Next, a control system 300 according to a fourth embodiment will be described.

[0236] The information processing system 10 described in the first and second embodiments can also be applied to, for example, a control system 300 that controls the movement operation of a moving object.

[0237] 20 is a diagram showing an example of the configuration of a control system 300 according to the fourth embodiment. The control system 300 controls a moving object that moves autonomously, such as a self-driving car, a drone, or a robot.

[0238] The control system 300 includes an object detection device 312 , an information processing system 10 , and a control device 314 .

[0239] The object detection device 312 acquires image data from, for example, a camera that captures an image of the surroundings of the moving object to be controlled. The object detection device 312 may acquire sensor data from other sensor devices in addition to image data. The object detection device 312 detects coordinate data representing three-dimensional coordinates for one or more objects around the moving object based on the acquired image data and sensor data. Furthermore, the object detection device 312 may also detect the three-dimensional coordinates of the moving object itself to be controlled.

[0240] The object detection device 312 irregularly and repeatedly outputs data including identification information for identifying one of one or more objects, and coordinate data (input information) representing the coordinates of the object identified by the identification information, to the information processing system 10. Note that the input information may include, in addition to the coordinate data, other related information such as the moving speed, acceleration, moving direction, and type of object of the object identified by the identification information.

[0241] The control device 314 acquires output data including output information indicating a predetermined operation to be performed on the mobile object in order to control the mobile object from the information processing system 10. The control device 314 controls the mobile object based on the acquired output data.

[0242] The information processing system 10 has the same configuration as that described in the first and second embodiments.

[0243] The information processing system 10 generates a combinatorial optimization problem based on data irregularly provided from the object detection device 312. The information processing system 10 solves the combinatorial optimization problem and generates a solution to the combinatorial optimization problem. The information processing system 10 generates output data based on the solution to the combinatorial optimization problem, and outputs the generated output data to the control device 314.

[0244] In this manner, the information processing system 10 is applied to the control system 300, and can optimally control a moving object.

[0245] (Hardware configuration) Fig. 21 is a diagram showing an example of a hardware configuration of a computer. The host device 20 is realized by a computer having a hardware configuration as shown in Fig. 21, for example. The host device 20 includes a CPU (Central Processing Unit) 401, a RAM (Random Access Memory) 402, a ROM (Read Only Memory) 403, a storage device 404, and a communication interface device 405. These components are connected by a bus.

[0246] The CPU 401 is one or more processors that executes arithmetic processing, control processing, etc. according to a program. The CPU 401 uses a predetermined area of ​​the RAM 402 as a working area and executes various processes in cooperation with programs stored in the ROM 403 and the storage device 404, etc.

[0247] The RAM 402 is a memory such as a Synchronous Dynamic Random Access Memory (SDRAM), and functions as a work area for the CPU 401. The ROM 403 is a memory that stores programs and various types of information in a non-rewritable manner.

[0248] The storage device 404 is a device that writes and reads data to and from a semiconductor storage medium such as a flash memory, or a magnetically or optically recordable storage medium, etc. The storage device 404 writes and reads data to and from the storage medium in response to control from the CPU 401. The communication interface device 405 communicates with external devices via a network in response to control from the CPU 401.

[0249] A program executed by the computer causes the computer to function as the host device 20. This program is deployed on the RAM 402 by the CPU 401 (processor) and executed.

[0250] In addition, the program executed by the computer is provided as a file in a format that can be installed on the computer or in a format that can be executed by the computer, and is recorded on a computer-readable recording medium such as a CD-ROM, a flexible disk, a CD-R, or a DVD (Digital Versatile Disk).

[0251] The program may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. The program may be provided or distributed via a network such as the Internet. The program executed by the host device 20 may be provided by being pre-installed in the ROM 403 or the like.

[0252] The program for making the computer function as the host device 20 has a modular configuration including, for example, a problem acquisition module, a formulation module, an encoding module, a coefficient output module, a solution generation module, and a solution output module. When this program is executed by the CPU 401, each module is loaded into the RAM 402, and the CPU 401 functions as a problem acquisition unit 42, a formulation unit 44, an encoding unit 46, a coefficient output unit 48, a solution generation unit 50, and a solution output unit 52. When the CPU 401 has multiple processors, these units may be divided among the multiple processors. Note that these configurations may be partially or entirely configured by hardware.

[0253] The solver device 30 may also be realized by a computer having a hardware configuration as shown in FIG. 21. In this case, a program for making a computer function as the solver device 30 includes, for example, an acquisition module, a solution module, and a ground state output module. This program is executed by the CPU 401, and each module is loaded into the RAM 402, causing the CPU 401 to function as an acquisition unit that performs a process similar to that of the acquisition circuit 54, a solution unit that performs a process similar to that of the solution circuit 60, and a ground state output unit that performs a process similar to that of the ground state output circuit 62. When the CPU 401 has multiple processors, these units may be divided and assigned to multiple processors. In addition, this program causes the RAM 402 and the storage device 404 to function as the coefficient information memory 56 and the restoration information memory 58. Note that these configurations may be partially or entirely configured by hardware.

[0254] Each of the host device 20 and the solver device 30 may be realized by one or more reconfigurable semiconductor devices such as a field-programmable gate array (FPGA). Each of the host device 20 and the solver device 30 may be realized by one or more CPUs, microprocessors, graphics processing units (GPUs), application specific integrated circuits (ASICs), or electronic circuits including these circuits.

[0255] Furthermore, when each of the host device 20 and the solver device 30 is realized by a reconfigurable semiconductor device such as an FPGA, the circuit information (configuration data) written in the reconfigurable semiconductor device to operate the reconfigurable semiconductor device as each of the host device 20 and the solver device 30 may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. Furthermore, the circuit information (configuration data) written in the reconfigurable semiconductor device to operate the reconfigurable semiconductor device as each of the host device 20 and the solver device 30 may be provided by being recorded on a computer-readable recording medium.

[0256] Furthermore, when the host device 20 and the solver device 30 are each realized by a semiconductor device such as an ASIC, circuit information representing the configuration of a circuit described in a hardware description language used in the design and manufacture of the host device 20 and the solver device 30 may be stored on a computer connected to a network such as the Internet and provided by downloading it via the network. Furthermore, the circuit information representing the configuration of a circuit described in a hardware description language used in the design and manufacture of the host device 20 and the solver device 30 may be provided by being recorded on a computer-readable recording medium.

[0257] Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and spirit of the invention, and are included in the scope of the invention and its equivalents described in the claims.

[0258] (Additional Note) The above-described embodiments can be summarized as the following technical solutions.

[0259] [Technical proposal 1] An information processing system for solving a combinatorial optimization problem, comprising: an information processing device that outputs coefficient information representing a plurality of coefficients in a cost function including a plurality of coefficients and N decision variables (N is an integer equal to or greater than 2); a solver device that calculates ground state information representing values ​​of each of the N decision variables by executing a solution process that minimizes the cost function based on the coefficient information; Equipped with The information processing device includes: generating the coefficients based on the combinatorial optimization problem; encoding a first coefficient represented by a predetermined first data type among the plurality of coefficients into a first identification value represented by a second data type having a data size smaller than that of the first data type; outputting the coefficient information including the first identification value to the solver device instead of the first coefficient; obtaining the ground state information from the solver device; outputting a solution to the combinatorial optimization problem based on the ground state information; In the solution-finding process, the solver device performs an operation on the first coefficient by using a first reconstruction value corresponding to the first identification value represented by reconstruction information; The first restored value is represented by the first data type. Information processing system.

[0260] [Technical proposal 2] In the encoding, the information processing device generates the restoration information based on the plurality of coefficients; In the output of the coefficient information, the information processing device outputs the reconstruction information to the solver device. An information processing system described in Technical Proposal 1.

[0261] [Technical proposal 3] Each of the plurality of coefficients is expressed by the first data type and is one of P values ​​(P is an integer equal to or greater than 2); the reconstruction information represents P reconstruction values ​​corresponding to P identification values; a p-th restored value (p is an integer between 1 and P) among the P restored values ​​corresponds to a p-th identification value among the P identification values; the p-th identification value is represented by the second data type and identifies the p-th value of the P values; the p-th restored value is represented by the first data type and is the p-th value; The coefficient information includes, instead of the first coefficient of the plurality of coefficients, a first identification value that identifies the same value as the first coefficient of the P identification values. An information processing system according to technical proposal 1 or 2.

[0262] [Technical proposal 4] In the encoding, the information processing device searches the plurality of coefficients to detect the P values. An information processing system described in Technical Proposal 3.

[0263] [Technical proposal 5] The restoration information is a table that represents the p-th restoration value in correspondence with the p-th identification value. An information processing system according to technical proposal 3 or 4.

[0264] [Technical proposal 6] each of the plurality of coefficients is represented by the first data type and is included in any one of P value ranges obtained by dividing a range of values ​​that the plurality of coefficients can take into P (P is an integer equal to or greater than 2); the reconstruction information represents P reconstruction values ​​corresponding to P identification values; a p-th restored value (p is an integer between 1 and P) among the P restored values ​​corresponds to a p-th identification value among the P identification values; the p-th identification value is represented by the second data type and identifies a p-th value range among the P value ranges; the p-th restored value is expressed by the first data type and is a value included in the p-th value range; The coefficient information includes, instead of the first coefficient of the plurality of coefficients, the first identification value that identifies a value region including the first coefficient among the P value regions. An information processing system according to technical proposal 1 or 2.

[0265] [Technical proposal 7] The range of values ​​that the multiple coefficients can take is a range from the minimum value of the multiple coefficients to the maximum value of the multiple coefficients. An information processing system described in Technical Proposal 6.

[0266] [Technical proposal 8] The restoration information is a function that receives the p-th identification value and outputs the p-th restoration value. An information processing system according to technical proposal 6 or 7.

[0267] [Technical proposal 9] each of the plurality of coefficients is represented by the first data type and is included in any one of P classes obtained by dividing the plurality of coefficients by clustering; the reconstruction information represents P reconstruction values ​​corresponding to P identification values; a p-th restored value (p is an integer between 1 and P) among the P restored values ​​corresponds to a p-th identification value among the P identification values; the p-th identification value is represented by the second data type and identifies a p-th class among the P classes; the p-th restored value is expressed by the first data type and is a value representative of the p-th class; The coefficient information includes, instead of the first coefficient of the plurality of coefficients, the first identification value that identifies a class to which the first coefficient belongs among the P classes. An information processing system according to technical proposal 1 or 2.

[0268] [Technical proposal 10] The p-th restored value is the minimum, median, average, or maximum value of the coefficient group included in the p-th class. An information processing system described in Technical Proposal 9.

[0269] [Technical proposal 11] each of the plurality of coefficients is represented by the first data type and is included in any one of S classes (S is an integer equal to or greater than 2) obtained by clustering the plurality of coefficients; Each of the coefficient groups included in an s-th class (s is an integer between 1 and S) among the S classes is included in one of T value ranges (T is an integer between 2 and 3) obtained by dividing a range of values ​​that the coefficient groups can take into T value ranges, The reconstruction information represents T reconstruction values ​​corresponding to T sub-identification values ​​for each of the S classes; For each of the S classes, a t-th reconstruction value (t is an integer between 1 and T) among the T reconstruction values ​​corresponds to a t-th sub-identification value among the T sub-identification values; the t-th sub-identification value in the s-th class identifies a t-th value range among the T value ranges in the s-th class; the t-th restored value in the s-th class is a value included in the t-th value range in the s-th class, The coefficient information includes, instead of the first coefficient of the plurality of coefficients, the first identification value that identifies a pair of a class among the S classes to which the first coefficient belongs and a value range among the T value ranges to which the first coefficient belongs. An information processing system according to technical proposal 1 or 2.

[0270] [Technical proposal 12] The reconstruction information is a function that outputs the t-th reconstruction value by inputting the t-th sub-classification value for each of the S classes. An information processing system described in Technical Proposal 11.

[0271] [Technical proposal 13] Each of the plurality of coefficients is represented by the first data type and belongs to one of P groups (P is an integer equal to or greater than 2); the reconstruction information represents P reconstruction values ​​corresponding to P identification values; a p-th restored value (p is an integer between 1 and P) among the P restored values ​​corresponds to a p-th identification value among the P identification values; the p-th identification value is represented by the second data type and identifies a p-th group among the P groups; the p-th restored value is expressed by the first data type and is a value representative of a set of coefficients belonging to the p-th group; The coefficient information includes, instead of the first coefficient of the plurality of coefficients, the first identification value that identifies a group to which the first coefficient belongs among the P groups. An information processing system according to technical proposal 1 or 2.

[0272] [Technical proposal 14] Each of the N decision variables included in the cost function is a binary discrete variable. An information processing system according to any one of technical proposals 1 to 13.

[0273] [Technical proposal 15] The information processing device formulates the combinatorial optimization problem into the cost function of a QUBO (Quadratic Unconstrained Binary Optimization) problem. An information processing system described in Technical Proposal 14.

[0274] [Technical proposal 16] The information processing device formulates the combinatorial optimization problem into the cost function in an Ising problem that minimizes an Ising model. An information processing system described in Technical Proposal 14.

[0275] [Technical proposal 17] The solver device solves the QUBO problem by reducing it to an Ising problem that minimizes an Ising model. An information processing system described in Technical Proposal 15.

[0276] [Technical proposal 18] The solver device solves the Ising problem by a simulated bifurcation algorithm. An information processing system according to technical proposal 16 or 17.

[0277] [Technical proposal 19] the cost function is a cubic or higher function of the N decision variables; The combinatorial optimization problem is a HUBO (Higher Order Binary Optimization) problem. An information processing system described in Technical Proposal 14.

[0278] [Technical proposal 20] An information processing device that solves a combinatorial optimization problem using a solver device, the information processing device outputs coefficient information representing a plurality of coefficients in a cost function including a plurality of coefficients and N decision variables (N is an integer equal to or greater than 2); the solver device calculates ground state information representing values ​​of each of the N decision variables by executing a solution process that minimizes the cost function based on the coefficient information; The information processing device includes: generating the coefficients based on the combinatorial optimization problem; encoding a first coefficient represented by a predetermined first data type among the plurality of coefficients into a first identification value represented by a second data type having a data size smaller than that of the first data type; outputting the coefficient information including the first identification value to the solver device instead of the first coefficient; obtaining the ground state information from the solver device; outputting a solution to the combinatorial optimization problem based on the ground state information; In the solution-finding process, the solver device performs an operation on the first coefficient by using a first reconstruction value corresponding to the first identification value represented by reconstruction information; The first restored value is represented by the first data type. Information processing device.

[0279] [Technical proposal 21] An information processing method for solving a combinatorial optimization problem by an information processing device and a solver device, comprising: the information processing device outputs coefficient information representing a plurality of coefficients in a cost function including a plurality of coefficients and N decision variables (N is an integer equal to or greater than 2); the solver device calculates ground state information representing values ​​of each of the N decision variables by executing a solution process that minimizes the cost function based on the coefficient information; The information processing device, generating the coefficients based on the combinatorial optimization problem; encoding a first coefficient represented by a predetermined first data type among the plurality of coefficients into a first identification value represented by a second data type having a data size smaller than that of the first data type; outputting the coefficient information including the first identification value to the solver device instead of the first coefficient; obtaining the ground state information from the solver device; outputting a solution to the combinatorial optimization problem based on the ground state information; In the solution-finding process, the solver device performs an operation on the first coefficient by using a first reconstruction value corresponding to the first identification value represented by reconstruction information; The first restored value is represented by the first data type. Information processing methods.

[0280] [Technical proposal 22] A program for causing a computer to function as an information processing device that solves a combinatorial optimization problem using a solver device, comprising: the information processing device outputs coefficient information representing a plurality of coefficients in a cost function including a plurality of coefficients and N decision variables (N is an integer equal to or greater than 2); the solver device calculates ground state information representing values ​​of each of the N decision variables by executing a solution process that minimizes the cost function based on the coefficient information; The computer, generating the coefficients based on the combinatorial optimization problem; encoding a first coefficient represented by a predetermined first data type among the plurality of coefficients into a first identification value represented by a second data type having a data size smaller than that of the first data type; outputting the coefficient information including the first identification value to the solver device instead of the first coefficient; obtaining the ground state information from the solver device; outputting a solution to the combinatorial optimization problem based on the ground state information; In the solution-finding process, the solver device performs an operation on the first coefficient by using a first reconstruction value corresponding to the first identification value represented by reconstruction information; The first restored value is represented by the first data type. A program that makes it work like this.

[0281] [Technical proposal 23] Circuit information describing a configuration of a circuit, the circuit information being written in a hardware description language, causing the circuit to function as an information processing device that solves a combinatorial optimization problem using a solver device; the information processing device outputs coefficient information representing a plurality of coefficients in a cost function including a plurality of coefficients and N decision variables (N is an integer equal to or greater than 2); the solver device calculates ground state information representing values ​​of each of the N decision variables by executing a solution process that minimizes the cost function based on the coefficient information; The information processing device includes: generating the coefficients based on the combinatorial optimization problem; encoding a first coefficient represented by a predetermined first data type among the plurality of coefficients into a first identification value represented by a second data type having a data size smaller than that of the first data type; outputting the coefficient information including the first identification value to the solver device instead of the first coefficient; obtaining the ground state information from the solver device; outputting a solution to the combinatorial optimization problem based on the ground state information; In the solution-finding process, the solver device performs an operation on the first coefficient by using a first reconstruction value corresponding to the first identification value represented by reconstruction information; The first restored value is represented by the first data type. Circuit information.

[0282] [Technical proposal 24] Circuit information to be written into a reconfigurable semiconductor device in order to operate the reconfigurable semiconductor device, causing the reconfigurable semiconductor device to function as an information processing device that solves a combinatorial optimization problem using a solver device; the information processing device outputs coefficient information representing a plurality of coefficients in a cost function including a plurality of coefficients and N decision variables (N is an integer equal to or greater than 2); the solver device calculates ground state information representing values ​​of each of the N decision variables by executing a solution process that minimizes the cost function based on the coefficient information; The information processing device includes: generating the coefficients based on the combinatorial optimization problem; encoding a first coefficient represented by a predetermined first data type among the plurality of coefficients into a first identification value represented by a second data type having a data size smaller than that of the first data type; outputting the coefficient information including the first identification value to the solver device instead of the first coefficient; obtaining the ground state information from the solver device; outputting a solution to the combinatorial optimization problem based on the ground state information; In the solution-finding process, the solver device performs an operation on the first coefficient by using a first reconstruction value corresponding to the first identification value represented by reconstruction information; The first restored value is represented by the first data type. Circuit information. [Explanation of symbols]

[0283] 10. Information Processing Systems 20 Host device 30 Solver Device 42 Question acquisition part 44 Formulation part 46 Encoding section 48 Coefficient output section 50 Solution generation part 52 Solution output section 54 Acquisition circuit 56 Coefficient information memory 58 Restoration Information Memory 60 Solving circuit 62 Ground-state output circuit 68 First variable memory 70 Multiply and add circuits 72 Search circuit 80 Accumulation circuit 82 Demultiplexer circuit 84 Data Type Conversion Circuit 86 Restored value readout circuit 88 Back-end circuit 92 Selector 94 Switching control circuit 96 Restored Value Memory 98 Multiplication Circuit 100 Addition Circuit 200 Market System 300 Control System

Claims

1. An information processing system for solving a combinatorial optimization problem, comprising: an information processing device that outputs coefficient information representing a plurality of coefficients in a cost function including a plurality of coefficients and N decision variables (N is an integer equal to or greater than 2); a solver device that calculates ground state information representing values ​​of each of the N decision variables by executing a solution process that minimizes the cost function based on the coefficient information; Equipped with The information processing device includes: generating the coefficients based on the combinatorial optimization problem; encoding a first coefficient represented by a predetermined first data type among the plurality of coefficients into a first identification value represented by a second data type having a data size smaller than that of the first data type; outputting the coefficient information including the first identification value to the solver device instead of the first coefficient; obtaining the ground state information from the solver device; outputting a solution to the combinatorial optimization problem based on the ground state information; In the solution-finding process, the solver device performs an operation on the first coefficient by using a first reconstruction value corresponding to the first identification value represented by reconstruction information; The first restored value is represented by the first data type. Information processing system.

2. In the encoding, the information processing device generates the restoration information based on the plurality of coefficients; In the output of the coefficient information, the information processing device outputs the reconstruction information to the solver device. The information processing system according to claim 1 .

3. Each of the plurality of coefficients is expressed by the first data type and is one of P values ​​(P is an integer equal to or greater than 2); the reconstruction information represents P reconstruction values ​​corresponding to P identification values; a p-th restored value (p is an integer between 1 and P) among the P restored values ​​corresponds to a p-th identification value among the P identification values; the pth identification value is represented by the second data type and identifies the pth value of the P values; the p-th restored value is represented by the first data type and is the p-th value; The coefficient information includes, in place of the first coefficient of the plurality of coefficients, a first identification value that identifies a value identical to the first coefficient of the P identification values. The information processing system according to claim 1 .

4. In the encoding, the information processing device searches the plurality of coefficients to detect the P values. The information processing system according to claim 3 .

5. The restoration information is a table representing the p-th restoration value in correspondence with the p-th identification value. The information processing system according to claim 3 .

6. each of the plurality of coefficients is represented by the first data type and is included in any one of P value ranges obtained by dividing a range of values ​​that the plurality of coefficients can take into P (P is an integer equal to or greater than 2); the reconstruction information represents P reconstruction values ​​corresponding to P identification values; a p-th restored value (p is an integer between 1 and P) among the P restored values ​​corresponds to a p-th identification value among the P identification values; the pth identification value is represented by the second data type and identifies a pth value range among the P value ranges; the p-th restored value is expressed by the first data type and is a value included in the p-th value range, The coefficient information includes, instead of the first coefficient of the plurality of coefficients, the first identification value that identifies a value region including the first coefficient among the P value regions. The information processing system according to claim 1 .

7. The range of values ​​that the multiple coefficients can take is a range from the minimum value of the multiple coefficients to the maximum value of the multiple coefficients.

7. The information processing system according to claim 6.

8. The restoration information is a function that receives the p-th identification value and outputs the p-th restoration value.

7. The information processing system according to claim 6.

9. each of the plurality of coefficients is represented by the first data type and is included in any one of P classes obtained by dividing the plurality of coefficients by clustering; the reconstruction information represents P reconstruction values ​​corresponding to P identification values; a p-th restored value (p is an integer between 1 and P) among the P restored values ​​corresponds to a p-th identification value among the P identification values; the p-th identification value is represented by the second data type and identifies a p-th class among the P classes; the p-th restored value is expressed by the first data type and is a value representative of the p-th class; The coefficient information includes, instead of the first coefficient of the plurality of coefficients, the first identification value that identifies a class to which the first coefficient belongs, among the P classes. The information processing system according to claim 1 .

10. The p-th restored value is the minimum, median, average, or maximum value of the coefficient group included in the p-th class. The information processing system according to claim 9.

11. each of the plurality of coefficients is represented by the first data type and is included in any one of S classes (S is an integer equal to or greater than 2) obtained by clustering the plurality of coefficients; Each of the coefficient groups included in an s-th class (s is an integer of 1 to S) among the S classes is included in one of T value regions obtained by dividing a range of values ​​that the coefficient groups can take into T (T is an integer of 2 or more), the reconstruction information represents T reconstruction values ​​corresponding to T sub-identification values ​​for each of the S classes; For each of the S classes, a t-th reconstruction value (where t is an integer between 1 and T) among the T reconstruction values ​​corresponds to a t-th sub-identification value among the T sub-identification values; the t-th sub-identification value in the s-th class identifies a t-th value range among the T value ranges in the s-th class; the t-th restored value in the s-th class is a value included in the t-th value range in the s-th class, The coefficient information includes, instead of the first coefficient of the plurality of coefficients, the first identification value that identifies a pair of a class among the S classes to which the first coefficient belongs and a value range among the T value ranges to which the first coefficient belongs. The information processing system according to claim 1 .

12. The reconstruction information is a function that outputs the t-th reconstruction value by inputting the t-th sub-identification value for each of the S classes. The information processing system according to claim 11.

13. Each of the plurality of coefficients is represented by the first data type and belongs to one of P groups (P is an integer equal to or greater than 2); the reconstruction information represents P reconstruction values ​​corresponding to P identification values; a p-th restored value (p is an integer between 1 and P) among the P restored values ​​corresponds to a p-th identification value among the P identification values; the p-th identification value is represented by the second data type and identifies a p-th group among the P groups; the p-th restored value is expressed by the first data type and is a value representative of a set of coefficients belonging to the p-th group; The coefficient information includes, in place of the first coefficient of the plurality of coefficients, the first identification value that identifies a group to which the first coefficient belongs among the P groups. The information processing system according to claim 1 .

14. Each of the N decision variables included in the cost function is a binary discrete variable. The information processing system according to claim 1 .

15. The information processing device formulates the combinatorial optimization problem into the cost function of a quadratic unconstrained binary optimization (QUBO) problem.

15. The information processing system according to claim 14.

16. The information processing device formulates the combinatorial optimization problem into the cost function in an Ising problem that minimizes an Ising model.

15. The information processing system according to claim 14.

17. The solver device solves the QUBO problem by reducing it to an Ising problem that minimizes an Ising model.

16. The information processing system according to claim 15.

18. The solver device solves the Ising problem by a simulated bifurcation algorithm.

17. The information processing system according to claim 16.

19. the cost function is a cubic or higher function of the N decision variables; The combinatorial optimization problem is a HUBO (Higher Order Binary Optimization) problem.

15. The information processing system according to claim 14.

20. An information processing device that solves a combinatorial optimization problem using a solver device, the information processing device outputs coefficient information representing a plurality of coefficients in a cost function including a plurality of coefficients and N decision variables (N is an integer equal to or greater than 2); the solver device calculates ground state information representing values ​​of each of the N decision variables by executing a solution process that minimizes the cost function based on the coefficient information; The information processing device includes: generating the coefficients based on the combinatorial optimization problem; encoding a first coefficient represented by a predetermined first data type among the plurality of coefficients into a first identification value represented by a second data type having a data size smaller than that of the first data type; outputting the coefficient information including the first identification value to the solver device instead of the first coefficient; obtaining the ground state information from the solver device; outputting a solution to the combinatorial optimization problem based on the ground state information; In the solution-finding process, the solver device performs an operation on the first coefficient by using a first reconstruction value corresponding to the first identification value represented by reconstruction information; The first restored value is represented by the first data type. Information processing device.

21. An information processing method for solving a combinatorial optimization problem by an information processing device and a solver device, comprising: the information processing device outputs coefficient information representing a plurality of coefficients in a cost function including a plurality of coefficients and N decision variables (N is an integer equal to or greater than 2); the solver device calculates ground state information representing values ​​of each of the N decision variables by executing a solution process that minimizes the cost function based on the coefficient information; The information processing device, generating the coefficients based on the combinatorial optimization problem; encoding a first coefficient represented by a predetermined first data type among the plurality of coefficients into a first identification value represented by a second data type having a data size smaller than that of the first data type; outputting the coefficient information including the first identification value to the solver device instead of the first coefficient; obtaining the ground state information from the solver device; outputting a solution to the combinatorial optimization problem based on the ground state information; In the solution-finding process, the solver device performs an operation on the first coefficient by using a first reconstruction value corresponding to the first identification value represented by reconstruction information; The first restored value is represented by the first data type. Information processing methods.

22. A program for causing a computer to function as an information processing device that solves a combinatorial optimization problem using a solver device, comprising: the information processing device outputs coefficient information representing a plurality of coefficients in a cost function including a plurality of coefficients and N decision variables (N is an integer equal to or greater than 2); the solver device calculates ground state information representing values ​​of each of the N decision variables by executing a solution process that minimizes the cost function based on the coefficient information; The computer, generating the coefficients based on the combinatorial optimization problem; encoding a first coefficient represented by a predetermined first data type among the plurality of coefficients into a first identification value represented by a second data type having a data size smaller than that of the first data type; outputting the coefficient information including the first identification value to the solver device instead of the first coefficient; obtaining the ground state information from the solver device; outputting a solution to the combinatorial optimization problem based on the ground state information; In the solution-finding process, the solver device performs an operation on the first coefficient by using a first reconstruction value corresponding to the first identification value represented by reconstruction information; The first restored value is represented by the first data type. A program that makes it work like this.

23. Circuit information describing a configuration of a circuit, the circuit information being written in a hardware description language, causing the circuit to function as an information processing device that solves a combinatorial optimization problem using a solver device; the information processing device outputs coefficient information representing a plurality of coefficients in a cost function including a plurality of coefficients and N decision variables (N is an integer equal to or greater than 2); the solver device calculates ground state information representing values ​​of each of the N decision variables by executing a solution process that minimizes the cost function based on the coefficient information; The information processing device includes: generating the coefficients based on the combinatorial optimization problem; encoding a first coefficient represented by a predetermined first data type among the plurality of coefficients into a first identification value represented by a second data type having a data size smaller than that of the first data type; outputting the coefficient information including the first identification value to the solver device instead of the first coefficient; obtaining the ground state information from the solver device; outputting a solution to the combinatorial optimization problem based on the ground state information; In the solution-finding process, the solver device performs an operation on the first coefficient by using a first reconstruction value corresponding to the first identification value represented by reconstruction information; The first restored value is represented by the first data type. Circuit information.

24. Circuit information to be written into a reconfigurable semiconductor device in order to operate the reconfigurable semiconductor device, causing the reconfigurable semiconductor device to function as an information processing device that solves a combinatorial optimization problem using a solver device; the information processing device outputs coefficient information representing a plurality of coefficients in a cost function including a plurality of coefficients and N decision variables (N is an integer equal to or greater than 2); the solver device calculates ground state information representing values ​​of each of the N decision variables by executing a solution process that minimizes the cost function based on the coefficient information; The information processing device includes: generating the coefficients based on the combinatorial optimization problem; encoding a first coefficient represented by a predetermined first data type among the plurality of coefficients into a first identification value represented by a second data type having a data size smaller than that of the first data type; outputting the coefficient information including the first identification value to the solver device instead of the first coefficient; obtaining the ground state information from the solver device; outputting a solution to the combinatorial optimization problem based on the ground state information; In the solution-finding process, the solver device performs an operation on the first coefficient by using a first reconstruction value corresponding to the first identification value represented by reconstruction information; The first restored value is represented by the first data type. Circuit information.

Citation Information

Patent Citations

  • Calculating device

    JP2023037176A

  • Device and method

    WO2017115609A1

  • Information processing system, information processing device, information processing method, and recording medium

    WO2022064976A1

  • Computer, calculation program, recording medium, and calculation method

    JP2019145010A

  • Calculation device

    JP2019159566A