Information processing device, information processing method, and program

By introducing redundant elements to the state variables, the device enhances solution performance in combinatorial optimization problems with 2-way 1-hot constraints, addressing the issue of local optima and improving efficiency in solving permutation optimization problems.

JP7817559B2Active Publication Date: 2026-02-19FUJITSU LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2022093460
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-06-09
Publication Date
2026-02-19
Estimated Expiration
2042-06-09

AI Technical Summary

Technical Problem

Existing information processing devices struggle to effectively escape local optima in combinatorial optimization problems with 2-way 1-hot constraints, limiting their solution performance.

Method used

The device introduces redundant elements to the state variables, allowing for the calculation of an energy function that includes additional state variables, enabling the search unit to perform multi-bit transitions and increase the number of candidate states, thereby reducing the likelihood of getting stuck in local solutions.

Benefits of technology

This approach enhances the solution-finding performance by increasing the variety of candidate states and reducing the chances of falling into local optima, improving the efficiency of solving permutation optimization problems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007817559000024
    Figure 0007817559000024
  • Figure 0007817559000025
    Figure 0007817559000025
  • Figure 0007817559000026
    Figure 0007817559000026
Patent Text Reader

Abstract

To improve solution performance.SOLUTION: A processing unit 12 generates information on a first energy function including N2 state variables obtained by adding (N2-M2) state variables (N is an integer greater than M) to M2 state variables (M is an integer equal to or greater than 3) indicated by problem information corresponding to a permutation optimization problem. The processing unit 12 inputs the information on the first energy function to a search unit 20. The search unit 20 repeats a process to vary values of four state variables in accordance with an amount of change in value of the energy function in the case of varying the values of the four state variables so as to satisfy 2-Way 1-Hot constraints. The processing unit 12 obtains a first solution 40 represented by values of the N2 state variables, the solution being obtained on the basis of the first energy function by the search unit 20. The processing unit 12 subtracts values of the (N2-M2) state variables from the first solution 40 to generate a second solution 41 corresponding to the permutation optimization problem.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an information processing device, an information processing method, and a program. [Background technology]

[0002] Information processing devices are sometimes used to solve combinatorial optimization problems. Combinatorial optimization problems are converted into the energy function of the Ising model, which represents the behavior of spin in magnetic materials. The energy function is also called the evaluation function or objective function.

[0003] The information processing device searches for a combination of state variable values ​​included in the energy function that minimizes the value of the energy function, for example. In this case, the combination of state variable values ​​that minimizes the value of the energy function corresponds to the ground state or optimal solution represented by the set of state variables. Methods for obtaining an approximate solution to a combinatorial optimization problem in a practical amount of time include simulated annealing (SA) and replica exchange, which are based on the Markov-Chain Monte Carlo (MCMC) method.

[0004] Incidentally, some combinatorial optimization problems have a constraint that the number of state variables that have a value of 1 among the multiple state variables included in the energy function is one, i.e., a 1-Hot constraint. 2 When state variables are arranged in an N-by-N matrix, there are cases where the sum of the values ​​of the state variables in each row and column is 1. Such 1-hot constraints are called 2-way 1-hot constraints. For example, when x1 to x9 are arranged in a 3-by-3 matrix, the constraints x1+x2+x3=1, x4+x5+x6=1, x7+x8+x9=1, x1+x4+x7=1, x2+x5+x8=1, x3+x6+x9=1 are 2-way 1-hot constraints. For example, the linear ordering problem has a 2-way 1-hot constraint.

[0005] In combinatorial optimization problems with 2-way 1-hot constraints, the value of each state variable in an N-row, N-column array can be expressed as a permutation of N different elements. For example, if three different elements are "1, 2, 3", the value of each state variable in a 3-row, 3-column array can be expressed as (1, 2, 3) or (2, 1, 3), etc. For example, the position of an element in a permutation indicates the row, and the value of the element in a permutation indicates the column of the state variable that is 1. In this way, a solution that satisfies a 2-way 1-hot constraint is expressed as a permutation. A combinatorial optimization problem whose solution is expressed as a permutation is called a permutation optimization problem.

[0006] For example, there has been proposed an optimization device that solves combinatorial optimization problems with 2-way 1-hot constraints. In addition, a planning device has been proposed that solves the problem of determining the shortest distance or travel time among all the designated travel routes that can visit all the designated destinations.Another method has been proposed, which performs optimization by inserting swap gates into quantum circuits that operate on qubits representing quantum states, thereby converting them into functionally equivalent circuits that satisfy the locality constraint, i.e., the constraint that only interactions between nearby qubits are permitted. [Prior art documents] [Patent documents]

[0007] [Patent Document 1] Japanese Patent Publication No. 2021-157361 [Patent Document 2] Japanese Patent Application Publication No. 9-160981 [Patent Document 3] US Patent Application Publication No. 2020 / 0242295 Summary of the Invention [Problem to be solved by the invention]

[0008] In the above optimization device that solves combinatorial optimization problems with 2-way 1-hot constraints, i.e., permutation optimization problems, the values ​​of at most four state variables are changed in one state transition trial. However, if the transition destination state is determined only from among the states in which the values ​​of at most four state variables are changed from the current state, for example, if the system falls into a local optimum, it may be unable to escape from that optimum.

[0009] In one aspect, the present invention aims to provide an information processing device, an information processing method, and a program that improve solution performance. [Means for solving the problem]

[0010] In one aspect, there is provided an information processing device used to obtain a solution to a permutation optimization problem expressed by an energy function of an Ising model. The information processing device has a storage unit and a processing unit. The storage unit stores problem information indicating M (M is an integer equal to or greater than 3) squared state variables in the permutation optimization problem. The processing unit calculates (N 2 -M 2 ) (N is an integer greater than M) state variables are added to generate information on a first energy function including N squared state variables. The processing unit inputs the information on the first energy function to a search unit that repeatedly performs a process of changing the values ​​of the four state variables according to the amount of change in the value of the energy function when the values ​​of the four state variables are changed so as to satisfy the constraints that when the N squared state variables are arranged in N rows and N columns, the sum of the values ​​of the state variables included in each row is 1 and the sum of the values ​​of the state variables included in each column is 1. The processing unit acquires a first solution expressed by the values ​​of N squared state variables obtained by the search unit based on the first energy function. The processing unit subtracts (N) from the first solution. 2 -M 2 ) state variable values ​​to generate a second solution to the permutation optimization problem.

[0011] In one aspect, an information processing method is provided. In another aspect, a program is provided. [Effects of the Invention]

[0012] On the one hand, it can improve the solution performance. [Brief explanation of the drawings]

[0013] [Figure 1] FIG. 1 is a diagram illustrating an information processing apparatus according to a first embodiment. [Figure 2] FIG. 10 illustrates an example of hardware of an information processing apparatus according to a second embodiment. [Figure 3] FIG. 10 is a diagram illustrating an example of bit flip control using 2-way 1-hot. [Figure 4] FIG. 10 is a diagram illustrating an example of a correspondence relationship between states and permutations of an Ising model. [Figure 5] FIG. 2 is a diagram illustrating an example of functions of an information processing device. [Figure 6] FIG. 10 is a diagram illustrating an example of a method for adding redundant elements in an LOP. [Figure 7] FIG. 10 is a diagram illustrating an example of adding redundant variables. [Figure 8] FIG. 10 is a diagram illustrating an example of how a solution is obtained by a control unit. [Figure 9] 10A and 10B are diagrams illustrating examples of state transition destination candidates according to the presence or absence of redundant elements. [Figure 10] 10 is a flowchart illustrating an example of processing by the information processing device. [Figure 11] 11 is a flowchart illustrating an example of processing performed by an information processing apparatus according to a third embodiment. [Figure 12] FIG. 13 illustrates an example of a redundant variable flag according to the fourth embodiment. [Figure 13] FIG. 10 is a diagram illustrating an example of a redundant variable flag when there are multiple redundant elements. [Figure 14] FIG. 10 is a diagram illustrating an example of a state transition. [Figure 15] FIG. 2 is a diagram illustrating an example of functions of an information processing device. [Figure 16] 10 is a flowchart illustrating an example of processing by a search unit. DETAILED DESCRIPTION OF THE INVENTION

[0014] The present embodiment will be described below with reference to the drawings. [First embodiment] A first embodiment will be described.

[0015] FIG. 1 is a diagram illustrating an information processing apparatus according to a first embodiment. The information processing device 10 inputs information about an energy function representing a combinatorial optimization problem to the search unit 20 and obtains a solution searched for by the search unit 20. The search unit 20 may be a device different from the information processing device 10, or may be included in the information processing device 10. The search unit 20 searches for a solution to the combinatorial optimization problem using the MCMC method and outputs the searched solution. For example, the search unit 20 uses an SA method based on the MCMC method to search for a solution.

[0016] The information processing device 10 has a memory unit 11 and a processing unit 12. The memory unit 11 is a volatile storage device such as a random access memory (RAM). The processing unit 12 may be an electronic circuit such as a central processing unit (CPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or a graphics processing unit (GPU). The processing unit 12 may be a processor that executes a program. The term "processor" may include a set of multiple processors (a multiprocessor). The search unit 20 is realized by an electronic circuit such as an FPGA or a GPU.

[0017] Combinatorial optimization problems are formulated using an Ising-type energy function, and can be replaced with a problem of minimizing the value of the energy function, for example. The energy function may also be called an objective function or an evaluation function. The energy function includes multiple state variables. The state variables are binary variables that take on values ​​of 0 or 1. The state variables may also be called bits. The solution to the combinatorial optimization problem is represented by the values ​​of the multiple state variables. The solution that minimizes the value of the energy function represents the ground state of the Ising model and corresponds to the optimal solution to the combinatorial optimization problem. The value of the energy function is denoted as energy.

[0018] The Ising-type energy function is expressed by equation (1).

[0019]

number

[0020] The state vector x has multiple state variables as elements and represents the state of the Ising model. Equation (1) is an energy function formulated in the QUBO (Quadratic Unconstrained Binary Optimization) format. Note that for problems that involve maximizing energy, the sign of the energy function can be reversed.

[0021] The first term on the right side of equation (1) is the sum of the values ​​of the two state variables and the weighting coefficients for all combinations of two state variables that can be selected from all state variables, without omissions or duplications. The subscripts i and j are the indexes of the state variables. i is the i-th state variable. x j is the jth state variable. W ij is the weighting coefficient that indicates the strength of the connection between the i-th state variable and the j-th state variable. ij =W ji and W ii =0.

[0022] The second term on the right side of equation (1) is the sum of the products of the biases of all state variables and the values ​​of the state variables.i indicates the bias for the i-th state variable. Problem data including the weighting coefficients, biases, and state vectors included in the energy function are stored in the storage unit 11. In equation (1), the state variable x i The value of 1-x changes i Then, x i The increase in δx i =(1-x i )-x i =1-2x i It can be expressed as x i The change in energy ΔE due to the change in i is expressed by equation (2).

[0023]

number

[0024] h i is called the local field and is expressed by equation (3). The local field is also called the local field (LF).

[0025]

number

[0026] State variable x j When changes in the local field h i The change in δh i (j) is expressed by equation (4).

[0027]

number

[0028] State variable x j When the value of i (j) h i By adding to x j The state after the change in the value of h i is obtained. In the search for the ground state, when the energy change is ΔE i a state transition, that is, whether to allow a change in the value of the state variable x i is determined using the Metropolis method or the Gibbs method. That is, in the neighborhood search for a transition from a certain state to another state with lower energy than that state, not only a state with decreasing energy but also a transition to a state with increasing energy is probabilistically allowed. For example, the probability A of accepting a change in the value of the state variable with an energy change ΔE is expressed by Equation (5).

[0029]

Equation

[0030] β is the reciprocal of the temperature value T (T > 0) (β = 1 / T) and is called the inverse temperature. The min operator indicates taking the minimum value among the arguments. The upper side of the right side of Equation (5) corresponds to the Metropolis method. The lower side of the right side of Equation (5) corresponds to the Gibbs method. The search unit 20 compares a uniform random number u with 0 < u < 1 and A for a certain index i, and if u < A, it accepts the change in the value of the state variable x i and changes the value of the state variable x i . If u ≥ A, the search unit 20 does not accept the change in the value of the state variable x i and does not change the value of the state variable x i . According to Equation (5), the larger ΔE is, the smaller A becomes. Also, the smaller β is, that is, the larger T is, the easier it is to allow a state transition with a large ΔE. For example, when the determination criterion of the Metropolis method is used, the transition determination may be performed by Equation (6) obtained by transforming Equation (s5).

[0031]

Equation

[0032] That is, for a uniform random number u (0 < u ≤ 1), when the energy change ΔE satisfies Equation (6), a change in the value of the corresponding state variable is allowed. When the energy change ΔE does not satisfy Equation (6) for the uniform random number u, a change in the value of the corresponding state variable is not allowed. ln(u)·T corresponds to thermal noise. For example, in the SA method, a solution is searched while gradually decreasing the temperature value T from the highest temperature value to the lowest temperature value.

[0033] Here, the search unit 20 efficiently solves a combinatorial optimization problem with 2-Way 1-Hot constraints, that is, a permutation optimization problem, by excluding the search for states other than those satisfying the 2-Way 1-Hot constraints. The permutation optimization problem can be said to be a problem of obtaining a permutation represented by the values of N 2 state variables and minimizing or maximizing the value of the energy function. When excluding the search for states other than those satisfying the 2-Way 1-Hot constraints, the search unit 20 changes the values of four state variables in one state transition.

[0034] Hereinafter, it is assumed that M 2 (M is an integer of 3 or more) state variables included in the energy function are subject to 2-Way 1-Hot constraints. By changing the values of four state variables in one state transition so as to satisfy the constraint that the sum of the values of the state variables included in each row and each column is 1 when these state variables are arranged in M rows and M columns, the search for states other than those satisfying the 2-Way 1-Hot constraints is excluded. When arranging M 2 state variables in M rows and M columns, for example, x1 to x M correspond to the first column to the Mth column of the first row, x M+1 to x 2M correspond to the first column to the Mth column of the second row, and thereafter, similarly, x M^2-M+1 to x M^2 correspond to the first column to the Mth column of the Mth row.

[0035] Note that when one of the state variables with a value of 0 is set as an update target candidate in a state where the 2-Way 1-Hot constraint is satisfied, the other three update target candidate state variables are determined. For example, assume that the values of four state variables (x i , x j , x k , x l ) with indices i, j, k, l (i < j < k < l) are changed. x i , x j belong to the same row. x i , x k belong to the same column. x k , x l belong to the same row. x j , x l belong to the same column.

[0036] When the state variable x j with a value of 0 is a candidate for update, among the state variables included in the same row and the same column as x j , the state variables x i , x l with a value of 1 become candidates for update. Furthermore, x i in the same column as x l and in the same row as x k with a value of 0 becomes a candidate for update. The changes in the values of these four state variables (x i , x j , x k , x l ) can be expressed as in Equation (7).

[0037]

Equation

[0038] When the values of four state variables (x i , x j , x k , x l ) are changed, let the energy change of the Ising model that occurs be ΔE j . Then, ΔE j can be expressed as in the following Equation (8).

[0039]

Equation

[0040] Also, x i ,x j ,x k ,x l The change in the local field due to the change in m (m=1,2,...,n) can be expressed as the following equation (9).

[0041]

number

[0042] In this way, in the permutation optimization problem, ΔE in Eq. (5) or Eq. (6) is added to ΔE in Eq. (8). j Also, δh in Eq. (4) is used. i (j) Instead of Δh in equation (9), m The search unit 20 uses M 2 The search unit 20 stores the values ​​of M state variables. 2 The local fields h corresponding to each of the state variables m The search unit 20 calculates ΔE j The search unit 20 also calculates ΔE j and equation (5) or equation (6), the search unit 20 determines four state variables whose values ​​are allowed to change. 2 The state of the Ising model is transitioned by changing the values ​​of four state variables that are allowed to change among the state variables. The search unit 20 changes the values ​​of the four state variables by m , h m =h m +Δh m Update to.

[0043] For example, the search unit 20 sequentially selects four state variables that are candidates for change and calculates ΔE j Alternatively, the search unit 20 may repeatedly perform the process of changing the values ​​of the four state variables whose values ​​are allowed to change by calculating ΔE jThe calculation of equation (5) or equation (6) may be performed in parallel. In this case, the search unit 20 randomly selects one of the pairs whose values ​​are allowed to change, and repeatedly changes the values ​​of the four state variables belonging to that pair.

[0044] In this way, the search unit 20 has a mechanism for changing the values ​​of at most four state variables in one state transition attempt in solving a permutation optimization problem. Here, the values ​​of each state variable in M ​​rows and M columns can be expressed as a permutation. For example, the position of an element in the permutation indicates the row, and the value of the element in the permutation indicates the column of the state variable where the value is 1. FIG. 1 shows a permutation (1, 2, 3, 4) corresponding to one state 30 represented by a total of 16 state variables in 4 rows and 4 columns, when M=4. For example, the pth value from the left in the permutation, q, indicates that the element in the pth row and qth column from the left of the matrix represented by state 30 is set to 1. The pth value from the left in the permutation, q, may also indicate that the element in the pth column from the left and qth row from the top of the matrix represented by state 30 is set to 1.

[0045] The operation of changing the values ​​of at most four state variables by the search unit 20 is equivalent to the operation of exchanging the positions of any two elements in the permutation. However, in one operation by the search unit 20, it is only possible to exchange two elements in the original permutation (1,2,3,4), such as (1,2,4,3), (1,4,3,2), (4,2,3,1), etc.

[0046] However, if the next transition state is determined by such an operation, for example, if the system falls into a local solution, it may not be able to escape from the local solution, and a better solution may not be obtained. Therefore, the processing unit 12 adds N corresponding to redundant elements in the permutation to the original M rows and M columns of state variables. 2 -M 2state variables are added to create an N-row, N-column array of state variables. Redundant elements are elements that are introduced for the sake of convenience in searching for a solution. In one example, the processing unit 12 adds a redundant element "5" to the permutation (1, 2, 3, 4) corresponding to state 30 to create a permutation (1, 2, 3, 4, 5). In this case, N=5. N state variables corresponding to the redundant elements have been added to the 16 state variables corresponding to the original permutation.

[0047] The permutation (1,2,3,4,5) corresponds to state 31, which is represented by state variables in 5 rows and 5 columns. In the example of state 31, the state variable belonging to the 5th row and the state variable belonging to the 5th column are state variables corresponding to redundant element "5". For example, processing unit 12 stores information indicating that the state variable whose value is 1 in the 5th column and the state variables belonging to the same row and column as this state variable are state variables corresponding to redundant element "5" in storage unit 11. This is to make it possible to identify the state variable corresponding to redundant element "5" later.

[0048] Here, in a specific permutation optimization problem such as the Linear Ordering Problem (LOP), it is possible to create an energy function so that the energy of a solution containing redundant elements is equivalent to the energy of a solution obtained by removing the redundant elements from the original solution. For example, the LOP is a problem of finding a permutation π that represents a transformation of an n-by-n problem matrix A given as problem information, so that the sum of elements above the diagonal elements of the transformed matrix is ​​maximized. The energy function corresponding to the original problem matrix is ​​defined as energy function E1. The LOP is formulated by equation (10). The permutation π is expressed by equation (11).

[0049]

number

[0050]

number

[0051] For example, when n=4, the matrix A is expressed by equation (12).

[0052]

number

[0053] For example, when the permutation π is expressed by Equation (13), the permutation matrix X corresponding to the permutation π is expressed by Equation (14). The matrix obtained by transforming the problem matrix A with the permutation matrix X is t XAX is expressed by formula (15), where: t X is the transpose of X.

[0054]

number

[0055]

number

[0056]

number

[0057] matrix t The cost corresponding to the value of the energy function for XAX is expressed by equation (16).

[0058]

number

[0059] To calculate the above cost Cost, the weighting coefficient matrix W is calculated based on the problem matrix A using equation (17).

[0060]

number

[0061] t A is the transpose of matrix A. When A has n rows and n columns, W is n 2 row n2 A is not necessarily a symmetric matrix, but W is a symmetric matrix. For example, the processing unit 12 converts A in equation (12) into equation (18) for the state 31 to which the state variable corresponding to the redundant element is added.

[0062]

number

[0063] The processing unit 12 substitutes the transformed matrix A of equation (18) into equation (17) to obtain W when a redundant element is introduced. Note that the processing unit 12 sets the bias b of each state variable corresponding to a redundant element to 0.

[0064] In this way, the permutation after the introduction of the redundant element can be treated as having equivalent energy, regardless of the position of the redundant element in the permutation. For example, for the redundant element "5", the permutations (1,2,3,4,5), (1,2,3,5,4), (1,2,5,3,4), (1,5,2,3,4), and (5,1,2,3,4) are all equivalent.

[0065] The processing unit 12 calculates the weighting coefficient matrices W and N after the introduction of the redundant elements. 2 Information on the energy function E2 including the state variables is input to the search unit 20, which then searches for a solution based on the energy function E2.

[0066] By searching for a solution based on the energy function E2, the search unit 20 can increase the number of next state candidates for a certain state compared to when using the energy function E1 corresponding to the original problem matrix. For example, the original state is assumed to be state 31 represented by the permutation (1,2,3,4,5). In this case, the next state candidates are (2,1,3,4,5), (4,2,3,1,5), (1,3,2,4,5), (1,4,3,2,5), (1,2,4,3,5), (1,2,3,5,4), (1,2,5,4,3), (1,5,3,4,2), and (5,2,3,4,1).

[0067] Among these, the state represented by the permutation (1,5,3,4,2) is equivalent to the state represented by (1,3,4,2). Similarly, the state represented by (5,2,3,4,1) is equivalent to the state represented by (2,3,4,1). The permutation (1,3,4,2) differs from the permutation (1,2,3,4) by three elements. In other words, the state of the permutation (1,3,4,2) is a state in which the values ​​of six state variables have changed from the state of the permutation (1,2,3,4). Similarly, the permutation (2,3,4,1) differs from the permutation (1,2,3,4) by four elements. In other words, the state of the permutation (2,3,4,1) is a state in which the values ​​of eight state variables have changed from the state of the permutation (1,2,3,4). Thus, by introducing redundant elements, it is possible to realize state transitions that involve more than four state variables, i.e., state transitions equivalent to multi-bit transitions.

[0068] In this way, by using the energy function E2, the search unit 20 can increase the number of candidates for the next transition state that satisfies the constraints for a certain state compared to using the energy function E1 corresponding to the original problem matrix, making it less likely to fall into a local solution. After performing a search for a solution based on the energy function E2 for a predetermined period of time, the search unit 20 outputs the solution with the lowest energy among the solutions obtained by the search, i.e., the first solution 40, to the processing unit 12.

[0069] The processing unit 12 stores the first solution 40 obtained from the search unit 20 in the storage unit 11. It is assumed that the first solution 40 is a state represented by the permutation (5, 2, 3, 4, 1), for example. The processing unit 12 extracts from the first solution 40 the 5 corresponding to the redundant element "5". 2 -4 2 A second solution 41 is generated by removing 9 state variables (= 1). The redundant element "5" is located at the beginning of the permutation (5, 2, 3, 4, 1). Therefore, for example, the processing unit 12 generates the second solution 41 by removing the 9 state variables belonging to the first row and the fifth column from the first solution 40. The second solution 41 corresponds to the permutation (2, 3, 4, 1). The second solution 41 is a solution to the permutation optimization problem represented by a total of 16 state variables in the original 4 rows and 4 columns.

[0070] As mentioned above, the search unit 20 may calculate the amount of change in energy for all transition destination candidates for a certain state in parallel, and randomly select one of those that satisfy the criteria of equation (5) or equation (6) as the next transition destination.

[0071] Furthermore, the position of the redundant element can be any position. The processing unit 12 may treat, for example, element "3" of the initial state permutation (1, 2, 3, 4, 5) as a redundant element. In this case, for example, all zeros are set in the third row and third column of problem matrix A expanded to 5 rows and 5 columns, and an energy function is defined. Alternatively, the processing unit 12 may treat, for example, element "5" of the initial state permutation (2, 3, 1, 5, 4) as a redundant element. In this case, for example, all zeros are set in the fourth row and fifth column of problem matrix A expanded to 5 rows and 5 columns, and an energy function is defined.

[0072] As described above, the information processing device 10 acquires problem information indicating M squared state variables corresponding to a permutation optimization problem. Based on the problem information, the M squared state variables are assigned (N 2 -M 2 ) (N is an integer greater than M) state variables are added, and information on the energy function E2 containing N squared state variables is generated and input to the search unit 20. The search unit 20 searches for a first solution by repeatedly performing a process of changing the values ​​of the four state variables according to the amount of change in the value of the energy function E2 when the values ​​of the four state variables are changed so as to satisfy the constraints that when the N squared state variables are arranged in N rows and N columns, the sum of the values ​​of the state variables contained in each row is 1 and the sum of the values ​​of the state variables contained in each column is 1. The first solution is represented by the values ​​of the N squared state variables. Then, the first solution obtained by the search unit 20 is acquired, and (N 2 -M 2 ) state variable values ​​are eliminated to generate a second solution to the permutation optimization problem.

[0073] This allows the information processing device 10 to improve its solution-finding performance. Specifically, the processing unit 12 increases the number of candidates for the next state for a given state by causing the search unit 20 to search for a solution based on the energy function E2. This makes it less likely that the search unit 20 will fall into a local solution.

[0074] In particular, if no state variables corresponding to redundant elements are introduced, when a local solution is reached, it is possible to escape from the local solution by performing a calculation in the search unit 20 to change the values ​​of more than four state variables at once. However, the more state variables that are changed at once, the more complex the calculation of the energy change amount and the local field becomes, and the higher the calculation cost becomes. For example, when the search unit 20 is implemented using an electronic circuit such as an FPGA, the complexity of the circuit for the calculation also becomes a problem.

[0075] In contrast, the information processing device 10 has the advantage that, by using the search unit 20 to perform state transitions based on the energy function E2 that introduces redundant elements, a wider variety of states can be selected as candidate transition destinations from a certain state simply by changing the values ​​of four state variables. By introducing redundant elements, the information processing device 10 can be considered to equivalently cause the search unit 20 to perform multi-bit transitions, which were impossible with existing mechanisms, that is, to simultaneously transition more than four state variables. In other words, the information processing device 10 can easily improve the solution-finding performance of the search unit 20 by utilizing the existing functions of the search unit 20. The functions of the information processing device 10 can be applied to permutation optimization problems, such as LOP, where only the order of permutation elements matters.

[0076] [Second embodiment] Next, a second embodiment will be described. FIG. 2 illustrates an example of hardware of an information processing apparatus according to the second embodiment.

[0077] The information processing device 100 searches for a solution to a combinatorial optimization problem using an MCMC method and outputs the searched solution. The information processing device 100 has a CPU 101, a RAM 102, a HDD (Hard Disk Drive) 103, a GPU 104, an input interface 105, a medium reader 106, a NIC (Network Interface Card) 107, and an accelerator card 108. The CPU 101 is an example of the processing unit 12 of the first embodiment. The RAM 102 or the HDD 103 is an example of the storage unit 11 of the first embodiment.

[0078] The CPU 101 is a processor that executes program instructions. The CPU 101 loads at least a portion of the programs and data stored in the HDD 103 into the RAM 102 and executes the programs. The CPU 101 may include multiple processor cores. The information processing device 100 may also have multiple processors. The processing described below may be executed in parallel using multiple processors or processor cores. A set of multiple processors may also be called a "multiprocessor" or simply a "processor."

[0079] The RAM 102 is a volatile semiconductor memory that temporarily stores programs executed by the CPU 101 and data used in calculations by the CPU 101. Note that the information processing device 100 may include a type of memory other than a RAM, or may include multiple memories.

[0080] The HDD 103 is a nonvolatile storage device that stores software programs such as an OS (Operating System), middleware, and application software, as well as data. Note that the information processing device 100 may also include other types of storage devices, such as a flash memory or an SSD (Solid State Drive), or may include multiple nonvolatile storage devices.

[0081] The GPU 104 outputs an image to a display 51 connected to the information processing device 100 in accordance with an instruction from the CPU 101. The display 51 may be any type of display, such as a CRT (Cathode Ray Tube) display, a liquid crystal display (LCD: Liquid Crystal Display), a plasma display, or an organic EL (OEL: Organic Electro-Luminescence) display.

[0082] The input interface 105 acquires an input signal from an input device 52 connected to the information processing device 100 and outputs the signal to the CPU 101. The input device 52 may be a pointing device such as a mouse, a touch panel, a touch pad, or a trackball, a keyboard, a remote controller, or a button switch. In addition, multiple types of input devices may be connected to the information processing device 100.

[0083] The medium reader 106 is a reading device that reads programs and data recorded on the recording medium 53. For example, a magnetic disk, an optical disk, a magneto-optical disk (MO: Magneto-Optical disk), a semiconductor memory, etc. can be used as the recording medium 53. Magnetic disks include flexible disks (FD: Flexible Disks) and HDDs. Optical disks include compact discs (CDs) and digital versatile discs (DVDs).

[0084] The medium reader 106 copies, for example, programs and data read from the recording medium 53 to another recording medium such as the RAM 102 or the HDD 103. The read programs are executed by, for example, the CPU 101. The recording medium 53 may be a portable recording medium, which may be used to distribute programs and data. The recording medium 53 and the HDD 103 may also be referred to as computer-readable recording media.

[0085] The NIC 107 is an interface that is connected to the network 54 and communicates with other computers via the network 54. The NIC 107 is connected to a communication device such as a switch or a router by a cable. The NIC 107 may also be a wireless communication interface.

[0086] The accelerator card 108 is a hardware accelerator that uses the MCMC method to search for a solution to a problem expressed by the Ising-type energy function of equation (1). The accelerator card 108 can be used as a sampler that samples states that follow the Boltzmann distribution at a given temperature by performing the MCMC method at a constant temperature or the replica exchange method, which exchanges the states of the Ising model between multiple temperatures. To solve combinatorial optimization problems, the accelerator card 108 performs annealing processes such as the replica exchange method or the SA method, which gradually lowers the temperature value.

[0087] The SA method is a method for efficiently finding an optimal solution by sampling a state that follows a Boltzmann distribution at each temperature value and decreasing the temperature value used for sampling from a high temperature to a low temperature, i.e., by increasing the inverse temperature β. Even on the low temperature side, i.e., when β is large, some state change occurs, increasing the likelihood of finding a good solution even if the temperature value is lowered quickly. For example, when the SA method is used, the accelerator card 108 repeatedly attempts state transitions at a constant temperature value a certain number of times and then lowers the temperature value.

[0088] The replica exchange method is a technique that independently executes the MCMC algorithm using multiple temperature values ​​and appropriately exchanges the temperature values ​​for the states obtained at each temperature value. Searching a narrow range of the state space using MCMC at low temperatures and then searching a wide range of the state space using MCMC at high temperatures allows for efficient discovery of a good solution. For example, when using the replica exchange method, the accelerator card 108 performs parallel state transition trials at multiple temperature values, and after each set number of trials, exchanges the temperature values ​​for the states obtained at each temperature value with a predetermined exchange probability.

[0089] The accelerator card 108 includes an FPGA 109. The FPGA 109 realizes a solution search function in the accelerator card 108. The solution search function may be realized by other types of electronic circuits, such as a GPU or an ASIC. The FPGA 109 includes a memory 109a. The memory 109a stores problem data used for search by the FPGA 109 and solutions searched by the FPGA 109. The memory 109a is, for example, an SRAM (Static Random Access Memory). The FPGA 109 may include multiple memories including the memory 109a. The FPGA 109 may include multiple memories including the memory 109a. Note that the accelerator card 108 may include a RAM external to the FPGA 109, and data stored in the memory 109a may be temporarily saved to the RAM in accordance with the processing of the FPGA 109.

[0090] A hardware accelerator that searches for a solution to an Ising-type problem, such as the accelerator card 108, is sometimes called an Ising machine or a Boltzmann machine. FIG. 3 is a diagram showing an example of bit flip control by 2-way 1-hot.

[0091] In combinatorial optimization problems, constraints called 2-Way 1-Hot constraints are sometimes imposed. A combinatorial optimization problem with 2-Way 1-Hot constraints is called a permutation optimization problem. 2-Way 1-Hot is abbreviated as 2W1H.

[0092] Here, the 1-hot constraint is a constraint that "in a set of state variables, there is only one variable whose value is 1." For example, in Figure 3, 2States variables x1, x2, …, xN (N is an integer of 4 or more) are shown in an N×N matrix. Groups g11, g12 are examples of groups of state variables corresponding to rows. Groups g21, g22 are examples of groups of state variables corresponding to columns. When imposing a 1-Hot constraint on the group of state variables corresponding to each row, the sum of the state variables in each row is 1. For example, the sum of the state variables belonging to group g11 is 1. Also, the sum of the state variables belonging to group g12 is 1. Alternatively, when imposing a 1-Hot constraint on the group of state variables corresponding to each column, the sum of the state variables in each column is 1. For example, the sum of the state variables belonging to group g21 is 1. The sum of the state variables belonging to group g22 is 1.

[0093] In 2W1H, in order to satisfy two 1-Hot constraints, the values of four state variables are changed at once. That is, it is a 4-bit flip as shown in Equation (7). i, j, k, l are a set of indices indicating the set of state variables to be flipped. Note that i < j < k < l. In FIG. 3, an example of a set of state variables corresponding to indices i, j, k, l is shown. In 2W1H, the number of state variables is N 2 and the state variables in each row of the N rows and each column of the N columns are grouped as groups with a 1-Hot constraint imposed. The energy change ΔE j at this time is represented by Equation (8). The change Δh m in the local field corresponding to the state variable x m is represented by Equation (9). m = 1, 2, …, N 2 is satisfied.

[0094] Hereinafter, as an example of a permutation optimization problem, LOP is given. However, the permutation optimization problem to be processed by the information processing apparatus 100 may be a permutation optimization problem other than LOP in which only the order relationship of permutation elements is a problem.

[0095] For example, the cost Cost E in LOP can be expressed as shown in Equation (19).

[0096]

Equation

[0097] Here, the variable x in equation (19) ik The value of is expressed by equation (20).

[0098]

number

[0099] The problem matrix A is expressed by equation (21). ij The matrix F that gives the above equation is expressed by equation (22). Here, in the matrix F of equation (22), all elements above the diagonal elements are −1, and all other elements are 0.

[0100]

number

[0101]

number

[0102] The energy function E of the Ising form that gives the cost E of equation (19) is expressed by equation (23).

[0103]

number

[0104] In equation (23), x is a state vector indicating the state of the Ising model. W in equation (23) is a weighting coefficient matrix calculated by equation (17). FIG. 4 is a diagram illustrating an example of the correspondence between states and permutations of the Ising model.

[0105] FIG. 4A shows an example of a state 61 of the Ising model when N=5. FIG. 4B shows a state 62 of the Ising model when N=5. Each of the states 61 and 62 has 25 state variables x1 to x 25The first row of the matrix shown in each of the states 61 and 62 is a group of state variables x1 to x5. The second row is a group of state variables x6 to x 10 The third line is the group of state variables x 11 ~x 15 The fourth line is the group of state variables x 16 ~x 20 The fifth line is the group of state variables x 21 ~x 25 The state variables are also grouped in the column direction.

[0106] In the example of state 61, the values ​​of the state variables for each group in the row direction are as follows: {x1, x2, x3, x4, x5} = {1, 0, 0, 0, 0}. {x6, x7, x8, x9, x 10}={0,1,0,0,0}. {x 11 ,x 12 ,x 13 ,x 14 ,x 15}={0,0,1,0,0}. {x 16 ,x 17 ,x 18 ,x 19 ,x 20}={0,0,0,1,0}. {x 21 ,x 22 ,x 23 ,x 24 ,x 25}={0,0,0,0,1}. In this case, state 61 is expressed as a permutation (1,2,3,4,5). As mentioned above, for example, the pth value q from the left of the permutation indicates that the element in the pth row and qth column from the left of the matrix represented by state 61, state 62, etc. is 1.

[0107] In the example of state 62, the values ​​of the state variables for each group in the row direction are as follows: {x1, x2, x3, x4, x5} = {0, 0, 0, 1, 0}. {x6, x7, x8, x9, x 10}={0,1,0,0,0}. {x 11 ,x 12 ,x 13 ,x 14 ,x 15}={0,0,1,0,0}. {x 16 ,x 17 ,x 18 ,x 19 ,x 20}={0,0,0,0,1}. {x 21 ,x 22 ,x 23 ,x 24 ,x 25}={1,0,0,0,0}. In this case, state 62 is represented as the permutation (4,2,3,5,1).

[0108] FIG. 5 is a diagram illustrating an example of functions of the information processing device. The information processing device 100 transitions the state of an Ising model so as to satisfy the 2W1H constraint, and efficiently solves a permutation optimization problem. The information processing device 100 has a search unit 110 and a control unit 120. The search unit 110 searches for a solution to the LOP using the SA method or the like. The control unit 120 controls the search unit 110. The search unit 110 is realized by an FPGA 109. The control unit 120 is realized by a CPU 101.

[0109] The search unit 110 has a weighting coefficient holding unit 111, a local field holding unit 112, a ΔE calculation unit 113, a determination unit 114, and a state holding unit 115. The weighting coefficient holding unit 111 and the local field holding unit 112 use memory 109a as a storage area for data.

[0110] The weighting coefficient storage unit 111 stores the weighting coefficient matrix W in the equation (1). The weighting coefficient storage unit 111 stores the weighting coefficient W in the local field storage unit 112 based on the index j supplied from the determination unit 114. mi ,W mj ,W mk ,W ml supply.

[0111] The local field storage unit 112 stores the local fields h1, h2, ..., h based on the equation (3). n The local field storage unit 112 stores four state variables x i ,x j ,x k ,x lIn response to a change in the value of h1, h2, ..., h2, the local fields h1, h2, ..., h2 are calculated by Equation (9) based on the weighting coefficient W stored in the weighting coefficient storage unit 111. n where n is the number of all state variables, and n=N 2 is.

[0112] The ΔE calculation unit 113 calculates the state variable x i ,x j ,x k ,x l The energy change ΔE when changing the value of j is calculated by equation (8). The ΔE calculation unit 113 may calculate a plurality of ΔEs in parallel for a plurality of state variables that are change candidates.

[0113] The determination unit 114 determines the four state variables x i ,x j ,x k ,x l If it is allowed, the determination unit 114 determines whether the change in the value of the four state variables x i ,x j ,x k ,x l The ΔE calculation unit 113 changes the value of ΔE and supplies the indexes i, j, k, and l to the weighting coefficient storage unit 111. When the ΔE calculation unit 113 calculates multiple ΔEs in parallel, the determination unit 114 selects one of multiple sets of four state variables whose values ​​are allowed to change, based on equation (6), and changes the values ​​of the four state variables belonging to the selected set.

[0114] The state holding unit 115 stores state variables (x1, x2, ..., x n The state holding unit 115 may hold the energy corresponding to the current state by accumulating the energy of the initial state by ΔE according to the state transition.

[0115] The control unit 120 generates information on an energy function in which a redundant element is introduced into the energy function corresponding to the original problem, and sets the information on the energy function in the search unit 110. For example, the control unit 120 converts the problem matrix A of M rows and M columns given as the LOP into N rows and N columns as in equation (18), and generates a weighting coefficient matrix W by using equation (17) on the converted problem matrix A. The converted problem matrix has N rows and N columns. In this case, the weighting coefficient matrix W calculated by equation (17) is N 2 Row N 2 The control unit 120 also calculates the M 2 For state variables (N 2 -M 2 ) state variables to 2 The control unit 120 generates information on the energy function into which the redundant elements have been introduced in this way, inputs this information to the search unit 110, and causes the search unit 110 to execute a search for a solution.

[0116] The control unit 120 acquires the solution obtained as a result of the search by the search unit 110, and calculates (N 2 -M 2 ) state variables are removed, and M 2 That is, the control unit 120 returns M 2 The control unit 120 generates a solution represented by the state variables as a solution to the given LOP. The control unit 120 outputs the generated solution.

[0117] For searching for a solution using 2W1H in the search unit 110, for example, JP 2021-157361 A can be used as a reference. FIG. 6 is a diagram illustrating an example of a method for adding redundant elements in an LOP.

[0118] As an example, if the original problem has 16 state variables x1 to x 16 The problem information D1 is represented by the problem matrix A and the state variables (x1,...,x 16 ) The problem matrix A is a 4-by-4 matrix.

[0119] The problem information D2 is the problem matrix A after adding redundant elements and the state variables (x1,...,x 25 ) is shown. The problem matrix A after adding the redundant elements is a matrix of 5 rows and 5 columns. Each element in the 5th row and each element in the 5th column of the problem matrix A after adding the redundant elements is 0. The problem matrix A after adding the redundant elements is called an extended matrix. The control unit 120 uses the extended matrix to generate the weighting coefficient matrix W by equation (17). In addition, the state variables x1 to x 25 are the original 16 state variables x1~x 16 The state variables added to the original state variables are called redundant variables.

[0120] FIG. 7 is a diagram illustrating an example of adding redundant variables. In the example of Figure 6, the 16 state variables x1 to x in the original problem 16 indicates state 71. For example, {x1,x2,x3,x4}={1,0,0,0}, {x5,x6,x7,x8}={0,1,0,0}, {x9,x 10 ,x 11 ,x 12}={0,0,1,0}, {x 13 ,x 14 ,x 15 ,x 16}={0,0,0,1}. In this case, state 71 is represented as the permutation (1,2,3,4).

[0121] In addition, the 25 state variables x1 to x2 after adding the redundant element "5" 25 indicates state 72. For example, {x1,x2,x3,x4,x5}={1,0,0,0,0}, {x6,x7,x8,x9,x 10}={0,1,0,0,0}, {x 11 ,x 12 ,x 13 ,x 14 ,x 15}={0,0,1,0,0}, {x 16 ,x 17 ,x 18 ,x 19 ,x 20}={0,0,0,1,0}, {x 21 ,x22 ,x 23 ,x 24 ,x 25}={0,0,0,0,1}. In this case, state 72 is represented as the permutation (1,2,3,4,5).

[0122] FIG. 8 is a diagram illustrating an example of how a solution is obtained by the control unit. For example, the control unit 120 sets the initial state to state 72 and causes the search unit 110 to search for a solution, i.e., execute an optimization process. Note that state 72 is equivalent to state 72a in which the redundant element "5" has been removed. The control unit 120 obtains state 73 from the search unit 110, in which optimization has been completed. State 73 corresponds to the solution obtained as a search result by the search unit 110.

[0123] Here, state 73 is {x1,x2,x3,x4,x5}={0,0,0,0,1}, {x6,x7,x8,x9,x 10}={0,1,0,0,0}, {x 11 ,x 12 ,x 13 ,x 14 ,x 15}={0,0,1,0,0}, {x 16 ,x 17 ,x 18 ,x 19 ,x 20}={0,0,0,1,0}, {x 21 ,x 22 ,x 23 ,x 24 ,x 25}={1,0,0,0,0}. In this case, the state 73 corresponds to the permutation (5,2,3,4,1). The control unit 120 extracts from the state 73 the nine state variables x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, 10 ,x 15 ,x 20 ,x 25 By removing the ,state 73a corresponds to the solution of the LOP to be solved.,State 73a corresponds to the permutation (2,3,4,1).

[0124] The permutations (2,5,3,4,1), (2,3,5,4,1), (2,3,4,5,1), and (2,3,4,1,5) are equivalent in energy to the permutation (5,2,3,4,1) containing the redundant element "5." Also, all of these permutations containing the redundant element "5" are equivalent to the permutation (2,3,4,1).

[0125] In this way, the control unit 120 generates the weighting coefficient matrix W using equation (17) for the extended matrix A of equation (18). Then, in the above permutation, regardless of the position of the redundant element "5" in a given sequence of elements "1, 2, 3, 4" other than the redundant element "5," the energy for the values ​​of the N squared state variables corresponding to the permutation is the same. For example, assume that the given sequence of elements "1, 2, 3, 4" other than the redundant element "5" is (2, 3, 4, 1). In this case, for example, as described above, the energy for the state of the permutation (5, 2, 3, 4, 1) in which the redundant element "5" is before the element "2" is the same as the energy for the state of the permutation (2, 5, 3, 4, 1) in which the redundant element "5" is between the elements "2, 3."

[0126] FIG. 9 is a diagram showing examples of state transition destination candidates depending on whether or not there is a redundant element. 9A shows a table T1 of a comparative example of state transition destination candidates when no redundant element is introduced, and FIG. 9B shows a table T2 of an example of state transition destination candidates when a redundant element is introduced.

[0127] The original state in table T1 corresponds to the permutation (1,2,3,4). The original state in table T2 corresponds to the permutation (1,2,3,4,5) in which a redundant element "5" is introduced into the permutation (1,2,3,4).

[0128] According to Table T1, the next state candidates for the original state permutation (1,2,3,4) are (2,1,3,4), (3,2,1,4), (4,2,3,1), (1,3,2,4), (1,4,3,2), and (1,2,4,3). The number of elements that differ from the original state permutation (1,2,3,4) for each of these candidates is two. In other words, if no redundant elements are introduced, the next state candidates are only states that can be reached by a 4-bit transition that changes the values ​​of four state variables from the original state.

[0129] In table T2, the candidates for the next state for the original state permutation (1,2,3,4,5) are listed as candidates for the case where redundant element "5" is moved, and other candidates are not shown. According to table T2, the candidates for the next state for the original state permutation (1,2,3,4,5) are (1,2,3,5,4), (1,2,5,4,3), (1,5,3,4,2), and (5,2,3,4,1).

[0130] The permutation (1,2,3,5,4) is equivalent to the permutation (1,2,3,4). The permutation (1,2,5,4,3) is equivalent to the permutation (1,2,4,3). The permutation (1,5,3,4,2) is equivalent to the permutation (1,3,4,2). The permutation (5,2,3,4,1) is equivalent to the permutation (2,3,4,1).

[0131] The permutation (1,2,3,4) differs from the original permutation (1,2,3,4) by 0 elements, which does not introduce redundant elements. The permutation (1,2,4,3) differs from the original permutation (1,2,3,4) by 2 elements. The permutation (1,3,4,2) differs from the original permutation (1,2,3,4) by 3 elements. The permutation (2,3,4,1) differs from the original permutation (1,2,3,4) by 4 elements.

[0132] In this case, the state represented by the permutation (1,3,4,2) is a state reached from the original state by a 6-bit transition that changes the values ​​of six state variables. Also, the state represented by the permutation (2,3,4,1) is a state reached from the original state by an 8-bit transition that changes the values ​​of eight state variables. In this way, by introducing a redundant element into the permutation, the control unit 120 can operate the search unit 110 in a trial mechanism that swaps two elements in an existing permutation, and can search for a state that is equivalent to a transition destination state that is 4 bits or more away.

[0133] For example, it is possible to set the element "5" as a redundant element in the initial permutation (2, 3, 1, 5, 4). In this case, the control unit 120 sets all elements in the fourth row and fifth column to 0 in the problem matrix A expanded to five rows and five columns.

[0134] Next, the processing procedure of the information processing device 100 will be described. FIG. 10 is a flowchart illustrating an example of processing by the information processing device. (S10) The control unit 120 generates an extended matrix A based on the input problem information. The control unit 120 also adds redundant variables to the set of state variables indicated by the problem information. The control unit 120 calculates a weighting coefficient matrix W using the extended matrix A, and generates information on an energy function related to the weighting coefficient matrix W and the set of state variables to which the redundant variables have been added. The control unit 120 inputs the information on the energy function to the search unit 110, and starts searching for a solution based on the energy function.

[0135] (S11) The search unit 110 performs a 2W1H operation to search for a solution using the SA method, the replica exchange method, etc. When the search is completed, the search unit 110 outputs the solution with the lowest energy obtained by the search to the control unit 120.

[0136] (S12) The control unit 120 generates a solution to the permutation optimization problem related to the input problem information by removing redundant variables corresponding to redundant elements from the solution acquired from the search unit 110. The control unit 120 outputs the generated solution. Then, the processing of the information processing device 100 ends.

[0137] As described above, the control unit 120 can improve the solution-finding performance of the search unit 110 by introducing redundant elements. That is, the control unit 120 can increase the number of candidates for the next state for a given state in the search by the search unit 110. This makes it less likely that the search unit 110 will fall into a local solution.

[0138] In particular, if no state variables corresponding to redundant elements are introduced, when a local solution is reached, it is possible to escape from the local solution by performing a calculation in the search unit 110 to change the values ​​of more than four state variables at once. However, the more state variables that are changed at once, the more complex the calculation of the energy change amount and the local field becomes, and the higher the calculation cost becomes. For example, when the search unit 110 is implemented using an electronic circuit such as an FPGA, the complexity of the circuit for the calculation also becomes a problem.

[0139] In contrast, the control unit 120 causes the search unit 110 to perform state transitions based on an energy function that introduces redundant elements, thereby enabling a wider variety of states to be selected as candidate transition destinations from a certain state simply by changing the values ​​of four state variables. By introducing redundant elements, the control unit 120 can be considered to equivalently cause the search unit 110 to perform multi-bit transitions, which were not possible with existing mechanisms, that is, to simultaneously transition more than four state variables. In this way, the information processing device 100 can easily improve the solution-finding performance of the search unit 110 by utilizing the existing functions of the search unit 110.

[0140] [Third embodiment] Next, a third embodiment will be described. Differences from the second embodiment will be mainly described, and explanations of common features will be omitted.

[0141] In the third embodiment, the information processing device 100 makes the number of redundant elements introduced into a permutation variable. FIG. 11 is a flowchart illustrating an example of processing performed by the information processing apparatus according to the third embodiment.

[0142] (S20) The control unit 120 generates an extended matrix A based on the input problem information. The control unit 120 also adds k redundant variables to the set of state variables indicated by the problem information. The extended matrix is ​​generated according to the number of redundant elements of the permutation introduced by adding the redundant variables. For example, when adding redundant variables such that two redundant elements are added to the end of the permutation, in the LOP, two rows and two columns whose values ​​are all 0 are added to the end of the original problem matrix A. For example, the control unit 120 initially sets the number of redundant variables to be added to 0, and thereafter increases the value of k each time step S20 is executed.

[0143] The control unit 120 calculates the weighting coefficient matrix W using the extended matrix A, and generates information about an energy function related to the weighting coefficient matrix W and the set of state variables to which redundant variables have been added. The control unit 120 inputs the information about the energy function to the search unit 110, and causes the search unit 110 to start searching for a solution based on the energy function.

[0144] (S21) The search unit 110 performs a 2W1H operation to search for a solution using the SA method, the replica exchange method, etc. When the search is completed, the search unit 110 outputs the solution with the lowest energy obtained by the search to the control unit 120.

[0145] (S22) The control unit 120 determines whether or not the variable k has been changed a specified number of times. If the variable k has been changed a specified number of times, the process proceeds to step S23. If the variable k has not been changed a specified number of times, the process proceeds to step S20.

[0146] (S23) The control unit 120 generates a solution to the permutation optimization problem related to the input problem information by removing redundant variables from the solution with the lowest energy among the solutions obtained from the search unit 110. The control unit 120 outputs the generated solution. Then, the processing of the information processing device 100 ends.

[0147] In this way, the control unit 120 can gradually increase the value of N by adding k redundant variables. For example, when adding k redundant variables so that the state variable is N rows and N columns, k = 2N - 1. Therefore, when k redundant variables are added, N = (k + 1) / 2. Thus, the control unit 120 can gradually increase the value of N, cause the search unit 110 to perform solution search for each value of N, remove redundant variables from the best solution obtained by the search unit 110, and obtain the final solution.

[0148] Note that the control unit 120 can obtain the minimum energy obtained by executing step S21 for a certain period of time, and in step S22, it may select to increase or decrease k according to whether the minimum energy has been improved from those obtained so far.

[0149] For example, let the minimum energy obtained when step S21 is first executed with k = 0 be E(0). Next, let the minimum energy obtained when step S21 is executed after increasing the number of redundant variables by k for the first time be E(1). If E(1) < E(0) in step S21, that is, in the case of improvement, the control unit 120 further increases k even in the subsequent times, adds k redundant variables and tries. Then, when E(n + 1) > E(n) in step S22, the control unit 120 may proceed to step S23. In this case, the control unit 120 generates the final solution by removing redundant variables from the solution corresponding to E(n).

[0150] In this way, the information processing apparatus 100 can increase the possibility of exploring various states and improve the solution search performance of the search unit 110 by making the number of redundant elements introduced into the permutation variable. [Fourth Embodiment] Next, the fourth embodiment will be described. Mainly, matters different from the foregoing second and third embodiments will be described, and descriptions of common matters will be omitted.

[0151] FIG. 12 is a diagram showing an example of a redundant variable flag in the fourth embodiment. As an example, let us consider the case where one redundant element "5" is added to a four-element permutation (1,2,3,4). In the initial state, the redundant element "5" is added to the end of the permutation. In other words, the permutation (1,2,3,4) is expanded to become (1,2,3,4,5). At this time, the formula is formulated so that there is no difference in energy between the two. For example, in the case of LOP, if it is expanded as shown in Figure 6, the energy difference will not occur.

[0152] Also, the state variables include the original state variables (x1, x2, ..., x 16 ), the redundant variables (x 17 ,x 18 ,…,x 25 ) is added. The state 80 is represented by a 5-by-5 ​​matrix of 25 state variables. In the state 80, the first row is x1 to x5, the second row is x6 to x 10 , the third line is x 11 ~x 15 , the fourth line is x 16 ~x 20 , the fifth line is x 21 ~x 25 This becomes:

[0153] At this time, the value of the redundant variable flag is assigned so that it is clear where in the sequence the redundant element "5" is located. Redundant variable flag information 90 (=flag1) indicates the value of the redundant variable flag of each state variable at the initial stage.

[0154] Due to the state transition by the search unit 110, the redundant element "5" moves, resulting in, for example, a state of permutation (3, 5, 2, 1, 4). The redundant variable flag information 90a (=flag2) indicates the value of the redundant variable flag of each state variable at this time.

[0155] FIG. 13 is a diagram showing an example of a redundant variable flag when there are multiple redundant elements. A state 81 indicates the initial state represented by the permutation (1, 2, 3, 4, 5, 6) in which redundant elements "5" and "6" are added to the permutation (1, 2, 3, 4).

[0156] The redundant variable flag information 91 indicates the value of the redundant variable flag of each state variable corresponding to the state 81. The redundant variable flag information 91 manages a plurality of redundant elements in the permutation. FIG. 14 is a diagram illustrating an example of state transition.

[0157] 14(A) shows state 82 after a transition from state 81. State 82 corresponds to the permutation (1, 2, 3, 4, 6, 5). The state transition from state 81 to state 82 is a transition equivalent to the replacement of redundant elements "5" and "6," and is a meaningless transition. This is because there is no change in the sequence (1, 2, 3, 4) after removing the redundant elements "5" and "6" from the permutation (1, 2, 3, 4, 6, 5).

[0158] Figure 14(B) shows state 83 after a transition from state 81. State 83 corresponds to the permutation (6,2,3,4,5,1). The state transition from state 81 to state 83 is a transition equivalent to the replacement of redundant elements "1" and "6," and is a meaningful transition. This is because the sequence (2,3,4,1) obtained by removing redundant elements "5" and "6" from the permutation (6,2,3,4,5,1) has changed from the original sequence (1,2,3,4).

[0159] Therefore, the information processing device 100 performs control to suppress meaningless transitions in the search unit 110 based on the redundant variable flag information 91.

[0160] FIG. 15 is a diagram illustrating an example of functions of the information processing device. In the fourth embodiment, the local field storage unit 112 stores the local fields h1, h2, . . . , h n along with the state variables x1,x2,…,x n For redundant variable flags f1,f2,…,f n The second embodiment differs from the first embodiment in that the ΔE calculation unit 113 has a redundant variable determination unit 113a. The redundant variable determination unit 113a determines whether the redundant variable flags f1, f2, ..., f nBased on the above, it is determined whether the state variable corresponding to each index is a redundant variable. n The value of the redundant variable flags f1, f2, ..., f is updated according to the state transition so that the value of the redundant variable corresponding to the redundant element is 1 and the other values ​​are 0. n The value of may be updated by the local field storage unit 112 or by the determination unit 114.

[0161] Next, a processing procedure of the information processing device 100 based on the redundant variable flag will be described. FIG. 16 is a flowchart illustrating an example of processing by the search unit. It is assumed that the search unit 110 uses the SA method to search for a solution.

[0162] (S30) The control unit 120 initializes the search unit 110. The control unit 120 generates information on an energy function into which a plurality of redundant elements have been introduced based on the input problem information, and inputs the information to the search unit 110.

[0163] (S31) The determination unit 114 sets the temperature value T used in equation (6). When step S31 is executed for the first time, the determination unit 114 sets the initial temperature value to the temperature value T. When step S31 is executed for the second or subsequent time, the determination unit 114 sets the temperature value T to a value lower than the previous value.

[0164] (S32) The ΔE calculation unit 113 calculates the state variable x whose current value is 0. j The index j of the state variable x is determined. The index j may be selected randomly or sequentially. The ΔE calculation unit 113 calculates the indices i, k, and l of the three state variables to be flipped from the index j. i = 1 and x l =1.

[0165] (S33) The redundant variable determination unit 113a determines the redundant variable flag f corresponding to the indexes i and l. i ,f l Read out. (S34) The redundant variable determination unit 113a checks the two redundant variable flags f i ,f l Determine whether at least one of the two redundant variable flags f i ,f l If at least one of the two redundant variable flags f is 0, the process proceeds to step S35. i ,f l If neither of the state variables x is 0, that is, if both are 1, the process proceeds to step S32. i ,x l If both of the redundant variable flags = 1, then index j is selected again.

[0166] (S35) The ΔE calculation unit 113 calculates ΔE based on the equation (8) and supplies the result to the determination unit 114. The determination unit 114 determines the four state variables x i ,x j ,x k ,x l If it is allowed, the state variable x i ,x j ,x k ,x l In addition, the determination unit 114 outputs the index j to the weighting coefficient holding unit 111 and updates the value of the weighting coefficient (W mi ,W mj ,W mk ,W ml ) to the local field storage unit 112. The local field storage unit 112 updates each local field based on equation (9).

[0167] (S36) The ΔE calculation unit 113 calculates the change candidate variable x a specified number of times. j Determine whether or not the variable x has been selected. j If the variable x is selected, the process proceeds to step S37. j If not, the process proceeds to step S32.

[0168] (S37) The judgment unit 114 judges whether or not the temperature value T has been lowered the specified number of times. If the temperature value T has not been lowered the specified number of times, the process proceeds to step S31. If the temperature value T has been lowered the specified number of times, the search unit 110 outputs the obtained solution with the lowest energy to the control unit 120 and ends the process. In this case, the control unit 120 generates and outputs a solution obtained by removing redundant variables corresponding to redundant elements from the solution output by the search unit 110.

[0169] Here, state transitions due to the replacement of redundant elements are meaningless transitions that do not involve the movement of elements other than the redundant elements, and are therefore unnecessary processing. Therefore, by suppressing transitions due to the replacement of redundant elements as described above, the information processing device 100 can prevent meaningless transitions and speed up solution-finding.

[0170] 16 shows an example in which the SA method is executed, but the search unit 110 may also execute a replica exchange method. In this case, the temperature value setting in step S31 may be performed by exchanging temperature values ​​between replicas. Furthermore, the determination in step S37 may be made based on, for example, whether or not the temperature values ​​have been exchanged a specified number of times.

[0171] As described above, the information processing device 100 executes, for example, the following process. The control unit 120 calculates the permutation optimization problem by dividing the M squared state variables (N 2 -M 2 ) state variables are added to generate information on a first energy function including N squared state variables. The control unit 120 inputs the information on the first energy function to the search unit 110. The search unit 110 repeatedly performs a process of changing the values ​​of the four state variables according to the amount of change in the value of the energy function when the values ​​of the four state variables are changed so as to satisfy the 2W1H constraint. The control unit 120 acquires a first solution expressed by the values ​​of N squared state variables obtained by the search unit 110 based on the first energy function. The control unit 120 subtracts (N 2 -M 2) state variable values ​​to generate a second solution to the permutation optimization problem.

[0172] As a result, the information processing device 100 can realize multi-bit transitions, which are substantially more than 4-bit transitions, using the existing 4-bit transition mechanism by the search unit 110, thereby improving solution-finding performance. Furthermore, existing hardware that simultaneously performs 4-bit transitions can be used in the search unit 110, thereby easily improving the solution-finding performance of the search unit 110. The function of the control unit 120 of the information processing device 100 may be realized by the CPU 101 executing a program stored in the RAM 102. A processor including an arithmetic circuit such as the CPU 101 is an example of the processing unit 12 of the first embodiment. Furthermore, the search unit 110 can be realized by a coprocessor including an arithmetic circuit such as the FPGA 109 or a GPU.

[0173] More specifically, the values ​​of the N squared state variables represent a permutation of multiple elements. 2 -M 2 ) state variables. The control unit 120 generates a weighting coefficient matrix based on the problem matrix included in the problem information so that the value of the first energy function for the values ​​of the N squared state variables corresponding to the permutation is the same regardless of the position of the redundant element in the given arrangement of elements other than the redundant element in the permutation. The weighting coefficient matrix indicates the weights for each pair of two state variables out of the N squared state variables. The weights included in the weighting coefficient matrix are used to calculate the amount of change in the value of the first energy function, as shown in equation (2).

[0174] In this way, the information processing device 100 can realize multi-bit transitions, which are actually more than 4-bit transitions, by introducing redundant elements into the permutation indicating the states represented by N squared state variables, using the existing 4-bit transition mechanism, thereby improving the solution-finding performance. Note that, in generating the second solution, the control unit 120 uses (N 2 -M 2 ) state variables can be removed.

[0175] For example, the control unit 120 acquires a problem matrix with M rows and M columns included in the problem information. The control unit 120 converts the problem matrix to N rows and N columns by inserting a row and a column in which all elements are 0 as a new row that becomes the Kth row (K is a natural number less than or equal to N) and a new column that becomes the Lth column (L is a natural number less than or equal to N) when the problem matrix is ​​converted to N rows and N columns. The control unit 120 generates a weighting coefficient matrix used to calculate the amount of change in the value of the first energy function based on the problem matrix converted to N rows and N columns. The control unit 120 also sets the initial value of the state variable in the Kth row and Lth column when N squared state variables are arranged in N rows and N columns to 1.

[0176] This allows the information processing device 100 to easily include in the first energy function state variables corresponding to redundant elements in a permutation indicating a state represented by N squared state variables, that is, redundant variables.

[0177] Furthermore, the control unit 120 may sequentially increase the value of N and acquire the first solution obtained by the search unit 110 for each value of N, and the energy of the first solution calculated based on the first energy function. After changing the value of N a predetermined number of times, the control unit 120 may generate a second solution based on the first solution with the best energy among the multiple first solutions acquired from the search unit 110. Alternatively, when the energy of the first solution obtained for the current value of N is worse than the energy of the first solution obtained for the previous value of N, the control unit 120 may generate a second solution based on the first solution obtained for the previous value of N.

[0178] This increases the possibility that the information processing device 100 will find more diverse solutions, thereby improving solution-finding performance. For example, in the case of a problem of minimizing energy, the best energy solution is the solution with the smallest energy among multiple first solutions. In this case, the energy is worsened when the energy of the first solution obtained this time is greater than the energy of the first solution obtained last time.

[0179] The information processing device 100 further includes a search unit 110. The search unit 110 may set a flag for each of the N squared state variables, which flag identifies the position of each of the multiple redundant elements in the permutation of multiple elements indicated by the values ​​of the N squared state variables arranged in N rows and N columns. The redundant elements are determined by the control unit 120 (N 2 -M 2 ) state variables. Based on the flags corresponding to the N squared state variables, the search unit 110 may omit processing for changes in the values ​​of the four state variables corresponding to the replacement of two redundant elements in the permutation.

[0180] This allows the information processing device 100 to suppress state transition attempts corresponding to the replacement of two redundant elements in the permutation, and prevents meaningless processing from being performed in the search unit 110. As a result, the information processing device 100 can eliminate unnecessary processing in the search unit 110 and further improve solution performance. The redundant variable flag is an example of the above flag.

[0181] The functions of the information processing device 100 can be applied to a permutation optimization problem such as LOP, in which only the order of permutation elements matters. The information processing of the first embodiment can be realized by causing the processing unit 12 to execute a program. The information processing of the second embodiment can be realized by causing the CPU 101 to execute a program. The program can be recorded on a computer-readable recording medium 53.

[0182] For example, the program can be distributed by distributing recording medium 53 on which the program is recorded. Alternatively, the program may be stored in another computer and distributed via a network. For example, a computer may store (install) a program recorded on recording medium 53 or a program received from another computer in a storage device such as RAM 102 or HDD 103, and then read and execute the program from the storage device. [Explanation of symbols]

[0183] 10. Information processing equipment 11 Storage section 12 Processing section 20 Exploration Department 30,31 Status 40 First Solution 41 Second Solution

Claims

1. In an information processing device used to obtain a solution to a permutation optimization problem represented by an energy function of an Ising model, a storage unit that stores problem information indicating M (M is an integer equal to or greater than 3) squared state variables in the permutation optimization problem; Based on the problem information, the M squared state variables are 2 -M 2 ) (N is an integer greater than M) state variables are added to generate information on a first energy function including N squared state variables; inputting information about the first energy function into a search unit that repeatedly performs a process of changing values ​​of the four state variables in accordance with an amount of change in the value of the energy function when the values ​​of the four state variables are changed so as to satisfy a constraint that when the N squared state variables are arranged in N rows and N columns, the sum of the values ​​of the state variables included in each row is 1 and the sum of the values ​​of the state variables included in each column is 1; acquiring a first solution obtained by the search unit based on the first energy function and expressed by values ​​of the N squared state variables; From the first solution (N 2 -M 2 a processor that generates a second solution to the permutation optimization problem by eliminating values ​​of the state variables; An information processing device having the above.

2. the values ​​of the N squared state variables indicate a permutation of a plurality of elements, The permutation is added (N 2 -M 2 ) state variables, the processing unit generates, based on a problem matrix included in the problem information, a weight coefficient matrix indicating weights for each pair of two state variables among the N squared number of state variables used in calculating a change in value of the first energy function so that a value of the first energy function for values ​​of the N squared number of state variables corresponding to the permutation is the same regardless of the position of the redundant element in the fixed arrangement of elements other than the redundant element in the permutation; 2. The information processing device according to claim 1.

3. The processing unit a problem matrix having M rows and M columns included in the problem information is converted into an N row and N column by inserting a row and a column in which all elements are 0 as a new K-th row (K is a natural number equal to or less than N) and a new L-th column (L is a natural number equal to or less than N) when the problem matrix is ​​converted into an N row and N column, and a weight coefficient matrix indicating weights for each pair of two state variables out of the N squared state variables is generated based on the problem matrix converted into an N row and N column, the weight coefficient matrix being used in calculating the amount of change in the value of the first energy function; When the N squared state variables are arranged in N rows and N columns, the initial value of the state variable in the Kth row and Lth column is set to 1.

2. The information processing device according to claim 1.

4. The processing unit The value of N is successively increased, and the first solution obtained by the search unit and the energy of the first solution calculated based on the first energy function are acquired for each value of N; When the value of N is changed a predetermined number of times, the second solution is generated based on the first solution having the best energy among the plurality of first solutions acquired from the search unit.

2. The information processing device according to claim 1.

5. The processing unit The value of N is successively increased, and the first solution obtained by the search unit when N is set to each value and the energy of the first solution calculated based on the first energy function are acquired; generating the second solution based on the first solution obtained for the previous value of N when the energy of the first solution obtained for the current value of N is worse than the energy of the first solution obtained for the previous value of N; 2. The information processing device according to claim 1.

6. The apparatus further includes the search unit, Among the permutations of the plurality of elements represented by the values ​​of the N squared state variables arranged in the N rows and N columns, (N 2 -M 2 a flag for each of the N state variables that identifies the position in the permutation of each of the redundant elements inserted into the permutation by adding the N state variables; omitting processing for changes in the values ​​of the four state variables corresponding to substitution of two redundant elements in the permutation based on the flags corresponding to each of the N squared state variables; 2. The information processing device according to claim 1.

7. In an information processing method used to obtain a solution to a permutation optimization problem represented by an energy function of an Ising model, an information processing device comprises: acquiring problem information indicating M (M is an integer equal to or greater than 3) squared state variables in the permutation optimization problem; Based on the problem information, the M squared state variables are 2 -M 2 ) (N is an integer greater than M) state variables are added to generate information on a first energy function including N squared state variables; inputting information about the first energy function into a search unit that repeatedly performs a process of changing values ​​of the four state variables in accordance with an amount of change in the value of the energy function when the values ​​of the four state variables are changed so as to satisfy a constraint that when the N squared state variables are arranged in N rows and N columns, the sum of the values ​​of the state variables included in each row is 1 and the sum of the values ​​of the state variables included in each column is 1; acquiring a first solution obtained by the search unit based on the first energy function and expressed by values ​​of the N squared state variables; From the first solution (N 2 -M 2 generating a second solution to the permutation optimization problem by eliminating values ​​of the state variables; Information processing methods.

8. In a program used to obtain a solution to a permutation optimization problem represented by an energy function of an Ising model, acquiring problem information indicating M (M is an integer equal to or greater than 3) squared state variables in the permutation optimization problem; Based on the problem information, the M squared state variables are 2 -M 2 ) (N is an integer greater than M) state variables are added to generate information on a first energy function including N squared state variables; inputting information about the first energy function into a search unit that repeatedly performs a process of changing values ​​of the four state variables in accordance with an amount of change in the value of the energy function when the values ​​of the four state variables are changed so as to satisfy a constraint that when the N squared state variables are arranged in N rows and N columns, the sum of the values ​​of the state variables included in each row is 1 and the sum of the values ​​of the state variables included in each column is 1; acquiring a first solution obtained by the search unit based on the first energy function and expressed by values ​​of the N squared state variables; From the first solution (N 2 -M 2 generating a second solution to the permutation optimization problem by eliminating values ​​of the state variables; A program that executes a process.

Citation Information

Patent Citations

  • Planning device and planning method

    JP1997160981A

  • Optimization device and optimization method

    JP2021157361A

  • Optimization of a quantum circuit by inserting swap gates

    US20200242295A1