The present invention relates to a calculation model, an information processing method, a calculation program, and an information processing device.
There have been attempts to obtain an optimal solution to a combinatorial optimization problem using quantum annealing (for example, Non-Patent Document 1).
Hiroto Teranishi, Shota Nagayama, “Excited state utilization of quantum annealing in simple graph minimum cut problem,” Institute of Electronics, Information and Communication Engineers, Type 2 Research Material, Quantum Information Technology Study Group, QIT2019-89 (2019.11)
In quantum annealing machines, errors may occur due to unintended quantum transitions, noise, and the like, and an optimal solution may not be obtained appropriately.
The present invention has been made in view of the circumstances described above, and an object thereof is to provide a calculation model, an information processing method, a calculation program, and an information processing device that are not likely to be affected by errors caused by noise or the like.
The present invention provides the following means to solve the problems described above.
The calculation model, the information processing method, the calculation program, and the information processing device according to the present invention are not likely to be affected by errors caused by noise or the like.
Hereinafter, the present embodiment will be described in detail with reference to the drawings as appropriate. In the drawings used in the following description, characteristic parts of the present embodiment may be shown enlarged for convenience in order to make them easier to understand, and dimensional ratios of the components may differ from the actual ones. The materials, dimensions, and the like exemplified in the following description are merely examples, and the present invention is not limited thereto, and can be implemented with appropriate changes within a range not changing the gist of the invention.
A calculation model according to the first embodiment is a calculation model applicable to an Ising model or QUBO used for quantum annealing. Quantum annealing is an algorithm that obtains a state with a minimum energy (a ground state) according to the calculation model.
An Ising model is a model that predicts a stable state as a whole when a plurality of elements interact and a forcing force is applied to each element.
The Ising model is represented by the following energy function (cost function).
Here, σi and σj are input variables. σi and σj each indicate one of binary values of +1 and −1. σi and σj correspond to states of the spin s in
Quadratic unconstrained binary optimization (QUBO) is a calculation model that can be equivalently converted into an Ising model. In the Ising model, each bit b is represented by binary variables of +1 and −1, whereas each bit b is represented by binary variables of 0 and 1 in QUBO. QUBO can be applied to a calculation model as well as an Ising model. QUBO is represented by the following energy function (cost function).
Here, qi and qj are input variables. qi and qj indicate one of binary values of 1 and 0. qi and qj correspond to the states of the spin s in the Ising model. Qij is an interaction parameter in QUBO. Qij corresponds to the forcing force F in the Ising model. Ising energy is an output when values of the input variables qi and qj are input to an energy function.
The Ising model and QUBO can be applied to combinatorial optimization problems. For example, when the QUBO is applied to a combinatorial optimization problem, the combinatorial optimization problem is first converted to Qij to be expressed as an energy function, and each option in the combinatorial optimization problem is expressed as a combination of binary variables of input variables qi and qj. Next, the combinatorial optimization problem can be solved by obtaining a combination of the values of qi and qj that makes Ising energy smaller.
The calculation model according to the present embodiment has a plurality of Ising bits and auxiliary bits.
Ising bits x1 to x3 and an auxiliary bit y1 each are binary variables. The number of Ising bits x1 to x3 is not limited to three. The number of auxiliary bits y1 is also not limited to one.
The Ising bits x1 to x3 and the auxiliary bit y1 each indicate, for example, 1 or 0. The Ising bits x1 to x3 and the auxiliary bit y1 may each indicate, for example, +1 or −1. The Ising bits x1 to x3 and the auxiliary bit y1 each correspond to the bit b in
The Ising bits x1 to x3 represent each option in the combinatorial optimization problem using a combination of binary variables. For example, in a case of a traveling salesman problem. there are options for which cities to visit and in what order. For example, an option to go to a city M in an Nth order becomes an option A.
Options of the Ising bits x1 to x3 may be one-hot represented or binary represented.
Binary representation has an advantage of being able to express a plurality of states with a small number of bits. On the other hand, in a binary representation, if one of the bits is rewritten with noise or the like, it will represent a different state. For this reason, in binary representation, measures against noise is required.
The auxiliary bit y1 shown in
The calculation model according to the present embodiment is not likely to be affected by an error in which bit reversal occurs in any of Ising bits x1 to x3 even if the error has occurred.
Errors occur when unintended quantum transitions, noise, and the like occur in quantum annealing machines. For example, when quantum annealing machines normally output the option A (x1,x2,x3)=(1,0,0) in
The calculation model of the present embodiment detects an error using the auxiliary bit y1. The information processing method using the calculation model according to the present embodiment will be described below.
In the optimization process S1, calculation is performed to solve the optimization problem using the calculation model described above. For example, in a case of a QUBO, first, the options of the optimization problem are applied to the energy function described above (cost function). For example, the Ising bits x1 to x3 and the auxiliary bit y1 are applied to input variables qi and qj of the energy function described above. Next, the calculation model outputs values of the input variables qi and qj that make Ising energy smaller on the basis of the energy function. Then, values of the corresponding Ising bits x1 to x3 and auxiliary bit y1 are obtained from the input variables qi and qj.
The comparison process S2 is performed, for example, every time the optimization process S1 is performed. The comparison process S2 does not necessarily need to be performed every time the optimization process S1 is performed, and may be performed at an appropriately set timing.
In the optimization process S1, the calculation model may output a combination of the plurality of Ising bits x1 to x3. In that case, the calculation model executes the comparison process S2 and subsequent steps for the values of each of the Ising bit x1 to x3.
In the comparison process S2, the value of the auxiliary bit y1 output in the optimization process S1 and a result of the same logical calculation as when the value of the auxiliary bit y1 is obtained for an Ising bit corresponding to a value used for the logical calculation of the auxiliary bit y1 are compared.
For example, in a case shown in
For example, calculation of the exclusive OR is performed for the Ising bits x1 to x3. The exclusive OR is the same logical calculation as when the value of the auxiliary bit y1 is obtained. If no error occurs, the same logical calculation is performed, so that a result of the calculation and the value of auxiliary bit y1 match. For example, in the option A of
On the other hand, if an error occurs in 1 bit of the Ising bits x1 to x3, the values of the Ising bits x1 to x3 will be different values. For example, it is assumed that the Ising bit x1 in the option A in
In other words, when the result of the calculation and the value of the auxiliary bit y1 do not match, it can be said that an error has occurred.
The information processing method according to the present embodiment can detect an error by repeating the optimization process S1 and the comparison process S2.
Next, the extraction process S3, the calculation process S4, and the correction process S5 will be performed. These steps are performed when an error is detected.
In the extraction process S3, combinations of variables that can be selected by the Ising bits x1 to x3 are listed based on the value of the auxiliary bit y1.
For example, in the option A of
Next, in the calculation process S4, calculation is performed using the calculation model described above for each combination of all variables extracted in the extraction process S3. For example, each of (x1,x2,x3)=(1,0,0), (0,1,0), (0,0,1), (1,1,1) listed in the extraction process S3 is applied to the calculation model to perform calculation. When the calculation is performed, an Ising energy for each combination of variables is obtained.
When the calculation process S4 is intended to be performed in a short time, the combinations of variables that can be selected by the Ising bits x1 to x3 may be appropriately reduced in the extraction process S3. For example, when (x1,x2,x3)=(0,0,0) and the value of the auxiliary bit y1 is “1” as a result of the optimization process S1, (x1,x2,x3)=(1,0,0), (0,1,0), and (0,0,1) may also be extracted as the combinations of variables that can be selected by the Ising bits x1 to x3 in which the value of the auxiliary bit y1 satisfies “1,” and the Hamming distance with (x1,x2,x3)=(0,0.0) is 1. Hamming distance is the number of different characters in corresponding positions in two strings with the same number of characters. In other words, the Hamming distance is a measurement of the number of substitutions required to transform one character string into another.
Next, the correction process S5 is performed based on a result of the calculation process S4. In the correction process S5, the values of the Ising bits x1 to x3 are corrected using the combination of variables that minimizes the Ising energy in the calculation process S4. For example, it is assumed that results of the calculated Ising energy for each of (x1,x2,x3)=(1,0,0), (0,1,0), (0,0,1), (1,1.1) are H1, H2, H3, H4, and H5, and a magnitude of the Ising energy is H1<H2<H3<H4<H5. In this case, the values of the Ising bits x1 to x3 when an error is detected are replaced with a combination (x1,x2,x3)=(1,0,0) where the magnitude of the Ising energy is the smallest.
When the correction process S5 is performed, the values of the Ising bits x1 to x3 are corrected. Therefore, the information processing method according to the present embodiment can perform error correction by performing the extraction process S3, the calculation process S4, and the correction process S5.
The optimization process S1 is executed by, for example, an Ising machine specialized for calculating an Ising model and a QUBO. For example, machines such as quantum annealing machines (D-wave, NEC), coherent Ising machines (NTT), simulated branching machines (Toshiba), digital annealers (Fujitsu), and CMOS annealers (Hitachi) are examples of Ising machines.
The Ising machine may be a quantum gate type computer. For example, if a quantum approximate optimization algorithm (QAOA) is used, an Ising model and a QUBO can be calculated with a quantum gate type computer.
The comparison process S2, the extraction process S3, the calculation process S4, and the correction process S5 are executed using a general-purpose information processing device with versatility. For example, machines such as personal computers, super computers, and micro computers are examples of general-purpose information processing devices. Between the optimization process S1 and the comparison process S2, the Ising machine transmits the values of an Ising bit and an auxiliary bit obtained in the optimization process S1 to the general-purpose information processing device, and the general-purpose information processing device executes the comparison process S2 and subsequent steps using the values of the Ising bit and the auxiliary bit transmitted from the Ising machine.
Additionally, the optimization process S1 may be executed by the general-purpose information processing device described above.
The Ising machine and the general-purpose information processing device perform the information processing described above on the basis of a calculation program including an optimization program, a comparison program, an extraction program, a calculation program, and a correction program.
The optimization program performs the optimization process S1. The comparison program performs the comparison process S2. The extraction program performs the extraction process S3. The calculation program performs the calculation process S4. The correction program performs the correction process S5.
According to the calculation program and information processing device of the present embodiment, errors can be detected using the auxiliary bit y1, and an appropriate optimal solution can be obtained.
The embodiments of the present invention have been described above in detail with reference to the drawings, but each configuration and combination thereof in each embodiment is merely an example, and additions, omissions, replacement, and other changes of configurations may be made within a range not departing from the gist of the present invention.
For example, when an auxiliary bit is obtained, it is not necessary to use all of a plurality of values indicating options. For example, in
In the case shown in
In addition, for example, the number of auxiliary bits is not limited to one, but may be plural.
In the case shown in
Further, for example, as shown in
An Ising model and a QUBO can calculate two-body problems using two variables, but cannot calculate multi-body problems using two or more variables. As shown in
The auxiliary bit can also be used to set constraints for the Ising model and the QUBO.
As shown in
In
By performing such assignment and giving constraints on combinations in which at least one of the auxiliary bit y2 and the auxiliary bit y6 is “1,” a speed of information processing can be increased.
Constraints are given to the energy function. For example, if interaction parameters are defined so that the Ising energy becomes large in calculation for solving an optimization problem using the auxiliary bit y2 and the auxiliary bit y6, constraints can be given to the energy function. More specifically, k1y2+k2y6 is given to the energy function. k1 and k2 are coefficients of the constraint terms and have values greater than 0.
Computers calculate combinations that humans would exclude as equivalent to other combinations. By adding the constraints described above, it is possible to exclude impossible combinations for which options have not been assigned from the calculation; for solving the optimization problem. The speed of information processing increases 5 when unnecessary combinations are eliminated.
An auxiliary bit y2 and an auxiliary bit y6 provide constraints and can also be used to detect errors in the Ising bits x1 to x3.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2021/027646 | 7/27/2021 | WO |