WO2022219770A1 - 関数変換装置、関数変換方法、およびプログラム - Google Patents

関数変換装置、関数変換方法、およびプログラム Download PDF

Info

Publication number
WO2022219770A1
WO2022219770A1 PCT/JP2021/015549 JP2021015549W WO2022219770A1 WO 2022219770 A1 WO2022219770 A1 WO 2022219770A1 JP 2021015549 W JP2021015549 W JP 2021015549W WO 2022219770 A1 WO2022219770 A1 WO 2022219770A1
Authority
WO
WIPO (PCT)
Prior art keywords
function
variables
multivariate
polynomial
multivariable
Prior art date
Application number
PCT/JP2021/015549
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 PCT/JP2021/015549 priority Critical patent/WO2022219770A1/ja
Priority to JP2023514268A priority patent/JPWO2022219770A1/ja
Publication of WO2022219770A1 publication Critical patent/WO2022219770A1/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 converting a multivariable function with constraints into a multivariable polynomial.
  • the objective function of a combinatorial optimization problem is, for example, the addition of a constraint function for expressing an effective solution as a combinatorial optimization problem and a cost function for expressing a more suitable solution among the effective solutions.
  • a constraint function for expressing an effective solution as a combinatorial optimization problem
  • a cost function for expressing a more suitable solution among the effective solutions.
  • the constraint function is expressed in a form that takes a value of zero for a valid solution and a large value for an invalid solution, and the cost function expresses the evaluation of the solution with a small value compared to the constraint function.
  • QUBO's objective function and its equivalent Ising Hamiltonian are multivariate quadratic polynomials related to binary variables that take 0 or 1 (0-1 variables). , or an equivalent Ising Hamiltonian conversion method (see, for example, Non-Patent Documents 1 and 2).
  • Such problems are common not only when generating optimization functions for solving combinatorial optimization problems on a quantum computer, but also when converting arbitrary constrained multivariate functions into multivariate polynomials. .
  • the present invention has been made in view of these points, and aims to provide a technique for converting a multivariable function with arbitrary constraints into a multivariable polynomial.
  • An arbitrary constrained multivariate function f(x1,..., xN) on N variables x1 ,..., xN is given by a multivariate polynomial q(x1,...,xN) on variables x1,...,xN. , x N ).
  • N is an integer of 1 or more.
  • the transformation unit receives a multivariable function f(x 1 , . . . , x N ) with constraints and outputs a multivariate polynomial q(x 1 , . . . , x N ).
  • q(x 1 ,..., x N ) is expressed as the sum of f'(s 1 ,..., s N )P(s 1 ,..., s N ,x 1 ,..., x N ) be done.
  • f'(s 1 ,..., s N ) is f(x 1 ,..., x N ) when (x 1 ,..., x N ) satisfies the constraints, and (x 1 ,..., x N ). ) does not satisfy the constraint, it is a multivariate function that takes f′′ ( x 1 , . . . , x N ). less than the number of terms of the multivariate polynomial g(x 1 ,..., x N ) obtained by summing s 1 ,..., s N )P(s 1 ,..., s N , x 1 ,..., x N ).
  • any multivariable function can be converted into a multivariable polynomial.
  • FIG. 1A is a block diagram illustrating the functional configuration of the function conversion device of the first and second embodiments
  • FIG. 1B is a block diagram for illustrating the functional configuration of the multivariate polynomial generator in FIG. 1A
  • FIG. 2 is a flow diagram for illustrating the processing of the function conversion device of the first and second embodiments.
  • FIG. 3 is a block diagram illustrating the functional configuration of the function conversion device of the third embodiment.
  • FIG. 4 is a graph showing experimental results showing the effect of reducing the number of additional variables.
  • FIG. 5 is a block diagram illustrating the hardware configuration of the function conversion device of the first, second and third embodiments.
  • each variable x i is a 0-1 variable
  • Possible values for each variable x i may be set individually for each i.
  • P ( s 1 , ..., s N , x 1 , . . . , x N ) 0
  • This polynomial P(s 1 , . . . , s N , x 1 , . . . , x N ) is called a unit polynomial.
  • the variables s 1 , . . . , s N can be anything , but for example, each of the variables s 1 , . be.
  • the binary variable s i is a 0-1 variable
  • b 0 0
  • b 1 1.
  • the input multivariable function f(x 1 , . . . , x N ) may be a partial function. That is, the domain d x of the multivariable function f(x 1 , . . . , x N ) does not have to include all combinations on the variables x i .
  • the unit polynomial P(s 1 ,..., s N , x 1 ,..., x N ) is at least each vector (s 1 ,..., x N ) belonging to the domain d x of the vector (x 1 ,..., x N ). , s N ) ⁇ d x . That is, the unit polynomial f(s 1 , . .
  • s N should be set for at least part of the vectors (s 1 , . . . , s N ) (s 1 , .
  • the unit polynomial f s 1 , . . . , s N
  • the binary variables x i and s i are 0-1 variables
  • the domain d x is the total area of the vector (x 1 , . . . , x N )
  • the domain d x has 2 N
  • unit polynomials f(s 1 , . . . , s N ) are set for 2 N vectors (s 1 , . . . , s N ) ⁇ 0, 1 ⁇ N .
  • the conversion unit of the first embodiment receives the multivariable function f( x 1 , . . . , x N ) to be converted, and at least the vector (s 1 , . N ) f(s1,..., sN )P(s1,..., sN , x1 ,..., xN ) for at least some of the sets ( s1 ,..., sN ) are added to obtain and output a multivariate polynomial g(x 1 , . . . , x N ).
  • the conversion unit outputs a multivariate polynomial g(x 1 , . . .
  • the unit polynomial P s 1 , . . . , s N , x 1 , .
  • s i , x i ⁇ 0, 1 ⁇ .
  • the transformation unit is to compute all vectors (s 1 ,..., s N ) ⁇ u x (all pairs (s 1 ,..., s N )) f(s 1 ,..., s N )
  • P(s 1 ,..., s N , x 1 ,..., x N ) is a multivariate polynomial g(x 1 ,... , x N ) are obtained and output. That is, the conversion unit outputs a multivariate polynomial g(x 1 , . . . , x N ) obtained by the following equation (5).
  • Equation (5) becomes Equation (6) below.
  • the multivariate polynomial g(x 1 , . is.
  • 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.
  • the multivariate polynomial g(x 1 , . . . , x N ) transformed from an arbitrary multivariate function f(x 1 , . . . , x N ) on N variables x 1 , . contains many monomials. For example , if the variables x 1 , . When converting the multivariate polynomial g(x 1 , . , . . . , x N ), one or more additional variables are added for each monomial. Therefore, this transformation adds O(2 N ) additional variables. Therefore, in the first embodiment, additional variables that increase exponentially with respect to the type N of variables are required. Since the number of variables that can be input is limited in the currently provided quantum annealing machines and Ising machines, the explosive increase in additional variables greatly limits the size of problems that can be input.
  • Such problems are not limited to solving combinatorial optimization problems with quantum annealing machines or Ising machines. That is, an increase in the number of polynomial terms leads to an increase in resources required for computation, and an increase in the number of polynomial terms is undesirable in any computation.
  • the multivariable function f(x 1 , . . . , x N ) is a constrained multivariable function including constraints.
  • the multivariable function f(x 1 ,...,x N ) is a constrained multivariate function
  • (x 1 ,...,x N ) satisfying a particular constraint is valid, but the constraint is valid.
  • (x 1 , . . . , x N ) that do not satisfy is 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. is the addition of the cost function for expressing
  • the constraint function is zero for valid solutions ((x 1 , . . .
  • the cost function represents the evaluation of the solution in terms of small values compared to the constraint functions.
  • a solution to a combinatorial optimization problem is sought to minimize such an objective function or Ising Hamiltonian.
  • the value of the constraint function for the invalid solution ((x 1 , . . . , x N ) that does not satisfy the constraint) is large and the value of the cost function does not make sense.
  • the value of the constrained multivariate function f(x 1 ,..., x N ) for (x 1 ,..., x N ) that does not satisfy the constraint does not make sense, and such constrained multivariate function f( x 1 , . . . , x N ) can be set to any value in practice.
  • the constrained multivariate function f ( x 1 , . Consider the case where the constraint represented by the constraint function is " two of x1, x2 , and x3 are 1 ".
  • the following underlined cost function values can be set to any value.
  • g ( x1,x2 , x3 ) Cost(0,0,0) x1 - x2 - x3- + Cost(0,0,1) x1- x2 - x3 + Cost ( 0,1,0) x1 - x2x 3 - + Cost ( 0,1,1 ) x1 - x2x3 + Cost(1,0,0)x1x2 - x3- +Cost( 1,0,1 ) x1x2 - x3 + Cost (1,1,0) x1x2x3- + Cost ( 1,1,1)x1x2x3 + Constraint ( x1 , x2 , x3 ) Under these conditions, the values of the multivariable function f ( x 1 , .
  • the number of terms (total number of terms related to x i and constant terms) is greater than the number of terms (total number of terms related to x i and constant terms) when expanding the multivariate polynomial g(x 1 , . . . , x N ) Reduce.
  • f(s 1 ,..., s N ) be the multivariable function value f'(s 1 ,..., s N ) for (s 1 ,..., s N ) of ( Let the multivariable function value f'( s1 ,..., sN ) for ( s1,..., sN ) identical to x1,..., xN ) be f"( s1 ,..., sN ) , f′(s 1 ,...,s N )P for vectors (s 1 ,...,s N ) ⁇ d x (at least some pairs (s 1 ,...,s N )) belonging to at least domain d x .
  • a multivariate polynomial q(x 1 ,..., x N ) is obtained by summing (s 1 ,..., s N , x 1 ,..., x N ) and output, provided that the multivariate polynomial q(x 1 , ... , x N ) is f less than the number of terms of the multivariate polynomial g(x 1 ,..., x N ) which is the sum of (s 1 ,..., s N )P(s 1 ,..., s N ,x 1 ,..., x N ) .
  • the domain d x is the full domain u x of the vector (x 1 , . f′(s 1 , ... ,s N ) P ( s 1 , ...,s N , x 1 , . . . , x N ) to obtain and output a multivariate polynomial q ( x 1 , .
  • the number of terms of the multivariate polynomial q ( x 1 ,..., x N ) is given by f(s1,..., sN )P(s1,..., sN ,x1,..., xN ) than the number of terms of the multivariate polynomial g( x1 ,..., xN ) Few.
  • the conversion unit of the second embodiment replaces f (s 1 , . Obtain and output a multivariate polynomial q(x 1 , . . . , x N ) according to the formula.
  • the multivariate polynomial q (x 1 , . is.
  • 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.
  • the function conversion device 1 of this embodiment has a conversion section 10, a storage section 13, and a control section .
  • the conversion unit 10 exemplified in this embodiment has a multivariable function value generation unit 11 and a multivariable polynomial generation unit 12 .
  • the multivariate polynomial generator 12 exemplified in this embodiment has a multiplier 121 and an adder 122 .
  • 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.
  • a multivariable function f(x 1 , . . . , x N ) to be converted is input to the conversion unit 10 of the function conversion device 1 .
  • the multivariable function f(x 1 , . . . , x N ) is not limited, for example, an objective function of a combinatorial optimization problem or an equivalent multivariable function f(x 1 , . . . , x N ) is input.
  • the domain d x of the multivariable function f(x 1 , . . . , x N ) may be input to the transformation unit 10 .
  • the domain dx does not have to be input to the function conversion device 1 . For example, when the domain dx is the entire region ux or when the domain dx is known, the input of the domain dx can be omitted.
  • the transformation unit 10 adds f(s 1 , . . . , s N )P (s 1 , . . . , s N , x 1 , . Obtain and output the combined multivariate polynomial g(x 1 , . . . , x N ).
  • the transformation unit 10 calculates f(s 1 , . . . , s N ) P(s 1 , . . . , s N , x 1 , . x N ) may be obtained and output as a multivariate polynomial g(x 1 , . . . , x N ), or f ( s 1 , . sN )P(s1,..., sN ,x1,..., xN ) may be summed to obtain and output a multivariate polynomial g( x1 ,..., xN ).
  • FIG. 2 is used to illustrate the function conversion processing of this embodiment.
  • the multivariable function value generation unit 11 generates multivariable function values f ( s 1 , . . . , s N ) for at least part of the vectors (s 1 , . ) and outputs it.
  • the multivariable function value generation unit 11 may obtain and output multivariable function values f ( s 1 , . . . , s N ) for vectors (s 1 , .
  • multivariable function values f(s 1 , . . . , s N ) for all vectors (s 1 , . . . , s N ) may be obtained and output (step S11).
  • the multivariate polynomial generator 12 generates f(s 1 , . . . , s N )P ( s 1 , , s N , x 1 , .
  • the multivariate polynomial generator 12 generates f(s 1 ,..., s N )P(s 1 ,..., s N , x 1 for vectors (s 1 ,..., s N ) belonging to at least domain d x , ..., x N ) to obtain and output a multivariate polynomial g(x 1 , ..., x N ), or f ( s 1 .
  • the multivariate polynomial generator 12 generates and outputs a multivariate polynomial g(x 1 , .
  • the multiplication unit 121 (FIG. 1B) performs f(s 1 ,..., s N ) and P(s 1 , , s N , x 1 , . . . , x N ) are input to obtain f ( s 1 , .
  • f(s 1 ,..., s N )P(s 1 ,..., s N , x 1 ,..., x N ) are cumulatively added or added together to form the multivariate polynomial g (x 1 , . . . , x N ) are obtained and output (step S12).
  • the function conversion device 2 of this embodiment has a conversion section 20, a storage section 13, and a control section .
  • the conversion unit 20 exemplified in this embodiment has a multivariable function value generation unit 21 and a multivariable polynomial generation unit 22 .
  • the multivariate polynomial generator 22 illustrated in this embodiment has a multiplier 221 and an adder 222 .
  • 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.
  • the multivariable function f(x 1 , . . . , x N ) with constraints is not limited . be done.
  • the domain d x of the multivariable function f(x 1 , . . . , x N ) may also be input to the transformation unit 20 .
  • the domain dx does not have to be input to the function conversion device 2 . For example, when the domain dx is the entire region ux or when the domain dx is known, the input of the domain dx can be omitted.
  • the transformation unit 20 transforms the multivariable function values f' (s 1 , . . . , s N ) for the same ( s 1 , . Let (s 1 , . . . , s N ) and the multivariable function value f′(s 1 , s 1 , , s N ) be f′′ ( s 1 , . . . , s N ) and f ′ ( s 1 , . , s N , x 1 , .
  • Multivariate polynomial q ( x _ _ _ 1 ,...,x N ) and output f'(s 1 ,...,s N )P(s 1 ,...,s N ) for all vectors (s 1 ,...,s N ) , x 1 , . _ ) satisfies q(x 1 , . . . , x N ) f(x 1 , . . . , x N ) for the set ( x 1 , .
  • FIG. 2 is used to illustrate the function conversion processing of this embodiment.
  • this domain d x is also input to the multivariable function value generator 21 .
  • the multivariable function value generator 21 generates multivariable function values f ′( s 1 , ...,s N ) is obtained and output.
  • f'(s 1 ,..., s N ) f(s 1 , . _ _ _ _ _ _ _ _ "(s 1 ,..., s N ).
  • the multivariable function value generating unit 21 obtains and outputs multivariable function values f′(s 1 , . . . , s N ) for at least vectors (s 1 , .
  • multivariable function values f′(s 1 , . . . , s N ) for all vectors (s 1 , . . . , s N ) may be obtained and output (step S21).
  • the multivariate polynomial generator 22 calculates f′(s 1 , . . . , s N )P(s 1 ) for at least some of the vectors (s 1 , . , . . . , s N , x 1 , .
  • P(s 1 ,..., s N , x 1 ,..., x N ) ⁇ 1 ⁇ i ⁇ N (x i (+)s i ).
  • the multivariate polynomial generator 22 generates f′(s 1 , . . . , s N )P ( s 1 , . . . , s N , x 1 , ..., x N ) may be obtained and output as a multivariate polynomial q(x 1 , ..., x N ), or f' ( s 1 , . . . , s N ) P ( s 1 , . . . , s N , x 1 , . good.
  • the multivariate polynomial generator 22 replaces f(s 1 , . . .
  • a variable polynomial q(x 1 , . . . , x N ) is obtained and output (step S22).
  • N 3
  • variables s i and x i are 0-1 variables
  • P(s 1 , . . . , s N , x 1 , . i (+) s i ) is recursively defined by equation (7), and the constraint is ⁇ Of x 1 , x 2 , x 3 , two of 1” will be shown.
  • Multivariable function of input f(x 1 , x 2 , x 3 )
  • Transformed multivariate polynomial q (
  • J is an integer of 0 or more and N or less.
  • the fixed number constraint is a frequent QUBO constraint. If the constraint is a number - fixed constraint , q (x 1 , . sets f′(s 1 , . . . , s N ) less than J to zero.
  • the number of terms of q(x 1 , . . . , x N ) is the number of combinations from N to J and becomes O(N J ).
  • q ( x1,x2 , x3 , x4 ) f(0,0,1,1) x3x4 +f(0,1,0,1) x2x4 + f(0,1,1,0) x2x3 + f( 1,0,0 , 1 ) x1x4 + f( 1,0,1,0 ) x1x3 +f(1,1,0,0) x1x2
  • the number upper limit constraint also frequently appears in QUBO constraints.
  • the constraint condition is the number upper limit constraint , q(x 1 , .
  • An experiment confirmed the effect of reducing the number of additional variables when converting to the QUBO objective function, etc. by the method of Patent Document 1.
  • the third embodiment shows such an example.
  • the function conversion device 3 of this embodiment has a separating section 31 , a function conversion device 1 or 2 , and a synthesizing section 32 .
  • the function conversion processing of this embodiment will be exemplified.
  • the separating unit 31 of the function conversion device 3 receives a multivariable function to be converted or a function including a multivariable function f(x 1 , .
  • An example of such a function is f (x 1 , . . . , x N )+h(x 1 , . . . , x N , w).
  • this is not a limitation of the invention.
  • the separating unit 31 divides f(x 1 ,..., x N )+h(x 1 ,..., x N , w) into f(x 1 ,..., x N ) and remaining terms (for example, h(x 1 , , x N , w)), f ( x 1 , . w)) is input to the synthesizing unit 32 .
  • the function conversion device 1 or 2 converts f(x 1 , . . . , x N ) into a multivariate polynomial g ( x 1 , . , x N ) and output.
  • the synthesizing unit 32 combines the input g(x 1 , . . . , x N ) or q ( x 1 , . ) and a function (for example, g(x 1 ,..., x N )+h(x 1 ,..., x N , w) or q(x 1 ,..., x N )+h(x 1 , . . , x N , w)).
  • Input multivariate function f(x 1 , x 2 , x 3 )+h(x 1 , x 2 , x 3 , w)
  • N 3
  • variables s i and x i are 0-1 variables
  • P(s 1 ,..., s N , x 1 ,..., x N ) ⁇ 1 ⁇ i ⁇ N (x i (+ ) s i ) , f ” ( s 1 , .
  • N 3
  • variables s i and x i are 0-1 variables
  • P(s 1 ,..., s N , x 1 ,..., x N ) ⁇ 1 ⁇ i ⁇ N (x i (+ ) s i ) , f ” ( s 1 , .
  • Input multivariate function f(x 1 , x 2 , x 3 )+h(x 1 , x 2 , x 3 , w)
  • the function conversion devices 1, 2, and 3 in each embodiment are, for example, processors (hardware processors) such as CPUs (central processing units) and memories such as RAMs (random-access memories) and ROMs (read-only memories). It is a device configured by executing a predetermined program on a general-purpose or special-purpose computer equipped with, etc. That is, the function converters 1, 2, 3 in each embodiment, for example, have processing circuitry configured to implement each unit they have.
  • 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. 5 is a block diagram illustrating the hardware configuration of function conversion devices 1, 2, and 3 in each embodiment.
  • the function conversion devices 1, 2, and 3 of this example include a CPU (Central Processing Unit) 10a, an input section 10b, an output section 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 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, a keyboard, a mouse, a touch panel, etc.
  • 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.
  • 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.
  • 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 obtained multivariate polynomial q(x 1 , . . . , x N ) can be converted into a QUBO objective function or an equivalent Ising Hamiltonian by the methods described in Non-Patent Documents 1 and 2.
  • 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

任意の制約条件付き多変数関数f(x,…,x)を多変数多項式q(x,…,x)に変換する。(s,…,s)=(x,…,x)のときにP(s,…,s,x,…,x)=1であり、(s,…,s)≠(x,…,x)のときにP(s,…,s,x,…,x)=0である。変換部が、制約条件を満たす組(x,…,x)と同一の(s,…,s)についてのf'(s,…,s)をf(s,…,s)とし、その他のf'(s,…,s)をf"(s,…,s)とし、f'(s,…,s)P(s,…,s,x,…,x)を足し合わせたq(x,…,x)を得る。ただし、q(x,…,x)の項数は、f(s,…,s)P(s,…,s,x,…,x)を足し合わせたg(x,…,x)の項数よりも少ない。

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>
 上述のように、量子アニーリングマシンやイジングマシンなどを用いて組み合わせ最適化問題を解くには、その問題の目的関数をQUBOの目的関数やそれと等価なイジングハミルトニアンの形式で表現する必要があるが、この表現は自明なものではない。すなわち、前述のように0-1変数に関する任意の多変数多項式をQUBOの目的関数やそれと等価なイジングハミルトニアンに変換する手法が存在する。しかしながら、組み合わせ最適化問題の目的関数を表す、0-1変数に関する任意の制約条件付き多変数関数を、0-1変数に関する次数の多変数多項式に変換する手法は知られていない。特に、有理関数、指数関数、または対数関数のような加減乗算でない形式で定義された制約条件付き多変数関数については、多項式としての表現を直接得ることはできない。
 このような問題は、組み合わせ最適化問題を量子コンピュータで解くための最適化関数を生成する場合のみならず、任意の制約条件付き多変数関数を多変数多項式に変換する際に共通するものである。
 本発明はこのような点に鑑みてなされたものであり、任意の制約条件付き多変数関数を多変数多項式に変換する技術を提供することを目的とする。
 N個の変数x,…,xに関する任意の制約条件付き多変数関数f(x,…,x)を、変数x,…,xに関する多変数多項式q(x,…,x)に変換する。Nは1以上の整数とする。、変換部は、制約条件付き多変数関数f(x,…,x)を入力とし、多変数多項式q(x,…,x)を出力する。このときq(x,…,x)は、f’(s,…,s)P(s,…,s,x,…,x)を足し合わせたものとして表現される。このときP(s,…,s,x,…,x)は、(s,…,s)=(x,…,x)のときに1を、(s,…,s)≠(x,…,x)のときに0をとる関数であり、s,…,sはN個の変数である。また、f’(s,…,s)は(x,…,x)が制約条件を満たすときにf(x,…,x)を、(x,…,x)が制約条件を満たさないときにf”(x,…,x)をとる多変数関数である。ただし、多変数多項式q(x,…,x)の項数は、f(s,…,s)P(s,…,s,x,…,x)を足し合わせた多変数多項式g(x,…,x)の項数よりも少ない。
 以上のように、本発明では、任意の多変数関数を多変数多項式に変換することができる。
図1Aは第1および2実施形態の関数変換装置の機能構成を例示するためのブロック図である。図1Bは図1Aの多変数多項式生成部の機能構成を例示するためのブロック図である。 図2は第1および2実施形態の関数変換装置の処理を例示するためのフロー図である。 図3は第3実施形態の関数変換装置の機能構成を例示するためのブロック図である。 図4は追加変数個数の削減効果を示す実験結果を表すグラフである。 図5は第1,2,3実施形態の関数変換装置のハードウェア構成を例示するためのブロック図である。
 以下、図面を参照して本発明の実施形態を説明する。
 [原理]
 まず、各実施形態の原理を説明する。
 各実施形態では、N個の変数x,…,xに関する任意の多変数関数f(x,…,x)を、変数x,…,xに関する多変数多項式g(x,…,x)に変換する。ここでNは1以上の整数である。また、変数x,…,xはどのようなものであってもよいが、例えば、変数x,…,xのそれぞれは二値変数x∈{b,b}であり、b≠bである。ただし、i=1,…,Nである。特に、二値変数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により異なっていてもよい。
 第1実施形態では、N個の変数s,…,sを要素とするベクトル(s,…,s)のそれぞれについて、当該ベクトル(s,…,s)およびN個の変数x,…,xを要素とするベクトル(x,…,x)が(s,…,s)=(x,…,x)を満たすときにP(s,…,s,x,…,x)=1となり、(s,…,s)≠(x,…,x)を満たすときにP(s,…,s,x,…,x)=0となる多項式P(s,…,s,x,…,x)を定義し、それらを組み合わせることで上記の変換を実現する。すなわち、各ベクトル(s,…,s)についての多項式P(s,…,s,x,…,x)は、(s,…,s)=(x,…,x)となる変数x,…,xが入力された場合に1となり、それ以外の場合に0となる。この多項式P(s,…,s,x,…,x)を単位多項式と呼ぶことにする。ここで、変数s,…,sはどのようなものであってもよいが、例えば、変数s,…,sのそれぞれは二値変数s∈{b,b}である。特に、二値変数sが0-1変数である場合、b=0であり、b=1である。
 二値変数xおよびs(ただし、i=1,…,N)が0-1変数である場合の単位多項式P(s,…,s,x,…,x)を例示する。まず、が0-1変数xについて、変数xの否定形を以下のように定義する。
=1-x
なお、x の右上添え字の「-」は本来「x」の真上に記載されるべきであるが、記載表記の制約上、「x」の右上に記載する場合がある。
 次に、0-1変数xおよびsについて、以下の演算(+)を定義する。
Figure JPOXMLDOC01-appb-M000002

すなわち、s=1のときx(+)s=xであり、s=0のときx(+)s=x である。このとき、各ベクトル(s,…,s)についての単位多項式P(s,…,s,x,…,x)は以下のようになる。
P(s,…,s,x,…,x)=Π1≦i≦N(x(+)s)  (2)
                =(x(+)s)…(x(+)s)
 この多項式P(s,…,s,x,…,x)は、(s,…,s)=(x,…,x)のときにP(s,…,s,x,…,x)=1となり、(s,…,s)≠(x,…,x)のときにP(s,…,s,x,…,x)=0となる。
 入力となる多変数関数f(x,…,x)は部分関数であってもよい。すなわち、多変数関数f(x,…,x)の定義域dは変数x上のすべての組み合わせを含まなくてもよい。この場合、単位多項式P(s,…,s,x,…,x)は、少なくともベクトル(x,…,x)の定義域dに属する各ベクトル(s,…,s)∈dについて設定すればよい。すなわち、少なくとも一部のベクトル(s,…,s)(s,…,sの列)について単位多項式f(s,…,s)が設定されればよい。また定義域dがベクトル(x,…,x)の全領域(全空間)uである場合、すべてのベクトル(s,…,s)∈uについて単位多項式f(s,…,s)が設定される。例えば、二値変数xおよびsが0-1変数であり、定義域dがベクトル(x,…,x)の全領域である場合、定義域dには2通りのベクトル(x,…,x)が存在する。この場合には2通りのベクトル(s,…,s)∈{0,1}について、それぞれ単位多項式f(s,…,s)が設定される。
 この前提のもと、第1実施形態の変換部は、変換対象の多変数関数f(x,…,x)を入力とし、少なくとも定義域dに属するベクトル(s,…,s)∈d(少なくとも一部の組(s,…,s))についてf(s,…,s)P(s,…,s,x,…,x)を足し合わせた多変数多項式g(x,…,x)を得て出力する。例えば、変換部は、以下の式(3)で得られる多変数多項式g(x,…,x)を出力する。
Figure JPOXMLDOC01-appb-M000003

この多変数多項式g(x,…,x)は、少なくとも定義域dに属するベクトル(x,…,x)において、g(x,…,x)=f(x,…,x)の関係を満たす。すなわち、少なくとも定義域dにおいて、変換対象の多変数関数f(x,…,x)と同一の値を返す多変数多項式g(x,…,x)を生成することができる。式(2)の単位多項式P(s,…,s,x,…,x)を用いる場合、式(3)は、例えば、以下の式(4)のようになる。
Figure JPOXMLDOC01-appb-M000004

ただし、s,x∈{0,1}である。
 特に定義域dがベクトル(x,…,x)の全領域uである場合、変換部は、すべてのベクトル(s,…,s)∈u(すべての組(s,…,s))についてf(s,…,s)P(s,…,s,x,…,x)を足し合わせた多変数多項式g(x,…,x)を得て出力する。すなわち変換部は、以下の式(5)で得られる多変数多項式g(x,…,x)を出力する。
Figure JPOXMLDOC01-appb-M000005

 この多変数多項式g(x,…,x)は、すべてのベクトル(x,…,x)∈uにおいて、g(x,…,x)=f(x,…,x)の関係を満たす。すなわち、すべての入力に対して変換対象の多変数関数f(x,…,x)と同一の値を返す多変数多項式g(x,…,x)を生成することができる。式(2)の単位多項式P(s,…,s,x,…,x)を用いる場合、式(5)は以下の式(6)のようになる。
Figure JPOXMLDOC01-appb-M000006
 このように得られた多変数多項式g(x,…,x)は、例えば、非特許文献1および2等に記載された方法によって、QUBOの目的関数やそれと等価なイジングハミルトニアンに変換可能である。このように得られたQUBOの目的関数やイジングハミルトニアンを量子アニーリングマシンやイジングマシンなどに入力することで、高速に組合せ最適化問題を解くことができる。
 しかしながら、上述のようにN個の変数x,…,xに関する任意の多変数関数f(x,…,x)から変換された多変数多項式g(x,…,x)には多くの単項式が含まれる。例えば、変数x,…,xが二値変数である場合、多変数多項式g(x,…,x)には2個の最大N次の単項式が出現する。非特許文献1および2等に記載された方法によって、多変数多項式g(x,…,x)をQUBOの目的関数やそれと等価なイジングハミルトニアンに変換する場合、多変数多項式g(x,…,x)に含まれる単項式1つについて追加変数が1つ以上追加される。したがって、この変換にはO(2)個の追加変数が追加されてしまう。そのため、第1実施形態では、変数の種類Nに対して指数的に増加する追加変数が必要となる。現在提供されている、量子アニーリングマシンやイジングマシンでは入力可能な変数の個数が限られているため、追加変数の爆発的な増加は入力可能な問題サイズを大きく制限してしまうという。
 このような問題は量子アニーリングマシンやイジングマシンで組合せ最適化問題を解く場合に限定されるものではない。すなわち、多項式の項数の増加は演算に必要なリソースの増加につながるものであり、多項式の項数の増加はどのような演算においても好ましくない。
 このような点に鑑み、第2実施形態では、N個の変数x,…,xに関する任意の多変数関数f(x,…,x)を、上述の多変数多項式g(x,…,x)よりも項数の小さな(含まれる単項式の個数が少ない)多変数多項式q(x,…,x)に変換する方式を示す。ただし、第2実施形態では、多変数関数f(x,…,x)が制約条件を含む制約条件付き多変数関数であることを前提とする。すなわち、多変数関数f(x,…,x)が制約条件付き多変数関数である場合、特定の制約条件を満たす(x,…,x)は有効であるが、当該制約条件を満たさない(x,…,x)は無効である。例えば、組合せ最適化問題の目的関数やそれに対応するQUBOの目的関数やイジングハミルトニアンは、組合せ最適化問題として有効な解を表現するための制約条件関数と、有効な解の中でより適した解を表現するためのコスト関数とを加算したものとなる。例えば、制約条件関数は、有効な解(制約条件を満たす(x,…,x))のときにゼロ、無効な解(制約条件を満たさない(x,…,x))のときに大きな値を取り、コスト関数は、制約条件関数に比べて小さな値で解の評価を表す。組合せ最適化問題の解は、このような目的関数やイジングハミルトニアンを最小化するように求められる。この場合、無効な解(制約条件を満たさない(x,…,x))に対する制約条件関数の値は大きくなり、コスト関数の値は意味をなさない。制約条件を満たさない(x,…,x)に対する制約条件付き多変数関数f(x,…,x)の値は意味をなさず、このような制約条件付き多変数関数f(x,…,x)の値にはどのような値を設定しても実用上問題ない。例えば、制約条件付き多変数関数f(x,…,x)がコスト関数Cost(x,x,x)および制約条件関数Constraint(x,x,x)の和で表され、制約条件関数が表す制約条件が「x,x,xのうち、2つが1」である場合を考える。このような制約条件付き多変数関数f(x,…,x)から変換された多変数関数g(x,x,x)のうち、以下の下線が付されたコスト関数値にはどのような値を設定してもよい。
g(x,x,x
Cost(0,0,0) Cost(0,0,1) Cost(0,1,0) +Cost(0,1,1)x Cost(1,0,0) +Cost(1,0,1)x +Cost(1,1,0)x Cost(1,1,1)+Constraint(x,x,x
 このような条件のもと、実用上問題のない多変数関数f(x,…,x)の値を変更し、多変数多項式q(x,…,x)を展開した際の項数(xiに関する項および定数項の合計数)が、多変数多項式g(x,…,x)を展開した際の項数(xiに関する項および定数項の合計数)よりも少なくする。
 すなわち、第2実施形態でも、N個の変数s,…,sを要素とするベクトル(s,…,s)のそれぞれについて、当該ベクトル(s,…,s)およびN個の変数x,…,xを要素とするベクトル(x,…,x)が(s,…,s)=(x,…,x)を満たすときにP(s,…,s,x,…,x)=1となり、(s,…,s)≠(x,…,x)を満たすときにP(s,…,s,x,…,x)=0となる多項式P(s,…,s,x,…,x)を定義し、それらを組み合わせることで変換を実現するが、以下の点で第1実施形態と相違する。すなわち、第2実施形態の変換部は、制約条件付き多変数関数f(x,…,x)を入力とし、制約条件を満たすベクトル(組)(x,…,x)と同一の(s,…,s)についての多変数関数値f’(s,…,s)をf(s,…,s)とし、制約条件を満たさないベクトル(組)(x,…,x)と同一の(s,…,s)についての多変数関数値f’(s,…,s)をf”(s,…,s)とし、少なくとも定義域dに属するベクトル(s,…,s)∈d(少なくとも一部の組(s,…,s))についてf’(s,…,s)P(s,…,s,x,…,x)を足し合わせた多変数多項式q(x,…,x)を得て出力する。ただし、多変数多項式q(x,…,x)の項数は、上述した少なくとも定義域dに属するベクトル(s,…,s)∈d(少なくとも一部の組(s,…,s))についてf(s,…,s)P(s,…,s,x,…,x)を足し合わせた多変数多項式g(x,…,x)の項数よりも少ない。
 特に定義域dがベクトル(x,…,x)の全領域uである場合、変換部は、制約条件付き多変数関数f(x,…,x)を入力とし、すべてのベクトル(s,…,s)∈u(すべての組(s,…,s))についてf’(s,…,s)P(s,…,s,x,…,x)を足し合わせた多変数多項式q(x,…,x)を得て出力する。ただし、多変数多項式q(x,…,x)の項数は、すべてのベクトル(s,…,s)∈u(すべての組(s,…,s))についてf(s,…,s)P(s,…,s,x,…,x)を足し合わせた多変数多項式g(x,…,x)の項数よりも少ない。
 例えば、第2実施形態の変換部は、前述した式(3)-(6)の何れかのf(s,…,s)をf’(s,…,s)に置換した式に従って、多変数多項式q(x,…,x)を得て出力する。
 特に、変数x,…,xおよび変数s,…,sが0-1変数である場合、P(s,…,s,x,…,x)=Π1≦i≦N(x(+)s)であり、定義域dがベクトル(x,…,x)の全領域uである場合、f”(s,…,s)は以下の式(7)によって再帰的に定義される。これにより、多項式の項数が制約条件を満たす(x,…,x)の個数(例えば、有効な解の個数)にまで削減される。
Figure JPOXMLDOC01-appb-M000007
 このように得られた多変数多項式q(x,…,x)も、例えば、非特許文献1および2等に記載された方法によって、QUBOの目的関数やそれと等価なイジングハミルトニアンに変換可能である。このように得られたQUBOの目的関数やイジングハミルトニアンを量子アニーリングマシンやイジングマシンなどに入力することで、高速に組合せ最適化問題を解くことができる。
 [第1実施形態]
 次に、第1実施形態を説明する。以降、説明済の事項については同じ記号を用いて説明を省略する。
 <構成>
 図1Aに例示するように、本実施形態の関数変換装置1は、変換部10、記憶部13、および制御部14を有する。ここで、本実施形態で例示する変換部10は、多変数関数値生成部11および多変数多項式生成部12を有する。また図1Bに例示するように、本実施形態で例示する多変数多項式生成部12は乗算部121および加算部122を有する。しかし、これらは本発明を限定するものではなく、複数の処理部の少なくとも一部の機能が融合されてもよい。また、各処理は制御部14の制御の下で実行され、各処理で得られたデータは記憶部13に格納され、必要に応じて他の処理で読み出されて利用される。
 <処理>
 本実施形態の関数変換処理を例示する。
 関数変換装置1の変換部10には、変換対象の多変数関数f(x,…,x)が入力される。多変数関数f(x,…,x)に限定はないが、例えば、組合せ最適化問題の目的関数またはそれと等価な多変数関数f(x,…,x)が入力される。また、多変数関数f(x,…,x)の定義域dも変換部10に入力されてもよい。しかし、定義域dが関数変換装置1に入力されなくてもよい。例えば、定義域dが全領域uの場合や定義域dが既知の場合には、定義域dの入力が省略可能である。
 変換部10は、少なくとも一部のベクトル(s,…,s)についてf(s,…,s)P(s,…,s,x,…,x)を足し合わせた多変数多項式g(x,…,x)を得て出力する。変換部10は、例えば、少なくとも定義域dに属するベクトル(s,…,s)についてf(s,…,s)P(s,…,s,x,…,x)を足し合わせた多変数多項式g(x,…,x)を得て出力してもよいし、すべてのベクトル(s,…,s)についてf(s,…,s)P(s,…,s,x,…,x)を足し合わせた多変数多項式g(x,…,x)を得て出力してもよい。
 図2を用いて、本実施形態の関数変換処理を例示する。
 変換部10の多変数関数値生成部11には、多変数関数f(x,…,x)が入力される。定義域dが入力される場合には、この定義域dも多変数関数値生成部11に入力される。多変数関数値生成部11は、少なくとも一部のベクトル(s,…,s)(組(s,…,s))についての多変数関数値f(s,…,s)を得て出力する。例えば、多変数関数値生成部11は、少なくとも定義域dに属するベクトル(s,…,s)について多変数関数値f(s,…,s)を得て出力してもよいし、すべてのベクトル(s,…,s)について多変数関数値f(s,…,s)を得て出力してもよい(ステップS11)。
 ステップS11で得られた多変数関数値f(s,…,s)は多変数多項式生成部12に入力される。多変数多項式生成部12は、少なくとも一部のベクトル(s,…,s)(組(s,…,s))についてf(s,…,s)P(s,…,s,x,…,x)を足し合わせた多変数多項式g(x,…,x)を得て出力する。例えば、多変数多項式生成部12は、少なくとも定義域dに属するベクトル(s,…,s)についてf(s,…,s)P(s,…,s,x,…,x)を足し合わせた多変数多項式g(x,…,x)を得て出力してもよいし、すべてのベクトル(s,…,s)についてf(s,…,s)P(s,…,s,x,…,x)を足し合わせた多変数多項式g(x,…,x)を得て出力してもよい。例えば、多変数多項式生成部12は、前述した式(3)-(6)の何れかに従って多変数多項式g(x,…,x)を生成して出力する。また、多変数多項式g(x,…,x)の計算過程に限定はないが、例えば、乗算部121(図1B)がf(s,…,s)とP(s,…,s,x,…,x)とを入力としてf(s,…,s)P(s,…,s,x,…,x)を得、加算部122が得られたf(s,…,s)P(s,…,s,x,…,x)を累積的に加算するか、まとめて加算して多変数多項式g(x,…,x)を得て出力する(ステップS12)。
 <具体例1>
 以下に、N=3であり、変数s及びxが0-1変数である場合の具体例を示す。
 入力の多変数関数:f(x,x,x
 変換された多変数多項式:
g(x,x,x
=f(0,0,0)x +f(0,0,1)x +f(0,1,0)x +f(0,1,1)x +f(1,0,0)x +f(1,0,1)x +f(1,1,0)x +f(1,1,1)x
=f(0,0,0)+
 (f(0,0,1)-f(0,0,0))x
 (f(0,1,0)-f(0,0,0))x
 (f(1,0,0)-f(0,0,0))x
 (f(0,1,1)-f(0,1,0)-f(0,0,1)+f(0,0,0))x
 (f(1,0,1)-f(1,0,0)-f(0,0,1)+f(0,0,0))x
 (f(1,1,0)-f(1,0,0)-f(0,1,0)+f(0,0,0))x
 (f(1,1,1)-f(1,1,0)-f(1,0,1)-f(0,1,1)+
f(1,0,0)+f(0,1,0)+f(0,0,1)-f(0,0,0))x
 <本実施形態の特徴>
 上述のように得られた多変数多項式g(x,…,x)は、少なくとも定義域dに属するベクトル(x,…,x)において、変換対象の任意の多変数関数f(x,…,x)と等しくなる。定義域dが全領域uであれば、すべてのベクトル(x,…,x)においてg(x,…,x)=f(x,…,x)となる。このように、本実施形態では、任意の多変数関数f(x,…,x)を多変数多項式g(x,…,x)に変換することができる。
 [第2実施形態]
 次に、第2実施形態を説明する。
 <構成>
 図1Aに例示するように、本実施形態の関数変換装置2は、変換部20、記憶部13、および制御部14を有する。ここで、本実施形態で例示する変換部20は、多変数関数値生成部21および多変数多項式生成部22を有する。また図1Bに例示するように、本実施形態で例示する多変数多項式生成部22は乗算部221および加算部222を有する。しかし、これらは本発明を限定するものではなく、複数の処理部の少なくとも一部の機能が融合されてもよい。また、各処理は制御部14の制御の下で実行され、各処理で得られたデータは記憶部13に格納され、必要に応じて他の処理で読み出されて利用される。
 <処理>
 本実施形態の関数変換処理を例示する。
 関数変換装置2の変換部20には、変換対象の制約条件付き多変数関数f(x,…,x)が入力される。制約条件付き多変数関数f(x,…,x)に限定はないが、例えば、組合せ最適化問題の目的関数またはそれと等価な多変数関数f(x,…,x)が入力される。また、多変数関数f(x,…,x)の定義域dも変換部20に入力されてもよい。しかし、定義域dが関数変換装置2に入力されなくてもよい。例えば、定義域dが全領域uの場合や定義域dが既知の場合には、定義域dの入力が省略可能である。
 変換部20は、制約条件を満たす組(x,…,x)と同一の(s,…,s)についての多変数関数値f’(s,…,s)をf(s,…,s)とし、制約条件を満たさないベクトル(x,…,x)と同一の(s,…,s)についての多変数関数値f’(s,…,s)をf”(s,…,s)とし、少なくとも一部のベクトル(s,…,s)についてf’(s,…,s)P(s,…,s,x,…,x)を足し合わせた多変数多項式q(x,…,x)を得て出力する。変換部20は、例えば、少なくとも定義域dに属するベクトル(s,…,s)についてf’(s,…,s)P(s,…,s,x,…,x)を足し合わせた多変数多項式q(x,…,x)を得て出力してもよいし、すべてのベクトル(s,…,s)についてf’(s,…,s)P(s,…,s,x,…,x)を足し合わせた多変数多項式q(x,…,x)を得て出力してもよい。このように得られたq(x,…,x)は、制約条件を満たす組(x,…,x)について、q(x,…,x)=f(x,…,x)を満たす。
 図2を用いて、本実施形態の関数変換処理を例示する。
 変換部20の多変数関数値生成部21には、制約条件付き多変数関数f(x,…,x)が入力される。定義域dが入力される場合には、この定義域dも多変数関数値生成部21に入力される。多変数関数値生成部21は、少なくとも一部のベクトル(s,…,s)(組(s,…,s))についての多変数関数値f’(s,…,s)を得て出力する。前述のように、制約条件を満たすベクトル(x,…,x)と同一の(s,…,s)についてはf’(s,…,s)=f(s,…,s)であり、制約条件を満たさないベクトル(x,…,x)と同一の(s,…,s)についてはf’(s,…,s)=f”(s,…,s)である。変数x,…,xおよび変数s,…,sが0-1変数である場合、f”(s,…,s)は式(7)によって再帰的に定義される。例えば、多変数関数値生成部21は、少なくとも定義域dに属するベクトル(s,…,s)について多変数関数値f’(s,…,s)を得て出力してもよいし、すべてのベクトル(s,…,s)について多変数関数値f’(s,…,s)を得て出力してもよい(ステップS21)。
 ステップS21で得られた多変数関数値f’(s,…,s)は多変数多項式生成部22に入力される。多変数多項式生成部22は、少なくとも一部のベクトル(s,…,s)(組(s,…,s))についてf’(s,…,s)P(s,…,s,x,…,x)を足し合わせた多変数多項式q(x,…,x)を得て出力する。例えば、変数x,…,xおよび変数s,…,sが0-1変数である場合、P(s,…,s,x,…,x)=Π1≦i≦N(x(+)s)である。例えば、多変数多項式生成部22は、少なくとも定義域dに属するベクトル(s,…,s)についてf’(s,…,s)P(s,…,s,x,…,x)を足し合わせた多変数多項式q(x,…,x)を得て出力してもよいし、すべてのベクトル(s,…,s)についてf’(s,…,s)P(s,…,s,x,…,x)を足し合わせた多変数多項式q(x,…,x)を得て出力してもよい。例えば、多変数多項式生成部22は、前述した式(3)-(6)の何れかのf(s,…,s)をf’(s,…,s)に置換した式に従って多変数多項式q(x,…,x)を生成して出力する。また、多変数多項式q(x,…,x)の計算過程に限定はないが、例えば、乗算部221(図1B)がf’(s,…,s)とP(s,…,s,x,…,x)とを用いてf’(s,…,s)P(s,…,s,x,…,x)を得、加算部222が得られたf’(s,…,s)P(s,…,s,x,…,x)を累積的に加算するか、まとめて加算して多変数多項式q(x,…,x)を得て出力する(ステップS22)。
 <具体例2-1>
 以下に、N=3であり、変数s及びxが0-1変数であり、P(s,…,s,x,…,x)=Π1≦i≦N(x(+)s)であり、f”(s,…,s)が式(7)によって再帰的に定義され、制約条件が「x,x,xのうち、2つが1」である場合の具体例を示す。
 入力の多変数関数:f(x,x,x
 多変数関数値:
f’(0,0,0)=0
f’(0,0,1)=f’(0,0,0)=0
f’(0,1,0)=f’(0,0,0)=0
f’(1,0,0)=f’(0,0,0)=0
f’(0,1,1)=f(0,1,1)
f’(1,0,1)=f(1,0,1)
f’(1,1,0)=f(1,1,0)
f’(1,1,1)=f’(0,1,1)+f’(1,0,1)+f’(1,1,0)-f’(0,0,1)-f’(0,1,0)-f’(1,0,0)+f’(0,0,0)=f(0,1,1)+f(1,0,1)+f(1,1,0)
 変換された多変数多項式:
q(x,x,x
=f’(0,0,0)x +f’(0,0,1)x +f’(0,1,0)x +f’(0,1,1)x +f’(1,0,0)x +f’(1,0,1)x +f’(1,1,0)x +f’(1,1,1)x
=f’(0,0,0)+
 (f’(0,0,1)-f’(0,0,0))x
 (f’(0,1,0)-f’(0,0,0))x
 (f’(1,0,0)-f’(0,0,0))x
 (f’(0,1,1)-f’(0,1,0)-f’(0,0,1)+f’(0,0,0))x
 (f’(1,0,1)-f’(1,0,0)-f’(0,0,1)+f’(0,0,0))x
 (f’(1,1,0)-f’(1,0,0)-f’(0,1,0)+f’(0,0,0))x
 (f’(1,1,1)-f’(1,1,0)-f’(1,0,1)-f’(0,1,1)+
f’(1,0,0)+f’(0,1,0)+f’(0,0,1)-f’(0,0,0))x
=f(0,1,1)x+f(1,0,1)x+f(1,1,0)x
 このように、q(x,x,x)の項数が制約条件を満たす(x,…,x)の個数(例えば、有効な解の個数)にまで削減される。また、このように得られたq(x,x,x)は、制約条件を満たす組(x,x,x)について、q(x,x,x)=f(x,x,x)を満たす。
 <具体例2-2>
 変数s及びxが0-1変数であり、P(s,…,s,x,…,x)=Π1≦i≦N(x(+)s)であり、f”(s,…,s)が式(7)によって再帰的に定義され、制約条件が「N個の変数x,…,x中J個ちょうどが1になる(個数固定制約)」である場合の具体例を示す。ただし、Jは0以上N以下の整数である。個数固定制約はQUBOの制約に頻出するものである。制約条件が個数固定制約である場合、変換後のq(x,…,x)は次数がJの項のみとなり、(s,…,s)のうちs=1である個数がJ未満のf’(s,…,s)を0にする。これにより、q(x,…,x)の項数はN個からJ個取る組み合わせの個数
Figure JPOXMLDOC01-appb-M000008

となり、O(N)個となる。例えば、N=4,J=2の場合には以下のようになる。
q(x,x,x,x
=f(0,0,1,1)x+f(0,1,0,1)x+f(0,1,1,0)x+f(1,0,0,1)x+f(1,0,1,0)x+f(1,1,0,0)x
 <具体例2-3>
 変数s及びxが0-1変数であり、P(s,…,s,x,…,x)=Π1≦i≦N(x(+)s)であり、f”(s,…,s)が式(7)によって再帰的に定義され、制約条件が「N個の変数x,…,x中J個以下が1になる(個数上限制約)」である場合の具体例を示す。個数上限制約もQUBOの制約に頻出するものである。制約条件が個数上限制約である場合、変換後のq(x,…,x)は次数がJ以下の項のみとなる。これにより、q(x,…,x)の項数は
Figure JPOXMLDOC01-appb-M000009

となり、O(N)個となる。例えば、N=3,J=2の場合には以下のようになる。
 変換された多変数多項式:
q(x,x,x
=f(0,0,0)x +f(0,0,1)x +f(0,1,0)x +f(0,1,1)x +f(1,0,0)x +f(1,0,1)x +f(1,1,0)x +f(1,1,1)x
=f(0,0,0)+
 (f(0,0,1)-f(0,0,0))x
 (f(0,1,0)-f(0,0,0))x
 (f(1,0,0)-f(0,0,0))x
 (f(0,1,1)-f(0,1,0)-f(0,0,1)+f(0,0,0))x
 (f(1,0,1)-f(1,0,0)-f(0,0,1)+f(0,0,0))x
 (f(1,1,0)-f(1,0,0)-f(0,1,0)+f(0,0,0))x
 <実験結果>
 本実施形態において、変数s及びxを0-1変数とし、P(s,…,s,x,…,x)=Π1≦i≦N(x(+)s)とし、f”(s,…,s)を式(7)によって再帰的に定義した場合における、多変数多項式q(x,…,x)(3次以上)を、非特許文献1の手法によってQUBOの目的関数等に変換する際の追加変数個数の削減効果を実験によって確認した。図4にこの実験結果を示す。この実験では、第1実施形態の場合(一点鎖線)、第2実施形態において個数上限制約(J=4)を採用した場合(二点鎖線)、および第2実施形態において個数固定制約(J=4)を採用した場合(実線)を比較した。図4の横線は変数の種類数Nを表し、縦軸は追加変数の個数を表す。図4に例示するように、第2実施形態の手法の方が第1実施形態の手法よりも追加変数の個数を削減できることが分かる。
 [第3実施形態]
 変換対象の任意の多変数関数の一部の項のみが多変数多項式に変換されてもよい。第3実施形態では、このような例を示す。
 <構成>
 図3に例示するように、本実施形態の関数変換装置3は、分離部31、関数変換装置1または2、および合成部32を有する。
 <処理>
 本実施形態の関数変換処理を例示する。
 関数変換装置3の分離部31には、変換対象の多変数関数または制約条件付き多変数関数f(x,…,x)を項に含む関数が入力される。このような関数の例はf(x,…,x)と、変数x,…,x,wに関する多変数関数h(x,…,x,w)とを加算したf(x,…,x)+h(x,…,x,w)である。しかし、これは本発明を限定するものではない。分離部31は、f(x,…,x)+h(x,…,x,w)をf(x,…,x)と残りの項(例えば、h(x,…,x,w))とに分離し、f(x,…,x)を関数変換装置1または2に入力し、残りの項(例えば、h(x,…,x,w))を合成部32に入力する。
 関数変換装置1または2は、第1または2実施形態で説明したように、f(x,…,x)を多変数多項式g(x,…,x)またはq(x,…,x)に変換して出力する。得られたg(x,…,x)またはq(x,…,x)は合成部32に入力される。
 合成部32は、入力されたg(x,…,x)またはq(x,…,x)と前述した残りの項(例えば、h(x,…,x,w))とを加算して得られる関数(例えば、g(x,…,x)+h(x,…,x,w)またはq(x,…,x)+h(x,…,x,w))を出力する。
 <具体例3-1>
 以下に、N=3であり、変数s及びxが0-1変数であり、f(x,x,x)がg(x,x,x)に変換される場合の具体例を示す。
 入力の多変数関数:f(x,x,x)+h(x,x,x,w)
 変換された多変数多項式:
g(x,x,x)+h(x,x,x,w)
=f(0,0,0)x +f(0,0,1)x +f(0,1,0)x +f(0,1,1)x +f(1,0,0)x +f(1,0,1)x +f(1,1,0)x +f(1,1,1)x
=f(0,0,0)+
 (f(0,0,1)-f(0,0,0))x
 (f(0,1,0)-f(0,0,0))x
 (f(1,0,0)-f(0,0,0))x
 (f(0,1,1)-f(0,1,0)-f(0,0,1)+f(0,0,0))x
 (f(1,0,1)-f(1,0,0)-f(0,0,1)+f(0,0,0))x
 (f(1,1,0)-f(1,0,0)-f(0,1,0)+f(0,0,0))x
 (f(1,1,1)-f(1,1,0)-f(1,0,1)-f(0,1,1)+
f(1,0,0)+f(0,1,0)+f(0,0,1)-f(0,0,0))x
+h(x,x,x,w)
 <具体例3-2>
N=3であり、変数s及びxが0-1変数であり、P(s,…,s,x,…,x)=Π1≦i≦N(x(+)s)であり、f”(s,…,s)が式(7)によって再帰的に定義され、制約条件が「x,x,xのうち、2つが1」である場合の具体例を示す。
 入力の多変数関数:f(x,x,x)+h(x,x,x,w)
 変換された多変数多項式:
q(x,x,x)+h(x,x,x,w)
=f(0,1,1)x+f(1,0,1)x+f(1,1,0)x+h(x,x,x,w)
 [ハードウェア構成]
 各実施形態における関数変換装置1,2,3は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)やRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される装置である。すなわち、各実施形態における関数変換装置1,2,3は、例えば、それぞれが有する各部を実装するように構成された処理回路(processing circuitry)を有する。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、単独で処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。
 図5は、各実施形態における関数変換装置1,2,3のハードウェア構成を例示したブロック図である。図5に例示するように、この例の関数変換装置1,2,3は、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,2,3の機能構成が実現される。
 上述のプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
 このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。上述のように、このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 各実施形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
 なお、本発明は上述の実施形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
 本発明は、例えば、量子アニーリングマシンやイジングマシンなどで組合せ最適化問題を解く際に利用できる。例えば、本発明によって、組合せ最適化問題の目的関数やそれと等価な0-1変数に関する多変数関数f(x,…,x)を0-1変数に関する多変数多項式q(x,…,x)に変換できる。得られた多変数多項式q(x,…,x)は、非特許文献1および2等に記載された方法によって、QUBOの目的関数やそれと等価なイジングハミルトニアンに変換可能である。このように得られたQUBOの目的関数やイジングハミルトニアンを量子アニーリングマシンやイジングマシンなどに入力することで、高速に組合せ最適化問題を解くことができる。
1,2,3 関数変換装置
10,20 変換部
11,21 多変数関数値生成部
12,22 多変数多項式生成部

Claims (6)

  1.  N個の変数x,…,xに関する任意の制約条件付き多変数関数f(x,…,x)を、前記変数x,…,xに関する多変数多項式q(x,…,x)に変換する関数変換装置であって、
     Nが1以上の整数であり、N個のs,…,sが変数であり、(s,…,s)=(x,…,x)のときにP(s,…,s,x,…,x)=1であり、(s,…,s)≠(x,…,x)のときにP(s,…,s,x,…,x)=0であり、
     前記制約条件付き多変数関数f(x,…,x)を入力とし、制約条件を満たす組(x,…,x)と同一の(s,…,s)についての多変数関数値f’(s,…,s)をf(s,…,s)とし、前記制約条件を満たさない組(x,…,x)と同一の(s,…,s)についての多変数関数値f’(s,…,s)をf”(s,…,s)とし、少なくとも一部の組(s,…,s)についてf’(s,…,s)P(s,…,s,x,…,x)を足し合わせた前記多変数多項式q(x,…,x)を得て出力する変換部を有し、
     前記多変数多項式q(x,…,x)の項数は、前記少なくとも一部の組(s,…,s)についてf(s,…,s)P(s,…,s,x,…,x)を足し合わせた多変数多項式g(x,…,x)の項数よりも少ない、関数変換装置。
  2.  請求項1の関数変換装置であって、
     前記変換部は、
     前記制約条件付き多変数関数f(x,…,x)を入力とし、前記少なくとも一部の組(s,…,s)についての前記多変数関数値f’(s,…,s)を得る多変数関数値生成部と、
     前記多変数関数値f’(s,…,s)を入力とし、前記少なくとも一部の組(s,…,s)についてf’(s,…,s)P(s,…,s,x,…,x)を足し合わせた前記多変数多項式q(x,…,x)を得て出力する多変数多項式生成部と、
    を有する関数変換装置。
  3.  請求項1または2の関数変換装置であって、
     前記変換部は、
     すべての組(s,…,s)についてf’(s,…,s)P(s,…,s,x,…,x)を足し合わせた前記多変数多項式q(x,…,x)を得て出力し、
     前記多変数多項式q(x,…,x)の項数は、前記すべての組(s,…,s)についてf(s,…,s)P(s,…,s,x,…,x)を足し合わせた多変数多項式g(x,…,x)の項数よりも少ない、関数変換装置。
  4.  請求項3の関数変換装置であって、
     前記変数x,…,x∈{0,1}が二値変数であり、前記変数s,…,s∈{0,1}が二値変数であり、N個のk,…,k∈{0,1}が二値変数であり、i=1,…,Nであり、x =1-xであり、s=1のときx(+)s=xであり、s=0のときx(+)s=x であり、P(s,…,s,x,…,x)=Π1≦i≦N(x(+)s)であり、
    Figure JPOXMLDOC01-appb-M000001

    である、関数変換装置。
  5.  N個の変数x,…,xに関する任意の制約条件付き多変数関数f(x,…,x)を、前記変数x,…,xに関する多変数多項式q(x,…,x)に変換する関数変換装置の関数変換方法であって、
     Nが1以上の整数であり、N個のs,…,sが変数であり、(s,…,s)=(x,…,x)のときにP(s,…,s,x,…,x)=1であり、(s,…,s)≠(x,…,x)のときにP(s,…,s,x,…,x)=0であり、
     前記関数変換装置の変換部が、前記制約条件付き多変数関数f(x,…,x)を入力とし、制約条件を満たす組(x,…,x)と同一の(s,…,s)についての多変数関数値f’(s,…,s)をf(s,…,s)とし、前記制約条件を満たさない組(x,…,x)と同一の(s,…,s)についての多変数関数値f’(s,…,s)をf”(s,…,s)とし、少なくとも一部の組(s,…,s)についてf’(s,…,s)P(s,…,s,x,…,x)を足し合わせた前記多変数多項式q(x,…,x)を得て出力する変換ステップを有し、
     前記多変数多項式q(x,…,x)の項数は、前記少なくとも一部の組(s,…,s)についてf(s,…,s)P(s,…,s,x,…,x)を足し合わせた多変数多項式g(x,…,x)の項数よりも少ない、関数変換方法。
  6.  請求項1から4の何れかの関数変換装置としてコンピュータを機能させるプログラム。
PCT/JP2021/015549 2021-04-15 2021-04-15 関数変換装置、関数変換方法、およびプログラム WO2022219770A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2021/015549 WO2022219770A1 (ja) 2021-04-15 2021-04-15 関数変換装置、関数変換方法、およびプログラム
JP2023514268A JPWO2022219770A1 (ja) 2021-04-15 2021-04-15

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/015549 WO2022219770A1 (ja) 2021-04-15 2021-04-15 関数変換装置、関数変換方法、およびプログラム

Publications (1)

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

Family

ID=83640222

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/015549 WO2022219770A1 (ja) 2021-04-15 2021-04-15 関数変換装置、関数変換方法、およびプログラム

Country Status (2)

Country Link
JP (1) JPWO2022219770A1 (ja)
WO (1) WO2022219770A1 (ja)

Citations (3)

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

Patent Citations (3)

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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
VERMA AMIT; LEWIS MARK: "Penalty and partitioning techniques to improve performance of QUBO solvers", DISCRETE OPTIMIZATION, ELSEVIER, AMSTERDAM, NL, vol. 44, 29 June 2020 (2020-06-29), AMSTERDAM, NL , XP087056588, ISSN: 1572-5286, DOI: 10.1016/j.disopt.2020.100594 *

Also Published As

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

Similar Documents

Publication Publication Date Title
EP3144805B1 (en) Method and processing apparatus for performing arithmetic operation
Lai et al. Analysis of multiobjective evolutionary algorithms on the biobjective traveling salesman problem (1, 2)
Yuan et al. Quantum morphology operations based on quantum representation model
Karthikeyan et al. RETRACTED ARTICLE: Performance improvement of elliptic curve cryptography system using low power, high speed 16× 16 Vedic multiplier based on reversible logic
JP2023547348A (ja) パーティション化されたテンプレート・マッチングおよびシンボリック・ピープホール最適化
Orts et al. An optimized quantum circuit for converting from sign–magnitude to two’s complement
Asadi et al. An efficient design of reversible ternary full-adder/full-subtractor with low quantum cost
Hua et al. L1-norm loss-based projection twin support vector machine for binary classification
Aksoy et al. Finding the optimal tradeoff between area and delay in multiple constant multiplications
Kim et al. Inequalities of the Wasserstein mean with other matrix means
WO2022219770A1 (ja) 関数変換装置、関数変換方法、およびプログラム
D. Ahle et al. Similarity search with tensor core units
Tanaka Generation of point sets by convex optimization for interpolation in reproducing kernel Hilbert spaces
Nathan et al. Optimization for large-scale machine learning with distributed features and observations
Cassioli et al. An incremental least squares algorithm for large scale linear classification
WO2022219768A1 (ja) 関数変換装置、関数変換方法、およびプログラム
Asadi et al. Computational schemes for subresultant chains
Gu et al. PEAVC: An improved minimum vertex cover solver for massive sparse graphs
Maslov et al. CNOT circuits need little help to implement arbitrary Hadamard-free Clifford transformations they generate
Chowdhury et al. Algorithm design for tensor units
Lu et al. Design and logic synthesis of a scalable, efficient quantum number theoretic transform
Abdi et al. Implicit–explicit second derivative diagonally implicit multistage integration methods
WO2022219769A1 (ja) 多項式変換装置、多項式変換方法、およびプログラム
Pang et al. An efficient method to synthesize reversible logic by using positive davio decision diagrams
Ahmed et al. Improving the quantum cost of reversible Boolean functions using reorder algorithm

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: 21936966

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023514268

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: 21936966

Country of ref document: EP

Kind code of ref document: A1