WO2022219769A1 - 多項式変換装置、多項式変換方法、およびプログラム - Google Patents

多項式変換装置、多項式変換方法、およびプログラム Download PDF

Info

Publication number
WO2022219769A1
WO2022219769A1 PCT/JP2021/015548 JP2021015548W WO2022219769A1 WO 2022219769 A1 WO2022219769 A1 WO 2022219769A1 JP 2021015548 W JP2021015548 W JP 2021015548W WO 2022219769 A1 WO2022219769 A1 WO 2022219769A1
Authority
WO
WIPO (PCT)
Prior art keywords
polynomial
multivariate
variables
multivariate polynomial
terms
Prior art date
Application number
PCT/JP2021/015548
Other languages
English (en)
French (fr)
Inventor
和大 宮原
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to JP2023514267A priority Critical patent/JPWO2022219769A1/ja
Priority to PCT/JP2021/015548 priority patent/WO2022219769A1/ja
Publication of WO2022219769A1 publication Critical patent/WO2022219769A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass

Definitions

  • the present invention relates to technology for replacing variables of a multivariate polynomial with other variables.
  • QUBO's objective function and its equivalent Ising Hamiltonian are multivariate quadratic polynomials about binary variables that take 0 or 1 (0-1 variables). There is a method of converting to an objective function or an equivalent Ising Hamiltonian (see, for example, Non-Patent Documents 1 and 2).
  • the present invention has been made in view of these points, and provides a technique for converting variables of a multivariate polynomial of any order into a multivariate polynomial of lower order using a smaller number of variables than in the prior art. With the goal.
  • Multivariate polynomial h ( x 0 ,..., x N-1 , a 0 ,..., aJ -1 ) g(x0,...,xN -1 , a0 ,...,aJ -1 )+s( a0 , xz(0,0) ,..., xz( 0,M(0)-1) )+...+s(a J-1 ,x z(J-1,0) ,...,x z(J-1,M(J-1)) ) and output do.
  • J is a positive integer
  • N M(j) are integers of 2 or more
  • j 0, ..., J-1
  • m 0, ..., M(j)-1
  • z(j,m) ⁇ 0, . . . ,N-1 ⁇ are the function values for (j,m).
  • the variables of a multivariate polynomial of any degree can be replaced with a smaller number of variables than in the conventional case. can be transformed into multivariate polynomials with low . Also, by adding the constraint expression, the identity between the divisor part before replacement and the additional variable is ensured.
  • FIG. 1 is a block diagram illustrating the functional configuration of the polynomial transformation device of the embodiment.
  • FIG. 2 is a flow diagram for illustrating the processing of the polynomial transformation device of the embodiment.
  • FIG. 10 is a diagram illustrating a procedure for selecting abstract terms by heuristic search;
  • FIG. 10 is a diagram illustrating a procedure for selecting abstract terms by heuristic search;
  • FIG. 5 is a graph showing experimental results showing the effect of reducing the number of additional variables.
  • FIG. 6 is a block diagram illustrating the hardware configuration of the polynomial transformation device of the embodiment.
  • 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 2 or more representing the number of variables constituting the j-th summary term.
  • the input multivariate polynomial f(x 0 , . . . , x N ⁇ 1 ) is not limited.
  • the multivariate polynomial f(x 0 , . . . , x N ⁇ 1 ) is some objective function or equivalent function that we aim to minimize.
  • x N ⁇ 1 is a multivariate polynomial in 0-1 variables representing an objective function or equivalent function (eg, Ising Hamiltonian) of a combinatorial optimization problem.
  • the output multivariate polynomial g(x 0 , . . . , x N-1 , a 0 , . . . , a J-1 ) is a summary are obtained by replacing the terms x z( j ,0) .
  • a multivariate polynomial h is a constraint expression s(a j , x z ( j, 0) , . It is obtained by adding to the polynomial g(x 0 , . . . , x N ⁇ 1 , a 0 , . . . , a J ⁇ 1 ).
  • a multivariate polynomial g(x 0 ,...,x N-1 ,a 0 ,...,a J-1 ) may contain terms replaced by the product of multiple additional variables. That is, the multivariate polynomial g ( x 0 , . . . , x N ⁇ 1 , a 0 , . having a term obtained by replacing some or all of a term of the multivariate polynomial f(x 0 , . . . , x N-1 ) by the product a j(0) . good too.
  • a multivariate polynomial g(x 0 , . . . , x N ⁇ 1 , a 0 , . may be identical to each other. That is, the multivariate polynomial g( x 0 , . . . , x N ⁇ 1 , a 0 , . R′ ⁇ 1) products a j′(0) ...a j′(R′ ⁇ 1) replace some or all of certain terms of the multivariate polynomial f(x 0 , . . . , x N ⁇ 1 ) and only some of the R additional variables a j (0) , . may be included in the set of a j'(R'-1) .
  • At least one term of the multivariate polynomial f(x 0 , . . . , x N ⁇ 1 ) is a monomial of degree 3 or higher, and the multivariate polynomial g(x 0 , . . . , x N ⁇ 1 , a 0 , .
  • all terms of a multivariate polynomial g(x 0 , . . . , x N ⁇ 1 , a 0 , . . . , a J ⁇ 1 ) are quadratic monomials.
  • the multivariate polynomial of interest is made quadratic by choosing divisors such that at least some monomials are represented by the product of two additional variables.
  • constraint expression s(a j , x z ( j, 0) , . are 0-1 variables x i ⁇ ⁇ 0, 1 ⁇
  • the following equation (1) is replaced by constraint equations s(a j , x z(j, 0) , . . . , x z(j, M( j)-1) ).
  • a m is a variable (additional variable), is.
  • # (A) is It represents a value expressed in binary notation that can be expressed in bits.
  • the first term on the right side of equation (1) is the number of 1s included in x 0 , ..., x M(j) ⁇ ⁇ 0, 1 ⁇ x 0 + ... + x M(j) is #(A) + a is minimized when equal to j (fact 1).
  • the polynomial transformation device 1 of this embodiment has a transformation section 10, a storage section 13, and a control section .
  • the conversion unit 10 exemplified in this embodiment has a summary term selection unit 11 and a summary term conversion unit 12 .
  • these do not limit the present invention, and at least some functions of a plurality of processing units may be combined.
  • Each process is executed under the control of the control unit 14, and data obtained by each process is stored in the storage unit 13, and read out and used in other processes as necessary.
  • x z (j, M (j) - 1) constraint expression s (a j , x z (j, 0) , ..., x z (j, M(j)-1) ) and a 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)) ) are obtained and output.
  • FIG. 2 is used to illustrate the function conversion processing of this embodiment.
  • the summary term selection unit 11 selects summary terms x z (j, 0) . Select and output x z(j, M(j)-1) .
  • summary terms x z(j, 0) ... x z(j, M(j)-1) may be selected. Details of this will be described later (step S11).
  • the summary term conversion unit 12 converts the summary term x z (j, 0 ) .
  • the summary term selection unit 11 selects, from monomials (terms) constituting a multivariate polynomial f( x 0 , . Those having term candidates (divisor candidates) 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: candidates) with the largest heuristic evaluation score (score (terms, half_terms, candidate)) with the summary terms (summarized_term) (step S112). ).
  • the evaluation score (score (terms, half_terms, candidate)) is determined according to FIG.
  • step S1121 when one unsubstituted monomial is completely replaced from terms at once, the summary term selection unit 11 sets the score to +2 (increases the evaluation score by 2) (step S1121), and moves one unsubstituted monomial from terms to half_terms.
  • the score is +1 (increase the evaluation score by 1) (step S1122), and when one unsubstituted monomial is replaced from half_terms in combination with any of x 0 , .
  • the score is +1 (step S1124).
  • 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).
  • the replacement is completed (step S114), and if the product of the selected summary term and the already registered (already replaced) summary term is the product, the replacement is completed (step S115), and the unary expression (term: terms) is removed. If (replacement) cannot be performed, the monomial (terms) is added to the summary term candidates (candidates) (step S116).
  • the selected summary term and the already registered summary term may include variables that overlap.
  • the summary term selection unit 11 repeats steps S117 to S119 for the terms stored in term. That is, the summary term selection unit 11 targets only monomials whose summary terms are partial monomials (step S117), and if term is the summary term itself or a summary term x an existing variable, the replacement is completed (step S118). , otherwise, the target monomial is moved to half_terms (step S119).
  • Constraint formula s ( a0 , x0 ,x1, x4 ) s( a1 , x0 , x1 ) s( a2 , x0 , x4 ) s( a3 , x1, x4 ) s ( a4 , x2, x3 )
  • FIG. 5 shows experimental results for demonstrating the effects of this embodiment.
  • the horizontal axis of FIG. 5 represents the number N of variable types, and the vertical axis represents the number of additional variables.
  • the solid line illustrates the experimental results when the monomial permutation of the present embodiment is performed, and the dashed line illustrates the experimental results when the monomial permutation of the present embodiment is not performed (in the case of the conventional method).
  • the number of additional variables was reduced by performing the monomial substitution of this embodiment, and the effect became greater as N increased.
  • a function conversion device transforms an arbitrary order multivariable function F ( x 0 , . to a multivariate polynomial f(x 0 , . . . , x N-1 ) related to the variables x 0 , . (x 0 , . . . , x N ⁇ 1 ) may be converted to a multivariate polynomial h(x 0 , . . . , x N ⁇ 1 , a 0 , . .
  • This function conversion device receives, for example, a multivariable function F ( x 0 , . , s N ⁇ 1 ) P(s 0 , . . . , s N ⁇ 1 , x 0 , . Output.
  • the function transformation device performs F ( s 0 , . . . , s N ⁇ 1 ) P(s 0 , . . . , s N ⁇ 1 , x 0 , . .
  • the function transformer may perform F(s 0 ,...,s N -1 )P(s 0 ,...,s N-1 , x 0 , . . . , x N ⁇ 1 ) to obtain a multivariate polynomial f(x 0 , .
  • N s 0 , . . . , s N - 1 are variables
  • each of the variables x 0 , . , 1 ⁇ , i 0 , .
  • a function conversion device receives a multivariable function F( x 0 , . . . , x N ⁇ 1 ) as an input and multivariable function values F( s 0 , . . . , s N ⁇ 1 ) and a multivariable function value F(s 0 , . , s N-1 ) is a multivariate polynomial f ( a multivariate polynomial generator for obtaining and outputting x 0 , . . . , x N ⁇ 1 ).
  • the multivariate function F(x 0 , . . . , x N ⁇ 1 ) is a constrained multivariate function
  • (x 0 , . (x 0 , . . . , x N ⁇ 1 ) that do not satisfy the constraints are invalid.
  • the objective function of a combinatorial optimization problem, the QUBO objective function corresponding to it, and the Ising Hamiltonian are a constraint function to express an effective solution as a combinatorial optimization problem, and a more suitable solution among the effective solutions.
  • the constraint function is zero for valid solutions ((x 0 ,..., x N-1 ) that satisfy the constraints) and zero for invalid solutions ((x 0 ,..., x N- that do not satisfy the constraints). 1 )) takes a large value, and the cost function expresses the evaluation of the solution with a small value compared to the constraint function. A solution to a combinatorial optimization problem is sought to minimize such an objective function or Ising Hamiltonian. In this case, the value of the constraint function for the invalid solution ((x 0 , . . . , x N ⁇ 1 ) that does not satisfy the constraint) is large and the value of the cost function does not make sense.
  • a function conversion device converts a multivariable function F( x 0 , . is converted into a multivariate polynomial f(x 0 , . . . , x N-1 ) with respect to variables x 0 , . Converting the multivariate polynomial f(x 0 ,...,x N-1 ) to multivariate polynomial h(x 0 ,...,x N-1 ,a 0 ,...,a J-1 ) as described above may be output.
  • This function conversion device receives, for example, a constrained multivariable function F( x 0 , . s 0 , . _ _ Multivariable function value F'(s 0 ,...,s N-1 ) for (s 0 ,...,s N-1 ) identical to (x 0 ,...,x N-1 ) is defined as F"(s 0 , . _ _ _ _ 1 , x 0 , . , x N-1 ) is F(s 0 ,..., s N-1 )P(s 0 ,..., s N- 1 , x 0 , .
  • the function transformation device performs F′(s 0 , . . . , x N ⁇ 1 ) for the set ( s 0 , . s N ⁇ 1 )P(s 0 , . . . , s N ⁇ 1 , x 0 , . do.
  • x N ⁇ 1 is F′(s 0 , ..., s N-1 ) P(s 0 , ..., s N-1 , x 0 , ..., x N-1 ) of multivariate polynomial G(x 0 , ..., x N-1 ) less than the number of terms.
  • the function transformer may compute F'(s 0 ,...,s N-1 )P(s 0 ,...,s N-1 , for all pairs (s 0 ,...,s N-1 ) ⁇ u x x 0 , . . . , x N ⁇ 1 ) to obtain a multivariate polynomial f(x 0 , .
  • the number of terms of the multivariate polynomial f( x 0 ,..., x N-1 ) in this case is F'(s 0 ,..., s N ⁇ 1 ) than the number of terms of the multivariate polynomial G( x 0 , ..., x N ⁇ 1 ) obtained by adding P(s 0 , . Few.
  • F"(s 0 ,..., s N-1 ) is not limited, but for example, the variables x 0 ,..., x N-1 ⁇ ⁇ 0,1 ⁇ are binary variables, and the variables s 0 ,..., s N ⁇ 1 ⁇ ⁇ 0,1 ⁇ is a binary variable, N k 0 , .
  • the function conversion device receives a constrained multivariable function F( x 0 , . . . , x N ⁇ 1 ) and inputs the multivariable function A multivariable function value generator that obtains a value F′(s 0 , . . . , s N ⁇ 1 ) and a multivariable function value F′(s 0 , .
  • the polynomial transform device 1 in each embodiment is, for example, a general-purpose processor including a processor (hardware processor) such as a CPU (central processing unit), a memory such as a RAM (random-access memory), a ROM (read-only memory), and the like.
  • a processor such as a CPU (central processing unit), a memory such as a RAM (random-access memory), a ROM (read-only memory), and the like.
  • it is a device configured by a dedicated computer executing a predetermined program. That is, the polynomial transform device 1 in each embodiment has, for example, processing circuitry configured to implement each unit it has.
  • This computer may have a single processor and memory, or may have multiple processors and memories.
  • This program may be installed in the computer, or may be recorded in ROM or the like in advance.
  • processing units may be configured using an electronic circuit that independently realizes processing functions, instead of an electronic circuit that realizes a functional configuration by reading a program like a CPU.
  • an electronic circuit that constitutes one device may include a plurality of CPUs.
  • FIG. 6 is a block diagram illustrating the hardware configuration of the polynomial transformation device 1 in each embodiment.
  • the polynomial transform device 1 of this example includes 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 It has a storage device 10f and a bus 10g.
  • the CPU 10a of this example has a control section 10aa, an arithmetic section 10ab, and a register 10ac, and executes various arithmetic processing according to various programs read into the register 10ac.
  • the input unit 10b is an input terminal for data input, a keyboard, a mouse, a touch panel, and the like.
  • the output unit 10c is an output terminal for outputting data, a display, a LAN card controlled by the CPU 10a having read a predetermined program, and the like.
  • the RAM 10d is SRAM (Static Random Access Memory), DRAM (Dynamic Random Access Memory), 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 are stored.
  • the auxiliary storage device 10f is, for example, a hard disk, an MO (Magneto-Optical disc), 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 are stored.
  • the bus 10g connects the CPU 10a, the input section 10b, the output section 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 read OS (Operating System) program.
  • 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. Then, the address on the RAM 10d where the program and data are written is stored in the register 10ac of the CPU 10a.
  • the control unit 10aa of the CPU 10a sequentially reads these addresses stored in the register 10ac, reads the program and data from the area on the RAM 10d indicated by the read address, and causes the calculation unit 10ab to sequentially execute the calculation indicated by the program, The calculation result is stored in the register 10ac. With such a configuration, the functional configuration of the polynomial transformation device 1 is realized.
  • the above program can be recorded on a computer-readable recording medium.
  • a computer-readable recording medium is a non-transitory recording medium. Examples of such recording media are magnetic recording devices, optical discs, magneto-optical recording media, semiconductor memories, and the like.
  • the distribution of this program is carried out, for example, by selling, assigning, lending, etc. portable recording media such as DVDs and CD-ROMs on which the program is recorded. Further, the program may be distributed by storing the program in the storage device of the server computer and transferring the program from the server computer to other computers via the network.
  • 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 storage device. When executing the process, this computer reads the program stored in its own storage device and executes the process according to the read program. Also, as another execution form of this program, the computer may read the program directly from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to this computer.
  • the processing according to the received program may be executed sequentially.
  • the above-mentioned processing is executed by a so-called ASP (Application Service Provider) type service, which does not transfer the program from the server computer to this computer, and realizes the processing function only by its execution instruction and result acquisition.
  • ASP Application Service Provider
  • the program in this embodiment includes information that is used for processing by a computer and that conforms to the program (data that is not a direct instruction to the computer but has the property of prescribing the processing of the computer, etc.).
  • the device is configured by executing a predetermined program on a computer, but at least part of these processing contents may be implemented by hardware.
  • the present invention is not limited to the above-described embodiments.
  • the various types of processing described above may not only be executed in chronological order according to the description, but may also be executed in parallel or individually according to the processing capacity of the device that executes the processing or as necessary.
  • the present invention can be used, for example, when solving combinatorial optimization problems using a quantum annealing machine, an Ising machine, or the like.
  • the objective function of a combinatorial optimization problem or its equivalent multivariate polynomial f(x 1 , . It can be converted to Hamiltonian.
  • Combinatorial optimization problems can be solved at high speed by inputting the QUBO objective function and Ising Hamiltonian obtained in this way to a quantum annealing machine, an Ising machine, or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)

Abstract

多項式変換装置が、N個の変数x,…,xN-1に関する多変数多項式f(x,…,xN-1)を入力とし、多変数多項式f(x,…,xN-1)における複数の項に共通する約数xz(j,0)…xz(j,M(j)-1)部分を互いに同一の追加変数aで置換して得られる多変数多項式g(x,…,xN-1,a,…,aJ-1)と、a=xz(j,0)…xz(j,M(j)-1)のときに最小値をとる制約式s(a,xz(j,0),…,xz(j,M(j)-1))と、を加算した多変数多項式h(x,…,xN-1,a,…,aJ-1)=g(x,…,xN-1,a,…,aJ-1)+s(a,xz(0,0),…,xz(0,M(0)-1))+…+s(aJ-1,xz(J-1,0),…,xz(J-1,M(J-1)))を得て出力する。

Description

多項式変換装置、多項式変換方法、およびプログラム
 本発明は、多変数多項式の変数を他の変数に置き換える技術に関する。
 現在広く利用されているノイマン型コンピュータでは、組合せ最適化問題を効率的に解くことが難しいとされている。そこで、近年、組合せ最適化問題をノイマン型コンピュータよりも効率的に解くことが可能な計算機である、量子アニーリングマシンやイジングマシンなどの研究開発が進められている。
 これらの新たな計算機は、対象とする組合せ最適化問題の目的関数をQUBO(Quadratic Unconstrained Binary Optimization)の目的関数やそれと等価なイジングハミルトニアンとして表現した最適化関数を入力とし、高速にその問題の解を計算することができる。
 QUBOの目的関数やそれと等価なイジングハミルトニアンは0か1を取る二値変数(0-1変数)に関する多変数2次多項式であるが、0-1変数に関する任意の次数の多変数多項式をQUBOの目的関数やそれと等価なイジングハミルトニアンに変換する手法が存在する(例えば、非特許文献1および2等参照)。
Nike Dattani,"Quadratization in Discrete Optimization and Quantum Mechanics",[online],arXiv:1901.04405v2 [quant-ph] 23 Sep 2019,[2021年3月30日検索],インターネット<https://arxiv.org/pdf/1901.04405.pdf> 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,[2021年3月30日検索],インターネット<https://orbi.uliege.be/handle/2268/220766>
 従来の0-1変数に関する任意の次数の多変数多項式をQUBOの目的関数やそれと等価なイジングハミルトニアンに変換する手法では、3次以上の項(単項式)をそれぞれ個別に2次多項式に置換する。そのため、3次以上の単項式1つあたりに1つ以上の追加変数が必要になる。
 しかしながら、例えば、複数の多項式の積により多変数多項式が得られている場合、この多変数多項式を展開した結果得られる単項式の個数は組合せ論的に増加するため、追加変数もそれに伴い大量に必要となる。
 現在提供されている、量子アニーリングマシンやイジングマシンは入力可能な変数の個数が限られているため、追加変数の爆発的な増加はこれら量子アニーリングやイジングマシン上での実行を不可能とする。
 このような問題は、組み合わせ最適化問題を量子コンピュータで解くための最適化関数を生成する場合のみならず、任意の次数の多変数多項式の変数を、さらに次数の低い多変数多項式に変換する際に共通するものである。
 本発明はこのような点に鑑みてなされたものであり、任意の次数の多変数多項式の変数を、従来よりも少ない個数の変数によって、次数の低い多変数多項式に変換できる技術を提供することを目的とする。
 N個の変数x,…,xN-1に関する多変数多項式f(x,…,xN-1)を入力とし、多変数多項式f(x,…,xN-1)における複数の項に共通する約数xz(j,0)…xz(j,M(j)-1)部分を互いに同一の追加変数aで置換して得られる多変数多項式g(x,…,xN-1,a,…,aJ-1)と、a=xz(j,0)…xz(j,M(j)-1)のときに最小値をとる制約式s(a,xz(j,0),…,xz(j,M(j)-1))と、を加算した多変数多項式h(x,…,xN-1,a,…,aJ-1)=g(x,…,xN-1,a,…,aJ-1)+s(a,xz(0,0),…,xz(0,M(0)-1))+…+s(aJ-1,xz(J-1,0),…,xz(J-1,M(J-1)))を得て出力する。ここで、Jは正整数であり、N,M(j)は2以上の整数であり、j=0,…,J-1であり、m=0,…,M(j)-1であり、z(j,m)∈{0,…,N-1}が(j,m)に対する関数値である。
 以上のように、本発明では、複数の項に共通する約数部分を互いに同一の追加変数で置換するため、任意の次数の多変数多項式の変数を、従来よりも少ない個数の変数によって、次数の低い多変数多項式に変換することができる。また、制約式が加算されることで、置き換え前の約数部分と追加変数との同一性が担保される。
図1は実施形態の多項式変換装置の機能構成を例示するためのブロック図である。 図2は実施形態の多項式変換装置の処理を例示するためのフロー図である。 ヒューリスティック探索による要約項の選択手順を例示した図である。 ヒューリスティック探索による要約項の選択手順を例示した図である。 図5は追加変数個数の削減効果を示す実験結果を表すグラフである。 図6は実施形態の多項式変換装置のハードウェア構成を例示するためのブロック図である。
 以下、図面を参照して本発明の実施形態を説明する。
 まず、実施形態の原理を説明する。
 実施形態では、対象の多変数多項式内の複数の単項式に共通する約数(要約項)を見つけ出し、この要約項を追加変数(「補助変数」ともいう)で置換する。また、対象の多変数多項式の意味が変化しないようにするため、要約項と追加変数が同一の値を取ることを要求する制約式を追加する。すなわち、変換部が、N個の変数x,…,xN-1に関する多変数多項式f(x,…,xN-1)を入力とし、多変数多項式f(x,…,xN-1)における複数の項(単項式)に共通する約数(要約項)xz(j,0)…xz(j,M(j)-1)部分を互いに同一の追加変数aで置換して得られる多変数多項式g(x,…,xN-1,a,…,aJ-1)と、a=xz(j,0)…xz(j,M(j)-1)のときに最小値をとる関数(Summarize Divisor)である制約式s(a,xz(j,0),…,xz(j,M(j)-1))と、を加算した多変数多項式h(x,…,xN-1,a,…,aJ-1)=g(x,…,xN-1,a,…,aJ-1)+s(a,xz(0,0),…,xz(0,M(0)-1))+…+s(aJ-1,xz(J-1,0),…,xz(J-1,M(J-1)))を得て出力する。ここで、Jは要約項の個数を表す正整数であり、Nは変数の種類数を表す2以上の整数であり、M(j)はj番目の要約項を構成する変数数を表す2以上の整数であり、2≦M(j)≦Nを満たし、j=0,…,J-1であり、m=0,…,M(j)-1であり、z(j,m)∈{0,…,N-1}が(j,m)に対する関数値である。すべてのj=0,…,J-1について、M(j)の値が同一(例えば、M(0)=M(1)=・・・=M(J-1)=2)であってもよいし、同一でなくてもよい(例えば、M(0)=3,M(1)=2,・・・,M(J-1)=2)。変数x,…,xN-1はどのようなものであってもよいが、例えば、変数x,…,xN-1のそれぞれは二値変数x∈{b,b}であり、b≠bである。ただし、i=0,…,N-1である。特に、二値変数xが0-1変数である場合、b=0であり、b=1である。各変数xについて取り得る値がiごとに個別に設定されてもよい。例えば、変数x,…,xのそれぞれが二値変数x∈{b0,i,b1,i}であり、各{b0,i,b1,i}がiにより異なっていてもよい。特に、二値変数xが0-1変数である場合、(b0,i,b1,i)=(0,1)であるか(b0,i,b1,i)=(1,0)であるかが、iにより異なっていてもよい。入力される多変数多項式f(x,…,xN-1)に限定はない。例えば、多変数多項式f(x,…,xN-1)は、最小化することを目的とするなんらかの目的関数または当該目的関数と等価な関数である。多変数多項式f(x,…,xN-1)の一例は、組合せ最適化問題の目的関数またはそれと等価な関数(例えば、イジングハミルトニアン)を表す0-1変数に関する多変数多項式である。また、出力される多変数多項式g(x,…,xN-1,a,…,aJ-1)は、j=0,…,J-1について、複数の項に共通する要約項xz(j,0)…xz(j,M(j)-1)部分を互いに同一の追加変数aで置換して得られるものである。多変数多項式hは、j=0,…,J-1についての制約式s(a,xz(j,0),…,xz(j,M(j)-1))を多変数多項式g(x,…,xN-1,a,…,aJ-1)に加算して得られるものである。
 このように、複数の項に共通する要約項xz(j,0)…xz(j,M(j)-1)部分を互いに同一の追加変数aで置換するため、任意の次数の多変数多項式f(x,…,xN-1)の変数を、従来よりも少ない個数の変数によって、次数の低い多変数多項式h(x,…,xN-1,a,…,aJ-1)に変換することができる。例えば、0-1変数に関する任意の次数の多変数多項式を、従来よりも少ない追加変数で、QUBOの目的関数やそれと等価なイジングハミルトニアンに変換することができる。また、制約式s(a,xz(j,0),…,xz(j,M(j)-1))が加算されることで、置き換え前の要約項xz(j,0)…xz(j,M(j)-1)と追加変数aとの同一性が担保される。
 例えば、多変数多項式g(x,…,xN-1,a,…,aJ-1)は、複数の追加変数の積によって置換された項を含んでもよい。すなわち、多変数多項式g(x,…,xN-1,a,…,aJ-1)は、R個の追加変数aj(0),…,aj(R-1)の積aj(0)…aj(R-1)によって多変数多項式f(x,…,xN-1)の或る項の一部または全部を置換して得られる項を持っていてもよい。ここで、Rが2以上の整数であり、r=0,…,R-1であり、j(r)がrの関数値であり、{j(0),…,j(R-1)}⊂{0,…,J-1}である。これにより、項の次数を効率的に減らすことができる。
 例えば、多変数多項式g(x,…,xN-1,a,…,aJ-1)が、複数の追加変数の積によって置換された項を複数個持ち、それらの複数の項の一部の追加変数のみが互いに同一であってもよい。すなわち、多変数多項式g(x,…,xN-1,a,…,aJ-1)は、さらに、R’個の追加変数aj’(0),…,aj’(R’-1)の積aj’(0)…aj’(R’-1)によって多変数多項式f(x,…,xN-1)の或る項の一部または全部を置換して得られた項を持ち、R個の追加変数aj(0),…,aj(R-1)の一部のみが、R’個の追加変数aj’(0),…,aj’(R’-1)の集合に含まれてもよい。ここで、R’は2以上の整数であり、r’=0,…,R’-1であり、j(r’)がr’の関数値であり、{j’(0),…,j’(R’-1)}⊂{0,…,J-1}である。これにより、項の次数を効率的に減らすことができる。
 例えば、多変数多項式f(x,…,xN-1)の少なくとも何れかの項は3次以上の次数の単項式であり、多変数多項式g(x,…,xN-1,a,…,aJ-1)の項は2次以下の次数の単項式である。例えば、多変数多項式g(x,…,xN-1,a,…,aJ-1)のすべての項が2次の単項式である。例えば、2つ追加変数の積で少なくとも一部の単項式が表現されるように約数を選択することで、対象の多変数多項式を2次式とする。
 また、制約式s(a,xz(j,0),…,xz(j,M(j)-1))に限定はないが、例えば、変数x,…,xN-1のそれぞれが0-1変数x∈{0,1}である場合、以下の式(1)を制約式s(a,xz(j,0),…,xz(j,M(j)-1))とすることができる。
Figure JPOXMLDOC01-appb-M000003

ここで、Aは変数(追加変数)であり、
Figure JPOXMLDOC01-appb-M000004

である。なお、#(A)は
Figure JPOXMLDOC01-appb-M000005

ビットで表現できる2進数表記された値を表している。
 ここで、式(1)の右辺第1項はx,…,xM(j)∈{0,1}に含まれる1の個数x+…+xM(j)が#(A)+aと等しいときに最小になる(事実1)。一方、式(1)の右辺第2項は、Aが1つ以上0ならばaが0のときに最小になる。したがって、式(1)の右辺第2項は、aが1ならばAがすべて1のときに最小になる。式(2)より「Aがすべて1」と「#(A)=M(j)-1」は同値である。したがって、aが1ならば#(A)=M(j)-1のときに式(1)の右辺第2項が最小になる。すなわち、a=1ならば、#(A)+a=M(j)のときに式(1)の右辺第2項が最小になる。つまり、式(1)の右辺第2項は、「#(A)+a=M(j)⇔a=1」で最小になる(事実2)。事実1,2より、「x,…,xM(j)∈{0,1}に含まれる1の個数x+…+xM(j)=M(j)⇔a=1」のとき、式(1)は最小になる。したがって、「x,…,xM(j)がすべて1⇔a=1」のとき、式(1)は最小になる。よって、式(1)はa=x…xM(j)で最小になる。
 [第1実施形態]
 次に、第1実施形態を説明する。以降、説明済の事項については同じ記号を用いて説明を省略する。
 <構成>
 図1に例示するように、本実施形態の多項式変換装置1は、変換部10、記憶部13、および制御部14を有する。ここで、本実施形態で例示する変換部10は、要約項選択部11および要約項変換部12を有する。しかし、これらは本発明を限定するものではなく、複数の処理部の少なくとも一部の機能が融合されてもよい。また、各処理は制御部14の制御の下で実行され、各処理で得られたデータは記憶部13に格納され、必要に応じて他の処理で読み出されて利用される。
 <処理>
 本実施形態の多項式変換処理を例示する。
 多項式変換装置1の変換部10には、変換対象の多変数多項式f(x,…,xN-1)が入力される。多変数多項式f(x,…,xN-1)に限定はないが、例えば、組合せ最適化問題の目的関数またはそれと等価な関数(例えば、イジングハミルトニアン)を表す0-1変数に関する多変数多項式f(x,…,xN-1)が入力される。
 変換部10は、入力された多変数多項式f(x,…,xN-1)における複数の項に共通する約数(要約項)xz(j,0)…xz(j,M(j)-1)部分を互いに同一の追加変数aで置換して得られる多変数多項式g(x,…,xN-1,a,…,aJ-1)と、a=xz(j,0)…xz(j,M(j)-1)のときに最小値をとる制約式s(a,xz(j,0),…,xz(j,M(j)-1))と、を加算した多変数多項式h(x,…,xN-1,a,…,aJ-1)=g(x,…,xN-1,a,…,aJ-1)+s(a,xz(0,0),…,xz(0,M(0)-1))+…+s(aJ-1,xz(J-1,0),…,xz(J-1,M(J-1)))を得て出力する。
 図2を用いて、本実施形態の関数変換処理を例示する。
 変換部10の要約項選択部11には、多変数多項式f(x,…,xN-1)が入力される。要約項選択部11は、j=0,…,J-1について、多変数多項式f(x,…,xN-1)の複数の項に共通する要約項xz(j,0)…xz(j,M(j)-1)を選択して出力する。要約項xz(j,0)…xz(j,M(j)-1)の選択方法に限定はないが、例えば、ヒューリスティック探索によって要約項xz(j,0)…xz(j,M(j)-1)が選択されてもよい。この詳細は後述する(ステップS11)。
 変換部10の要約項変換部12には、多変数多項式f(x,…,xN-1)、および要約項選択部11から出力された=0,…,J-1についての要約項xz(j,0)…xz(j,M(j)-1)が入力される。要約項変換部12は、多変数多項式f(x,…,xN-1)における要約項xz(j,0)…xz(j,M(j)-1)部分を追加変数aで置換して得られる多変数多項式g(x,…,xN-1,a,…,aJ-1)と、制約式s(a,xz(j,0),…,xz(j,M(j)-1))と、を加算した多変数多項式h(x,…,xN-1,a,…,aJ-1)を得て出力する(ステップS12)。
 <ヒューリスティック探索による要約項の選択>
 N種類の変数x,…,xN-1からJ個の要約項を選択する際の候補はO(2N^J)通りあるため、全探索によって最適な要約項を選択することは困難である。そのため、ヒューリスティック探索によって要約項を選択してもよい。図3および図4に、ヒューリスティック探索によって要約項を選択するため手順を例示する。
 図3に例示するように、要約項選択部11は、多変数多項式f(x,…,xN-1)を構成する単項式(項:terms)のうち、2次単項式にするための要約項候補(約数の候補)を持つものをhalf_termに格納する(ステップS111)。次に、termsとhalf_termの双方が空になるまで、以下のステップS112からS119を繰り返す。要約項選択部11は、ヒューリスティックな評価スコア(score(terms, half_terms, candidate))が最大の部分単項式(要約項候補:candidates)から優先して要約項(summarized_term)への置き換えを行う(ステップS112)。なお、評価スコア(score(terms, half_terms, candidate))は図4に従って定められる(ステップS1121からS1124)。すなわち、要約項選択部11は、未置換の単項式1つをtermsから一気に置換完了するとスコア+2とし(評価スコアを2増やし)(ステップS1121)、未置換の単項式1つをtermsからhalf_termsに移動するとスコア+1とし(評価スコアを1増やし)(ステップS1122)、x,…,xN-1のいずれかとの組み合わせにより未置換の単項式1つをhalf_termsから置換完了するとスコア+1とし(ステップS1123)、置き換え済みの要約項のいずれかとの組み合わせにより未置換の単項式1つをhalf_termsから置換完了するとスコア+1とする(ステップS1124)。
 図3に例示するように、要約項選択部11は、half_termに格納された項(terms)についてステップS113からS116を繰り返す。すなわち、要約項選択部11は、要約項が部分単項式となる単項式のみを対象とし(ステップS113)、対象の単項式(項:terms)が要約項そのものか、要約項×既存の変数となる場合は置換完了とし(ステップS114)、選択した要約項とすでに登録されている(置換済みの)要約項との積となる場合は置換完了とし(ステップS115)、対象の単項式(項:terms)が除去(置換)できなかった場合には、当該単項式(項:terms)を要約項候補(candidates)に追加する(ステップS116)。なお、ステップS115では、選択した要約項とすでに登録されている要約項とが重複する変数を含んでいてもよい。
 次に要約項選択部11は、termに格納された項についてステップS117からS119を繰り返す。すなわち、要約項選択部11は、要約項が部分単項式となる単項式のみを対象とし(ステップS117)、termが要約項そのものか、要約項×既存の変数となる場合は置換完了とし(ステップS118)、その他の場合はhalf_termsに対象の単項式を移動する(ステップS119)。
 <具体例>
 以下に5個の0-1変数x,…,xに関する多変数多項式f(x,…,x)を変換対象とする例を示す。
 変換対象の多変数多項式:
f(x,…,x
=A+A+A+A+A
+A+A+A+A
10+A11+A12+A13+A14
 要約項:
=x
=x
=x
=x
=x
 多変数多項式:
g(x,…,x
=A+A+A+A+A
+A+A+A+A
10+A11+A12+A13+A14
 制約式:
s(a,x,x,x
s(a,x,x
s(a,x,x
s(a,x,x
s(a,x,x
 出力される多変数多項式:
h(x,…,x
=A+A+A+A+A
+A+A+A+A
10+A11+A12+A13+A14
s(a,x,x,x)+
s(a,x,x)+
s(a,x,x)+
s(a,x,x)+
s(a,x,x
 <実験結果>
 図5に本実施形態の効果を示すための実験結果を示す。この実験では、N個の0-1変数x,…,xN-1に関する3次単項式をすべて足し合わせた多変数多項式f(x,…,xN-1)を変換対象とし、本実施形態によって追加変数の個数がどの程度削減されるかを確認した。図5の横軸は変数の種類数Nを表し、縦軸は追加変数の個数を表す。また、実線は本実施形態の単項式置換を行った場合の実験結果を例示しており、破線は本実施形態の単項式置換を行っていない場合(従来手法の場合)実験結果を例示している。図5に例示するように、本実施形態の単項式置換を行うことで追加変数の個数が削減され、その効果はNが大きいほど大きいものとなった。
 [第2実施形態]
 図示していない関数変換装置が、入力されたN個の変数x,…,xN-1に関する任意の次数の多変数関数F(x,…,xN-1)を、以下のように変数x,…,xN-1に関する多変数多項式f(x,…,xN-1)に変換し、第1実施形態の多項式変換装置1(図1)が当該多変数多項式f(x,…,xN-1)を前述のように多変数多項式h(x,…,xN-1,a,…,aJ-1)に変換して出力してもよい。
 この関数変換装置は、例えば、多変数関数F(x,…,xN-1)を入力とし、少なくとも一部の組(s,…,sN-1)についてF(s,…,sN-1)P(s,…,sN-1,x,…,xN-1)を足し合わせた多変数多項式f(x,…,xN-1)を得て出力する。例えば、関数変換装置は、組(x,…,xN-1)の定義域dに属する組(s,…,sN-1)∈dについてF(s,…,sN-1)P(s,…,sN-1,x,…,xN-1)を足し合わせた多変数多項式f(x,…,xN-1)を得て出力する。
Figure JPOXMLDOC01-appb-M000006

あるいは、関数変換装置は、すべての組(s,…,sN-1)∈uについてF(s,…,sN-1)P(s,…,sN-1,x,…,xN-1)を足し合わせた多変数多項式f(x,…,xN-1)を得て出力してもよい。
Figure JPOXMLDOC01-appb-M000007
 ここで、N個のs,…,sN-1は変数であり、(s,…,sN-1)=(x,…,xN-1)のときにP(s,…,sN-1,x,…,xN-1)=1であり、(s,…,sN-1)≠(x,…,xN-1)のときにP(s,…,sN-1,x,…,xN-1)=0である。例えば、変数x,…,xN-1のそれぞれが二値変数x∈{0,1}であり、変数s,…,sN-1のそれぞれが二値変数s∈{0,1}であり、i=0,…,N-1であり、x =1-xであり、s=1のときx(+)s=xであり、s=0のときx(+)s=x であり、P(s,…,sN-1,x,…,xN-1)=Π0≦i≦N-1(x(+)s)である。
 例えば、関数変換装置は、多変数関数F(x,…,xN-1)を入力とし、少なくとも一部の組(s,…,sN-1)についての多変数関数値F(s,…,sN-1)を得る多変数関数値生成部と、多変数関数値F(s,…,sN-1)を入力とし、少なくとも一部の組(s,…,sN-1)についてF(s,…,sN-1)P(s,…,sN-1,x,…,xN-1)を足し合わせた多変数多項式f(x,…,xN-1)を得て出力する多変数多項式生成部と、を有していてもよい。
 [第3実施形態]
 多変数関数F(x,…,xN-1)が制約条件付き多変数関数である場合、特定の制約条件を満たす(x,…,xN-1)は有効であるが、当該制約条件を満たさない(x,…,xN-1)は無効である。例えば、組合せ最適化問題の目的関数やそれに対応するQUBOの目的関数やイジングハミルトニアンは、組合せ最適化問題として有効な解を表現するための制約条件関数と、有効な解の中でより適した解を表現するためのコスト関数とを加算したものとなる。例えば、制約条件関数は、有効な解(制約条件を満たす(x,…,xN-1))のときにゼロ、無効な解(制約条件を満たさない(x,…,xN-1))のときに大きな値を取り、コスト関数は、制約条件関数に比べて小さな値で解の評価を表す。組合せ最適化問題の解は、このような目的関数やイジングハミルトニアンを最小化するように求められる。この場合、無効な解(制約条件を満たさない(x,…,xN-1))に対する制約条件関数の値は大きくなり、コスト関数の値は意味をなさない。制約条件を満たさない(x,…,xN-1)に対する制約条件付き多変数関数F(x,…,xN-1)の値は意味をなさず、このような制約条件付き多変数関数F(x,…,xN-1)の値にはどのような値を設定しても実用上問題ない。そのため、実用上問題のない多変数関数F(x,…,xN-1)の値を変更し、多変数多項式f(x,…,xN-1)を展開した際の項数(xiに関する項および定数項の合計数)を少なくしてもよい。
 すなわち、図示していない関数変換装置が、入力されたN個の変数x,…,xN-1に関する任意の次数の制約条件付き多変数関数F(x,…,xN-1)を、以下のように変数x,…,xN-1に関する多変数多項式f(x,…,xN-1)に変換し、第1実施形態の多項式変換装置1(図1)が当該多変数多項式f(x,…,xN-1)を前述のように多変数多項式h(x,…,xN-1,a,…,aJ-1)に変換して出力してもよい。
 この関数変換装置は、例えば、制約条件付き多変数関数F(x,…,xN-1)を入力とし、制約条件を満たす組(x,…,xN-1)と同一の(s,…,sN-1)についての多変数関数値F’(s,…,sN-1)をF(s,…,sN-1)とし、制約条件を満たさない組(x,…,xN-1)と同一の(s,…,sN-1)についての多変数関数値F’(s,…,sN-1)をF”(s,…,sN-1)とし、少なくとも一部の組(s,…,sN-1)についてF’(s,…,sN-1)P(s,…,sN-1,x,…,xN-1)を足し合わせた多変数多項式f(x,…,xN-1)を得て出力する。ただし、得られる多変数多項式f(x,…,xN-1)の項数は、少なくとも一部の組(s,…,sN-1)についてF(s,…,sN-1)P(s,…,sN-1,x,…,xN-1)を足し合わせた多変数多項式G(x,…,xN-1)の項数よりも少ない。
 例えば、関数変換装置は、組(x,…,xN-1)の定義域dに属する組(s,…,sN-1)∈dについてF’(s,…,sN-1)P(s,…,sN-1,x,…,xN-1)を足し合わせた多変数多項式f(x,…,xN-1)を得て出力する。この場合の多変数多項式f(x,…,xN-1)の項数は、定義域dに属する組(s,…,sN-1)∈dについてF’(s,…,sN-1)P(s,…,sN-1,x,…,xN-1)を足し合わせた多変数多項式G(x,…,xN-1)の項数よりも少ない。あるいは、関数変換装置は、すべての組(s,…,sN-1)∈uについてF’(s,…,sN-1)P(s,…,sN-1,x,…,xN-1)を足し合わせた多変数多項式f(x,…,xN-1)を得て出力してもよい。この場合の多変数多項式f(x,…,xN-1)の項数は、すべての組(s,…,sN-1)∈uについてF’(s,…,sN-1)P(s,…,sN-1,x,…,xN-1)を足し合わせた多変数多項式G(x,…,xN-1)の項数よりも少ない。
 F”(s,…,sN-1)に限定はないが、例えば、変数x,…,xN-1∈{0,1}が二値変数であり、変数s,…,sN-1∈{0,1}が二値変数であり、N個のk,…,kN-1∈{0,1}が二値変数であり、i=0,…,N-1であり、x =1-xであり、s=1のときx(+)s=xであり、s=0のときx(+)s=x であり、P(s,…,sN-1,x,…,xN-1)=Π0≦i≦N-1(x(+)s)である場合、F”(s,…,sN-1)は以下のように再帰的に定義される。
Figure JPOXMLDOC01-appb-I000008

である、
 例えば、関数変換装置は、制約条件付き多変数関数F(x,…,xN-1)を入力とし、少なくとも一部の組(s,…,sN-1)についての多変数関数値F’(s,…,sN-1)を得る多変数関数値生成部と、多変数関数値F’(s,…,sN-1)を入力とし、少なくとも一部の組(s,…,sN-1)についてF’(s,…,sN-1)P(s,…,sN-1,x,…,xN-1)を足し合わせた多変数多項式f(x,…,xN-1)を得て出力する多変数多項式生成部と、を有する。
 [ハードウェア構成]
 各実施形態における多項式変換装置1は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)やRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される装置である。すなわち、各実施形態における多項式変換装置1は、例えば、それぞれが有する各部を実装するように構成された処理回路(processing circuitry)を有する。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、単独で処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。
 図6は、各実施形態における多項式変換装置1のハードウェア構成を例示したブロック図である。図6に例示するように、この例の多項式変換装置1は、CPU(Central Processing Unit)10a、入力部10b、出力部10c、RAM(Random Access Memory)10d、ROM(Read Only Memory)10e、補助記憶装置10f及びバス10gを有している。この例のCPU10aは、制御部10aa、演算部10ab及びレジスタ10acを有し、レジスタ10acに読み込まれた各種プログラムに従って様々な演算処理を実行する。また、入力部10bは、データが入力される入力端子、キーボード、マウス、タッチパネル等である。また、出力部10cは、データが出力される出力端子、ディスプレイ、所定のプログラムを読み込んだCPU10aによって制御されるLANカード等である。また、RAM10dは、SRAM (Static Random Access Memory)、DRAM (Dynamic Random Access Memory)等であり、所定のプログラムが格納されるプログラム領域10da及び各種データが格納されるデータ領域10dbを有している。また、補助記憶装置10fは、例えば、ハードディスク、MO(Magneto-Optical disc)、半導体メモリ等であり、所定のプログラムが格納されるプログラム領域10fa及び各種データが格納されるデータ領域10fbを有している。また、バス10gは、CPU10a、入力部10b、出力部10c、RAM10d、ROM10e及び補助記憶装置10fを、情報のやり取りが可能なように接続する。CPU10aは、読み込まれたOS(Operating System)プログラムに従い、補助記憶装置10fのプログラム領域10faに格納されているプログラムをRAM10dのプログラム領域10daに書き込む。同様にCPU10aは、補助記憶装置10fのデータ領域10fbに格納されている各種データを、RAM10dのデータ領域10dbに書き込む。そして、このプログラムやデータが書き込まれたRAM10d上のアドレスがCPU10aのレジスタ10acに格納される。CPU10aの制御部10aaは、レジスタ10acに格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すRAM10d上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部10abに順次実行させ、その演算結果をレジスタ10acに格納していく。このような構成により、多項式変換装置1の機能構成が実現される。
 上述のプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
 このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。上述のように、このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 各実施形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
 なお、本発明は上述の実施形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
 本発明は、例えば、量子アニーリングマシンやイジングマシンなどで組合せ最適化問題を解く際に利用できる。例えば、本発明によって、組合せ最適化問題の目的関数やそれと等価な0-1変数に関する多変数多項式f(x,…,x)を、少ない追加変数でQUBOの目的関数やそれと等価なイジングハミルトニアンに変換可能である。このように得られたQUBOの目的関数やイジングハミルトニアンを量子アニーリングマシンやイジングマシンなどに入力することで、高速に組合せ最適化問題を解くことができる。
1 多項式変換装置
10 変換部
11 要約項選択部
12 要約項変換部

Claims (8)

  1.  Jが正整数であり、N,M(j)が2以上の整数であり、j=0,…,J-1であり、m=0,…,M(j)-1であり、z(j,m)∈{0,…,N-1}が(j,m)に対する関数値であり、
     N個の変数x,…,xN-1に関する多変数多項式f(x,…,xN-1)を入力とし、前記多変数多項式f(x,…,xN-1)における複数の項に共通する約数xz(j,0)…xz(j,M(j)-1)部分を互いに同一の追加変数aで置換して得られる多変数多項式g(x,…,xN-1,a,…,aJ-1)と、a=xz(j,0)…xz(j,M(j)-1)のときに最小値をとる制約式s(a,xz(j,0),…,xz(j,M(j)-1))と、を加算した多変数多項式h(x,…,xN-1,a,…,aJ-1)=g(x,…,xN-1,a,…,aJ-1)+s(a,xz(0,0),…,xz(0,M(0)-1))+…+s(aJ-1,xz(J-1,0),…,xz(J-1,M(J-1)))を得て出力する変換部を有する多項式変換装置。
  2.  請求項1の多項式変換装置であって、
     前記変換部は、
     前記多変数多項式f(x,…,xN-1)を入力とし、前記複数の項に共通する約数xz(j,0)…xz(j,M(j)-1)を選択する要約項選択部と、
     前記多変数多項式f(x,…,xN-1)における前記約数xz(j,0)…xz(j,M(j)-1)部分を前記追加変数aで置換して得られる前記多変数多項式g(x,…,xN-1,a,…,aJ-1)と、前記制約式s(a,xz(j,0),…,xz(j,M(j)-1))と、を加算した前記多変数多項式h(x,…,xN-1,a,…,aJ-1)を得て出力する要約項変換部と、
    を有する多項式変換装置。
  3.  請求項1または2の多項式変換装置であって、
     Rが2以上の整数であり、r=0,…,R-1であり、j(r)がrの関数値であり、{j(0),…,j(R-1)}⊂{0,…,J-1}であり、
     前記多変数多項式g(x,…,xN-1,a,…,aJ-1)は、R個の追加変数aj(0),…,aj(R-1)の積aj(0)…aj(R-1)によって前記多変数多項式f(x,…,xN-1)の或る項の一部または全部を置換して得られる項を持つ、多項式変換装置。
  4.  請求項3の多項式変換装置であって、
     R’が2以上の整数であり、r’=0,…,R’-1であり、j(r’)がr’の関数値であり、{j’(0),…,j’(R’-1)}⊂{0,…,J-1}であり、
     前記多変数多項式g(x,…,xN-1,a,…,aJ-1)は、さらに、R’個の追加変数aj’(0),…,aj’(R’-1)の積aj’(0)…aj’(R’-1)によって前記多変数多項式f(x,…,xN-1)の或る項の一部または全部を置換して得られた項を持ち、
     前記R個の追加変数aj(0),…,aj(R-1)の一部のみが、前記R’個の追加変数aj’(0),…,aj’(R’-1)の集合に含まれる、多項式変換装置。
  5.  請求項1から4の何れかの多項式変換装置であって、
    Figure JPOXMLDOC01-appb-M000001

    であり、Aが追加変数であり、
    Figure JPOXMLDOC01-appb-M000002

    である、多項式変換装置。
  6.  請求項1から5の何れかの多項式変換装置であって、
     前記多変数多項式f(x,…,xN-1)の少なくとも何れかの項は3次以上の次数の単項式であり、
     前記多変数多項式g(x,…,xN-1,a,…,aJ-1)の項は2次以下の次数の単項式である、多項式変換装置。
  7.  多項式変換装置の多項式変換方法であって、
     Jが正整数であり、N,M(j)が2以上の整数であり、j=0,…,J-1であり、m=0,…,M(j)-1であり、z(j,m)∈{0,…,N-1}が(j,m)に対する関数値であり、
     前記多項式変換装置の変換部が、N個の変数x,…,xN-1に関する多変数多項式f(x,…,xN-1)を入力とし、前記多変数多項式f(x,…,xN-1)における複数の項に共通する約数xz(j,0)…xz(j,M(j)-1)部分を互いに同一の追加変数aで置換して得られる多変数多項式g(x,…,xN-1,a,…,aJ-1)と、a=xz(j,0)…xz(j,M(j)-1)のときに最小値をとる制約式s(a,xz(j,0),…,xz(j,M(j)-1))と、を加算した多変数多項式h(x,…,xN-1,a,…,aJ-1)=g(x,…,xN-1,a,…,aJ-1)+s(a,xz(0,0),…,xz(0,M(0)-1))+…+s(aJ-1,xz(J-1,0),…,xz(J-1,M(J-1)))を得て出力する変換ステップを有する多項式変換方法。
  8.  請求項1から6の何れかの多項式変換装置としてコンピュータを機能させるためのプログラム。
PCT/JP2021/015548 2021-04-15 2021-04-15 多項式変換装置、多項式変換方法、およびプログラム WO2022219769A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2023514267A JPWO2022219769A1 (ja) 2021-04-15 2021-04-15
PCT/JP2021/015548 WO2022219769A1 (ja) 2021-04-15 2021-04-15 多項式変換装置、多項式変換方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/015548 WO2022219769A1 (ja) 2021-04-15 2021-04-15 多項式変換装置、多項式変換方法、およびプログラム

Publications (1)

Publication Number Publication Date
WO2022219769A1 true WO2022219769A1 (ja) 2022-10-20

Family

ID=83640230

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/015548 WO2022219769A1 (ja) 2021-04-15 2021-04-15 多項式変換装置、多項式変換方法、およびプログラム

Country Status (2)

Country Link
JP (1) JPWO2022219769A1 (ja)
WO (1) WO2022219769A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015190593A1 (ja) * 2014-06-12 2015-12-17 学校法人早稲田大学 情報処理方法、情報処理装置およびそのプログラム
JP2021005363A (ja) * 2019-06-25 2021-01-14 富士通株式会社 二値空間において高次多項式から二次多項式に変換する発見的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015190593A1 (ja) * 2014-06-12 2015-12-17 学校法人早稲田大学 情報処理方法、情報処理装置およびそのプログラム
JP2021005363A (ja) * 2019-06-25 2021-01-14 富士通株式会社 二値空間において高次多項式から二次多項式に変換する発見的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
VERMA AMIT; LEWIS MARK: "Optimal quadratic reformulations of fourth degree Pseudo-Boolean functions", OPTIMIZATION LETTERS, SPRINGER BERLIN HEIDELBERG, BERLIN/HEIDELBERG, vol. 14, no. 6, 3 August 2019 (2019-08-03), Berlin/Heidelberg , pages 1557 - 1569, XP037209337, ISSN: 1862-4472, DOI: 10.1007/s11590-019-01460-7 *
YAMAGUCHI, JUNPEI: "2.3 Order reduction of high-dimensional polynomials", PROCEEDINGS OF 2020 SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY, 28 January 2020 (2020-01-28) *

Also Published As

Publication number Publication date
JPWO2022219769A1 (ja) 2022-10-20

Similar Documents

Publication Publication Date Title
Yuan et al. Quantum morphology operations based on quantum representation model
Babu Cost-efficient design of a quantum multiplier–accumulator unit
Le Thi et al. DCA based algorithms for feature selection in multi-class support vector machine
Le et al. Sparse semi-supervised support vector machines by DC programming and DCA
Mairal Cyanure: An open-source toolbox for empirical risk minimization for python, c++, and soon more
Bolón-Canedo et al. Feature selection: From the past to the future
Zhao et al. Cache and energy efficient algorithms for Nussinov’s RNA folding
Tadist et al. SDPSO: Spark Distributed PSO-based approach for feature selection and cancer disease prognosis
Sarkar et al. An investigation of the effects of missing data handling using ‘r’-packages
Liu et al. Leveraging special-purpose hardware for local search heuristics
D. Ahle et al. Similarity search with tensor core units
WO2022219769A1 (ja) 多項式変換装置、多項式変換方法、およびプログラム
Drezner et al. Solving the planar p-median problem by variable neighborhood and concentric searches
Gu et al. PEAVC: An improved minimum vertex cover solver for massive sparse graphs
Sovrasov Comparison of several stochastic and deterministic derivative-free global optimization algorithms
Ferreiro-Ferreiro et al. Basin hopping with synched multi L-BFGS local searches. Parallel implementation in multi-CPU and GPUs
Cawi et al. Designing machine learning workflows with an application to topological data analysis
Shahidi et al. A new method for reversible circuit synthesis using a Simulated Annealing algorithm and don’t-cares
JP7513198B2 (ja) 関数変換装置、関数変換方法、およびプログラム
WO2022219768A1 (ja) 関数変換装置、関数変換方法、およびプログラム
Sanches et al. Comments on parallel algorithms for the knapsack problem
Hirao QMC designs and determinantal point processes
Hamel VSOM: efficient, stochastic self-organizing map training
Avila et al. Efficient In-Situ Quantum Computing Simulation of Shor's and Grover's Algorithms
Nolet et al. GPU semiring primitives for sparse neighborhood methods

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21936965

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023514267

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21936965

Country of ref document: EP

Kind code of ref document: A1