Optimization function conversion device, optimization function solution device, optimization function conversion method, and program
The method stabilizes Ising machine solutions by distributing variables and adjusting coefficients, addressing limitations in coefficient range and distribution for consistent and efficient problem-solving.
Patent Information
- Application Number
- JP2024530156
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-06-29
- Publication Date
- 2025-12-23
- Estimated Expiration
- 2042-06-29
Smart Images

Figure 0007790568000022 
Figure 0007790568000023 
Figure 0007790568000024
Abstract
Description
[Technical Field]
[0001] The present invention relates to a technique for solving an optimization function in order to solve a combinatorial optimization problem using a quantum computer. [Background technology]
[0002] It is said that it is difficult for the currently widely used von Neumann computers to efficiently solve combinatorial optimization problems. Therefore, in recent years, research and development has been progressing on quantum annealing machines and Ising machines, which are computers that can solve combinatorial optimization problems more efficiently than von Neumann computers (see Non-Patent Document 1).
[0003] Quantum annealing machines and Ising machines take as input an optimization function that represents a combinatorial optimization problem and can quickly calculate its solution. Here, the optimization function that is input to a quantum annealing machine is expressed as a QUBO (Quadratic Unconstrained Binary Optimization), specifically a multivariate quadratic polynomial for variables that take on values of 1 or 0. On the other hand, the optimization function that is input to an Ising machine is expressed as an Ising Hamiltonian, specifically a multivariate quadratic polynomial for variables that take on values of +1 or -1. Note that optimization functions expressed as a QUBO and those expressed as an Ising Hamiltonian can be converted into each other. [Prior art documents] [Non-patent literature]
[0004] [Non-Patent Document 1] NTT Basic Research Laboratories, “LASOLV: A New Coherent Ising Machine for Solving Combinatorial Optimization Problems Using Light,” NTT R&D Website, Research & Activity, [online], [Retrieved June 16, 2022], Internet<URL: https: / / www.rd.ntt / research / CT99-334.html> Summary of the Invention [Problem to be solved by the invention]
[0005] When solving a combinatorial optimization problem using an Ising machine, as described above, the problem needs to be expressed using the Ising Hamiltonian. However, some Ising machines have a limited range of polynomial coefficients. Furthermore, with some Ising machines, whether a solution can be obtained depends on the distribution trend of the polynomial coefficients, such as when the absolute values of the polynomial coefficients are close. Furthermore, with some Ising machines, whether a solution can be obtained depends on the number of nonzero coefficients contained in the polynomial or the distribution of the number of nonzero coefficients of a specific variable contained in the polynomial. In other words, whether a solution to the optimization function can be found depends on the implementation of the Ising machine, and there is a problem in that the solution to the optimization function cannot be stably found.
[0006] Therefore, an object of the present invention is to provide a technique for stabilizing the solution of an optimization function expressed as an Ising Hamiltonian. [Means for solving the problem]
[0007] One aspect of the present invention is to provide a variable generation unit that selects one or more variables from the M variables and generates two or more variables for each of the selected variables, where M is an integer of 2 or more and f is an optimization function expressed as an Ising Hamiltonian for M variables, and ij s i s j (i, j are indices with values between 0 and M-1, s i , s jis a variable, a ij is i s j where i and j are different integers, a ij is any real number including 0), then s i , s j If is the selected variable, then s i 0 , s i 1 , …, s i N_i-1 (However, N i is an integer greater than or equal to 2) into variable s i The variables generated for s j 0 , s j 1 , …, s j N_j-1 (However, N j is an integer greater than or equal to 2) into variable s j Let the variables generated for ij s i s j the second-order term Σ 0≦n_i<N_i, 0≦n_j<N_j α n_in_j s i n_i s j n_j (However, a ij =Σ 0≦n_i<N_i, 0≦n_j<N_j α n_in_j (where s i are the variables that were not selected, and s j If is the selected variable, then s j 0 , s j 1 , …, s j N_j-1 (However, N j is an integer greater than or equal to 2) into variable s j Let the variables generated for ij s i s j the second-order term Σ 0≦n_j<N_j α n_j s i s j n_j (However, a ij =Σ 0≦n_j<N_j α n_jholds) and the first-order term b j s j (j is an index that takes a value between 0 and M-1, and s j is a variable, b j is j where b represents the coefficient of j is any real number including 0), then s j If is the selected variable, then s j 0 , s j 1 , …, s j N_j-1 (However, N j is an integer greater than or equal to 2) into variable s j Let the variable be generated for the first-order term b j s j the first-order term Σ 0≦n_j<N_j β n_j s j n_j (However, b j =Σ 0≦n_j<N_j β n_j holds) and the variable s j (j is an index that takes values between 0 and M-1 inclusive), j If is the selected variable, then s j 0 , s j 1 , …, s j N_j-1 (However, N j is an integer greater than or equal to 2) into variable s j Let the generated variables be s j 0 , s j 1 , …, s j N_j-1 The quadratic term Σ is minimized when the values of are all +1 or all -1. 0≦n_i<n_j<N_j gamma n_in_j s j n_i s j n_jas a constraint term, and generates an optimization function g expressed as an Ising Hamiltonian from the optimization function f by adding the constraint term to the optimization function f. [Effects of the Invention]
[0008] According to the present invention, it is possible to stabilize the solution of an optimization function expressed as an Ising Hamiltonian. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 10 is a diagram illustrating an example of coefficients αn_j and βn_j when a variable sj is distributed into four variables sj0, sj1, sj2, and sj3. [Figure 2] FIG. 10 is a diagram showing an example of finding a solution when the signs of variables s1 0, s1 1, and s1 2 are consistent. [Figure 3] FIG. 10 is a diagram showing an example of finding a solution when the signs of variables s1 0, s1 1, and s1 2 are not the same. [Figure 4] FIG. 10 is a diagram showing an example of finding a solution when the signs of variables s1 0, s1 1, and s1 2 are not the same. [Figure 5] FIG. 10 is a diagram showing an example of finding a solution when the signs of variables s1 0, s1 1, and s1 2 are not the same. [Figure 6] FIG. 10 is a diagram illustrating an example of the coefficient αn_in_j when the variable si is distributed into two variables si0 and si1, and the variable sj is distributed into three variables sj0, sj1, and sj2. [Figure 7] FIG. 10 is a diagram showing an example of finding a solution when the signs of variables s0 0 and s0 1 and the signs of variables s1 0, s1 1 and s1 2 are the same. [Figure 8] FIG. 10 is a diagram showing an example of finding a solution when the sign of variable s00 is different from the sign of variable s01, and the signs of variables s10 and s11 are different from the sign of variable s12. [Figure 9] FIG. 1 is a block diagram showing the configuration of an optimization function transformation device 100. [Figure 10] 1 is a flowchart showing the operation of the optimization function transformation device 100. [Figure 11] FIG. 2 is a block diagram showing the configuration of an optimization function solving device 200. [Figure 12] 4 is a flowchart showing the operation of the optimization function solving device 200. [Figure 13] FIG. 2 is a diagram illustrating an example of the functional configuration of a computer that realizes each device according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, an embodiment of the present invention will be described in detail. Note that components having the same functions are given the same numbers and redundant explanations will be omitted.
[0011] Before describing each embodiment, the notation used in this specification will be explained.
[0012] ^ (caret) represents a superscript, e.g., x y^z Yes z is a superscript to x, and x y^z Yes z is a subscript to x. Also, _ (underscore) represents a subscript. For example, x y_z Yes z is a superscript to x, and x y_z Yes z is a subscript to x.
[0013] The superscripts "^" and "~" such as ^x and ~x for a certain letter x should be written directly above the "x", but due to restrictions on the notation in the specification, they are written as ^x and ~x.
[0014] <Technical background> Hereinafter, the optimization function expressed by the Ising Hamiltonian will be simply referred to as the optimization function.
[0015] (1: How to convert optimization functions) In an embodiment of the present invention, any optimization function is converted into an equivalent optimization function with different coefficients. Here, two optimization functions are equivalent if they are expressions of the same combinatorial optimization problem.
[0016] In the method for converting an optimization function according to an embodiment of the present invention, N is an integer equal to or greater than 2, and N variables s are converted for one variable s. 0 , s 1 , …, s N-1 (Hereafter, we define the variable s as the variable s 0 , s 1 , …, s N-1 The variable s is called the distribution target variable), and all terms including the variable s are distributed to the variable s 0 , s 1 , …, s N-1 In this case, we replace the variable s 0 , s 1 , …, s N-1 Variable s in terms containing 0 Coefficient of variable s 1 Coefficients of, …, variable s N-1 The sum of the coefficients of the terms containing the variable s is equal to the coefficient of the term containing the variable s. In this case, for a term containing the variable s whose coefficient is zero, for example, when no first-order term with respect to the variable s is included, the sum of the coefficients of the terms containing the variable s is equal to the coefficient of the term containing the variable s. 0 , s 1 , …, s N-1 Variable s in terms containing 0 Coefficient of variable s 1 Coefficients of, …, variable s N-1 The sum of the coefficients of the variables s 0 Coefficient of variable s 1 Coefficients of, …, variable s N-1 It is advisable to ensure that all of the coefficients of are not zero. This allows us to change the number and distribution of non-zero coefficients in the optimization function.
[0017] Also, the variable s 0 , s 1 , …, s N-1 Variable s in terms containing 0 Coefficient of variable s1 Coefficients of, …, variable s N-1 As can be seen from the fact that the sum of the coefficients of the terms containing the variable s is equal to the coefficient of the term containing the variable s, 0 , s 1 , …, s N-1 The values of all variables are either +1 or -1. 0 , s 1 , …, s N-1 It is desirable that the signs of the variables s 0 , s 1 , …, s N-1 The optimization function includes a constraint term to ensure that the signs of
[0018] The number of variables to be distributed is not limited to one, but two or more variables may be used as the variables to be distributed.
[0019] (2: How to solve the optimization function) In the method for solving the optimization function according to the embodiment of the present invention, for variables other than the distribution target variable s, the value of the variable is set as the value obtained as the solution of the optimization function after transformation. 0 , s 1 , …, s N-1 If the values of are all +1, the value of variable s is set to +1 to find the solution of the optimization function before the transformation, and variable s 0 , s 1 , …, s N-1 If the values of are all -1, the value of variable s is set to -1 to find the solution of the optimization function before transformation. 0 , s 1 , …, s N-1 If the signs are not the same, one of the following shall be used.
[0020] (A) Variable s 0 , s 1 , …, s N-1 The value of is inappropriate, the value of the variable s is not determined, and there is no solution for the optimization function before conversion.
[0021] (B) Variable s 0, s 1 , …, s N-1 The solution of the optimization function before transformation is obtained by determining the value of the variable s by majority vote on the value of . 0 , s 1 , …, s N-1 If the number of variables with a value of +1 is greater than the number of variables with a value of +1, the value of variable s is set to +1 to find the solution to the optimization function before the transformation; otherwise, the value of variable s is set to -1 to find the solution to the optimization function before the transformation.
[0022] (C) The solution of the optimization function before transformation is found by taking the smaller value of the value of the optimization function before transformation when the value of variable s is set to +1 and the value of the optimization function before transformation when the value of variable s is set to -1 as the value of variable s.
[0023] (3: Specific examples) The conversion of the optimization function will be specifically explained below using the quadratic polynomial relating to the three variables s0, s1, and s2 in the following equation as an example.
number
number
number
[0024] The coefficients may be determined in any manner as long as the sum of the coefficients of the terms included in the replaced term is equal to the coefficient of the term before replacement. For example, the variable s j N j (However, N j is an integer greater than or equal to 2) j 0 , s j 1 , …, s j N_j-1 When the dispersion is ij s i s j (However, a ij is i s j (any real number including 0 representing the coefficient of the second-order term Σ 0≦n_j<N_j α n_j s i s j n_j In this way, the variation in the coefficients can be reduced.
number
number
[0025] Variable s j N j variables s j 0 , s j 1 , …, s j N_j-1 If the distribution is j 0 , s j 1 , …, s j N_j-1 The constraint to make the signs of the variables s j 0, s j 1 , …, s j N_j-1 Any term may be used as long as it is the smallest term when the signs of the terms are the same.
[0026] For example, the second-order term s j n_i s j n_j may be used as constraint terms with a common negative coefficient.
number
number
number
[0027] (3-2: When the number of variables to be distributed is 2 or more) Here, we divide the variable s0 in the optimization function of Equation (1) into two variables s0 0 , s0 1 , variable s1 into three variables s1 0 , s1 1 , s1 2 Since the variable s1 is included as a variable to be distributed, we consider equation (2) instead of equation (1).
[0028] The optimization function of equation (2) is converted into the optimization function of equation (4) by the above-mentioned optimization function conversion method.
number
[0029] The coefficients may be determined in any manner as long as the sum of the coefficients of the terms included in the replaced term is equal to the coefficient of the term before replacement. For example, the variable s i N i (However, N i is an integer greater than or equal to 2) i 0 , s i 1 , …, s i N_i-1 Then, the variable s j N j (However, Nj is an integer greater than or equal to 2) j 0 , s j 1 , …, s j N_j-1 When the dispersion is ij s i s j (However, a ij is i s j (any real number including 0 representing the coefficient of the second-order term Σ 0≦n_i<N_i, 0≦n_j<N_j α n_in_j s i n_i s j n_j In this way, the variation in the coefficients can be reduced.
number
[0030] Variable s i N i variables s i 0 , s i 1 , …, s i N_i-1 Then, the variable s j N j variables s j 0 , s j 1 , …, s j N_j-1 If the distribution is i 0 , s i 1 , …, s i N_i-1 The constraint term, variable s, to make the signs of j 0 , s j 1 , …, s j N_j-1 The constraint terms to make the signs of the variables s i 0 , s i 1 , …, s i N_i-1 The term that is smallest when the signs of the variables s are the same. j 0 , s j 1 , …, s j N_j-1 Any term may be used as long as it is the smallest term when the signs of the terms are the same.
[0031] Next, we will explain a specific example of the solution method. Here, for an optimization function related to three variables s0, s1, and s2, we will divide variable s0 into two variables s0 0 , s0 1 , variable s1 into three variables s1 0 , s1 1 , s1 2 Figure 7 shows the case where the variable s0 0 , s0 1 sign and variable s1 0 , s1 1 , s1 2 7 is a diagram showing an example of a solution when the signs of variables s0 0 , s0 1 Since the values of all variables are -1, the value of variable s0 is set to -1, and the value of variable s1 0 , s1 1 , s1 2 Since the values of all of the above are +1, the value of variable s1 is set to +1, and the solution of the optimization function before the transformation is found from the solution of the optimization function after the transformation.
[0032] (3-3: Other) In (3-1: When there is one distribution target variable) and (3-2: When there are two or more distribution target variables), we considered the case where the constraint terms are defined so that the signs of the multiple variables distributing the distribution target variable s are consistent, but this is solely for the sake of simplicity. In other words, it is also possible to distribute the distribution target variable s to multiple variables in such a way that the signs are not consistent.
[0033] Here, we divide the variable s0 in the optimization function of Equation (1) into two variables s0 0 , s0 1 , variable s1 into three variables s1 0 , s1 1 , s1 2 Since the variable s1 is included as a variable to be distributed, we consider equation (2) instead of equation (1).
[0034] The optimization function of equation (2) is converted into the optimization function of equation (5) by the above-mentioned optimization function conversion method.
number
[0035] Figure 8 shows the variable s0 0 sign and variable s0 1 The signs of variables s1 are different. 0 , s1 1 sign and variable s1 2 8 is a diagram showing an example of a solution when the signs of variables s0 0 , -s0 1 Since the values of all variables are -1, the value of variable s0 is set to -1, and the value of variable s1 0 , s1 1 , -s1 2 Since the values of all of the above are +1, the value of variable s1 is set to +1, and the solution of the optimization function before the transformation is found from the solution of the optimization function after the transformation.
[0036] First Embodiment The optimization function conversion device 100 generates an optimization function g equivalent to the optimization function f from the optimization function f expressed as an Ising Hamiltonian for M variables (M is an integer equal to or greater than 2). 0≦i<j<M a ij si s j +Σ 0≦j<M b j s j The variables s0, s1, …, s are expressed as M-1 is a quadratic polynomial in ij is i s j Coefficient of b j is j represents the coefficient of a ij , b j is any real number including 0.
[0037] Optimization function transformation device 100 will be described below with reference to Figs. 9 and 10. Fig. 9 is a block diagram showing the configuration of optimization function transformation device 100. Fig. 10 is a flowchart showing the operation of optimization function transformation device 100. As shown in Fig. 9, optimization function transformation device 100 includes a variable generation unit 110, a function generation unit 120, and a recording unit 190. Recording unit 190 is a component that appropriately records information necessary for the processing of optimization function transformation device 100.
[0038] The operation of the optimization function transformation device 100 will be described with reference to FIG.
[0039] In S110, the variable generation unit 110 selects one or more variables from the M variables, and generates two or more variables for each selected variable.
[0040] In S120, the function generating unit 120 generates an optimization function g from the optimization function f using the variables generated in S110. Specifically, the function generating unit 120 generates a quadratic term a ij s i s j (i, j are indices with values between 0 and M-1, s i , s j is a variable, a ij is i s j where i and j are different integers, a ij is any real number including 0), then s i , sj If is the selected variable, then s i 0 , s i 1 , …, s i N_i-1 (However, N i is an integer greater than or equal to 2) into variable s i The variables generated for s j 0 , s j 1 , …, s j N_j-1 (However, N j is an integer greater than or equal to 2) into variable s j Let the variables generated for ij s i s j the second-order term Σ 0≦n_i<N_i, 0≦n_j<N_j α n_in_j s i n_i s j n_j (However, a ij =Σ 0≦n_i<N_i, 0≦n_j<N_j α n_in_j (where s i are the variables that were not selected, and s j If is the selected variable, then s j 0 , s j 1 , …, s j N_j-1 (However, N j is an integer greater than or equal to 2) into variable s j Let the variables generated for ij s i s j the second-order term Σ 0≦n_j<N_j α n_j s i s j n_j (However, a ij =Σ 0≦n_j<N_j α n_j holds) and the first-order term b j s j (j is an index that takes a value between 0 and M-1, and s j is a variable, b j isj where b represents the coefficient of j is any real number including 0), then s j If is the selected variable, then s j 0 , s j 1 , …, s j N_j-1 (However, N j is an integer greater than or equal to 2) into variable s j Let the variable be generated for the first-order term b j s j the first-order term Σ 0≦n_j<N_j β n_j s j n_j (However, b j =Σ 0≦n_j<N_j β n_j holds) and the variable s j (j is an index that takes values between 0 and M-1 inclusive), j If is the selected variable, then s j 0 , s j 1 , …, s j N_j-1 (However, N j is an integer greater than or equal to 2) into variable s j Let the generated variables be s j 0 , s j 1 , …, s j N_j-1 The quadratic term Σ is minimized when the values of are all +1 or all -1. 0≦n_i<n_j<N_j gamma n_in_j s j n_i s j n_j is generated as a constraint term, and the constraint term is added to the optimization function f to generate an optimization function g expressed as an Ising Hamiltonian from the optimization function f. Here, the function generation unit 120 generates the quadratic term a ij s i s j For s i , s jIf is an unselected variable, the quadratic term a ij s i s j is left as it is without substitution, and the first-order term b j s j For s j If is an unselected variable, the first-order term b j s j is left as it is without substitution. Note that the coefficient α n_in_j , α n_j , β n_j ,γ n_in_j may be 0.
[0041] The function generator 120 generates a quadratic term a included in the optimization function f. ij s i s j For s i , s j If is the selected variable, the coefficient α n_in_j may be calculated by the following formula:
number
number
number
number
[0042] The function generator 120 generates a variable s j For s j If is the selected variable, the constraint terms may be generated by:
number
[0043] The function generator 120 generates a variable s j For s j If is the selected variable, the constraint terms may be generated by:
number
number
[0044] According to an embodiment of the present invention, it is possible to stabilize the solution of an optimization function expressed as an Ising Hamiltonian. Specifically, by changing the coefficients, it is possible to input to an Ising machine that has a limited range of input coefficients. In addition, by changing the distribution tendency of the coefficients, it becomes easier to obtain a solution with the Ising machine. Furthermore, by changing the number of non-zero coefficients or the distribution of the number of non-zero coefficients of a specific variable, it becomes easier to obtain a solution with the Ising machine.
[0045] Second Embodiment The optimization function solving device 200 obtains a solution to the optimization function f from the solution to the optimization function g generated from the optimization function f expressed as an Ising Hamiltonian for M variables (M is an integer equal to or greater than 2) using the optimization function conversion device 100.
[0046] The optimization function solving device 200 will be described below with reference to Figures 11 and 12. Figure 11 is a block diagram showing the configuration of the optimization function solving device 200. Figure 12 is a flowchart showing the operation of the optimization function solving device 200. As shown in Figure 11, the optimization function solving device 200 includes a solution finding unit 210 and a recording unit 290. The recording unit 290 is a component that appropriately records information necessary for the processing of the optimization function solving device 200.
[0047] The operation of the optimization function solving device 200 will be described with reference to FIG.
[0048] In S210, if the values of variables generated from all variables selected by optimization function conversion device 100 when generating optimization function g are all +1 or all -1, solution finding unit 210 obtains a solution to optimization function f from the solution of optimization function g by setting the values of selected variables whose generated values are all +1 to +1, and setting the values of selected variables whose generated values are all -1 to -1; otherwise, it either determines that there is no solution to optimization function f, or obtains a solution to optimization function f from the solution of optimization function g by a predetermined method. Here, when obtaining a solution to optimization function f from the solution of optimization function g, solution finding unit 210 sets the values obtained as the solution to optimization function g as the solution to optimization function f for variables that were not selected by optimization function conversion device 100 when generating optimization function g.
[0049] In cases other than when all of the variables selected by the optimization function conversion device 100 when generating the optimization function g have values of +1 or -1 for the variables generated from those variables, the solution-finding unit 210 may, for example, set the value of a selected variable whose generated values are all +1 to +1, set the value of a selected variable whose generated values are all -1 to -1, and for a selected variable whose generated values are not all +1 or all -1, determine the value to +1 or -1 by majority vote regarding the values of the variables generated from that variable to be for that selected variable. Furthermore, in cases other than when the values of the variables generated from all the variables selected by the optimization function conversion device 100 when generating the optimization function g are all +1 or all -1, the solution-finding unit 210 may obtain the solution to the optimization function f from the solution to the optimization function g by obtaining the solution to the optimization function f under the condition that, for example, among the variables selected by the optimization function conversion device 100 when generating the optimization function g, the values of the selected variables that are all generated from the variables selected by the optimization function conversion device 100 and that ... are all generated from the variables selected by the optimization function conversion device 100 are all +1 and -1, respectively.
[0050] According to an embodiment of the present invention, it is possible to obtain the solution of the optimization function that generated the optimization function from the solution of the optimization function that was generated to stabilize the solution.
[0051] <Additional Notes> The processing of each unit of each of the above-mentioned devices may be realized by a computer, in which case the processing content of the functions that each device should have is described by a program. Then, by loading this program into the recording unit 2020 of the computer 2000 shown in Fig. 13 and operating the arithmetic processing unit 2010, the input unit 2030, the output unit 2040, the auxiliary recording unit 2025, etc., the processing functions of each of the above-mentioned devices are realized on the computer.
[0052] The device of the present invention may, for example, be a single hardware entity, having an input unit capable of inputting signals from outside the hardware entity, an output unit capable of outputting signals to outside the hardware entity, a communication unit to which a communication device (e.g., a communication cable) can be connected for communication with outside the hardware entity, a CPU (which may also include a central processing unit, cache memory, registers, etc.) as an arithmetic processing unit, RAM and ROM as memories, an external storage device such as a hard disk, and buses connecting these input unit, output unit, communication unit, CPU, RAM, ROM, and external storage device so as to enable data exchange. If necessary, the hardware entity may also be provided with a device (drive) capable of reading and writing to a recording medium such as a CD-ROM. An example of a physical entity equipped with such hardware resources is a general-purpose computer.
[0053] The external storage device of the hardware entity stores the programs required to realize the above-mentioned functions and the data required for processing these programs (the programs may be stored in a ROM, which is a read-only storage device, for example, instead of an external storage device). Data obtained by processing these programs is stored in RAM, the external storage device, etc. as appropriate.
[0054] In the hardware entity, each program stored in an external storage device (or ROM, etc.) and data required for processing each program are loaded into memory as needed, and interpreted, executed, and processed by the CPU as appropriate. As a result, the CPU realizes predetermined functions (each component represented as the above, "... unit," "... means," etc.). In other words, each component in the embodiments of the present invention may be configured by a processing circuitry.
[0055] As described above, when the processing functions of the hardware entities (apparatuses of the present invention) described in the above embodiments are realized by a computer, the processing contents of the functions that the hardware entities should have are described by a program. Then, by executing this program on a computer, the processing functions of the hardware entities are realized on the computer.
[0056] The program describing the processing contents can be recorded on a computer-readable recording medium, such as a non-transitory recording medium, specifically a magnetic recording device, an optical disk, or the like.
[0057] The program may be distributed, for example, by selling, transferring, lending, etc. a portable recording medium such as a DVD or CD-ROM on which the program is recorded. Furthermore, the program may be stored in a storage device of a server computer, and then transferred from the server computer to another computer via a network, thereby distributing the program.
[0058] A computer that executes such a program, for example, first stores the program recorded on a portable recording medium or transferred from a server computer in its own non-transitory storage device, the auxiliary storage unit 2025. Then, when executing a process, the computer loads the program stored in its own non-transitory storage device, the auxiliary storage unit 2025, into the storage unit 2020 and executes processing in accordance with the loaded program. Alternatively, as another execution mode of this program, the computer may load the program directly from a portable recording medium into the storage unit 2020 and execute processing in accordance with the program. Furthermore, each time a program is transferred from a server computer to this computer, the computer may execute processing in accordance with the received program. Alternatively, the server computer may not transfer the program to this computer, but may instead execute the processing function by issuing an execution instruction and obtaining the results, thereby executing the above-described processing through a so-called ASP (Application Service Provider) type service. Note that the program in this embodiment includes information used for processing by a computer that is equivalent to a program (such as data that is not a direct instruction to a computer but has properties that define computer processing).
[0059] Furthermore, in this embodiment, the device is configured by executing a predetermined program on a computer, but at least a part of the processing contents may be realized by hardware.
[0060] The present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit of the present invention.
Claims
1. Let M be an integer equal to or greater than 2, and f be an optimization function expressed as an Ising Hamiltonian with respect to M variables. a variable generation unit that selects one or more variables from the M variables and generates two or more variables for each selected variable; The quadratic term a in the optimization function f ij s i s j (i, j are indices with values between 0 and M-1, s i , s j is a variable, a ij is i s j where i and j are different integers, a ij is any real number including 0), then s i , s j If is the selected variable, then s i 0 , s i 1 , …, s i N_i-1 (However, N i is an integer greater than or equal to 2) into variable s i The variables generated for s j 0 , s j 1 , …, s j N_j-1 (However, N j is an integer greater than or equal to 2) into variable s j Let the variables generated for ij s i s j the second-order term Σ 0≦n_i<N_i, 0≦n_j<N_j α n_in_j s i n_i s j n_j (However, a ij =Σ 0≦n_i<N_i, 0≦n_j<N_j α n_in_j (where s i are the variables that were not selected, and s j If is the selected variable, then s j 0 , s j 1 , …, s j N_j-1 (However, N j is an integer greater than or equal to 2) into variable s j Let the variables generated for ij s i s j the second-order term Σ 0≦n_j<N_j α n_j s i s j n_j (However, a ij =Σ 0≦n_j<N_j α n_j (where The first-order term b in the optimization function f j s j (j is an index that takes a value between 0 and M-1, and s j is a variable, b j is j where b represents the coefficient of j is any real number including 0), then s j If is the selected variable, then s j 0 , s j 1 , …, s j N_j-1 (However, N j is an integer greater than or equal to 2) into variable s j Let the variable be generated for the first-order term b j s j the first-order term Σ 0≦n_j<N_j β n_j s j n_j (However, b j =Σ 0≦n_j<N_j β n_j (where Variable s j (j is an index that takes values between 0 and M-1 inclusive), j If is the selected variable, then s j 0 , s j 1 , …, s j N_j-1 (However, N j is an integer greater than or equal to 2) into variable s j Let the generated variables be s j 0 , s j 1 , …, s j N_j-1 The quadratic term Σ is minimized when the values of are all +1 or all -1. 0≦n_i<n_j<N_j gamma n_in_j s j n_i s j n_j is generated as a constraint term, and the constraint term is added to the optimization function f, a function generator that generates an optimization function g expressed as an Ising Hamiltonian from the optimization function f; An optimization function transformation device including:
2. 2. The optimization function transformation device according to claim 1, The function generator generates a quadratic term a included in the optimization function f. ij s i s j For s i , s j If is the selected variable, the coefficient α n_in_j is calculated using the following formula: [Equation 19] An optimization function transformation device characterized by:
3. 2. The optimization function transformation device according to claim 1, The function generator generates a quadratic term a included in the optimization function f. ij s i s j For s i are the variables that were not selected, and s j If is the selected variable, the coefficient α n_j is calculated using the following formula: [Equation 20] An optimization function transformation device characterized by:
4. 2. The optimization function transformation device according to claim 1, The function generator generates a first-order term b j s j For s j If is the selected variable, the coefficient β n_j is calculated using the following formula: [0000] An optimization function transformation device characterized by:
5. M is an integer equal to or greater than 2, and g is an optimization function generated from an optimization function f expressed as an Ising Hamiltonian with respect to M variables using the optimization function conversion device according to claim 1, When generating the optimization function g, if the values of the variables generated from all the selected variables by the optimization function conversion device according to claim 1 are all +1 or all -1, the values of the selected variables whose generated values are all +1 are set to +1, and the values of the selected variables whose generated values are all -1 are set to -1, thereby obtaining a solution to the optimization function f from the solution to the optimization function g; Otherwise, a solution-finding unit that either determines that there is no solution to the optimization function f or obtains a solution to the optimization function f from the solution to the optimization function g using a predetermined method; An optimization function solver including: The predetermined method comprises: A method in which, among the variables selected by the optimization function conversion device of claim 1 when generating the optimization function g, if the generated variables all have a value of +1, the value is set to +1, if the generated variables all have a value of -1, the value is set to -1, and if the generated variables are not all +1 or all -1, the value is determined to be +1 or -1 by a majority vote regarding the values of the variables generated from the selected variables; or A method for obtaining a solution to an optimization function f under the condition that, among the variables selected by the optimization function conversion device according to claim 1 when generating an optimization function g, if the generated variables all have a value of +1, the value of the selected variables is set to +1, and if the generated variables all have a value of -1, the value of the selected variables is set to -1. An optimization function solving device characterized by:
6. Let M be an integer equal to or greater than 2, and f be an optimization function expressed as an Ising Hamiltonian with respect to M variables. a variable generation step in which an optimization function transformation device selects one or more variables from the M variables and generates two or more variables for each selected variable; The optimization function transformation device transforms the second-order term a included in the optimization function f ij s i s j (i, j are indices with values between 0 and M-1, s i , s j is a variable, a ij is i s j where i and j are different integers, a ij is any real number including 0), then s i , s j If is the selected variable, then s i 0 , s i 1 , …, s i N_i-1 (However, N i is an integer greater than or equal to 2) into variable s i The variables generated for s j 0 , s j 1 , …, s j N_j-1 (However, N j is an integer greater than or equal to 2) into variable s j Let the variables generated for ij s i s j the second-order term Σ 0≦n_i<N_i, 0≦n_j<N_j α n_in_j s i n_i s j n_j (However, a ij =Σ 0≦n_i<N_i, 0≦n_j<N_j α n_in_j (where s i are the variables that were not selected, and s j If is the selected variable, then s j 0 , s j 1 , …, s j N_j-1 (However, N j is an integer greater than or equal to 2) into variable s j Let the variables generated for ij s i s j the second-order term Σ 0≦n_j<N_j α n_j s i s j n_j (However, a ij =Σ 0≦n_j<N_j α n_j (where The first-order term b in the optimization function f j s j (j is an index that takes a value between 0 and M-1, and s j is a variable, b j is j where b represents the coefficient of j is any real number including 0), then s j If is the selected variable, then s j 0 , s j 1 , …, s j N_j-1 (However, N j is an integer greater than or equal to 2) into variable s j Let the variable be generated for the first-order term b j s j the first-order term Σ 0≦n_j<N_j β n_j s j n_j (However, b j =Σ 0≦n_j<N_j β n_j (where Variable s j (j is an index that takes values between 0 and M-1 inclusive), j If is the selected variable, then s j 0 , s j 1 , …, s j N_j-1 (However, N j is an integer greater than or equal to 2) into variable s j Let the generated variables be s j 0 , s j 1 , …, s j N_j-1 The quadratic term Σ is minimized when the values of are all +1 or all -1. 0≦n_i<n_j<N_j gamma n_in_j s j n_i s j n_j is generated as a constraint term, and the constraint term is added to the optimization function f, a function generation step of generating an optimization function g expressed as an Ising Hamiltonian from the optimization function f; Optimization function transformation methods including:
7. 5. A program for causing a computer to function as the optimization function transformation device according to claim 1.
Citation Information
Patent Citations
Optimization device, optimization system, method for optimization, and program
JP2020113190A