Converting device

JPWO2024018583A5Pending Publication Date: 2025-03-07
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024534854
Authority / Receiving Office
JP · JP
Patent Type
Applications
Filing Date
2024-12-26
Publication Date
2025-03-07

AI Technical Summary

Technical Problem

Existing optimization devices face difficulties in handling higher-order terms in evaluation functions, as they are typically configured to handle only quadratic forms, limiting their ability to process inputs in higher-order formats effectively.

Method used

A conversion device and method that select and apply auxiliary variable constraints to convert evaluation functions from lower-order to higher-order forms by introducing penalty terms and auxiliary variables, allowing the evaluation function to be rewritten without restrictions, thereby enabling the handling of higher-order terms.

Benefits of technology

Enables the conversion of evaluation functions to higher-order forms, allowing for the efficient processing of inputs in higher-order formats, which can be beneficial for handling complex combinatorial optimization problems like Max-cut and traveling salesman problems.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

This converting device 200 comprises: a selection unit 221 that selects an auxiliary variable constraint from a list of auxiliary variable constraints that are expressed in such a format that the product of a given variable group matches a given other variable; and a replacement unit 222 that performs a replacement process based on the auxiliary variable constraint selected by the selection unit 221 to thereby convert a evaluation function to be converted, which is represented by an integral expression based on a plurality of variables, to a higher-order evaluation function than the evaluation function.
Need to check novelty before this filing date? Find Prior Art

Description

Converter

[0001] The present invention relates to a conversion device, a conversion method, and a recording medium.

[0002] 2. Description of the Related Art Information processing devices are known that perform processing to solve optimization problems that optimize functions such as evaluation functions.

[0003] Patent Document 1, for example, is an example of a document that describes an optimization device that solves combinatorial optimization problems. Patent Document 1 describes an optimization device that solves optimization problems to find a set of variables that minimizes an evaluation function H given in a quadratic form, and narrows the search space using constraints, particularly when several constraints are given to the set of variables. According to Patent Document 1, the above configuration can make solution-finding more efficient. The evaluation function H can be written as Equation 1 using a symmetric, square real matrix Q and a binary variable x that takes the value of either 0 or 1.

[0004] Related techniques include, for example, Non-Patent Document 1, which describes a method for reducing a combinatorial optimization problem to a quadratic form. Furthermore, Patent Document 2 describes a method for reducing an evaluation function that includes a third-order or higher-order term to a quadratic form by adding auxiliary variables.

[0005] International Publication No. WO2021 / 059338 JP 2021-5363 A

[0006] A. Lucas, "Ising formulations of many NP problems", Frontiers in Physics, 2014, Volume 2, Article 5

[0007] In some combinatorial optimization problems, it is desirable to handle higher-order forms, but when the evaluation function is given in a quadratic form as described in Patent Document 1, it is difficult to handle inputs in the higher-order form as they are. Thus, there has been a problem in that it is sometimes difficult for an optimization device to handle higher-order terms.

[0008] Therefore, an object of the present invention is to provide a conversion device, a conversion method, and a program that solve the above-mentioned problems.

[0009] In order to achieve this object, a conversion device according to one embodiment of the present disclosure has a configuration including: a selection unit that selects an auxiliary variable constraint from a list of auxiliary variable constraints expressed in a form in which the product of a group of variables matches another variable; and a replacement unit that performs a replacement process based on the auxiliary variable constraint selected by the selection unit to convert an evaluation function that is expressed as a polynomial using multiple variables and is to be converted into an evaluation function of a higher order than the evaluation function to be converted.

[0010] In addition, a conversion method that is another form of the present disclosure is configured such that an information processing device selects an auxiliary variable constraint from a list of auxiliary variable constraints expressed in a form in which the product of a group of variables matches another variable, and performs a substitution process based on the selected auxiliary variable constraint, thereby converting an evaluation function to be converted, which is expressed as a polynomial using multiple variables, into an evaluation function of a higher order than the evaluation function to be converted.

[0011] Another aspect of the present disclosure is a computer-readable recording medium having recorded thereon a program for realizing a process of converting an evaluation function to be converted, which is expressed as a polynomial using multiple variables, into a higher-order evaluation function by selecting an auxiliary variable constraint from a list of auxiliary variable constraints expressed in a form in which the product of a group of variables matches another variable, and performing a substitution process based on the selected auxiliary variable constraint.

[0012] According to the above-mentioned configurations, the above-mentioned problems can be solved.

[0013] FIG. 1 is a block diagram showing a configuration example of a conversion device according to a first embodiment of the present disclosure; FIG. 2 is a diagram showing an example of auxiliary variable constraint information; FIG. 3 is a diagram showing an example of penalty term coefficient information; FIG. 4 is a diagram showing an example of evaluation function information; FIG. 5 is a flowchart showing an operation example of a conversion device; FIG. 6 is a diagram showing another configuration example of a conversion device; FIG. 7 is a diagram for explaining a processing example of a directed graph creation unit; FIG. 8 is a diagram showing a hardware configuration example of a conversion device according to a second embodiment of the present disclosure; FIG. 9 is a block diagram showing a configuration example of a conversion device.

[0014] [First Embodiment] A first embodiment of the present disclosure will be described with reference to Figs. 1 to 7. Fig. 1 is a block diagram showing an example of the configuration of a conversion device 100. Fig. 2 is a diagram showing an example of auxiliary variable constraint information 141. Fig. 3 is a diagram showing an example of penalty term coefficient information 142. Fig. 4 is a diagram showing an example of evaluation function information 143. Fig. 5 is a flowchart showing an example of the operation of the conversion device 100. Fig. 6 is a diagram showing another example of the configuration of the conversion device 100. Fig. 7 is a diagram for explaining an example of processing by a directed graph creation unit 155.

[0015] In a first embodiment of the present disclosure, a conversion device 100 is described that converts and outputs a higher-order evaluation function based on an evaluation function to be converted, the evaluation function being expressed as a polynomial using multiple variables, and a list of auxiliary variable constraints expressed in a format in which the product of a group of variables matches another variable. As described below, the conversion device 100 selects an auxiliary variable constraint from a list of auxiliary variable constraints stored as auxiliary variable constraint information 141. The conversion device 100 then performs a conversion process, such as substitution or subtraction, on the evaluation function to be converted based on the selected auxiliary variable constraint and the coefficient of the penalty term corresponding to the selected auxiliary variable constraint. For example, the conversion device 100 converts the evaluation function to be converted into a higher-order evaluation function by repeating the conversion process for each auxiliary variable constraint stored as the auxiliary variable constraint information 141.

[0016] For example, in QUBO (Quadratic Unconstrained Binary Optimization), which is a quadratic, unconstrained, binary combinatorial optimization problem, an evaluation function H as shown in Equation 2 is given. Here, x is a vector of N elements, each of which is a binary variable taking the value 0 or 1, and the elements of x are called spins (or simply variables). Furthermore, Q is a real symmetric matrix, also known as a QUBO matrix. In QUBO, the set of x that minimizes H for a given Q is searched for. Many combinatorial optimization problems, such as the max-cut problem and the traveling salesman problem, can be expressed in QUBO format.

[0017] In order to reduce a high-order evaluation function to a quadratic form so that the above-mentioned QUBO solver can be used, the auxiliary variable constraint y = x 2 x 3 In this case, simply introducing an auxiliary variable constraint will result in a constraint condition. Therefore, when introducing the above auxiliary variable constraint, 2 x 3 We may also introduce a penalty term such that the solution improves only if y = x 2 x 3 The value is smallest when y = x 2 x 3 We introduce a penalty term that is larger than the smallest value when the condition is not satisfied. This allows us to rewrite a high-order evaluation function into a lower-order evaluation function without any constraints.

[0018] On the other hand, depending on the nature of the optimization problem, it may be more convenient to handle higher-order terms, such as third-order or higher. Therefore, the conversion device 100 described in this disclosure performs conversion processing on the evaluation function based on the auxiliary variable constraints and the coefficient values ​​of the penalty terms, as described above. This allows the conversion device 100 to increase the order according to the need for processing, etc.

[0019] Fig. 1 shows an example of the main configuration of the conversion device 100. Referring to Fig. 1, the conversion device 100 has, as main components, for example, an operation input unit 110, a screen display unit 120, a communication I / F unit 130, a storage unit 140, and an arithmetic processing unit 150.

[0020] 1 illustrates an example in which the functions of the conversion device 100 are realized using one information processing device. However, the conversion device 100 may be realized using multiple information processing devices, for example, on the cloud. Furthermore, the conversion device 100 may not include some of the components illustrated above, such as the operation input unit 110 or the screen display unit 120, or may have components other than those illustrated above.

[0021] The operation input unit 110 is made up of operation input devices such as a keyboard, a mouse, etc. The operation input unit 110 detects operations of an operator who operates the conversion device 100 and outputs the operations to the calculation processing unit 150.

[0022] The screen display unit 120 is composed of a screen display device such as an LCD (Liquid Crystal Display), etc. The screen display unit 120 can display various information stored in the storage unit 140 on the screen in response to instructions from the arithmetic processing unit 150.

[0023] The communication I / F unit 130 includes a data communication circuit, etc. The communication I / F unit 130 performs data communication with an external device connected via a communication line.

[0024] The storage unit 140 is a storage device such as a hard disk or memory. The storage unit 140 stores processing information and a program 144 required for various processes in the calculation processing unit 150. The program 144 is read into the calculation processing unit 150 and executed to realize various processing units. The program 144 is read in advance from an external device or recording medium via a data input / output function such as the communication I / F unit 130, and is stored in the storage unit 140. Main information stored in the storage unit 140 includes, for example, auxiliary variable constraint information 141, penalty term coefficient information 142, and evaluation function information 143.

[0025] The auxiliary variable constraint information 141 indicates one or more auxiliary variable constraints. In other words, the auxiliary variable constraint information 141 includes a list of auxiliary variable constraints expressed in a format in which the product of a group of variables matches another variable. For example, the auxiliary variable constraint information 141 stores an auxiliary variable constraint of a triplet of variables, such as z = xy. Here, for the auxiliary variable constraint z = xy, z is also referred to as an auxiliary variable, and x and y are also referred to as constituent variables. For example, the auxiliary variable constraint information 141 is acquired in advance by inputting it through the operation input unit 110 or by acquiring it from an external device via the communication I / F unit 130, and is stored in the storage unit 140. Note that, as an example, the variables are binary variables that take on values ​​of 0 or 1. However, the variables may be variables other than binary variables.

[0026] 2 shows an example of the auxiliary variable constraint information 141. Referring to FIG. 2, the auxiliary variable constraint information 141 includes, for example, y=x 1 x 2 , z=yx 3 2. The auxiliary variable constraint information 141 may store auxiliary variable constraints other than those shown in FIG. 2. For example, the auxiliary variable constraint information 141 may store a plurality of auxiliary variable constraints such as y=x 1 x 2 x 3 Constraints of sets of four variables such as above may be stored, or constraints of sets of more than the above may be stored.

[0027] The penalty term coefficient information 142 indicates information about the penalty term corresponding to each auxiliary variable constraint stored in the auxiliary variable constraint information 141. For example, the penalty term is expressed as H' = axy + b(x + y)z + cz (where (x, y, z) belong to the list of auxiliary variable constraints). Each coefficient of the penalty term is determined so that the solution is improved, for example, minimized, when the corresponding auxiliary variable constraint is satisfied. The penalty term coefficient information 142 includes information about coefficients a, b, c, and the like, among the penalty terms. More specifically, the penalty term coefficient information 142 includes information about at least the coefficient a of the penalty term. For example, the penalty term coefficient information 142 is acquired in advance by inputting the information through the operation input unit 110 or by acquiring the information from an external device via the communication I / F unit 130, and is stored in the storage unit 140.

[0028] 3 shows an example of the penalty term coefficient information 142. Referring to FIG. 3, the penalty term coefficient information 142 includes, for example, H y '=x 1 x 2 −2(x 1 +x 2 ) y + 3y, H z '=x 3 y-2(x 3+y)z+3z, etc. is stored as information on the coefficients of penalty terms corresponding to each auxiliary variable constraint stored in the auxiliary variable constraint information 141. Note that the penalty term coefficient information 142 may store information on the coefficients of penalty terms other than those exemplified in Fig. 3. For example, as described above, the penalty term coefficient information 142 may store only information corresponding to the coefficient a of the penalty term.

[0029] The coefficients of the penalty terms may be fixed, such as a = 1, b = -2, and c = 3, regardless of the corresponding auxiliary variable constraints. When the coefficients of the penalty terms are fixed, the penalty term coefficient information 142 only needs to store information about the fixed coefficients.

[0030] The evaluation function information 143 includes information about an evaluation function to be converted, which is expressed as a polynomial with multiple variables, such as the above-described Expression 2. The evaluation function information 143 may also include an evaluation function after conversion processing. For example, the evaluation function information 143 is acquired in advance by inputting the information through operation of the operation input unit 110, by acquiring the information from an external device via the communication I / F unit 130, or by other methods, and is stored in the storage unit 140. Furthermore, the evaluation function information 143 may be updated, for example, according to the result of conversion processing by the conversion unit 151 (described later) or the like.

[0031] 4 shows an example of the evaluation function information 143. Referring to FIG. 4, the evaluation function information 143 includes, for example, H=x 1 x 2 -2x 1 y-2x 2 y+3y+yx 3 -2yz-2x 3 z+3z+zx 4 The evaluation function information 143 may store evaluation functions other than those exemplified in FIG. 4 . For example, the evaluation function information 143 may store evaluation functions of cubic or higher forms. The evaluation function information 143 may also include evaluation functions after conversion.

[0032] The arithmetic processing unit 150 has an arithmetic device such as a CPU (Central Processing Unit) and its peripheral circuits. The arithmetic processing unit 150 reads and executes a program 144 from the storage unit 140, thereby realizing various processing functions by causing the above hardware and the program 144 to work together. Major processing units realized by the arithmetic processing unit 150 include, for example, a conversion unit 151 having a constraint selection unit 152 and an auxiliary variable replacement unit 153, and an output unit 154.

[0033] In addition, instead of the above-mentioned CPU, the conversion device 100 may have a GPU (Graphics Processing Unit), a DSP (Digital Signal Processor), an MPU (Micro Processing Unit), an FPU (Floating point number Processing Unit), a PPU (Physics Processing Unit), a TPU (Tensor Processing Unit), a quantum processor, a microcontroller, or a combination thereof.

[0034] The conversion unit 151 converts the evaluation function to be converted into a higher-order evaluation function so that, when all auxiliary variable constraints are satisfied, the original evaluation function and the value of the higher-order evaluation function match, and, when all auxiliary variable constraints are not satisfied, the value of the original evaluation function is not smaller than the value of the higher-order evaluation function. The conversion unit 151 also performs the conversion process by adding auxiliary variables and auxiliary variable constraints to the converted higher-order term evaluation function and adding penalty terms, so that the converted value becomes equivalent to the evaluation function and constraint conditions before conversion. For example, the conversion unit 151 includes a constraint selection unit 152 and an auxiliary variable replacement unit 153. For example, the conversion unit 151 can achieve the above by performing or repeating the conversion process using the constraint selection unit 152 and the auxiliary variable replacement unit 153.

[0035] The constraint selection unit 152 selects one auxiliary variable constraint from the list of auxiliary variable constraints indicated by the auxiliary variable constraint information 141. For example, the constraint selection unit 152 selects one auxiliary variable constraint in which the auxiliary variable is not a constituent variable of another auxiliary variable constraint from the list of auxiliary variable constraints indicated by the auxiliary variable constraint information 141. Note that when there are multiple auxiliary variable constraints like those described above, the constraint selection unit 152 may select an auxiliary variable constraint based on any criteria from among the multiple auxiliary variable constraints that satisfy the conditions.

[0036] The auxiliary variable replacement unit 153 performs a conversion process to convert the evaluation function to a higher-order form based on the auxiliary variable constraint selected by the constraint selection unit 152. For example, the auxiliary variable replacement unit 153 refers to the auxiliary variable constraint selected by the constraint selection unit 152 and the coefficient of the penalty term corresponding to the selected auxiliary variable constraint included in the penalty term coefficient information 142, and replaces the auxiliary variables in the auxiliary variable constraints in the evaluation function indicated by the evaluation function information 143 with configuration variables, thereby converting the evaluation function to a higher-order form. At this time, the auxiliary variable replacement unit 153 performs the conversion process so that the value of the evaluation function before conversion matches the value of the converted evaluation function when all auxiliary variable constraints stored as the auxiliary variable constraint information 141 are satisfied, and is not smaller than the value of the converted evaluation function when even one auxiliary variable constraint is satisfied. By performing the conversion process with conditions associated with such conversion, the auxiliary variable replacement unit 153 can convert the evaluation function to a higher order by adding an auxiliary variable to the converted high-order evaluation function to lower its order, thereby matching it to the list of auxiliary variable constraints. That is, the auxiliary variable replacement unit 153 can convert the evaluation function to be converted into a high-order evaluation function without auxiliary variables while maintaining equivalence.

[0037] Specifically, for example, the auxiliary variable replacement unit 153 deletes terms derived from the corresponding penalty terms, excluding the constituent variables of the selected auxiliary variable constraint. For example, in the evaluation function H=x 1 x 2 -2x 1 y-2x 2 y+3y+yx 3 -2yz-2x 3 z+3z+zx4 and the selected auxiliary variable constraint is z = yx 3 and the penalty term corresponding to the selected auxiliary variable constraint is H z '=x 3 y-2(x 3 +y)z+3z. In this case, the auxiliary variable replacement unit 153 replaces yx, which is a constituent variable of the selected auxiliary variable constraint, with 3 The penalty terms yz, x 3 The terms z and z are deleted from the evaluation function. By this conversion process, the evaluation function H = x 1 x 2 -2x 1 y-2x 2 y+3y+yx 3 +zx 4 This becomes:

[0038] In addition, when the evaluation function is given as a matrix Q, the above-mentioned deletion process is equivalent to the operation of setting the matrix elements representing the coefficients of these terms to 0. Note that z is a first-order single term. For example, there are cases where a variable can be set to 0 or 1. In such a case, z 2 The terms of can be identified with the linear terms of z. In other words, eliminating z is z 2 This is equivalent to eliminating

[0039] Furthermore, the auxiliary variable replacement unit 153 subtracts 1, which is the coefficient a in the penalty term, from the term of the constituent variable of the selected auxiliary variable constraint in the evaluation function. As a result, the evaluation function H=x 1 x 2 -2x 1 y-2x 2 y+3y+(1-1)yx 3 +zx 4 Then, the evaluation function H = x 1 x 2 -2x 1 y-2x 2 y + 3y + zx 4 This becomes:

[0040] In addition, when the coefficients of the evaluation function are given as a matrix, the process of subtracting the value corresponding to the coefficient a described above is equivalent to the operation of subtracting a from the matrix element representing the coefficient of the constituent variable term (xy).

[0041] In addition, the auxiliary variable replacement unit 153 replaces the auxiliary variable z of the selected auxiliary variable constraint with the constituent variables yx 3 As a result, the term including the auxiliary variable is rewritten as a higher-order term. For example, in the example described in this embodiment, the evaluation function H=x 1 x 2 -2x 1 y-2x 2 y+3y+yx 3 x 4 In other words, the quadratic evaluation function can be converted into a cubic function.

[0042] For example, as described above, the auxiliary variable replacement unit 153 performs conversion processes such as deleting terms derived from penalty terms other than the configuration variables from the evaluation function, subtracting a value corresponding to the coefficient of the penalty term from the configuration variable terms in the evaluation function, and replacing the auxiliary variable terms in the evaluation function, thereby converting the evaluation function into a higher-order form, for example, converting a quadratic evaluation function into a cubic form while maintaining equivalence. In other words, through the above-described processes, the auxiliary variable replacement unit 153 converts the evaluation function to be converted into a higher-order one so that it becomes equivalent to the original evaluation function by adding an auxiliary variable constraint and a penalty term to the converted evaluation function.

[0043] Furthermore, after the conversion process as described above, the auxiliary variable replacement unit 153 can instruct the constraint selection unit 152 to select an unselected auxiliary variable constraint. At this time, the auxiliary variable replacement unit 153 may be configured to delete the selected auxiliary variable constraint from the list of auxiliary variable constraints to be selected in the auxiliary variable constraint information 141. In response to this, the constraint selection unit 152 selects an auxiliary variable constraint, and the auxiliary variable replacement unit 153 can repeat the same conversion process. For example, when the constraint selection unit 152 selects an auxiliary variable constraint y=x 1 x 2 In response to this, the auxiliary variable replacement unit 153 selects yx 1 , yx 2 , y terms are deleted, and x 1 x 2The auxiliary variable substitution unit 153 also substitutes y in the evaluation function for x 1 x 2 As a result, the evaluation function H = x 1 x 2 x 3 x 4 Thus, the quadratic evaluation function is converted into a quartic evaluation function.

[0044] The conversion process by the constraint selection unit 152 and the auxiliary variable replacement unit 153 may be configured to be repeated until the constraint selection unit 152 selects all auxiliary variable constraints included in the auxiliary variable constraint information 141, or may be configured to end the conversion process when some termination condition is met, such as when the degree has been increased to a desired degree. For example, the determination of whether the termination condition is met may be made by either the constraint selection unit 152 or the auxiliary variable replacement unit 153.

[0045] In addition, the auxiliary variable substitution unit 153 substitutes the evaluation function H=x 1 x 2 -2x 1 y-2x 2 y+3y+yx 3 x 4 and evaluation function H = x 1 x 2 x 3 x 4 The converted evaluation function can be stored in the storage unit 140 as evaluation function information 143. The auxiliary variable replacement unit 153 may be configured to store the converted evaluation function in the storage unit 140 as evaluation function information 143 after the above-mentioned termination condition is satisfied.

[0046] The output unit 154 outputs the converted evaluation function and the like included in the evaluation function information 143. For example, the output unit 154 can display the converted evaluation function and the like on the screen display unit 120, or transmit it to an external device such as an external optimization device via the communication I / F unit 130. The output unit 154 may output any information other than the above-mentioned examples.

[0047] The above is an example of the configuration of the conversion device 100. Next, an example of the operation of the conversion device 100 will be described with reference to FIG.

[0048] 5 is a flowchart showing an example of the operation of the conversion device 100. Referring to FIG. 5, the constraint selection unit 152 selects one auxiliary variable constraint from the list of auxiliary variable constraints indicated by the auxiliary variable constraint information 141 (step S101). For example, the constraint selection unit 152 selects one auxiliary variable constraint from the list of auxiliary variable constraints indicated by the auxiliary variable constraint information 141, in which the auxiliary variable is not a constituent variable of another auxiliary variable constraint.

[0049] The auxiliary variable replacement unit 153 replaces the auxiliary variables in the auxiliary variable constraints in the evaluation function indicated by the evaluation function information 143 with the constituent variables by referencing the auxiliary variable constraints selected by the constraint selection unit 152 and the coefficients of the penalty terms corresponding to the selected auxiliary variable constraints included in the penalty term coefficient information 142. For example, the auxiliary variable replacement unit 153 deletes terms derived from the corresponding penalty terms, excluding the constituent variables of the selected auxiliary variable constraint (step S102). The auxiliary variable replacement unit 153 also subtracts the coefficient a in the penalty term from the terms of the constituent variables of the selected auxiliary variable constraint in the evaluation function (step S103). The auxiliary variable replacement unit 153 also replaces the auxiliary variables of the selected auxiliary variable constraint with the constituent variables in the evaluation function (step S104).

[0050] After the conversion process described above, the auxiliary variable replacement unit 153 can instruct the constraint selection unit 152 to select an unselected auxiliary variable constraint. At this time, the auxiliary variable replacement unit 153 may be configured to delete the selected auxiliary variable constraint from the list of auxiliary variable constraints to be selected in the auxiliary variable constraint information 141 (step S105).

[0051] If the auxiliary variable constraint information 141 includes an unselected auxiliary variable constraint (Yes in step S106), the constraint selection unit 152 selects an auxiliary variable constraint from the unselected auxiliary variable constraints (step S101). On the other hand, if the auxiliary variable constraint information 141 does not include an unselected auxiliary variable constraint (No in step S106), the output unit 154 can output the converted evaluation function, etc. (step S107).

[0052] The above is an example of the operation of the conversion device 100.

[0053] As described above, the conversion device 100 includes a constraint selection unit 152 and an auxiliary variable replacement unit 153. With this configuration, the auxiliary variable replacement unit 153 can perform a conversion process to convert the evaluation function into a higher-order format based on the auxiliary variable constraints selected by the constraint selection unit 152. As a result, it becomes possible to handle inputs in a higher-order format as they are. Furthermore, with the conversion device 100 described in this embodiment, it is possible to convert into a higher-order evaluation function, for example, by using a list of evaluation functions and auxiliary variable constraints handled by QUBO or the like as they are.

[0054] The configuration of the conversion device 100 is not limited to the example shown in this embodiment. For example, Fig. 6 shows another example configuration of the conversion device 100. Referring to Fig. 6, the arithmetic processing unit 150 of the conversion device 100 can have a directed graph creation unit 155 in addition to the configuration shown in Fig. 1 by reading and executing the program 144.

[0055] The directed graph creation unit 155 creates a directed graph structure indicating the parent-child relationships between the auxiliary variable constraints for the list of auxiliary variable constraints stored in the auxiliary variable constraint information 141. For example, the directed graph creation unit 155 creates a directed graph structure having a tree structure. As a result, the constraint selection unit 152 selects one constraint from the list of auxiliary variable constraints having the directed graph structure, for example, by selecting an auxiliary variable constraint in order from the root of the tree structure. By the constraint selection unit 152 selecting one constraint from the list of auxiliary variable constraints having the directed graph structure, it is possible to improve the efficiency of constraint selection.

[0056] For example, the directed graph creation unit 155 creates a directed graph structure by sequentially selecting auxiliary variable constraints from a list of auxiliary variable constraints, adding parent auxiliary variable constraints to the parent list, and adding child auxiliary variable constraints to the child list. In other words, when an auxiliary variable of a certain auxiliary variable constraint appears as a constituent variable of another auxiliary variable constraint, the directed graph creation unit 155 creates a directed graph structure in which directed edges correspond to the above relationships. For example, the directed graph creation unit 155 creates a directed graph structure in which a certain auxiliary variable constraint L 1 The auxiliary variables of the other auxiliary variable constraints L2 When the auxiliary variable constraint L 1 The auxiliary variable constraint L 2 Alternatively, the directed graph creating unit 155 determines that a certain auxiliary variable constraint L 1 The auxiliary variables of the other auxiliary variable constraints L 2 When the auxiliary variable constraint L 2 The auxiliary variable constraint L 1 For example, the directed graph creating unit 155 checks the parent-child relationships of all auxiliary variable constraints included in the list of auxiliary variable constraints, and creates a directed graph structure in which children are positioned lower than their parents.

[0057] FIG. 7 shows the list of auxiliary variable constraints: y=x 1 x 2 and z = yx 3 7 shows an example of a directed graph structure created by the directed graph creating unit 155 when the auxiliary variable constraint y=x is included. 1 x 2 The auxiliary variable y of the other auxiliary variable constraint z = yx 3 Therefore, the directed graph creation unit 155 creates the auxiliary variable constraint y=x 1 x 2 The auxiliary variable constraint z = yx 3 and creates a directed graph structure as shown in Fig. 7. According to the directed graph structure as shown in Fig. 7, for example, the constraint selection unit 152 can select auxiliary variable constraints in order from the top.

[0058] The directed graph creation unit 155 creates a set L of auxiliary variable constraints whose parents are empty. root Create a root In addition, the constraint selection unit 152 may be instructed to select an auxiliary variable constraint from L root When deleting an auxiliary variable constraint from L, the directed graph creating unit 155 creates a new auxiliary variable constraint in L, where the parent auxiliary variable constraint is empty. root It may be configured to add

[0059] In this way, by configuring the constraint selection unit 152 to select auxiliary variable constraints based on the directed graph structure created by the directed graph creation unit 155, it becomes possible to determine the selection order of auxiliary variable constraints, thereby making constraint selection more efficient.

[0060] [Second Embodiment] In a second embodiment of the present disclosure, a conversion device 200 that is an information processing device that converts an evaluation function into a higher-order evaluation function will be described. Fig. 8 shows an example of the hardware configuration of the conversion device 200. Referring to Fig. 8, the conversion device 200 has, as an example, the following hardware configuration: - CPU (Central Processing Unit) 201 (arithmetic device) - ROM (Read Only Memory) 202 (storage device) - RAM (Random Access Memory) 203 (storage device) - Programs 204 loaded into RAM 203 - Storage device 205 that stores the programs 204 - Drive device 206 that reads and writes from / to a storage medium 210 outside the information processing device - Communication interface 207 that connects to a communication network 211 outside the information processing device - Input / output interface 208 that inputs and outputs data - Bus 209 that connects the various components

[0061] 9 by the CPU 201 acquiring and executing the program group 204. The program group 204 is stored in advance in the storage device 205 or the ROM 202, for example, and is loaded into the RAM 203 or the like by the CPU 201 for execution as needed. The program group 204 may be supplied to the CPU 201 via the communication network 211, or may be stored in advance in the recording medium 210, with the drive device 206 reading out the programs and supplying them to the CPU 201.

[0062] 8 shows an example of the hardware configuration of the conversion device 200. The hardware configuration of the conversion device 200 is not limited to the above-described case. For example, the conversion device 200 may be configured with only a part of the above-described configuration, such as excluding the drive device 206.

[0063] The selection unit 221 selects an auxiliary variable constraint from a list of auxiliary variable constraints expressed in a format in which the product of a group of variables matches another variable.

[0064] The substitution unit 222 performs substitution processing based on the auxiliary variable constraint selected by the selection unit 221, thereby converting the evaluation function to be converted, which is expressed as a polynomial using multiple variables, into an evaluation function of a higher order than the evaluation function.

[0065] As described above, the conversion device 200 includes the selection unit 221 and the substitution unit 222. With this configuration, the substitution unit 222 performs substitution processing based on the auxiliary variable constraint selected by the selection unit 221, thereby converting the evaluation function to be converted, which is expressed as a polynomial using multiple variables, into a higher-order evaluation function. As a result, optimization of the higher-order form can be performed efficiently.

[0066] The above-described conversion device 200 can be realized by incorporating a predetermined program into an information processing device such as the conversion device 200. Specifically, a program as another aspect of the present invention is a program for realizing processing in an information processing device such as the conversion device 200, in which an auxiliary variable constraint is selected from a list of auxiliary variable constraints expressed in a format in which the product of a certain group of variables matches another certain variable, and a substitution process is performed based on the selected auxiliary variable constraint, thereby converting an evaluation function to be converted, which is expressed as a polynomial using a plurality of variables, into an evaluation function of a higher order than the evaluation function in question.

[0067] Furthermore, the conversion method executed by an information processing device such as the conversion device 200 described above is a method in which the information processing device such as the conversion device 200 selects an auxiliary variable constraint from a list of auxiliary variable constraints expressed in a form in which the product of a group of variables matches another variable, and performs a substitution process based on the selected auxiliary variable constraint, thereby converting the evaluation function to be converted, which is expressed as a polynomial using multiple variables, into an evaluation function of a higher order than the evaluation function in question.

[0068] Even if the invention is a program having the above-mentioned configuration, or a computer-readable recording medium having the program recorded thereon, or a conversion method, it can achieve the above-mentioned object of the present invention by achieving the same functions and effects as the above-mentioned conversion device 200.

[0069] <Supplementary Notes> Part or all of the above-described embodiments can be described as follows: Below, an outline of the conversion device and the like according to the present invention will be described. However, the present invention is not limited to the following configuration.

[0070] (Supplementary Note 1) A conversion device comprising: a selection unit that selects an auxiliary variable constraint from a list of auxiliary variable constraints expressed in a format in which the product of a certain group of variables matches another certain variable; and a replacement unit that performs a replacement process based on the auxiliary variable constraint selected by the selection unit to convert an evaluation function to be converted, which is expressed as a polynomial of multiple variables, into an evaluation function of a higher order than the evaluation function. (Supplementary Note 2) A conversion device according to Supplementary Note 1, wherein the auxiliary variable constraints are expressed in a format in which a constituent variable that is the product of a group of variables matches an auxiliary variable that is a certain variable, and the selection unit selects an auxiliary variable constraint from among those in which the auxiliary variable is not a constituent variable of another auxiliary variable constraint, from the list of auxiliary variable constraints. (Supplementary Note 3) A conversion device according to Supplementary Note 1, comprising: a creation unit that creates a directed graph structure indicating a parent-child relationship between the auxiliary variable constraints based on the list of auxiliary variable constraints, and the selection unit selects the auxiliary variable constraint based on the directed graph structure created by the creation unit. (Supplementary Note 4) The conversion device according to Supplementary Note 3, wherein an auxiliary variable constraint is expressed in a format in which a constituent variable that is a product of a group of variables matches a certain auxiliary variable, and the creation unit, when an auxiliary variable of an auxiliary variable constraint is a constituent variable of another auxiliary variable constraint, determines that the auxiliary variable constraint is a child of the other auxiliary variable constraint and creates a directed graph structure indicating a parent-child relationship according to the determination result. (Supplementary Note 5) The conversion device according to Supplementary Note 4, wherein, when an auxiliary variable of an auxiliary variable constraint appears as a constituent variable of another auxiliary variable constraint, the creation unit creates a directed graph structure in which directed edges correspond to relationships in which the auxiliary variable of the auxiliary variable constraint appears as a constituent variable of another auxiliary variable constraint. (Supplementary Note 6) The conversion device according to Supplementary Note 1, wherein at least coefficients of penalty terms corresponding to auxiliary variable constraints are stored in advance, and the replacement unit performs subtraction or deletion processing on terms derived from penalty terms corresponding to the auxiliary variable constraint selected by the selection unit, from the evaluation function to be converted.(Supplementary Note 7) The conversion device according to Supplementary Note 1, wherein the replacement unit converts the evaluation function to be converted into a higher-order evaluation function so that the value of the evaluation function after conversion matches the value of the evaluation function to be converted when all auxiliary variable constraints included in the list of auxiliary variable constraints are satisfied, and so that the value of the evaluation function to be converted is not smaller than the value of the evaluation function after conversion when all auxiliary variable constraints included in the list of auxiliary variable constraints are not satisfied. (Supplementary Note 8) The conversion device according to Supplementary Note 1, wherein the replacement unit converts the evaluation function to be converted into a higher-order evaluation function so that the value of the evaluation function after conversion is equivalent to the value of the evaluation function before conversion including the constraint conditions by adding an auxiliary variable constraint to the evaluation function after conversion and adding a penalty term. (Supplementary Note 9) A conversion method in which an information processing device selects an auxiliary variable constraint from a list of auxiliary variable constraints expressed in a form in which the product of a certain group of variables matches another certain variable, and performs replacement processing based on the selected auxiliary variable constraint to convert an evaluation function to be converted that is expressed as a polynomial with multiple variables into a higher-order evaluation function. (Supplementary Note 10) A computer-readable recording medium having recorded thereon a program for realizing a process in an information processing device to convert an evaluation function to be converted, which is expressed as a polynomial using multiple variables, into an evaluation function of a higher order than the evaluation function in question, by selecting an auxiliary variable constraint from a list of auxiliary variable constraints expressed in a format in which the product of a group of variables matches another variable, and performing a substitution process based on the selected auxiliary variable constraint.

[0071] Although the present invention has been described above with reference to the above-mentioned embodiments, the present invention is not limited to the above-mentioned embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

[0072] REFERENCE SIGNS LIST 100 Conversion device 110 Operation input unit 120 Screen display unit 130 Communication I / F unit 140 Memory unit 141 Auxiliary variable constraint information 142 Penalty term coefficient information 143 Evaluation function information 144 Program 150 Arithmetic processing unit 151 Conversion unit 152 Constraint selection unit 153 Auxiliary variable replacement unit 154 Output unit 155 Directed graph creation unit 200 Conversion device 201 CPU 202 ROM 203 RAM 204 Program group 205 Storage device 206 Drive device 207 Communication interface 208 Input / output interface 209 Bus 210 Recording medium 211 Communication network 221 Selection unit 222 Replacement unit

Claims

1. a selection unit for selecting an auxiliary variable constraint from a list of auxiliary variable constraints expressed in a form in which a product of a set of variables matches another set of variables; a replacement unit that performs a replacement process based on the auxiliary variable constraint selected by the selection unit to replace an evaluation function that is expressed as a polynomial using a plurality of variables and is a target of the replacement, with the evaluation function being a higher-order evaluation function; have Conversion device.

2. The conversion device according to claim 1 , The auxiliary variable constraint is expressed in the form that the constituent variables, which are a product of a set of variables, correspond to the auxiliary variables, which are certain variables, The selection unit selects an auxiliary variable constraint from among the list of auxiliary variable constraints in which the auxiliary variable is not a constituent variable of another auxiliary variable constraint. Conversion device.

3. The conversion device according to claim 1 , a generating unit that generates a directed graph structure indicating a parent-child relationship between the auxiliary variable constraints based on the list of auxiliary variable constraints; The selection unit selects auxiliary variable constraints based on the directed graph structure created by the creation unit. Conversion device.

4. 4. The conversion device according to claim 3, The auxiliary variable constraint is expressed in the form that the constituent variables, which are a product of a set of variables, correspond to the auxiliary variables, which are certain variables, The creation unit determines, when an auxiliary variable of an auxiliary variable constraint is a constituent variable of another auxiliary variable constraint, that the auxiliary variable constraint is a child of the other auxiliary variable constraint, and creates a directed graph structure indicating a parent-child relationship according to the determination result. Conversion device.

5. 5. The conversion device according to claim 4, The creation unit creates a directed graph structure in which, when an auxiliary variable of an auxiliary variable constraint appears as a constituent variable of another auxiliary variable constraint, a directed edge corresponds to a relationship in which an auxiliary variable of an auxiliary variable constraint appears as a constituent variable of another auxiliary variable constraint. Conversion device.

6. The conversion device according to claim 1 , At least a coefficient of a penalty term corresponding to the auxiliary variable constraint is stored in advance; The replacement unit performs a subtraction or deletion process on a term derived from a penalty term corresponding to the auxiliary variable constraint selected by the selection unit, from among the evaluation functions to be converted. Conversion device.

7. The conversion device according to claim 1 , The replacement unit converts the evaluation function to be converted into a higher-order evaluation function such that the value of the evaluation function to be converted and the value of the evaluation function after conversion match when all auxiliary variable constraints included in the list of auxiliary variable constraints are satisfied, and the value of the evaluation function to be converted is not smaller than the value of the evaluation function after conversion when all auxiliary variable constraints included in the list of auxiliary variable constraints are not satisfied. Conversion device.

8. The conversion device according to claim 1 , The replacement unit adds an auxiliary variable constraint to the converted evaluation function and adds a penalty term to convert the evaluation function to be converted into a higher-order evaluation function so that the converted evaluation function has the same value as the evaluation function before conversion including the constraint condition. Conversion device.

9. An information processing device, Selecting an auxiliary variable constraint from a list of auxiliary variable constraints expressed in the form that the product of a set of variables matches another set of variables; By carrying out a substitution process based on the selected auxiliary variable constraint, the evaluation function to be converted, which is expressed as a polynomial using multiple variables, is converted into a higher-order evaluation function. How to convert.

10. In the information processing device, Selecting an auxiliary variable constraint from a list of auxiliary variable constraints expressed in the form that the product of a set of variables matches another set of variables; By carrying out a substitution process based on the selected auxiliary variable constraint, the evaluation function to be converted, which is expressed as a polynomial using multiple variables, is converted into a higher-order evaluation function. A program for implementing processing.