Polynomial conversion device, polynomial conversion method, and program
By identifying common divisors and applying constraint expressions, the technique addresses the inefficiency of conventional methods by converting multivariate polynomials into lower-degree forms with fewer variables, enhancing the efficiency of quantum annealing and Ising machines in solving combinatorial optimization problems.
Patent Information
- Application Number
- JP2023514267
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-04-15
- Publication Date
- 2025-01-15
- Estimated Expiration
- 2041-04-15
AI Technical Summary
Conventional methods for converting multivariate polynomials into QUBO or Ising Hamiltonian formats require a large number of additional variables, exceeding the limited capacity of quantum annealing and Ising machines, leading to inefficiencies in solving combinatorial optimization problems.
A technique that identifies common divisors across multiple terms in a multivariate polynomial and replaces them with fewer additional variables, using constraint expressions to maintain equivalence, thereby reducing the polynomial degree and variable count.
This approach allows for the conversion of multivariate polynomials into lower-degree forms using fewer variables, ensuring efficient utilization of quantum annealing and Ising machines by reducing the number of additional variables required.
Smart Images

Figure 0007613562000011 
Figure 0007613562000012 
Figure 0007613562000013
Abstract
Description
[Technical field]
[0001] The present invention relates to a technique for replacing variables in a multivariate polynomial with other variables. [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.
[0003] These new computers take as input the objective function of the combinatorial optimization problem in question, which is a QUBO (Quadratic Unconstrained Binary Optimization) objective function or an optimization function equivalent to this, expressed as an Ising Hamiltonian, and can quickly calculate a solution to the problem.
[0004] QUBO's objective function and its equivalent Ising Hamiltonian are multivariate quadratic polynomials for binary variables (0-1 variables) that take on either 0 or 1, but there are methods to convert any degree multivariate polynomial for 0-1 variables into QUBO's objective function or its equivalent Ising Hamiltonian (see, for example, Non-Patent Documents 1 and 2). [Prior art documents] [Non-patent literature]
[0005] [Non-Patent Document 1] Nike Dattani, “Quadratization in Discrete Optimization and Quantum Mechanics”, [online], arXiv:1901.04405v2 [quant-ph] 23 Sep 2019, [Retrieved March 30, 2021], Internet<https: / / arxiv.org / pdf / 1901.04405.pdf> [Non-Patent Document 2] Endre Boros, Yves Crama, Elisabeth Rodriguez-Heck, “Quadratizations of symmetric pseudo-Boolean functions: sub-linear bounds on the number of auxiliary variables”, [online], International Symposium on Artificial Intelligence and Mathematics (ISAIM 2018), 4-Jan-2018, [Retrieved March 30, 2021], Internet<https: / / orbi.uliege.be / handle / 2268 / 220766> Summary of the Invention [Problem to be solved by the invention]
[0006] In the conventional method of converting a multivariate polynomial of any degree in 0-1 variables into a QUBO objective function or its equivalent Ising Hamiltonian, each term (monomial) of degree 3 or higher is individually replaced with a quadratic polynomial, which requires one or more additional variables for each monomial of degree 3 or higher.
[0007] However, for example, when a multivariate polynomial is obtained by multiplying multiple polynomials, the number of monomials obtained by expanding this multivariate polynomial increases combinatorially, and a large number of additional variables are required.
[0008] Currently available quantum annealing machines and Ising machines have a limited number of variables that can be input, so an explosive increase in additional variables would make it impossible to run these quantum annealing or Ising machines.
[0009] This type of problem occurs not only when generating optimization functions for solving combinatorial optimization problems using a quantum computer, but also when converting the variables of a multivariate polynomial of any degree into a multivariate polynomial of a lower degree.
[0010] The present invention has been made in consideration of these points, and has an object to provide a technique capable of converting the variables of a multivariate polynomial of any degree into a multivariate polynomial of a lower degree using a smaller number of variables than in the past. [Means for solving the problem]
[0011] N variables x0,…,x N-1 Multivariate polynomial f(x0,…,x N-1 ) is input, and the multivariate polynomial f(x0,…,x N-1 ) common divisor x of several terms z(j,0) …x z(j,M(j)-1) The parts are the same as each other, with additional variables a j The multivariate polynomial g(x0,…,x N-1 ,a0,…,a J-1 ) and a j =x z(j,0) …x z(j,M(j)-1) The constraint equation s(a j ,x z(j,0) ,…,x z(j,M(j)-1) ) and the multivariate polynomial h(x0,…,x N-1 ,a0,…,a J-1 ) = g(x0,…,x N-1 ,a0,…,a J-1 )+s(a0,x z(0,0) ,…,x z(0,M(0)-1) )+…+s(a J-1 ,x z(J-1,0) ,…,x z(J-1,M(J-1)) ), where J is a positive integer, N,M(j) are integers ≥ 2, j = 0, …, J-1, m = 0, …, M(j)-1, and z(j,m) ∈ {0, …, N-1} is the function value for (j,m). Effect of the Invention
[0012] As described above, in the present invention, since the divisor parts common to a plurality of terms are replaced with the same additional variable, it is possible to convert the variables of a multivariate polynomial of any degree into a multivariate polynomial of a lower degree using a smaller number of variables than in the past. In addition, the addition of a constraint expression ensures the identity of the divisor parts before replacement and the additional variables. [Brief description of the drawings]
[0013] [Figure 1] FIG. 1 is a block diagram illustrating the functional configuration of a polynomial transformation device according to an embodiment. [Diagram 2] FIG. 2 is a flow chart illustrating the processing of the polynomial conversion device of the embodiment. [Diagram 3] FIG. 13 is a diagram illustrating a procedure for selecting a summary term by heuristic search. [Figure 4] FIG. 13 is a diagram illustrating a procedure for selecting a summary term by heuristic search. [Diagram 5] FIG. 5 is a graph showing the experimental results showing the effect of reducing the number of added variables. [Figure 6] FIG. 6 is a block diagram illustrating a hardware configuration of the polynomial transformation device according to the embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. First, the principle of the embodiment will be described. In the embodiment, a common divisor (summary term) among multiple monomials in the target multivariate polynomial is found, and the summary term is replaced with an additional variable (also called an "auxiliary variable"). In addition, to prevent the meaning of the target multivariate polynomial from changing, a constraint is added that requires the summary term and the additional variable to take the same value. That is, the conversion unit converts N variables x0,...,x N-1 Multivariate polynomial f(x0,…,x N-1 ) is input, and the multivariate polynomial f(x0,…,x N-1 ) is a common divisor (summary term) of multiple terms (monomials) in x z(j,0)…x z(j,M(j)-1) The parts are the same as each other, with additional variables a j The multivariate polynomial g(x0,…,x N-1 ,a0,…,a J-1 ) and a j =x z(j,0) …x z(j,M(j)-1) The constraint equation s(a j ,x z(j,0) ,…,x z(j,M(j)-1) ) and the multivariate polynomial h(x0,…,x N-1 ,a0,…,a J-1 ) = g(x0,…,x N-1 ,a0,…,a J-1 )+s(a0,x z(0,0) ,…,x z(0,M(0)-1) )+…+s(a J-1 ,x z(J-1,0) ,…,x z(J-1,M(J-1)) ), and output it. Here, J is a positive integer representing the number of summary terms, N is an integer of 2 or more representing the number of types of variables, M(j) is an integer of 2 or more representing the number of variables that compose the j-th summary term, and satisfies 2≦M(j)≦N, j=0,…,J-1, m=0,…,M(j)-1, and z(j,m)∈{0,…,N-1} is the function value for (j,m). For all j=0,…,J-1, the value of M(j) may be the same (e.g., M(0)=M(1)=···=M(J-1)=2), or it may not be the same (e.g., M(0)=3,M(1)=2,···,M(J-1)=2). Variables x0,…,x N-1 can be any value, for example, variables x0,...,x N-1 Each of these is a binary variable x i ∈{b0,b1}, b0 ≠ b1, for i = 0, …, N-1. In particular, for a binary variable x i If is a 0-1 variable, then b0 = 0 and b1 = 1. For each variable x i For example, the possible values for variables x1,...,x N Each of these is a binary variable x i ∈{b 0,i ,b 1,i}, and each {b 0,i,b 1,i} may vary with i. In particular, the binary variable x i If is a 0-1 variable, then (b 0,i ,b 1,i )=(0,1) or (b 0,i ,b 1,i ) = (1,0) may differ depending on i. N-1 ) is not limited. For example, the multivariate polynomial f(x0,…,x N-1 ) is some objective function to be minimized, or a function equivalent to that objective function. N-1 An example of a polynomial g(x0,…,x N-1 ,a0,…,a J-1 ) is the summary term x that is common to multiple terms for j=0,…,J-1. z(j,0) …x z(j,M(j)-1) The parts are the same as each other, with additional variables a j The multivariate polynomial h is obtained by substituting the constraints s(a j ,x z(j,0) ,…,x z(j,M(j)-1) ) into a multivariate polynomial g(x0,…,x N-1 ,a0,…,a J-1 )
[0015] In this way, the summary term x that is common to multiple terms z(j,0) …x z(j,M(j)-1) The parts are the same as each other, with additional variables a j To replace the multivariate polynomial f(x0,…,x N-1 ) into a multivariate polynomial h(x0,…,x N-1 ,a0,…,a J-1 ) can be converted into a QUBO objective function or its equivalent Ising Hamiltonian with fewer additional variables than before.j ,x z(j,0) ,…,x z(j,M(j)-1) ) is added to the summary term x before replacement. z(j,0) …x z(j,M(j)-1) and an additional variable a j The identity of the
[0016] For example, multivariate polynomial g(x0,…,x N-1 ,a0,…,a J-1 ) may contain terms replaced by products of multiple additional variables. That is, a multivariate polynomial g(x0,…,x N-1 ,a0,…,a J-1 ) is the R additional variables a j(0) ,…,a j(R-1) Product a j(0) …a j(R-1) By multivariate polynomial f(x0,…,x N-1 ), where R is an integer greater than or equal to 2, r = 0, …, R-1, j(r) is a function value of r, and {j(0), …, j(R-1)} ⊂ {0, …, J-1}. This allows an efficient reduction in the degree of the terms.
[0017] For example, multivariate polynomial g(x0,…,x N-1 ,a0,…,a J-1 ) may have multiple terms replaced by products of multiple additional variables, and only some of the additional variables in those multiple terms may be the same. That is, a multivariate polynomial g(x0,…,x N-1 ,a0,…,a J-1 ) further includes R' additional variables a j’(0) ,…,a j’(R’-1) Product a j’(0) …a j’(R’-1) By multivariate polynomial f(x0,…,x N-1 ) with R additional variables a j(0) ,…,a j(R-1) Only a portion of R' additional variables a j’(0) ,…,a j’(R’-1)where R' is an integer greater than or equal to 2, r' = 0, ..., R'-1, j(r') is the function value of r', and {j'(0), ..., j'(R'-1)} ⊂ {0, ..., J-1}. This allows for an efficient reduction in the degree of terms.
[0018] For example, the multivariate polynomial f(x0,…,x N-1 At least one term of g(x0,…,x) is a monomial of degree 3 or higher, and the multivariate polynomial g(x0,…,x N-1 ,a0,…,a J-1 ) are monomials of degree 2 or less. For example, the multivariate polynomial g(x0,…,x N-1 ,a0,…,a J-1 ) are quadratic monomials. For example, a multivariate polynomial can be made quadratic by choosing the divisors such that at least some of the monomials can be expressed as products of two additional variables.
[0019] In addition, the constraint s(a j ,x z(j,0) ,…,x z(j,M(j)-1) ), but for example, variables x0,…,x N-1 Each of these is a 0-1 variable x i ∈{0,1}, the following equation (1) is expressed as the constraint equation s(a j ,x z(j,0) ,…,x z(j,M(j)-1) ) can be used.
number
number
number
[0020] Here, the first term on the right hand side of equation (1) is x0,…,x M(j) The number of 1s in ∈{0,1} is x0+…+x M(j) #(A)+a j (Fact 1) On the other hand, the second term on the right-hand side of equation (1) is equal to A m If one or more is 0, then a j is 0, the second term on the right hand side of equation (1) is a j If is 1, then A m It is minimized when all are 1. From equation (2), "A m "All are 1" and "#(A)=M(j)-1" are equivalent. Therefore, a j If is 1, the second term on the right hand side of equation (1) is minimized when #(A)=M(j)-1. That is, a j If =1, then #(A)+a j =M(j), the second term on the right hand side of equation (1) is minimized. In other words, the second term on the right hand side of equation (1) is "#(A)+a j = M(j) ⇔ a j = 1" (Fact 2). From Facts 1 and 2, "x0, ..., x M(j) The number of 1s in ∈{0,1} is x0+…+x M(j) = M(j) ⇔ a j = 1, equation (1) is minimized. Therefore, when x0,…,x M(j) All are 1⇔a j = 1, equation (1) is minimized. Therefore, equation (1) is j =x0...x M(j) becomes minimum at.
[0021] [First embodiment] Next, a first embodiment will be described. Hereinafter, the same symbols will be used for matters that have already been described, and the description will be omitted. <Configuration> As illustrated in Fig. 1, the polynomial conversion device 1 of this embodiment has a conversion unit 10, a storage unit 13, and a control unit 14. Here, the conversion unit 10 illustrated in this embodiment has a summary term selection unit 11 and a summary term conversion unit 12. However, these do not limit the present invention, and at least some functions of multiple processing units may be integrated. Furthermore, each process is executed under the control of the control unit 14, and data obtained in each process is stored in the storage unit 13 and is read out and used in other processes as necessary.
[0022] <Processing> The polynomial conversion process of this embodiment will be illustrated. The conversion unit 10 of the polynomial conversion device 1 has a multivariate polynomial f(x0, ..., x N-1 ) is input. Multivariate polynomial f(x0,…,x N-1 ), but is not limited to, for example, a multivariate polynomial f(x0, ..., x) with respect to 0-1 variables that represents the objective function of a combinatorial optimization problem or an equivalent function (e.g., an Ising Hamiltonian) N-1 ) is entered.
[0023] The conversion unit 10 converts the input multivariate polynomial f(x0, ..., x N-1 ) common divisor (summary term) x z(j,0) …x z(j,M(j)-1) The parts are the same as each other, with additional variables a j The multivariate polynomial g(x0,…,x N-1 ,a0,…,a J-1 ) and a j =x z(j,0) …x z(j,M(j)-1) The constraint equation s(a j ,x z(j,0) ,…,x z(j,M(j)-1) ) and the multivariate polynomial h(x0,…,x N-1 ,a0,…,a J-1 ) = g(x0,…,x N-1 ,a0,…,a J-1 )+s(a0,x z(0,0) ,…,x z(0,M(0)-1) )+…+s(a J-1 ,x z(J-1,0) ,…,x z(J-1,M(J-1))) and output it.
[0024] The function conversion process of this embodiment will be illustrated with reference to FIG. The summary term selection unit 11 of the conversion unit 10 receives a multivariate polynomial f(x0,...,x N-1 ) is input. The summary term selection unit 11 selects a multivariate polynomial f(x0,...,x N-1 ) summary term x common to multiple terms z(j,0) …x z(j,M(j)-1) Select and output summary item x z(j,0) …x z(j,M(j)-1) There is no limitation on the method of selecting the summary term x. For example, the summary term x may be selected by heuristic search. z(j,0) …x z(j,M(j)-1) Alternatively, the following may be selected (step S11).
[0025] The summary term conversion unit 12 of the conversion unit 10 is a multivariate polynomial f(x0, ..., x N-1 ), and the summary terms x for =0, ..., J-1 output from the summary term selection unit 11 z(j,0) …x z(j,M(j)-1) The summary term conversion unit 12 converts a multivariate polynomial f(x0, ..., x N-1 ) summary term x z(j,0) …x z(j,M(j)-1) Add part to variable a j The multivariate polynomial g(x0,…,x N-1 ,a0,…,a J-1 ) and the constraint s(a j ,x z(j,0) ,…,x z(j,M(j)-1) ) and the multivariate polynomial h(x0,…,x N-1 ,a0,…,a J-1 ) is obtained and output (step S12).
[0026] <Summary item selection by heuristic search> N types of variables x0,…,x N-1 The number of candidates to select J summary items from is O(2 N^J) it is difficult to select the optimal summary term by exhaustive search. Therefore, summary terms may be selected by heuristic search. Figures 3 and 4 show an example of a procedure for selecting summary terms by heuristic search.
[0027] As shown in FIG. 3, the summary term selection unit 11 selects a multivariate polynomial f(x0, . . . , x N-1 Among the monomials (terms) constituting the term (terms), those having summary term candidates (divisor candidates) for making a quadratic monomial are stored in half_term (step S111). Next, the following steps S112 to S119 are repeated until both terms and half_term are empty. The summary term selection unit 11 replaces the partial monomials (summarized term candidates) with the summary terms (summarized_term) preferentially from the partial monomials (summarized term candidates) with the largest heuristic evaluation scores (score(terms, half_terms, candidate)) (step S112). The evaluation scores (score(terms, half_terms, candidate)) are determined according to FIG. 4 (steps S1121 to S1124). That is, the summary term selection unit 11 adds a score of +2 when replacing one unsubstituted monomial from terms at once (increases the evaluation score by 2) (step S1121), adds a score of +1 when moving one unsubstituted monomial from terms to half_terms (increases the evaluation score by 1) (step S1122), and N-1 When one unsubstituted monomial is replaced from half_terms in combination with any of the replaced summary terms, the score is incremented by 1 (step S1123), and when one unsubstituted monomial is replaced from half_terms in combination with any of the replaced summary terms, the score is incremented by 1 (step S1124).
[0028] As shown in Fig. 3, the summary term selection unit 11 repeats steps S113 to S116 for the terms stored in half_term. That is, the summary term selection unit 11 targets only monomials whose summary terms are partial monomials (step S113), and if the target monomial (term) is the summary term itself or summary term x existing variable, it determines that the replacement is complete (step S114), if the target monomial (term) is the product of the selected summary term and an already registered (already replaced) summary term, it determines that the replacement is complete (step S115), and if the target monomial (term) cannot be removed (replaced), it adds the monomial (term) to the summary term candidates (step S116). In step S115, the selected summary term and the already registered summary term may include overlapping variables.
[0029] Next, the summary term selection unit 11 repeats steps S117 to S119 for the term stored in term. That is, the summary term selection unit 11 targets only monomials whose summary term is a partial monomial (step S117), and if term is the summary term itself or summary term × existing variable, it determines that the replacement is complete (step S118), and otherwise moves the target monomial to half_terms (step S119).
[0030] <Example> Below is an example of transforming a multivariate polynomial f(x0,…,x4) with five 0-1 variables x0,…,x4. Multivariate polynomial to convert: f(x0,…,x4) =A0x0x1x2x3+A1x0x1x2x4+A2x0x1x2+A3x0x1x3x4+A4x0x1x3+ A5x0x1x4+A6x0x2x3x4+A7x0x2x3+A8x0x2x4+A9x0x3x4+ A 10 x1x2x3x4+A 11 x1x2x3+A 12 x1x2x4+A 13 x1x3x4+A 14 x2x3x4
[0031] Abstract item: a0 = x0x1x4 a1 = x0x1 a2 = x0x4 a3 = x1x4 a4 = x2x3
[0032] Multivariable polynomial: g(x0, …, x4) = A0a1a4 + A1a0x2 + A2a1x2 + A3a0x3 + A4a1x3 + A5a0x4 + A6a2a4 + A7x0a4 + A8a2x2 + A9a2x3 + A 10 x1a4x4 + A 11 x1a4 + A 12 a3x2 + A 13 a3x3 + A 14 a4x4
[0033] Constraint expression: s(a0, x0, x1, x4) s(a1, x0, x1) s(a2, x0, x4) s(a3, x1, x4) s(a4, x2, x3)
[0034] Output multivariable polynomial: h(x0, …, x4) = A0a1a4 + A1a0x2 + A2a1x2 + A3a0x3 + A4a1x3 + A5a0x4 + A6a2a4 + A7x0a4 + A8a2x2 + A9a2x3 + A 10 x1a4x4 + A 11 x1a4 + A 12 a3x2 + A 13 a3x3 + A 14 a4x4 + s(a0, x0, x1, x4) + s(a1, x0, x1) + s(a2, x0, x4) + s(a3, x1, x4) + s(a4, x2, x3)
[0035] <Experimental Results> FIG. 5 shows the results of an experiment to demonstrate the effect of this embodiment. In this experiment, N 0-1 variables x0,...,x N-1 A multivariate polynomial f(x0,…,x N-1 ) was used as the conversion target, and the extent to which the number of added variables could be reduced by this embodiment was confirmed. The horizontal axis of FIG. 5 represents the number of types of variables N, and the vertical axis represents the number of added variables. The solid line illustrates the experimental results when the monomial replacement of this embodiment was performed, and the dashed line illustrates the experimental results when the monomial replacement of this embodiment was not performed (in the case of the conventional method). As illustrated in FIG. 5, the number of added variables was reduced by performing the monomial replacement of this embodiment, and the effect became greater as N became larger.
[0036] [Second embodiment] A function transformation device (not shown) transforms N input variables x0,...,x N-1 A multivariate function F(x0,…,x N-1 ) into variables x0,…,x N-1 Multivariate polynomial f(x0,…,x N-1 ), and the polynomial conversion device 1 of the first embodiment (FIG. 1) converts the multivariate polynomial f(x0, ..., x N-1 ) as described above, multivariate polynomial h(x0,…,x N-1 ,a0,…,a J-1 ) and output it.
[0037] This function transformation device is, for example, a multivariate function F(x0, ..., x N-1 ) is input, and at least some of the pairs (s0,…,s N-1 ) for F(s0,…,s N-1 )P(s0,…,s N-1 ,x0,…,x N-1 ) multivariate polynomial f(x0,…,x N-1 For example, the function transformer obtains and outputs the set (x0,…,x N-1 ) domain d x The set (s0,…,s N-1 )∈dx For F(s0,…,s N-1 )P(s0,…,s N-1 ,x0,…,x N-1 ) multivariate polynomial f(x0,…,x N-1 ) and output it.
number
number
[0038] Here, N s0,…,s N-1 are variables, (s0,…,s N-1 )=(x0,…,x N-1 ) when P(s0,…,s N-1 ,x0,…,x N-1 )=1, and (s0,…,s N-1 ) ≠ (x0,…,x N-1 ) when P(s0,…,s N-1 ,x0,…,x N-1 )=0. For example, variables x0,…,x N-1 Each of these is a binary variable x i ∈{0,1} and variables s0,…,s N-1 Each of these is a binary variable s i ∈{0,1}, i = 0, …, N-1, and x i - =1-x i and s i When x = 1 i (+)s i =x i and s i When x = 0 i (+)s i =xi - and P(s0,…,s N-1 ,x0,…,x N-1 )=Π 0≦i≦N-1 (x i (+)s i ).
[0039] For example, the function transformation device may be a multivariate function F(x0,...,x N-1 ) is input, and at least some of the pairs (s0,…,s N-1 ) for the multivariate function value F(s0,…,s N-1 ), and a multivariable function value generator for obtaining multivariable function values F(s0, ..., s N-1 ) is input, and at least some of the pairs (s0,…,s N-1 ) for F(s0,…,s N-1 )P(s0,…,s N-1 ,x0,…,x N-1 ) multivariate polynomial f(x0,…,x N-1 ) and a multivariate polynomial generator for obtaining and outputting the multivariate polynomial.
[0040] [Third embodiment] Multivariate function F(x0,…,x N-1 ) is a constrained function of multiple variables, then (x0,…,x N-1 ) is valid but does not satisfy the constraint (x0,…,x N-1 ) is invalid. For example, the objective function of a combinatorial optimization problem and the corresponding objective function or Ising Hamiltonian of a QUBO are the sum of a constraint function for expressing a valid solution as a combinatorial optimization problem and a cost function for expressing a more suitable solution among the valid solutions. For example, the constraint function is a valid solution ((x0, ..., x N-1 )) is zero, invalid solution (constraints not satisfied (x0,…,x N-1 )), and the cost function takes a large value compared to the constraint function, which represents the evaluation of the solution. The solution to a combinatorial optimization problem is found by minimizing such an objective function or Ising Hamiltonian. In this case, an invalid solution (a solution that does not satisfy the constraints ((x0,…,x N-1The constraint function value for (x0,…,x )) becomes large and the cost function value does not make sense. N-1 ) with constraints on a multivariate function F(x0,…,x N-1 ) is meaningless, and such a constrained multivariate function F(x0,…,x N-1 ) can be set to any value without any practical problem. Therefore, a multivariate function F(x0,…,x N-1 ) and change the value of the multivariate polynomial f(x0,…,x N-1 ) is expanded to the number of terms (x i The total number of terms related to and constant terms may be reduced.
[0041] That is, a function transformation device (not shown) transforms N input variables x0,...,x N-1 A multivariate function F(x0,…,x N-1 ) into variables x0,…,x N-1 Multivariate polynomial f(x0,…,x N-1 ), and the polynomial conversion device 1 of the first embodiment (FIG. 1) converts the multivariate polynomial f(x0, ..., x N-1 ) as described above, multivariate polynomial h(x0,…,x N-1 ,a0,…,a J-1 ) and output it.
[0042] This function transformation device is, for example, a multivariable function F(x0, ..., x N-1 ) is input, and the pair (x0,…,x N-1 ) is the same as (s0,…,s N-1 ) for the multivariate function value F'(s0,…,s N-1 ) into F(s0,…,s N-1 ), and the set (x0,…,x N-1 ) is the same as (s0,…,s N-1 ) for the multivariate function value F'(s0,…,s N-1 ) into F”(s0,…,s N-1 ), and let at least some of the pairs (s0,…,s N-1 ) for F'(s0,…,s N-1)P(s0,…,s N-1 ,x0,…,x N-1 ) multivariate polynomial f(x0,…,x N-1 ) is obtained and output. However, the obtained multivariate polynomial f(x0,…,x N-1 ) is a set of terms that is equal to at least some of the pairs (s0,…,s N-1 ) for F(s0,…,s N-1 )P(s0,…,s N-1 ,x0,…,x N-1 ) multivariate polynomial G(x0,…,x N-1 ) terms.
[0043] For example, the function transformer may be a set (x0,...,x N-1 ) domain d x The set (s0,…,s N-1 )∈d x For F'(s0,…,s N-1 )P(s0,…,s N-1 ,x0,…,x N-1 ) multivariate polynomial f(x0,…,x N-1 ) is obtained and output. In this case, the multivariate polynomial f(x0,…,x N-1 ) is the number of terms in the domain d x The set (s0,…,s N-1 )∈d x For F'(s0,…,s N-1 )P(s0,…,s N-1 ,x0,…,x N-1 ) multivariate polynomial G(x0,…,x N-1 ) terms. Alternatively, the function transformer may be N-1 )∈u x For F'(s0,…,s N-1 )P(s0,…,s N-1 ,x0,…,x N-1 ) multivariate polynomial f(x0,…,x N-1 ) can be obtained and output. In this case, the multivariate polynomial f(x0,…,x N-1 The number of terms in (s0,…,s N-1 )∈u x For F'(s0,…,s N-1)P(s0,…,s N-1 ,x0,…,x N-1 ) multivariate polynomial G(x0,…,x N-1 ) terms.
[0044] F”(s0,…,s N-1 ), but for example, variables x0,…,x N-1 ∈{0,1} is a binary variable, and variables s0,…,s N-1 ∈{0,1} is a binary variable, and there are N k0,…,k N-1 ∈{0,1} is a binary variable, i = 0, …, N-1, and x i - =1-x i and s i When x = 1 i (+)s i =x i and s i When x = 0 i (+)s i =x i - and P(s0,…,s N-1 ,x0,…,x N-1 )=Π 0≦i≦N-1 (x i (+)s i ), then F”(s0,…,s N-1 ) is defined recursively as follows: TIFF0007613562000006.tif4186 That is,
[0045] For example, the function transformation device can convert a multivariate function F(x0,...,x N-1 ) is input, and at least some of the pairs (s0,…,s N-1 ) for the multivariate function value F'(s0,…,s N-1 ), and a multivariable function value generator for obtaining multivariable function values F'(s0,...,s N-1 ) is input, and at least some of the pairs (s0,…,s N-1 ) for F'(s0,…,s N-1 )P(s0,…,s N-1 ,x0,…,x N-1 ) multivariate polynomial f(x0,…,xN-1 ) and a multivariate polynomial generation unit that obtains and outputs the multivariate polynomial.
[0046] [Hardware configuration] The polynomial conversion device 1 in each embodiment is a device configured by a general-purpose or dedicated computer having a processor (hardware processor) such as a CPU (central processing unit) and memories such as a RAM (random-access memory) and a ROM (read-only memory) executing a predetermined program. That is, the polynomial conversion device 1 in each embodiment has, for example, a processing circuit configured to implement each unit. This computer may have one processor and memory, or may have multiple processors and memories. This program may be installed in the computer, or may be recorded in a ROM or the like in advance. In addition, some or all of the processing units may be configured using electronic circuits that realize processing functions independently, rather than electronic circuits that realize functional configurations by reading programs like a CPU. In addition, the electronic circuits that configure one device may include multiple CPUs.
[0047] FIG. 6 is a block diagram illustrating the hardware configuration of the polynomial conversion device 1 in each embodiment. As illustrated in FIG. 6, the polynomial conversion device 1 in this example has a CPU (Central Processing Unit) 10a, an input unit 10b, an output unit 10c, a RAM (Random Access Memory) 10d, a ROM (Read Only Memory) 10e, an auxiliary storage device 10f, and a bus 10g. The CPU 10a in this example has a control unit 10aa, a calculation unit 10ab, and a register 10ac, and executes various calculation processes according to various programs loaded into the register 10ac. The input unit 10b is an input terminal to which data is input, a keyboard, a mouse, a touch panel, etc. The output unit 10c is an output terminal to which data is output, a display, a LAN card controlled by the CPU 10a that has loaded a predetermined program, etc. The RAM 10d is a static random access memory (SRAM), a dynamic random access memory (DRAM), or the like, and has a program area 10da in which a predetermined program is stored, and a data area 10db in which various data is stored. The auxiliary storage device 10f is, for example, a hard disk, a magneto-optical disc (MO), a semiconductor memory, or the like, and has a program area 10fa in which a predetermined program is stored, and a data area 10fb in which various data is stored. The bus 10g connects the CPU 10a, the input unit 10b, the output unit 10c, the RAM 10d, the ROM 10e, and the auxiliary storage device 10f so that information can be exchanged. The CPU 10a writes the program stored in the program area 10fa of the auxiliary storage device 10f to the program area 10da of the RAM 10d according to the loaded OS (Operating System) program. Similarly, the CPU 10a writes various data stored in the data area 10fb of the auxiliary storage device 10f to the data area 10db of the RAM 10d. The addresses on the RAM 10d where these programs and data are written are stored in the register 10ac of the CPU 10a.The control unit 10aa of the CPU 10a sequentially reads out these addresses stored in the register 10ac, reads out programs and data from the areas on the RAM 10d indicated by the read addresses, causes the calculation unit 10ab to sequentially execute the calculations indicated by the programs, and stores the calculation results in the register 10ac. With this configuration, the functional configuration of the polynomial conversion device 1 is realized.
[0048] The above-mentioned program can be recorded in a computer-readable recording medium. An example of a computer-readable recording medium is a non-transitory recording medium. Examples of such a recording medium include a magnetic recording device, an optical disk, a magneto-optical recording medium, a semiconductor memory, and the like.
[0049] The distribution of this program is performed, 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 the program may be distributed by transferring the program from the server computer to another computer via a network. As described above, a computer that executes such a program, for example, first temporarily stores in its own storage device the program recorded in the portable recording medium or the program transferred from the server computer. Then, when executing the process, the computer reads the program stored in its own storage device and executes the process according to the read program. As another execution form of the program, the computer may directly read the program from the portable recording medium and execute the process according to the program, and further, each time the program is transferred from the server computer to the computer, the computer may execute the process according to the received program. Furthermore, the server computer may not transfer the program to the computer, and the above-mentioned process may be executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by issuing an execution instruction and obtaining the result. In addition, the program in this embodiment includes information used for processing by an electronic computer and equivalent to a program (such as data that is not a direct instruction to a computer but has the nature of defining computer processing).
[0050] In each embodiment, the present 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.
[0051] The present invention is not limited to the above-described embodiment. For example, the above-described various processes may be executed not only in chronological order as described, but also in parallel or individually depending on the processing capacity of the device that executes the processes or as necessary. Needless to say, other modifications are possible without departing from the spirit of the present invention. [Industrial Applicability]
[0052] The present invention can be used, for example, when solving combinatorial optimization problems using a quantum annealing machine or an Ising machine. For example, the present invention can be used to solve the objective function of a combinatorial optimization problem or an equivalent multivariate polynomial f(x1, ..., x N ) can be converted into a QUBO objective function or its equivalent Ising Hamiltonian with a small number of additional variables. By inputting the QUBO objective function and Ising Hamiltonian obtained in this way into a quantum annealing machine or Ising machine, it is possible to solve combinatorial optimization problems quickly. [Explanation of symbols]
[0053] 1 Polynomial conversion device 10. Conversion section 11 Summary section selection 12 Summary Term Transformation
Claims
1. J is a positive integer, N, M(j) are integers equal to or greater than 2, j = 0, ..., J-1, m = 0, ..., M(j)-1, and z(j,m) ∈ {0, ..., N-1} is a function value for (j,m), N variables x 0 , …, x N-1 Multivariate polynomial f(x 0 , …, x N-1 ) is input, and the multivariate polynomial f(x 0 , …, x N-1 ) common divisor x z(j,0) …x z(j,M(j)-1) The parts are the same additional variables a j The multivariate polynomial g(x 0 , …, x N-1 , a 0 , ..., a J-1 ) and a j = x z(j,0) …x z(j,M(j)-1) The constraint equation s(a j , x z(j,0) , …, x z(j,M(j)-1) ) and the multivariate polynomial h(x 0 , …, x N-1 , a 0 , ..., a J-1 ) = g(x 0 , …, x N-1 , a 0 , ..., a J-1 ) + s (a 0 , x z(0,0) , …, x z(0,M(0)-1) ) + ... + s (a J-1 , x z(J-1,0) , …, x z(J-1,M(J-1)) ) and outputting the result, R is an integer equal to or greater than 1, r=0,...,R-1, j(r) is a function value of r, and {j(0),...,j(R-1)} ⊂ {0,...,J-1}; The multivariate polynomial g(x 0 , …, x N-1 , a 0 , ..., a J-1 ) is R additional variables a j(0) , ..., a j(R-1) The product a j(0) …a j(R-1) The multivariate polynomial f(x 0 , …, x N-1 ) with terms obtained by replacing some or all of the terms in The additional variable a j(0) , ..., a j(R-1) Each of the additional variables a j A polynomial conversion device.
2. J is a positive integer, N, M(j) are integers equal to or greater than 2, j = 0, ..., J-1, m = 0, ..., M(j)-1, and z(j,m) ∈ {0, ..., N-1} is a function value for (j,m), N variables x 0 , …, x N-1 Multivariate polynomial f(x 0 , …, x N-1 ) is input, and the multivariate polynomial f(x 0 , …, x N-1 ) common divisor x z(j,0) …x z(j,M(j)-1) The parts are the same additional variables a j The multivariate polynomial g(x 0 , …, x N-1 , a 0 , ..., a J-1 ) and a j = x z(j,0) …x z(j,M(j)-1) The constraint equation s(a j , x z(j,0) , …, x z(j,M(j)-1) ) and the multivariate polynomial h(x 0 , …, x N-1 , a 0 , ..., a J-1 ) = g(x 0 , …, x N-1 , a 0 , ..., a J-1 ) + s (a 0 , x z(0,0) , …, x z(0,M(0)-1) ) + ... + s (a J-1 , x z(J-1,0) , …, x z(J-1,M(J-1)) ) and outputting the result, R is an integer equal to or greater than 1, r=0,...,R-1, j(r) is a function value of r, and {j(0),...,j(R-1)} ⊂ {0,...,J-1}; The multivariate polynomial g(x 0 , …, x N-1 , a 0 , ..., a J-1 ) is R additional variables a j(0) , ..., a j(R-1) The product a j(0) …a j(R-1) The multivariate polynomial f(x 0 , …, x N-1 ) with terms obtained by replacing some or all of the terms in R' is an integer equal to or greater than 2, r' = 0, ..., R'-1, j(r') is a function value of r', and {j'(0), ..., j'(R'-1)} ⊂ {0, ..., J-1}; The multivariate polynomial g(x 0 , …, x N-1 , a 0 , ..., a J-1 ) further includes R′ additional variables a j’(0) , ..., a j’(R’-1) The product a j’(0) …a j’(R’-1) The multivariate polynomial f(x 0 , …, x N-1 ) with terms obtained by replacing some or all of the terms in The R additional variables a j(0) , ..., a j(R-1) Only a part of the R′ additional variables a j’(0) , ..., a j’(R’-1) A polynomial converter included in the set of
3. J is a positive integer, N, M(j) are integers equal to or greater than 2, j = 0, ..., J-1, m = 0, ..., M(j)-1, and z(j,m) ∈ {0, ..., N-1} is a function value for (j,m), N variables x 0 , …, x N-1 Multivariate polynomial f(x 0 , …, x N-1 ) is input, and the multivariate polynomial f(x 0 , …, x N-1 ) common divisor x z(j,0) …x z(j,M(j)-1) The parts are the same additional variables a j The multivariate polynomial g(x 0 , …, x N-1 , a 0 , ..., a J-1 ) and a j = x z(j,0) …x z(j,M(j)-1) The constraint equation s(a j , x z(j,0) , …, x z(j,M(j)-1) ) and the multivariate polynomial h(x 0 , …, x N-1 , a 0 , ..., a J-1 ) = g(x 0 , …, x N-1 , a 0 , ..., a J-1 ) + s (a 0 , x z(0,0) , …, x z(0,M(0)-1) ) + ... + s (a J-1 , x z(J-1,0) , …, x z(J-1,M(J-1)) ) and outputting the result, [006] And A m are additional variables, [0070] A polynomial conversion device.
4. 4. The polynomial conversion device according to claim 1, The conversion unit is The multivariate polynomial f(x 0 , …, x N-1 ) is input, and the divisor x common to the multiple terms is z(j,0) …x z(j,M(j)-1) a summary item selection unit for selecting The multivariate polynomial f(x 0 , …, x N-1 ) the divisor x z(j,0) …x z(j,M(j)-1) The part is added to the additional variable a j The multivariate polynomial g(x 0 , …, x N-1 , a 0 , ..., a J-1 ) and the constraint equation s(a j , x z(j,0) , …, x z(j,M(j)-1) ) and the multivariate polynomial h(x 0 , …, x N-1 , a 0 , ..., a J-1 ) and outputting the summary term conversion unit; A polynomial conversion device having the following structure.
5. 5. The polynomial conversion device according to claim 1, The multivariate polynomial f(x 0 , …, x N-1 At least one term of is a monomial of third or higher order, The multivariate polynomial g(x 0 , …, x N-1 , a 0 , ..., a J-1 ) is a monomial of degree two or less.
6. A polynomial conversion method for a polynomial conversion device, comprising: J is a positive integer, N, M(j) are integers equal to or greater than 2, j = 0, ..., J-1, m = 0, ..., M(j)-1, and z(j,m) ∈ {0, ..., N-1} is a function value for (j,m), The conversion unit of the polynomial conversion device converts N variables x 0 , …, x N-1 Multivariate polynomial f(x 0 , …, x N-1 ) is input, and the multivariate polynomial f(x 0 , …, x N-1 ) common divisor x z(j,0) …x z(j,M(j)-1) The parts are the same additional variables a j The multivariate polynomial g(x 0 , …, x N-1 , a 0 , ..., a J-1 ) and a j = x z(j,0) …x z(j,M(j)-1) The constraint equation s(a j , x z(j,0) , …, x z(j,M(j)-1) ) and the multivariate polynomial h(x 0 , …, x N-1 , a 0 , ..., a J-1 ) = g(x 0 , …, x N-1 , a 0 , ..., a J-1 ) + s (a 0 , x z(0,0) , …, x z(0,M(0)-1) ) + ... + s (a J-1 , x z(J-1,0) , …, x z(J-1,M(J-1)) ) and outputting the result; R is an integer equal to or greater than 1, r=0,...,R-1, j(r) is a function value of r, and {j(0),...,j(R-1)} ⊂ {0,...,J-1}; The multivariate polynomial g(x 0 , …, x N-1 , a 0 , ..., a J-1 ) is R additional variables a j(0) , ..., a j(R-1) The product a j(0) …a j(R-1) The multivariate polynomial f(x 0 , …, x N-1 ) with terms obtained by replacing some or all of the terms in The additional variable a j(0) , ..., a j(R-1) Each of the additional variables a j ,Polynomial transformation method.
7. A polynomial conversion method for a polynomial conversion device, comprising: J is a positive integer, N, M(j) are integers equal to or greater than 2, j = 0, ..., J-1, m = 0, ..., M(j)-1, and z(j,m) ∈ {0, ..., N-1} is a function value for (j,m), The conversion unit of the polynomial conversion device converts N variables x 0 , …, x N-1 Multivariate polynomial f(x 0 , …, x N-1 ) is input, and the multivariate polynomial f(x 0 , …, x N-1 ) common divisor x z(j,0) …x z(j,M(j)-1) The parts are the same additional variables a j The multivariate polynomial g(x 0 , …, x N-1 , a 0 , ..., a J-1 ) and a j = x z(j,0) …x z(j,M(j)-1) The constraint equation s(a j , x z(j,0) , …, x z(j,M(j)-1) ) and the multivariate polynomial h(x 0 , …, x N-1 , a 0 , ..., a J-1 ) = g(x 0 , …, x N-1 , a 0 , ..., a J-1 ) + s (a 0 , x z(0,0) , …, x z(0,M(0)-1) ) + ... + s (a J-1 , x z(J-1,0) , …, x z(J-1,M(J-1)) ) and outputting the result; R is an integer equal to or greater than 1, r=0,...,R-1, j(r) is a function value of r, and {j(0),...,j(R-1)} ⊂ {0,...,J-1}; The multivariate polynomial g(x 0 , …, x N-1 , a 0 , ..., a J-1 ) is R additional variables a j(0) , ..., a j(R-1) The product a j(0) …a j(R-1) The multivariate polynomial f(x 0 , …, x N-1 ) with terms obtained by replacing some or all of the terms in R' is an integer equal to or greater than 2, r' = 0, ..., R'-1, j(r') is a function value of r', and {j'(0), ..., j'(R'-1)} ⊂ {0, ..., J-1}; The multivariate polynomial g(x 0 , …, x N-1 , a 0 , ..., a J-1 ) further includes R′ additional variables a j’(0) , ..., a j’(R’-1) The product a j’(0) …a j’(R’-1) The multivariate polynomial f(x 0 , …, x N-1 ) with terms obtained by replacing some or all of the terms in The R additional variables a j(0) , ..., a j(R-1) Only a part of the R′ additional variables a j’(0) , ..., a j’(R’-1) A polynomial transformation method in the set of .
8. A polynomial conversion method for a polynomial conversion device, comprising: J is a positive integer, N, M(j) are integers equal to or greater than 2, j = 0, ..., J-1, m = 0, ..., M(j)-1, and z(j,m) ∈ {0, ..., N-1} is a function value for (j,m), The conversion unit of the polynomial conversion device converts N variables x 0 , …, x N-1 Multivariate polynomial f(x 0 , …, x N-1 ) is input, and the multivariate polynomial f(x 0 , …, x N-1 ) common divisor x z(j,0) …x z(j,M(j)-1) The parts are the same additional variables a j The multivariate polynomial g(x 0 , …, x N-1 , a 0 , ..., a J-1 ) and a j = x z(j,0) …x z(j,M(j)-1) The constraint equation s(a j , x z(j,0) , …, x z(j,M(j)-1) ) and the multivariate polynomial h(x 0 , …, x N-1 , a 0 , ..., a J-1 ) = g(x 0 , …, x N-1 , a 0 , ..., a J-1 ) + s (a 0 , x z(0,0) , …, x z(0,M(0)-1) ) + ... + s (a J-1 , x z(J-1,0) , …, x z(J-1,M(J-1)) ) and outputting the result; [0080] And A m are additional variables, [0090] ,Polynomial transformation method.
9. A program for causing a computer to function as the polynomial conversion device according to any one of claims 1 to 5.
Citation Information
Patent Citations
Heuristic methods of converting higher order to quadratic polynomials in binary spaces
JP2021005363A
Information processing method, information processing device, and program therefor
WO2015190593A1