Information processing device, information processing method, and program
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- THE TOKIO MARINE & FIRE INSURANCE CO LTD
- Filing Date
- 2024-11-20
- Publication Date
- 2026-07-07
AI Technical Summary
【0008】 本発明によれば、より少ないバイナリ変数でのQUBO形式の表現を可能とする技術を提供することができる。
Smart Images

Figure 00000017_0000 
Figure 00000017_0001 
Figure 00000017_0002
Abstract
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is based on Japanese Patent Application No. 2024-126654, filed on August 2, 2024, the contents of which are incorporated herein by reference. [Technical field]
[0002] The present invention relates to an information processing device, an information processing method, and a program. [Background technology]
[0003] In recent years, algorithms and hardware for solving quadratic unconstrained binary optimization (QUBO) problems, such as annealing processors, have made significant progress. This progress has led to interest in formulating combinatorial optimization problems as quadratic polynomials. For example, Patent Document 1 discloses technology related to quantum hardware for implementing quantum annealing processes. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent Publication No. 2022-58462 Summary of the Invention [Problem to be solved by the invention]
[0005] By expressing a combinatorial optimization problem in the QUBO format, it is possible to solve the problem using an annealing processor. However, even if a combinatorial optimization problem can be expressed in the QUBO format, it is known that the greater the number of binary variables, the more difficult it becomes to solve the problem.
[0006] The present invention has been made in consideration of the above, and aims to provide a technology that enables QUBO format expression with fewer binary variables. [Means for solving the problem]
[0007] An information processing device according to one embodiment of the present invention has an input unit that accepts input of a first objective function, which is a polynomial of degree 2 or higher including a plurality of first binary variables; a conversion unit that converts the first objective function into a second objective function in QUBO format consisting of the plurality of second binary variables by replacing the plurality of first binary variables included in the first objective function with a plurality of second binary variables; an identification unit that identifies values of the plurality of second binary variables that minimize the second objective function and identifies values of the plurality of first binary variables corresponding to the identified values of the plurality of second binary variables; and an output unit that outputs the identified values of the plurality of first binary variables. Effect of the Invention
[0008] According to the present invention, a technology can be provided that enables QUBO format expression with fewer binary variables. [Brief description of the drawings]
[0009] [Figure 1] 1 is a diagram illustrating an example of the configuration of an information processing system according to an embodiment of the present invention. [Diagram 2] FIG. 2 is a diagram illustrating an example of a hardware configuration of an information processing device. [Diagram 3] FIG. 2 is a diagram illustrating an example of a functional block configuration of an information processing device. [Figure 4] 11 is a flowchart illustrating an example of a processing procedure performed by an information processing device. [Diagram 5] FIG. 1 is a diagram for explaining an overview of the present embodiment. [Figure 6] FIG. 1 is a diagram for explaining an overview of the present embodiment. [Figure 7] FIG. 1 is a diagram for explaining an overview of the present embodiment. [Figure 8] FIG. 1 is a diagram for explaining an overview of the present embodiment. [Figure 9] FIG. 1 is a diagram for explaining an overview of the present embodiment. [Figure 10] FIG. 1 is a diagram for explaining an overview of the present embodiment. [Figure 11] FIG. 1 is a diagram for explaining an overview of the present embodiment. [Figure 12] FIG. 1 is a diagram for explaining an overview of the present embodiment. [Figure 13] FIG. 1 is a diagram for explaining an overview of the present embodiment. [Figure 14] FIG. 1 is a diagram for explaining an overview of the present embodiment. [Figure 15] FIG. 1 is a diagram for explaining an overview of the present embodiment. [Figure 16] FIG. 1 is a diagram for explaining an overview of the present embodiment. [Figure 17] FIG. 1 is a diagram for explaining an overview of the present embodiment. [Figure 18] FIG. 1 is a diagram for explaining an overview of the present embodiment. [Figure 19] FIG. 1 is a diagram for explaining an overview of the present embodiment. [Figure 20] FIG. 1 is a diagram for explaining an overview of the present embodiment. [Figure 21] FIG. 1 is a diagram for explaining an overview of the present embodiment. [Figure 22] FIG. 1 is a diagram for explaining an overview of the present embodiment. [Diagram 23] FIG. 1 is a diagram for explaining an overview of the present embodiment. [Figure 24] FIG. 1 is a diagram for explaining an overview of the present embodiment. [Diagram 25] FIG. 1 is a diagram for explaining an overview of the present embodiment. [Figure 26] FIG. 1 is a diagram for explaining an overview of the present embodiment. [Figure 27] FIG. 1 is a diagram for explaining an overview of the present embodiment. [Figure 28] FIG. 2 is a diagram for explaining details of the present embodiment. [Figure 29] FIG. 2 is a diagram for explaining details of the present embodiment. [Diagram 30] FIG. 2 is a diagram for explaining details of the present embodiment. [Diagram 31]FIG. 2 is a diagram for explaining details of the present embodiment. [Diagram 32] FIG. 2 is a diagram for explaining details of the present embodiment. [Diagram 33] FIG. 2 is a diagram for explaining details of the present embodiment. [Diagram 34] FIG. 2 is a diagram for explaining details of the present embodiment. [Diagram 35] FIG. 2 is a diagram for explaining details of the present embodiment. [Diagram 36] FIG. 2 is a diagram for explaining details of the present embodiment. [Figure 37] FIG. 2 is a diagram for explaining details of the present embodiment. [Figure 38] FIG. 2 is a diagram for explaining details of the present embodiment. [Figure 39] FIG. 2 is a diagram for explaining details of the present embodiment. [Diagram 40] FIG. 2 is a diagram for explaining details of the present embodiment. [Diagram 41] FIG. 2 is a diagram for explaining details of the present embodiment. [Diagram 42] FIG. 2 is a diagram for explaining details of the present embodiment. [Diagram 43] FIG. 2 is a diagram for explaining details of the present embodiment. [Diagram 44] FIG. 2 is a diagram for explaining details of the present embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described with reference to the accompanying drawings, in which the same reference numerals denote the same or similar configurations.
[0011] <System configuration> 1 is a diagram showing an example of the configuration of an information processing system according to the present embodiment. The information processing system 1 includes an information processing device 10 and a terminal 20. The information processing device 10 and the terminal 20 are connected via a wireless or wired communication network N and can communicate with each other.
[0012] The information processing device 10 is a device that, when it receives an input of an objective function for solving a combinatorial optimization problem, converts the input objective function into QUBO format, and solves the converted QUBO format objective function using a QUBO solver, thereby outputting a solution to the combinatorial optimization problem.
[0013] The terminal 20 is a computer, a tablet terminal, or the like used by a user who uses the information processing system. The terminal 20 is connected to the information processing device 10, and displays various screens for using the information processing device 10, accepts data input, and the like.
[0014] Combinatorial optimization problems involve finding the most appropriate combination from among the many combinations (combinations of variable values) that exist under certain constraints. Generally, combinatorial optimization problems involve a huge number of combinations, and solving them by brute force often takes an enormous amount of time.
[0015] Here, converting to the QUBO format (also called QUBO conversion) means setting an objective function g expressed as a quadratic polynomial for solving a combinatorial optimization problem, where p is the solution for an objective function f(p) that minimizes f. In other words, QUBO conversion means converting an objective function f into an objective function g whose degree is at most quadratic. By expressing an objective function in the QUBO format, it is possible to model various combinatorial optimization problems, such as image synthesis in the computer vision field, and machine learning tasks using neural networks and decision trees. QUBO can also be applied to structural learning of score-based Bayesian networks. The recent development of annealing machines has attracted great interest in the QUBO formulation.
[0016] A QUBO solver is a special hardware and software designed to heuristically solve QUBO problems. Examples of QUBO solvers include, but are not limited to, QUBO solvers that use an annealing processor and QUBO solvers that use a GPU (Graphics Processing Unit).
[0017] However, even if a combinatorial optimization problem can be modeled in the QUBO format, it is known that the more binary variables (two-valued variables) included in the objective function, the more difficult it becomes to solve. In addition, since there are limitations on the hardware circuitry of an annealing machine, if there are too many binary variables, the problem cannot be solved by the annealing machine. Therefore, when modeling in the QUBO format, it is desirable to model with a quadratic polynomial using fewer binary variables.
[0018] The information processing device 10 according to this embodiment converts an objective function for solving a combinatorial optimization problem into the QUBO format in such a way that the number of binary variables is minimized, thereby improving the performance of solving the combinatorial optimization problem and enabling the problem to be solved more efficiently.
[0019] <Hardware configuration> 2 is a diagram showing an example of a hardware configuration of the information processing device 10. The information processing device 10 has a processor 11 such as a CPU (Central Processing Unit) or a GPU, a memory (e.g., a RAM (Random Access Memory) or a ROM (Read Only Memory)), a storage device 12 such as a HDD (Hard Disk Drive) and / or an SSD (Solid State Drive), a network IF (Network Interface) 13 for wired or wireless communication, an input device 14 for accepting input operations, and an output device 15 for outputting information. The input device 14 is, for example, a keyboard, a touch panel, a mouse, and / or a microphone. The output device 15 is, for example, a display, a touch panel, and / or a speaker.
[0020] Furthermore, the information processing device 10 may include an annealing machine, or may be capable of communicating with an external annealing machine.
[0021] In addition, the information processing device 10 may be configured with one or more physical servers, or may be configured using a virtual server operating on a hypervisor, or may be configured using a cloud server.
[0022] <Function block configuration> FIG. 3 is a diagram showing an example of a functional block configuration of the information processing device 10. The information processing device 10 includes a storage unit 100, an input unit 101, a conversion unit 102, an identification unit 103, and an output unit 104. The storage unit 100 can be realized by using a storage device 12 included in the information processing device 10. The input unit 101, the conversion unit 102, the identification unit 103, and the output unit 104 can be realized by the processor 11 of the information processing device 10 executing a program stored in the storage device 12. The program can be stored in a storage medium. The storage medium storing the program may be a non-transitory computer-readable medium. The non-transitory storage medium is not particularly limited, and may be, for example, a storage medium such as a Universal Serial Bus (USB) memory or a Compact Disc Read-Only Memory (CD-ROM).
[0023] The storage unit 100 stores a program for performing the processing according to this embodiment, various data used by the program, and values of variables used when performing calculation processing.
[0024] The input unit 101 accepts input data representing an objective function f for solving a combinatorial optimization problem, which is a quadratic or higher degree polynomial including multiple variables. The input unit 101 may accept input of the objective function from the screen of the terminal 20. Here, the variables included in the objective function f are called "main variables." The objective function f is an example of a "first objective function." The main variables are also an example of a "first binary variable." The input data representing the objective function f may be, for example, data representing a combination of the coefficients and main variables for each term constituting the objective function f.
[0025] The conversion unit 102 converts the objective function f, which is a quadratic or higher polynomial, into a QUBO format objective function g consisting of the multiple variables by replacing multiple main variables included in the objective function f with multiple variables. Here, the variables included in the QUBO format objective function g are called "auxiliary variables." The objective function g is an example of a "second objective function." In addition, the auxiliary variables are examples of "second binary variables."
[0026] The identification unit 103 identifies values of a plurality of auxiliary variables that minimize the objective function g in the QUBO format. Note that the values of the plurality of auxiliary variables identified by the identification unit 103 may be a combination of values of the auxiliary variables that minimize the objective function g in the searched range, and it is not necessary to identify values that minimize the objective function g for all combinations of values that the auxiliary variables can take.
[0027] The output unit 104 outputs the values of the main variables corresponding to the values of the specified auxiliary variables. The output unit 104 may display the values of the main variables on the screen of the terminal 20.
[0028] <Processing Procedure> 4 is a flowchart showing an example of a processing procedure performed by the information processing device 10. The processing performed by the information processing device 10 will be described with reference to FIG.
[0029] In step S10, the input unit 101 receives an input of an objective function f (first objective function) expressed by the following formula (1), which is a quadratic or higher degree polynomial including multiple main variables, from the terminal 20. Here, the objective function f is a function that represents a combinatorial optimization problem, and may be any function including a quadratic or higher degree polynomial.
number
[0030] Here is a concrete example of the objective function f. For example, suppose there is a problem No. 1 that asks who to hire in order to maximize profits when the following conditions 1 and 2 exist. Condition 1: There is a job that Worker A can do that will earn 100 yen, and a job that Worker B and Worker C can complete together that will earn 300 yen. Condition 2: If you hire three or more workers, an additional 200 yen in room rent will be charged. If we express this problem No. 1 in terms of the objective function f, the objective function f is "f=-100p 1 -200p 2 p 3 +300p 1 p 2 p 3 " Therefore, in formula (1), F is p 1 , p 2 ×p 3 and p 1 ×p 2 ×p 3 Also, V is a set of p 1 , p 2 ×p 3 and p 1 ×p 2 ×p 3 It is a set of any one of the following.
[0031] In step S20, the conversion unit 102 converts the objective function f into a QUBO format objective function g by replacing a plurality of main variables included in the objective function f with a plurality of auxiliary variables. Specifically, the conversion unit 102 identifies a plurality of substitution patterns between a plurality of main variables and a plurality of auxiliary variables, identifies values of a plurality of search binary variables that minimize an objective function including a plurality of search binary variables corresponding to each of the plurality of substitution patterns so as to satisfy a constraint condition equation determined based on the plurality of substitution patterns, and converts the objective function f into the objective function g based on the substitution patterns corresponding to the identified values of the plurality of search binary variables. Hereinafter, the process performed by the conversion unit 102 in step S20 will be described in steps S21 to S23.
[0032] In step S21, the conversion unit 102 identifies multiple replacement patterns between multiple main variables and multiple auxiliary variables, and limits the replacement patterns by excluding combinations determined to be used for QUBO conversion from the identified replacement patterns. Here, the replacement patterns may be referred to as a "search space." Also, limiting the replacement patterns may be referred to as "limiting the search space." Note that when replacing a main variable with an auxiliary variable, one or more main variables are replaced with one auxiliary variable. In other words, one main variable is not replaced with multiple auxiliary variables.
[0033] Here, we propose equation (2) as a specific procedure for limiting the search space.
number
[0034] First, when a term with a first degree exists in the objective function f, the conversion unit 102 replaces the main variable p of the term with an auxiliary variable. In other words, it is determined that the combination of the main variable p and the auxiliary variable is to be used in the QUBO conversion. The set of the main variable p and the auxiliary variables to be replaced in this way is called "V close For example, in the case of the objective function f corresponding to the above problem No. 1, the term with a first degree is "-100p1 Therefore, the conversion unit 102 converts "p 1 We decide to replace V with auxiliary variables. close " is "p 1 The element of the set is a substitution pattern, which replaces "with an auxiliary variable."
[0035] In addition, if there are multiple terms with first order in the objective function f, for example, p 1 , p 2 If there are two linear terms of p 1 "Replace with auxiliary variables", "p 2 Here, we decide on different auxiliary variables to replace each main variable, q 1 , q 2、 These auxiliary variables are expressed by adding subscripts such as... Note that these auxiliary variables are specifically determined in steps S21 to S22.
[0036] Next, the conversion unit 102 selects "V close The set that excludes the substitution patterns in "V open For example, in the case of the objective function f for the above problem No. 1, all the substitution patterns of the main variable p to the auxiliary variables are defined as "p 1 "Replace with auxiliary variables", "p 2 "Replace with auxiliary variables", "p 3 "Replace with auxiliary variables", "p 1 p 2 "Replace with auxiliary variables", "p 2 p 3 "Replace with auxiliary variables", "p 1 p 3 "Replace with auxiliary variables", "p 1 p 2 p 3 "Replace p with auxiliary variables". 1 "Replace with auxiliary variables" is "V close " Therefore, "V open " is "p 2 "Replace with auxiliary variables", "p 3"Replace with auxiliary variables", "p 1 p 2 "Replace with auxiliary variables", "p 2 p 3 "Replace with auxiliary variables", "p 1 p 3 "Replace with auxiliary variables", "p 1 p 2 p 3 The result is a set with six patterns as elements: "Replace with auxiliary variables."
[0037] "V open " is the substitution pattern "V" that is determined to be used for QUBO conversion from all substitution patterns of the main variable p to the auxiliary variables. close " is excluded. In other words, "V close " and "V open " corresponds to restricting the substitution pattern.
[0038] Next, the conversion unit 102 converts the term "V close The set of combinations of multiple main variables that constitute terms that are not transformed by the substitution patterns in open For example, the objective function f is defined as "f=-100p 1 -200p 2 p 3 +300p 1 ×p 2 ×p 3 " is expressed as "W open " is p 2 ×p 3 and p 1 ×p 2 ×p 3 It becomes a set whose elements are the terms of .
[0039] In step S22, the conversion unit 102 converts “V open Among the multiple substitution patterns contained in "W open Specifically, the conversion unit 102 determines an optimal substitution pattern for substituting the terms included in "V open " and "Wopen " is determined, so as to satisfy a constraint equation determined based on the above, by determining values of a plurality of binary variables (hereinafter referred to as "search binary variables" and "third binary variables") that minimize an objective function for identifying a replacement pattern (hereinafter referred to as the "objective function for identifying a replacement pattern" and the "third objective function"), the optimal replacement pattern is identified.
[0040] Here, the objective function for identifying a substitution pattern is expressed by the following formula (3).
number
[0041] The constraint equations are expressed by the following equations (4) and (5). Equation (4) is "V close " are terms of F that cannot be expressed only by the substitution patterns (elements) in "W open " element) to "V open " is a constraint formula for expressing the substitution pattern (element) of ".
[0042] The first term of the left equation of equation (4) is "V close " and / or "V open " in the replacement pattern "W open" and the second term of the left equation of (4) is "V open " in any two substitution patterns "W open " More specifically, formula (4) means "W open " means that for each item in the above, the sum of A and B below is 1 or greater. A (the first term of the left equation of Equation (4)): "V open " is a substitution pattern that is used to convert the 1st substitution pattern into a 2nd substitution pattern, or ...2nd substitution pattern into a 3rd substitution pattern, or a substitution pattern that is used to convert the 3rd substitution pattern into a 4th substitution pattern, or a substitution pattern that is used to convert the 4th substitution pattern into a 5th substitution pattern, or a substitution pattern that is used to convert the close " is a replacement pattern that can be replaced by a product with a replacement pattern included in ", the sum of the values of the search binary variables corresponding to that one replacement pattern. B (the second term of the left equation of Equation (4)): "V open " is a substitution pattern that is generated by the product of two substitution patterns, or by the product of two substitution patterns and "V close " is a replacement pattern included in ", the sum of the values of the search binary variables corresponding to the product of the two replacement patterns.
[0043]
number
[0044] Equation (5) is "W open " is replaced by a product of three or more elements. If it is possible, the term is replaced by "V open " The right expression is constrained to be expressed as a combination of two elements contained in ". Left side: "W open " Among the items included in "V close " and "V open If there is a term (here called "term X") that can be expressed as a product of any three or more elements in "V open " represents the product of binary variables for search corresponding to the replacement pattern of ". Right hand side: "V close " and "V open Identify all combinations in which the product of any two elements in "V close"V" in combinations containing elements included in open ” and one binary variable for searching, which corresponds to the elements of “V close "V" in combinations that do not include elements included in open " Add up all the products of the search binary variables corresponding to each of the two elements of "
number
[0045] In the case of the objective function f for the above problem No. 1, "V open " is "p 2 "Replace with auxiliary variables", "p 3 "Replace with auxiliary variables", "p 1 p 2 "Replace with auxiliary variables", "p 2 p 3 "Replace with auxiliary variables", "p 1 p 3 "Replace with auxiliary variables", "p 1 p 2 p 3 "Replace p with auxiliary variables". 2 "Replace with auxiliary variables", "p 3 "Replace with auxiliary variables", "p 1 p 2 "Replace with auxiliary variables", "p 2 p 3 "Replace with auxiliary variables", "p 1 p 3 "Replace with auxiliary variables", "p 1 p 2 p 3 The binary variables for search corresponding to the six patterns of "Replace with auxiliary variables" are v 1 , v 2 , v 3 , v 4 , v 5 , v 6 In this case, equation (3) is expressed as equation (6) below.
number
[0046] Also, "W open " is p 2 ×p 3 and p 1 ×p 2 ×p 3 Since the above two terms are included, the constraint equation corresponding to equation (4) is expressed as the following equation (7). The upper part of equation (7) is p 2 ×p 3 The lower row corresponds to the term p 1 ×p 2 ×p 3 This corresponds to the section.
number
[0047] Similarly, for the lower part of equation (7), "W open " p 1 ×p 2 ×p 3 The term is calculated by using the first term of the left equation of equation (4) as "V close "p" in 1 "Replace with auxiliary variables" and "V open "V 4 The corresponding "p 2 p 3 can be expressed by the product of "substituting v 4Similarly, "W open " p 1 ×p 2 ×p 3 The term is calculated by using the first term of the left equation of equation (4) as "V open "V 6 The corresponding "p 1 p 2 p 3 can be expressed by substituting auxiliary variables (i.e., v 6 Similarly, "W open " p 1 ×p 2 ×p 3 The term is calculated by using the second term of the left equation of equation (4) as "V open "V 1 The corresponding "p 2 "Replace with auxiliary variables" and v 5 The corresponding "p 2 p 3 can be expressed as a product of "substituting v 1 v 5 Similarly, "W open " p 1 ×p 2 ×p 3 The term is calculated by using the second term of the left equation of equation (4) as "V open "V 2 The corresponding "p 3 "Replace with auxiliary variables" and v 3 The corresponding "p 1 p 2 can be expressed as a product of "substituting v 2 v 3 is derived).
[0048] Also, "W open " p 1 ×p 2 ×p 3 The term p 1 ×p 1 ×p 2 ×p 3 It can be transformed into (P 1 If is 1, then p 2 ×p 3 and P 1(When W is 0, it becomes 0, so the value is the same before and after the deformation.) Therefore, "W open " p 1 ×p 2 ×p 3 The term is calculated by using the second term of the left equation of equation (4) as "V open "V 3 The corresponding "p 1 p 2 "Replace with auxiliary variables" and v 5 The corresponding "p 1 p 3 can be expressed as a product of "substituting v 3 v 5 (This leads to the conclusion that "W open " p 1 ×p 2 ×p 3 The term p 1 ×p 2 ×p 2 ×p 3 Therefore, using the second term of the left equation of (4), we can obtain "V open "V 3 The corresponding "p 1 p 2 "Replace with auxiliary variables" and v 4 The corresponding "p 2 p 3 can be expressed as a product of "substituting v 3 v 4 (This leads to the conclusion that "W open " p 1 ×p 2 ×p 3 The term p 1 ×p 2 ×p 3 ×p 3 Therefore, using the second term of the left equation of (4), we can obtain "V open "V 4 The corresponding "p 2 p 3 "Replace with auxiliary variables" and v 5 The corresponding "p 1 p 3 can be expressed as a product of "substituting v 4 v 5 Therefore, the lower part of equation (7), "v 4+v 6 +v 1 v 5 +v 2 v 3 +v 3 v 5 +v 3 v 4 +v 4 v 5 ≧1". In addition, the lower part of equation (7) "v 4 +v 6 +v 1 v 5 +v 2 v 3 +v 3 v 5 +v 3 v 4 +v 4 v 5 ≧1" is "v 4 +v 6 +v 1 v 5 +v 2 v 3 +v 3 v 5 ≧1".
[0049] Moreover, the constraint condition equation corresponding to equation (5) is expressed by the following equation (8).
number
[0050] Next, the conversion unit 102 identifies values of search binary variables that minimize the objective function for identifying a replacement pattern so as to satisfy the constraint condition equation. Any method can be used to identify the values of the search binary variables, but for example, the conversion unit 102 may identify values of search binary variables that minimize the objective function for identifying a replacement pattern by searching for values of the search binary variables using integer programming. For example, if v is found to be a solution as a result of the search, 1 =0, v 2 =0, v 3 =0, v 4 = 1, v 5 =0, v 6 If V = 0 is found, the conversion unit 102 determines that the optimal substitution pattern is "V close "p" is a substitution pattern included in 1 with auxiliary variables, and a binary variable v for searching with value 1 4 The corresponding "p 2 p 3 "Replace with auxiliary variables" and "Replace with auxiliary variables".
[0051] In step S23, the conversion unit 102 converts the objective function f into an objective function g by replacing the main variables with auxiliary variables using the substitution pattern identified in the processing procedure of step S22. In the case of the objective function f for the above problem No. 1, in the processing procedures of steps S21 and S22, the optimal substitution pattern is "p 1 "Replace with auxiliary variables" and "p 2 p 3 "Replace the auxiliary variable q with the auxiliary variable q" 1 The latter auxiliary variable is q 2 Then, the objective function g is "g=-100q 1 -200q 2 +300q 1 q 2 " is expressed as follows.
[0052] In step S30, the identification unit 103 uses a QUBO solver to identify values of a plurality of auxiliary variables that minimize the objective function g. In the case of the objective function g for the above problem No. 1, q 1 and q 2 will be specified as 0 and 1, respectively.
[0053] In step S40, the identification unit 103 identifies the value of the main variable from the value of the auxiliary variable identified in step S30. In this embodiment, the auxiliary variable corresponds to the product of one or more main variables. In other words, when the value of the auxiliary variable is 1, it can be identified that the values of one or more main variables replaced by the auxiliary variable are all 1. Also, when the value of the auxiliary variable is 0, it can be identified that the values of one or more main variables replaced by the auxiliary variable are such that any one of the main variables needs to be 0, and the values of the other main variables are arbitrary (either 0 or 1). For example, in the case of the above problem No. 1, the auxiliary variable q 1 and q 2 The values of are specified to be 0 and 1, respectively. Therefore, the main variable p 1 , p 2 and p 3 The values of will be specified to be 0, 1, and 1, respectively.
[0054] In addition, when there are multiple values of the main variable corresponding to the value of the auxiliary variable, the specification unit 103 may specify the value of the main variable by selecting one of the multiple values of the auxiliary variable. For example, in the case of the above problem No. 1, the auxiliary variable q 2 Assume that the value of is specified to be 0. In this case, the main variable p 2 and p 3 The combination of values of the main variable p is one of the three combinations: 0 and 0, 1 and 0, and 0 and 1. 2 and p 3 As the value of , any one of 0 and 0, 1 and 0, or 0 and 1 may be selected.
[0055] In step S50, the output unit 104 outputs the value of the main variable identified in the processing procedure in step S40 to the screen of the terminal 20.
[0056] <Other examples> Although the processing procedure performed by the information processing device 10 has been described above using problem No. 1, specific examples of the processing procedure performed by the information processing device 10 will be described using other problems. For example, suppose there is problem No. 2 which asks who should be hired to maximize profits when the following conditions 1' and 2' exist. Condition 1': There is a job that Workers A and B can complete together that will earn 200 yen, and there is a job that Workers B and C can complete together that will earn 400 yen. Condition 2': If you hire two or more workers, an additional 300 yen will be charged for room rent. If we express this problem No. 2 in terms of the objective function f, the objective function f is "f = -200p 1 p 2 -400p 2 p 3 +300(p 1 p 2 +p 2 p 3 +p 1 p 3 -2p 1 p 2 p 3 )".
[0057] In step S10, the input unit 101 receives, from the terminal 20, input data representing the objective function f.
[0058] In step S20, the conversion unit 102 converts the objective function f into an objective function g in the QUBO format by replacing a plurality of main variables included in the objective function f with a plurality of auxiliary variables.
[0059] In step S21, the conversion unit 102 identifies multiple substitution patterns between multiple main variables and multiple auxiliary variables, and limits the substitution patterns by excluding combinations that have been determined to be used for QUBO conversion from the identified substitution patterns.
[0060] First, in the case of the objective function f corresponding to problem No. 2, there is no term whose degree is first order. Therefore, "V close " becomes an empty set. Next, in the objective function f, all substitution patterns of the main variable p to the auxiliary variables are "p 1 "Replace with auxiliary variables", "p 2 "Replace with auxiliary variables", "p 3 "Replace with auxiliary variables", "p 1 p 2 "Replace with auxiliary variables", "p 2 p 3 "Replace with auxiliary variables", "p 1 p 3 "Replace with auxiliary variables", "p 1 p 2 p 3 "V close " is an empty set, so "V open " is a collection of these seven patterns.
[0061] Next, the conversion unit 102 converts "W open " V close " is an empty set, so "W open " is p 1 ×p 2 and p 2 ×p 3 and p1 ×p 3 and p 1 ×p 2 ×p 3 This becomes the term.
[0062] In step S22, the conversion unit 102 converts “V open Among the multiple substitution patterns contained in "W open Identify the optimal substitution pattern for the terms that need to be substituted for auxiliary variables in "V open The seven substitution patterns contained in " are 1 , v 2 , v 3 , v 4 , v 5 , v 6 and v 7 Then, the objective function for identifying a substitution pattern corresponding to the formula (4) is expressed by the following formula (9).
number
number
number
[0063] In step S23, the conversion unit 102 converts the objective function f into the objective function g by replacing the main variables with auxiliary variables using the substitution pattern identified in the processing procedure of step S22. 1 p 2 "Replace with auxiliary variables", "p 2 p 3 "Replace with auxiliary variables" and "p 1 p 3 "Replace p with auxiliary variables." 1 p 2 A 1 "Replace with ", "p 2 p 3 A 2 "Replace with" and "p 1 p 3 A 3 Then, the objective function g becomes "g=-200q 1 -400q 2 +300(q 1 +q 2 +q 3 -2q 1 q 2 )" Note that p 1 ×p 2 ×p3 The term p 1 , p 2 and p 3 Since is a binary variable, p 1 ×p 2 ×p 2 ×p 3 Therefore, p 1 ×p 2 ×p 3 The term is q 1 q 2 It is possible to replace it with
[0064] In step S30, the identification unit 103 uses a QUBO solver to identify values of a plurality of auxiliary variables that minimize the objective function g. In the case of the objective function g for the above problem No. 2, q 1 , q 2 and q 3 are respectively, q 1 =1, q 2 =1 and q 3 = 1.
[0065] In step S40, the identification unit 103 identifies the value of the main variable from the value of the auxiliary variable identified in step S30. 1 and q 2 The values of q 1 =1, q 2 =1 and q 3 = 1. Therefore, the main variable p 1 , p 2 and p 3 The values of p 1 =1, p 2 =1 and p 3 =1.
[0066] In step S50, the output unit 104 outputs the value of the main variable identified in the processing procedure in step S40 to the screen of the terminal 20.
[0067] In the conventional technology, when performing QUBO conversion, secondary or higher order variables are replaced with primary variables, and a constraint term indicating the relationship between the secondary or higher order variables and the replaced primary variables is added to the objective function f. For example, in the case of the objective function f for the above problem No. 1, the objective function g after the replacement is expressed as follows: 2 p 3 q 1 and the main variable p 2 p 3 q 1 We added a constraint term that indicates the relationship between
number
[0068] On the other hand, in this embodiment, it has been confirmed that, as a result of identifying the values of the search binary variables that minimize the objective function for identifying a replacement pattern in the processing procedure of step S22, a search result is obtained in which the number of auxiliary variables included in the objective function g is at least equal to or less than the variables used in the conventional QUBO conversion (see Chapter 3 of FIG. 31 and FIG. 32). Therefore, when the objective function g converted by the QUBO conversion using this embodiment is solved by a QUBO solver, it is possible to achieve QUBO solving performance similar to or better than that of the conventional technology.
[0069] In this embodiment, in the processing procedure of step S21, a plurality of substitution patterns (search space) between a plurality of main variables and a plurality of auxiliary variables are identified, and the substitution patterns include the substitution patterns used in the QUBO conversion in the above-mentioned conventional technology. In other words, the number of auxiliary variables when QUBO conversion is performed according to this embodiment is the same as the total number of main variables and auxiliary variables when QUBO conversion is performed using the conventional technology, or the number of auxiliary variables is smaller than that. In other words, when this embodiment is used, the number of variables cannot increase compared to when QUBO conversion is performed using the conventional technology, and it means that it is possible to find an objective function g that is expressed with the same number of variables as the conventional technology or fewer variables than the conventional technology.
[0070] <Modification> In the case of structural learning, since assumptions regarding "inclusion relationships" are not necessary, it is possible to "limit the search space" to a wider range than in general problems, as shown in equation (13).
number
[0071] <Summary> According to the embodiment described above, the information processing device 10 replaces the main variables with auxiliary variables so that the number of auxiliary variables is equal to or less than the number of main variables, and then searches for a solution to the objective function using the QUBO solver. In addition, the solution to the main variables is obtained by replacing the auxiliary variable solution obtained by the search with the value of the main variable that is equivalent to the solution to the auxiliary variable. This makes it possible to express the QUBO format with fewer binary variables.
[0072] The above-described embodiments are intended to facilitate understanding of the present invention, and are not intended to limit the present invention. The flow charts, sequences, elements included in the embodiments, and their arrangements, materials, conditions, shapes, sizes, etc. described in the embodiments are not limited to those shown as examples, and can be changed as appropriate. In addition, configurations shown in different embodiments can be partially replaced or combined with each other.
[0073] <Additional information> As shown in Figs. 28 to 44, in this embodiment, a QUBO formulation is proposed, entitled "Decomposed Quadratization: An Efficient QUBO Formulation for Bayesian Network Structure Learning", which provides advantages over conventional quadratization methods in terms of bit capacity. Also, Figs. 5 to 27 are diagrams for explaining the outline of the proposal contents described in Figs. 28 to 44. As a main application example, this formulation can significantly reduce the number of binary variables required for score-based Bayesian network structure learning. For example, experimental results for 16 cases including 37 to 223 variables showed that the number of bits required is orders of magnitude smaller than that of the paper [O'Gorman et al., 2014]. Furthermore, an annealing machine that realizes this formulation can perform better than existing algorithms in score maximization.
[0074] In Figures 22 and 30, the arrow from X2 to X1 in the right diagram (directed graph) corresponds to d12 in the left diagram (undirected graph). The arrow from X1 to X3 in the right diagram (directed graph) corresponds to d31 in the left diagram (undirected graph). The arrow from X2 to X3 in the right diagram (directed graph) corresponds to d32 in the left diagram (undirected graph).
[0075] 23 and 33, the arrow from X2 to X1 in the right diagram (directed graph) corresponds to u11 in the left diagram (undirected graph). The arrow from X1 to X3 in the right diagram (directed graph) corresponds to u31 in the left diagram (undirected graph). The arrow from X2 to X3 in the right diagram (directed graph) corresponds to u31 in the left diagram (undirected graph). [Explanation of symbols]
[0076] 1 Information processing system, 10 Information processing device, 11 Processor, 12 Storage device, 13 Network IF, 14 Input device, 15 Output device, 20 Terminal, 100 Storage unit, 101 Input unit, 102 Conversion unit, 103 Identification unit, 104 Output unit
Claims
1. An input unit that accepts input data representing a first objective function which is a polynomial of degree two or higher containing multiple first binary variables, A conversion unit that converts the first objective function into a second objective function in QUBO format consisting of the plurality of second binary variables by replacing the plurality of first binary variables included in the first objective function with a plurality of second binary variables, A determination unit that determines the values of the plurality of second binary variables that minimize the second objective function, and determines the values of the plurality of first binary variables that correspond to the determined values of the plurality of second binary variables, An output unit that outputs the values of the specified plurality of first binary variables, It has, The conversion unit is Identify multiple substitution patterns between the plurality of first binary variables and the plurality of second binary variables, The objective function, which includes a plurality of third binary variables corresponding to each of the plurality of substitution patterns, is minimized to satisfy a constraint expression determined based on the plurality of substitution patterns and the first objective function. Based on the substitution patterns corresponding to the values of the specified plurality of third binary variables, the first objective function is transformed into the second objective function. Information processing device.
2. The identification unit uses the QUBO solver to identify the value of the second binary variable. The information processing apparatus according to claim 1.
3. The identifying unit identifies the value of the first binary variable by selecting one of the multiple values of the second binary variable if there are multiple values of the first binary variable corresponding to the value of the second binary variable. The information processing apparatus according to claim 1.
4. An information processing method performed by an information processing device, The process involves receiving input data representing a first objective function which is a polynomial of degree two or higher containing multiple first binary variables, The steps include: replacing the plurality of first binary variables included in the first objective function with a plurality of second binary variables to convert the first objective function into a second objective function in QUBO format consisting of the plurality of second binary variables; The steps include identifying the values of the plurality of second binary variables that minimize the second objective function, and identifying the values of the plurality of first binary variables that correspond to the identified values of the plurality of second binary variables, The steps include outputting the values of the specified plurality of first binary variables, Includes, The aforementioned conversion step is: Identify multiple substitution patterns between the plurality of first binary variables and the plurality of second binary variables, The objective function, which includes a plurality of third binary variables corresponding to each of the plurality of substitution patterns, is minimized to satisfy a constraint expression determined based on the plurality of substitution patterns and the first objective function. The process includes the step of transforming the first objective function into the second objective function based on a substitution pattern corresponding to the values of the specified plurality of third binary variables, Information processing methods.
5. On the computer, The process involves receiving input data representing a first objective function which is a polynomial of degree two or higher containing multiple first binary variables, The steps include: replacing the plurality of first binary variables included in the first objective function with a plurality of second binary variables to convert the first objective function into a second objective function in QUBO format consisting of the plurality of second binary variables; The steps include identifying the values of the plurality of second binary variables that minimize the second objective function, and identifying the values of the plurality of first binary variables that correspond to the identified values of the plurality of second binary variables, The steps include outputting the values of the specified plurality of first binary variables, Make it run, The aforementioned conversion step is: Identify multiple substitution patterns between the plurality of first binary variables and the plurality of second binary variables, The objective function, which includes a plurality of third binary variables corresponding to each of the plurality of substitution patterns, is minimized to satisfy a constraint expression determined based on the plurality of substitution patterns and the first objective function. The process includes the step of transforming the first objective function into the second objective function based on a substitution pattern corresponding to the values of the specified plurality of third binary variables, program.