WO2022003784A1 - 不整合判定装置、方法、および、コンピュータ読取可能な記録媒体 - Google Patents

不整合判定装置、方法、および、コンピュータ読取可能な記録媒体 Download PDF

Info

Publication number
WO2022003784A1
WO2022003784A1 PCT/JP2020/025539 JP2020025539W WO2022003784A1 WO 2022003784 A1 WO2022003784 A1 WO 2022003784A1 JP 2020025539 W JP2020025539 W JP 2020025539W WO 2022003784 A1 WO2022003784 A1 WO 2022003784A1
Authority
WO
WIPO (PCT)
Prior art keywords
inconsistency
formula
energy
representing
constraint
Prior art date
Application number
PCT/JP2020/025539
Other languages
English (en)
French (fr)
Inventor
芙美代 鷹野
浩明 井上
拓也 荒木
基己 鈴木
悠記 小林
考弘 西村
博 千嶋
彰宏 矢田部
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2022533283A priority Critical patent/JP7468655B2/ja
Priority to PCT/JP2020/025539 priority patent/WO2022003784A1/ja
Priority to US18/011,329 priority patent/US20240037185A1/en
Publication of WO2022003784A1 publication Critical patent/WO2022003784A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass

Definitions

  • the present invention is a computer-readable recording medium recording an inconsistency determination device, an inconsistency determination method, and an inconsistency determination program for determining whether or not an inconsistency has occurred in an expression representing energy in a combinatorial optimization problem. Regarding.
  • Patent Document 1 describes solving a combinatorial optimization problem by simulated annealing.
  • combinatorial optimization problems include the traveling salesman problem, the knapsack problem, and the graph partitioning problem.
  • combinatorial optimization problems are not limited to these problems.
  • the energy function of the Zing model or the energy function of QUADO is input to the computer that solves the combinatorial optimization problem by simulated annealing or quantum annealing.
  • the Ising model is a statistical mechanics model that expresses the behavior of a magnetic material by individual spins, but it can also be applied to the solution of combinatorial optimization problems.
  • the state of each spin is represented by "1" or "-1".
  • QUABO is also known as a model in which the state of each spin is represented by "1" or "0".
  • the energy function of the Ising model and the energy function of QUABO can be converted to each other.
  • j represents a time and v and u represent a city.
  • W uv is the distance between the city u and the city v, and is predetermined as a constant for each group of cities. ⁇ and ⁇ are predetermined as constants.
  • Equation (1) expresses the constraint that the salesman does not pass through the same city more than once.
  • Equation (1) represents the constraint that the salesman exists in only one city at one time.
  • the third term on the right side of equation (1) represents the distance between cities that the salesman passes through.
  • the third term on the right side is not a term representing a constraint.
  • the third term on the right side is a term representing a matter for which the value is to be minimized for the user who wants to obtain the solution of the traveling salesman problem.
  • an objective function a term that does not represent a constraint and that represents a matter for which a user who wants to obtain a solution of a combinatorial optimization problem wants to minimize the value. That is, the third term on the right side in the equation (1) is an objective function.
  • equation (1) If an equation representing the energy in the combinatorial optimization problem as illustrated in equation (1) is created, the equation is converted into the energy function of the Ising model or the energy function of QUA. This conversion method is known.
  • s i and s j are variables representing the spin state. The subscript in this variable identifies the spin. J ij is a constant corresponding to i and j, and h i is a constant corresponding to i.
  • x i and x j are variables representing the spin state. The subscript in this variable identifies the spin.
  • Q ij is a constant corresponding to i and j.
  • Equations (2) and (3) are quadratic equations of variables representing spin states. Further, the equation (1) is also a quadratic equation of a variable representing the spin state. Therefore, the equation (1) can be converted into the equation (2) or the equation (3).
  • the variable representing the spin state can be used.
  • the order can be lowered to 2.
  • the variables used for the above replacement are called auxiliary variables. Therefore, even if the order of the variable representing the spin state is 3rd or higher in the formula obtained by the formulation, the energy function of the Ising model (formula (2)) or QUABO can be obtained by using the auxiliary variable. Energy function (Equation (3)) can be obtained.
  • the Ising model or QUA's energy function is obtained, apply that energy function to simulated annealing to identify the state of each spin when energy is minimized. Then, the optimum solution can be obtained by interpreting the state of each spin according to the combinatorial optimization problem (in this example, the traveling salesman problem).
  • Non-Patent Document 1 describes how various constraints are expressed in a formulated formula (formula expressing energy in a combinatorial optimization problem) that is converted into an energy function of QUA. ing.
  • the formula can be converted into the energy function of the Ising model or the energy function of QUA. .. Then, by performing annealing on the energy function, a solution to the combinatorial optimization problem can be obtained.
  • the solution of the combinatorial optimization problem may not be appropriate. Even if the user can determine that the solution of the combinatorial optimization problem is not appropriate, it is difficult for the user to identify the cause. Annealing is a probabilistic process, so even if the input energy function is appropriate, it is possible to derive an inappropriate solution. In addition, as described above, an inappropriate solution may be derived due to an inconsistency in the formula formulated by the user.
  • the inconsistency determination device has an inconsistency in an expression representing energy in a combinatorial optimization problem, in which the state of each spin is converted into an energy function of a model represented by a first value or a second value. It is characterized by comprising an inconsistency determination means for determining whether or not it has occurred.
  • the inconsistency determination method is in an equation expressing energy in a combinatorial optimization problem in which a computer transforms the state of each spin into an energy function of a model represented by a first value or a second value. It is characterized in that it is determined whether or not an inconsistency has occurred.
  • the computer-readable recording medium is an expression representing energy in a combination optimization problem, in which the state of each spin is converted into an energy function of a model represented by a first value or a second value by a computer. It is a computer-readable recording medium on which an inconsistency determination program for executing an inconsistency determination process for determining whether or not an inconsistency has occurred is recorded.
  • a formulated formula (a formula representing energy in a combinatorial optimization problem) is converted into an energy function of QUABO will be described as an example.
  • the variable representing the spin state takes a value of 1 or 0.
  • the present invention may also be applied when the formulated equation is converted into an energy function of the Ising model.
  • FIG. 1 is a block diagram showing a configuration example of the inconsistency determination device according to the first embodiment of the present invention.
  • the inconsistency determination device 1 of the first embodiment includes an input unit 2, a division unit 3, an inconsistency determination unit 4, and a presentation unit 5.
  • a formalized formula (a formula representing energy in a combinatorial optimization problem) is input to the input unit 2.
  • the input unit 2 may be realized by a data reading device that reads data recorded on a data recording medium such as an optical disk (in this embodiment, an expression representing energy in a combinatorial optimization problem).
  • a data reading device that reads data recorded on a data recording medium such as an optical disk (in this embodiment, an expression representing energy in a combinatorial optimization problem).
  • the input unit 2 is not limited to such a data reading device, and may be an input device such as a keyboard for the user to input an expression.
  • the division unit 3 takes in an expression (an expression representing energy in a combinatorial optimization problem) via an input unit 2. Then, the division unit 3 divides the equation into a plurality of terms.
  • ⁇ , ⁇ , and ⁇ are constants.
  • x i , x 1 , and x 2 are variables representing the spin states, and the spin is identified by the subscript in this variable.
  • the variable representing the spin state takes a value of 1 or 0.
  • the spins are identified by an integer from 1 to N.
  • c i is a constant corresponding to i.
  • the division unit 3 divides the right side of the equation (4) into terms. As a result, , ⁇ (1-x 1 ) 2 , ⁇ (1-x 2 ) 2 , and Each term of is obtained.
  • ⁇ (1-x 1 ) 2 and ⁇ (1-x 2 ) 2 correspond to the constraint terms.
  • the objective function is a term that does not represent a constraint and represents a term that a user who wants to obtain a solution of a combinatorial optimization problem wants to minimize the value.
  • the formula A and the formula B may be the variables themselves representing the spin states.
  • the formulas A and B may be formulas using variables representing the spin states.
  • the formula A and the formula B may be, for example, a constant (for example, “1” or the like).
  • the first constraint term represents the constraint of the following equation (5).
  • the inconsistency determination unit 4 determines that the inconsistency regarding the constraint has occurred in the input expression (the expression representing the energy in the combinatorial optimization problem) when there is an inconsistency between the specified constraints. do. Further, the inconsistency determination unit 4 determines that there is no inconsistency regarding the constraint in the input expression when there is no inconsistency between the specified constraints.
  • the inconsistency determination unit 4 substitutes the "expression representing the constraint” into another "expression representing the constraint", and determines whether or not the inconsistency has occurred as a result.
  • the inconsistency determination unit 4 may substitute a plurality of "expressions representing constraints” into one "expression representing constraints”. If the "expression representing the constraint” is substituted into another "expression representing the constraint” and a mismatch occurs as a result, the inconsistency determination unit 4 determines the constraint corresponding to the "assigned expression" and the constraint. Judge that there is an inconsistency with the constraint corresponding to the "assigned expression”.
  • the inconsistency determination unit 4 determines that the constraints corresponding to the expressions other than the "assigned expression" and the "assigned expression” are not related to the above-mentioned inconsistency. If no inconsistency has occurred as a result of the assignment, the inconsistency determination unit 4 has an inconsistency between the constraint corresponding to the "assigned expression” and the constraint corresponding to the "assigned expression". It is determined that there is no such thing.
  • the presentation unit 5 displays the determination result by the inconsistency determination unit 4 on, for example, a display device (not shown in FIG. 1) included in the inconsistency determination device 1.
  • a display device not shown in FIG. 1
  • the fact that there is an inconsistency regarding the constraint in the equation is displayed on the display device.
  • the presentation unit 5 displays the determination result on the display.
  • the division unit 3, the inconsistency determination unit 4, and the presentation unit 5 are realized by, for example, a CPU (Central Processing Unit) of a computer that operates according to an inconsistency determination program.
  • the CPU may read the inconsistency determination program from a program recording medium such as a program storage device of a computer, and operate as the division unit 3, the inconsistency determination unit 4, and the presentation unit 5 according to the inconsistency determination program. This point is the same in the second embodiment described later.
  • FIG. 2 is a flowchart showing an example of the processing progress of the first embodiment. The matters already explained will be omitted as appropriate.
  • the division unit 3 divides the expression into a plurality of terms (step S1).
  • the inconsistency determination unit 4 extracts all two or more constraint terms from each term obtained in step S1 and specifies the constraint for each constraint term (step S2).
  • the inconsistency determination unit 4 determines whether or not there is an inconsistency between the specified constraints (step S3).
  • the inconsistency determination unit 4 may substitute the "expression representing the constraint" into another "expression representing the constraint” and determine whether or not the inconsistency occurs as a result. If an inconsistency occurs as a result of the substitution, the inconsistency determination unit 4 may determine that there is an inconsistency between the constraint corresponding to the substituted expression and the constraint corresponding to the substituted expression. If no inconsistency occurs as a result of the substitution, the inconsistency determination unit 4 determines that there is no inconsistency between the constraint corresponding to the substituted expression and the constraint corresponding to the substituted expression. good.
  • the inconsistency determination unit 4 determines that the input expression has an inconsistency regarding the constraint (step S4).
  • the presentation unit 5 presents the constraint in which the inconsistency has occurred, and also presents that the input expression has an inconsistency regarding the constraint (step S5).
  • the inconsistency determination unit 4 determines that there is no inconsistency regarding the constraint in the input expression (step S6). In this case, the presentation unit 5 presents that the input expression has no constraint inconsistency (step S7).
  • the presentation unit 5 may present the information to the user by displaying the information on the display device (not shown in FIG. 1) included in the inconsistency determination device 1. However, the presentation unit 5 may present the information to the user in another aspect. This point is the same in other embodiments.
  • the following shows various constraints and the constraints represented by those constraints.
  • the equations A, B, and C shown below may be variables themselves representing spin states. Further, the formulas A, B, and C shown below may be formulas using variables representing the spin states. Further, the formula A, the formula B, and the formula C shown below may be constants (for example, “1” or the like).
  • Consistency determination unit 4 extracts the constraint term represented by "constant x (formula A x formula B)"
  • the constraint corresponding to this constraint term is "formula A + formula B ⁇ 1".
  • constraint term there may be a constraint term expressed as "constant x (1-formula A-formula B + formula A x formula B)".
  • This constraint term represents the constraint of "formula A + formula B ⁇ 1". That is, when the inconsistency determination unit 4 extracts a constraint term represented by "constant x (1-formula A-formula B + formula A x formula B)", "formula A +” is used as a constraint corresponding to this constraint term.
  • the constraint of equation B ⁇ 1 is specified.
  • Constant x (formula A-formula A x formula B)
  • This constraint term represents the constraint "Equation A ⁇ Equation B”. That is, when the inconsistency determination unit 4 extracts a constraint term represented by "constant x (formula A-formula A x formula B)", "formula A ⁇ formula B” is used as a constraint corresponding to this constraint term. Specify the constraint.
  • Constant x (formula A x formula B + formula A x formula C + formula B x formula C)
  • This constraint term represents the constraint of "formula A + formula B + formula C ⁇ 1". That is, when the inconsistency determination unit 4 extracts a constraint term represented by "constant x (formula A x formula B + formula A x formula C + formula B x formula C)", as a constraint corresponding to this constraint term, The constraint "Equation A + Expression B + Expression C ⁇ 1" is specified.
  • Constant x (formula A + formula B-2 x formula A x formula B)
  • the inconsistency determination unit 4 determines whether or not there is an inconsistency between the specified constraints. As described above, the inconsistency determination unit 4 may substitute the "expression representing the constraint" into another "expression representing the constraint” and determine whether or not the inconsistency occurs as a result. If an inconsistency occurs as a result of the substitution, the inconsistency determination unit 4 may determine that there is an inconsistency between the constraint corresponding to the substituted expression and the constraint corresponding to the substituted expression. If no inconsistency occurs as a result of the substitution, the inconsistency determination unit 4 determines that there is no inconsistency between the constraint corresponding to the substituted expression and the constraint corresponding to the substituted expression. good.
  • the inconsistency determination unit 4 specifies a constraint for each constraint term among the terms obtained by dividing the formulated formula. Then, the inconsistency determination unit 4 determines whether or not there is an inconsistency between the specified constraints, and if there is an inconsistency, it is determined that an inconsistency regarding the constraint has occurred in the formulated expression. do. If there is no inconsistency, it is determined that there is no constraint-related inconsistency in the formulated expression. Therefore, according to the present embodiment, it is possible to determine whether or not an inconsistency has occurred in the formulated formula.
  • Embodiment 2 Since the inconsistency determination device of the second embodiment of the present invention can be represented by the block diagram shown in FIG. 1, like the inconsistency determination device of the first embodiment, the second embodiment is used. An embodiment will be described. The same matters as in the first embodiment will be omitted as appropriate.
  • the input unit 2 and the division unit 3 in the second embodiment are the same as the input unit 2 and the division unit 3 in the first embodiment.
  • the inconsistency determination device 1 of the second embodiment determines whether or not an inconsistency regarding auxiliary variables has occurred in the equation representing the energy in the combinatorial optimization problem.
  • the auxiliary variable represents the spin state in order to reduce the order of the variable representing the spin state to 2 when the order of the variable representing the spin state is 3 or more in the formula obtained by the formulation.
  • the inconsistency determination unit 4 stores the formula using the auxiliary variable in advance.
  • this pre-stored expression will be referred to as a pattern expression.
  • the variables other than the auxiliary variables are variables representing the spin state in QUA.
  • the order of the variable representing the spin state is 2.
  • x 1 , x 2 , and x 3 are variables representing the spin states, and the spin is identified by the subscript in this variable. Further, y is an auxiliary variable.
  • y is an auxiliary variable.
  • the auxiliary variable is generally not used other than the equation (7) in the equation including the equation (7).
  • the inconsistency determination unit 4 stores the pattern expression exemplified in the expression (7) in advance.
  • the inconsistency determination unit 4 may store other pattern expressions in advance.
  • the inconsistency determination unit 4 may store a plurality of pattern expressions.
  • the division unit 3 takes in the formula representing the energy in the combinatorial optimization problem via the input unit 2. Then, the division unit 3 divides the equation into a plurality of terms.
  • the inconsistency determination unit 4 determines whether or not there is a combination of terms corresponding to the pattern expression stored in advance, which is a combination of terms obtained by division by the division unit 3. Then, the inconsistency determination unit 4 specifies an auxiliary variable when the combination exists.
  • the inconsistency determination unit 4 stores in advance the pattern expression exemplified in the equation (7). Therefore, the inconsistency determination unit 4 is a combination of terms obtained by division, and as a combination of terms corresponding to the pattern expression stored in advance, "x 1 x 2 ", "-2 x 1 y", It is determined whether or not there is a combination of five terms applicable to "-2 x 2 y", "x 3 y", and "3 y". Then, when the combination exists, the inconsistency determination unit 4 specifies the variable corresponding to “y” as an auxiliary variable.
  • the inconsistency determination unit 4 when the specified auxiliary variable is used in the term not included in the above combination, the inconsistency regarding the auxiliary variable is found in the formula representing the energy in the combinatorial optimization problem. Judge that it has occurred. As described above, since the auxiliary variable is generally not used other than the equation (7) in the equation including the equation (7), it may be determined in this way.
  • the inconsistency determination unit 4 is an expression representing the energy in the combination optimization problem. It is determined that there is no inconsistency regarding auxiliary variables in.
  • the presentation unit 5 displays on the display device the determination result as to whether or not there is an inconsistency regarding the auxiliary variable in the formulated expression. Further, when the auxiliary variable specified by the inconsistency determination unit 4 is used in a term not included in the above combination, that term may also be displayed.
  • FIG. 3 is a flowchart showing an example of the processing progress of the second embodiment. The matters already explained will be omitted as appropriate.
  • Step S11 is the same as step S1 (see FIG. 2) in the first embodiment.
  • the inconsistency determination unit 4 determines whether or not there is a combination of terms obtained by division by the division unit 3 and corresponding to the pattern expression stored in advance (step S12). ).
  • step S12 When there is such a combination (Yes in step S12), the inconsistency determination unit 4 specifies an auxiliary variable (step S13).
  • the inconsistency determination unit 4 determines whether or not the auxiliary variable is used in the term not included in the combination (step S14).
  • the inconsistency determination unit 4 determines that the input expression has an inconsistency regarding the auxiliary variable (step S15). Then, the presentation unit 5 presents that the input expression has an inconsistency regarding the auxiliary variable (step S16). At this time, the presentation unit 5 may also present a term that is not included in the combination and in which an auxiliary variable is used.
  • the inconsistency determination unit 4 determines that the input expression has no inconsistency regarding the auxiliary variable (step S17). Then, the presentation unit 5 presents that the input expression has no inconsistency regarding the auxiliary variable (step S18).
  • step S17 executes S18.
  • Auxiliary variables are generally not used in expressions that include pattern expressions other than pattern expressions. Then, in the present embodiment, the inconsistency determination unit 4 specifies an auxiliary variable when it is determined that there is a combination of terms obtained by division and which corresponds to the pattern expression stored in advance. do. Then, the inconsistency determination unit 4 determines that an inconsistency regarding the auxiliary variable has occurred in the formulated expression when the auxiliary variable is used in the term not included in the combination. Further, the inconsistency determination unit 4 determines that there is no inconsistency regarding the auxiliary variable in the formulated expression when the auxiliary variable is not used in the term not included in the combination. Therefore, according to the present embodiment, it is possible to determine whether or not an inconsistency has occurred in the formulated formula.
  • FIG. 4 is a block diagram showing a configuration example of the inconsistency determination device according to the third embodiment of the present invention. Elements similar to the elements of the first embodiment and the second embodiment are designated by the same reference numerals as those shown in FIG.
  • the inconsistency determination device 1 of the third embodiment includes an input unit 2, an inconsistency determination unit 4, and a presentation unit 5.
  • a formalized formula (a formula representing energy in the combinatorial optimization problem) and a character string defining each variable representing the spin state are input to the input unit 2.
  • the input unit 2 is, for example, a character that defines data recorded on a data recording medium such as an optical disk (in the present embodiment, an expression representing energy in a combinatorial optimization problem and each variable representing a spin state). It may be realized by a data reading device that reads a column). However, the input unit 2 is not limited to such a data reading device, and may be an input device such as a keyboard for the user to input an expression and a character string.
  • FIG. 5 shows an example of a character string in which each variable representing the spin state is defined according to PyQUABO.
  • the character string illustrated in FIG. 5 is a character string in which N variables from x 1 to x N are defined as variables representing the spin state.
  • the description mode of the character string in which each variable representing the spin state is defined is not limited to the description mode according to PyQUABO.
  • the inconsistency determination unit 4 takes in a formulated expression (an expression representing energy in the combinatorial optimization problem) and a character string defining each variable representing the spin state via the input unit 2. Then, the inconsistency determination unit 4 identifies each variable (each variable representing the spin state) defined by the character string.
  • the inconsistency determination unit 4 determines whether or not there is a variable that is not used in the formulated expression among the variables defined in the character string. If there is a variable that is not used in the formulated expression among the variables defined by the character string, the inconsistency determination unit 4 is used in the formulated expression even though it is defined. It is determined that an inconsistency that there is a variable that does not exist occurs in the formulated expression. Also, if there are no variables that are not used in the formulated expression among the variables defined in the character string (in other words, all the variables defined in the character string are used in the formulated expression. If this is the case), the inconsistency determination unit 4 determines that no inconsistency has occurred in the formulated expression.
  • the presentation unit 5 displays the determination result by the inconsistency determination unit 4 on, for example, a display device (not shown in FIG. 4) included in the inconsistency determination device 1. For example, when it is determined that an inconsistency that there is a variable that is defined but not used in the formulated formula exists in the formulated formula, the presentation unit 5 Displays information to that effect on the display device. At this time, the presentation unit 5 may also display variables that are defined but not used in the formulated formula. Further, when it is determined that no inconsistency has occurred in the formulated formula, the presentation unit 5 displays information to that effect on the display device.
  • the inconsistency determination unit 4 and the presentation unit 5 are realized by, for example, the CPU of a computer that operates according to the inconsistency determination program.
  • the CPU may read the inconsistency determination program from a program recording medium such as a program storage device of a computer and operate as the inconsistency determination unit 4 and the presentation unit 5 according to the inconsistency determination program.
  • FIG. 6 is a flowchart showing an example of the processing progress of the third embodiment. The matters already explained will be omitted as appropriate.
  • the inconsistency determination unit 4 captures an expression representing energy in the combinatorial optimization problem and a character string defining each variable representing the spin state via the input unit 2 (step S31).
  • the case where the inconsistency determination unit 4 captures the character string shown in FIG. 5 will be described as an example.
  • step S32 the inconsistency determination unit 4 identifies each variable defined by the captured character string (step S32).
  • the mismatch determination unit 4 x 1, x 2, x 3 defined by the character string shown in FIG. 5, ..., to identify the N variables of x N.
  • the inconsistency determination unit 4 is used in the captured expression among the variables defined by the captured character string (x 1 , x 2 , x 3 , ..., X N in this example). It is determined whether or not there is a variable that has not been set (step S33).
  • the inconsistency determination unit 4 is formulated even though it is defined. It is determined that an inconsistency that there is a variable that is not used in the equation occurs in the formulated equation (step S34). Then, the presentation unit 5 presents that an inconsistency has occurred in the formulated formula (step S35). At this time, the presentation unit 5 may also present variables that are defined but not used in the formulated formula.
  • the inconsistency determination unit 4 has an inconsistency in the formulated expression. It is determined that it has not occurred (step S36). Then, the presentation unit 5 presents that no inconsistency has occurred in the formulated expression (step S37).
  • the defined variable (variable representing the spin state) is generally used in a formulated formula. Then, in the present embodiment, if there is a variable that is not used in the formulated formula among the defined variables, it is determined that an inconsistency has occurred in the formulated formula, and the defined variable is determined. If all of the above are used in the formulated formula, it is determined that there is no inconsistency in the formulated formula. Therefore, according to the present embodiment, it is possible to determine whether or not an inconsistency has occurred in the formulated formula.
  • a formulated formula (a formula representing energy in a combinatorial optimization problem) is converted into an energy function of QUABO.
  • the variable representing the spin state takes a value of 1 or 0.
  • the present invention may also be applied when the formulated equation is transformed into an energy function of the Ising model. In this case, the variable representing the spin takes a value of 1 or -1.
  • the energy function of QUAB and the energy function of Ising model can be converted to each other. Therefore, the formulated formula determined that no inconsistency has occurred may be converted into the energy function of the QUA, and the energy function may be further converted into the energy function of the Ising model.
  • FIG. 7 is a schematic block diagram showing a configuration example of a computer according to the inconsistency determination device 1 according to each embodiment of the present invention.
  • the computer 1000 includes a CPU 1001, a main storage device 1002, an auxiliary storage device 1003, an interface 1004, a data reading device 1005, and a display device 1006.
  • the inconsistency determination device 1 of each embodiment of the present invention is realized by the computer 1000.
  • the operation of the inconsistency determination device 1 is stored in the auxiliary storage device 1003 in the form of an inconsistency determination program.
  • the CPU 1001 reads the inconsistency determination program from the auxiliary storage device 1003, deploys it to the main storage device 1002, and executes the process described in each of the above embodiments according to the inconsistency determination program.
  • Auxiliary storage 1003 is an example of a non-temporary tangible medium.
  • Other examples of non-temporary tangible media include magnetic disks, optical magnetic disks, CD-ROMs (Compact Disk Read Only Memory), DVD-ROMs (Digital Versatile Disk Read Only Memory), which are connected via interface 1004. Examples include semiconductor memory. Further, when the program is distributed to the computer 1000 by the communication line, even if the distributed computer 1000 expands the program to the main storage device 1002 and executes the process described in each of the above embodiments according to the program. good.
  • each component may be realized by a general-purpose or dedicated circuit (circuitry), a processor, or a combination thereof. These may be composed of a single chip or may be composed of a plurality of chips connected via a bus. A part or all of each component may be realized by the combination of the circuit or the like and the program described above.
  • the plurality of information processing devices and circuits may be centrally arranged or distributed.
  • the information processing device, the circuit, and the like may be realized as a form in which each is connected via a communication network, such as a client-and-server system and a cloud computing system.
  • FIG. 8 is a block diagram showing an outline of the inconsistency determination device of the present invention.
  • the inconsistency determination device 1 of the present invention includes an inconsistency determination means 9.
  • the inconsistency determination means 9 represents the energy in the combinatorial optimization problem in which the state of each spin is converted into the energy function of the model represented by the first value or the second value. Determine if there is an inconsistency in the expression.
  • Appendix 2 A dividing means for dividing the formula representing the energy into a plurality of terms is provided.
  • the inconsistency determination means is From the plurality of terms, two or more constraint terms that represent constraints are extracted.
  • the inconsistency determination device according to Appendix 1, which determines that an inconsistency has occurred in the formula representing the energy when there is an inconsistency between the constraints represented by the two or more extracted constraint terms.
  • the constraint expressed by the constraint term is expressed by an expression
  • the inconsistency determination means is If an inconsistency occurs when an expression representing a constraint is assigned to an expression representing another constraint, it is determined that there is an inconsistency between the constraint corresponding to the assigned expression and the constraint corresponding to the assigned expression.
  • the inconsistency determination device according to Appendix 2.
  • a dividing means for dividing the formula representing the energy into a plurality of terms is provided.
  • the inconsistency determination means is A formula using an auxiliary variable for lowering the order of the variable representing the spin state to 2 is stored in advance. It is determined whether or not there is a combination of terms obtained by division and corresponding to the above-mentioned formula stored in advance. If there is the combination, identify the auxiliary variable and The inconsistency determination device according to Appendix 1, which determines that an inconsistency has occurred in the equation representing the energy when the auxiliary variable is used in a term not included in the combination.
  • the inconsistency determination means is Incorporate the character string that defines each variable that expresses the spin state together with the formula that expresses the energy.
  • the description in Appendix 1 which determines that an inconsistency has occurred in the formula representing the energy when there is a variable not used in the formula expressing the energy among the variables defined by the character string. Inconsistency determination device.
  • Appendix 7 The computer The formula expressing the energy is divided into a plurality of terms, and the formula is divided into a plurality of terms. From the plurality of terms, two or more constraint terms that represent constraints are extracted. The inconsistency determination method according to Appendix 6, wherein it is determined that an inconsistency has occurred in the formula representing the energy when there is an inconsistency between the constraints represented by the two or more extracted constraint terms.
  • Appendix 8 The computer The formula expressing the energy is divided into a plurality of terms, and the formula is divided into a plurality of terms.
  • a formula using an auxiliary variable for lowering the order of the variable representing the spin state to 2 is stored in advance. It is determined whether or not there is a combination of terms obtained by division and corresponding to the above-mentioned formula stored in advance. If there is the combination, identify the auxiliary variable and The inconsistency determination method according to Appendix 6, wherein it is determined that an inconsistency has occurred in the formula representing the energy when the auxiliary variable is used in a term not included in the combination.
  • Appendix 9 The computer Incorporate the character string that defines each variable that expresses the spin state together with the formula that expresses the energy.
  • the description in Appendix 6 which determines that an inconsistency has occurred in the formula representing the energy when there is a variable not used in the formula expressing the energy among the variables defined by the character string. Inconsistency judgment method.
  • Appendix 11 To the computer A division process for dividing the expression representing the energy into a plurality of terms is executed. In the inconsistency determination process, Two or more constraint terms, which are terms representing constraints, are extracted from the plurality of terms. The computer according to Appendix 10, which records an inconsistency determination program for determining that an inconsistency has occurred in the formula representing energy when there is an inconsistency between the constraints represented by two or more extracted constraint terms. A readable recording medium.
  • the computer pre-stores an expression using an auxiliary variable for lowering the order of the variable representing the spin state to 2.
  • a division process for dividing the expression representing the energy into a plurality of terms is executed.
  • the inconsistency determination process It is a combination of terms obtained by division, and the presence or absence of a combination of terms corresponding to the above formula stored in the computer in advance is determined.
  • the auxiliary variable is specified, and the auxiliary variable is specified.
  • the computer reading according to Appendix 10 which records an inconsistency determination program for determining that an inconsistency has occurred in the formula representing the energy when the auxiliary variable is used in a term not included in the combination. Possible recording medium.
  • the present invention is suitably applied to an inconsistency determination device that determines whether or not an inconsistency has occurred in an equation representing energy in a combinatorial optimization problem.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

不整合判定装置1は、不整合判定手段9を備える。不整合判定手段9は、個々のスピンの状態を第1の値または第2の値で表すモデルのエネルギー関数に変換される、組合せ最適化問題におけるエネルギーを表す式の中に不整合が生じているか否かを判定する。

Description

不整合判定装置、方法、および、コンピュータ読取可能な記録媒体
 本発明は、組合せ最適化問題におけるエネルギーを表す式の中に不整合が生じているか否かを判定する不整合判定装置、不整合判定方法および不整合判定プログラムを記録したコンピュータ読取可能な記録媒体に関する。
 特許文献1には、組合せ最適化問題をシミュレーテッドアニーリングによって解くことが記載されている。
 また、量子アニーリングマシンの実用化を機に、組合せ最適化問題を解くことがより一般的になりつつある。組合せ最適化問題の例として、巡回セールスマン問題、ナップサック問題、グラフ分割問題等が挙げられる。ただし、組合せ最適化問題はこれらの問題に限られない。
 シミュレーテッドアニーリングまたは量子アニーリングによって、組合せ最適化問題を解くコンピュータには、イジングモデルのエネルギー関数またはQUBO(Quadratic Unconstrained Binary Optimization )のエネルギー関数が入力される。
 イジングモデルは、個々のスピンによって磁性体の振る舞いを表わす統計力学上のモデルであるが、組合せ最適化問題の求解にも適用可能である。イジングモデルでは、個々のスピンの状態は、“1”または“-1”で表される。
 また、個々のスピンの状態を“1”または“0”で表すモデルとしてQUBOも知られている。
 なお、イジングモデルにおける“1”やQUBOにおける“1”を第1の値と称することができる。そして、イジングモデルにおける“-1”やQUBOにおける“0”を第2の値と称することができる。
 イジングモデルのエネルギー関数と、QUBOのエネルギー関数とは、相互に変換可能である。
 現状では、主に、イジングモデルのエネルギー関数やQUBOのエネルギー関数を入力として、一般的なコンピュータを用いて、シミュレーテッドアニーリングで組合せ最適化問題の解が求められている。この手法の例を説明する。ここでは、巡回セールスマン問題の解を求める場合を例にして説明する。
 まず、巡回セールスマン問題におけるエネルギーを表わす式を作成する。組合せ最適化問題におけるエネルギーを表わす式の作成を、定式化と称する場合がある。巡回セールスマン問題の定式化によって得られる式の例として、以下に示す式(1)が挙げられる。
Figure JPOXMLDOC01-appb-M000001
 式(1)において、jは時刻を表わし、v,uは都市を表わす。また、xv,jは、時刻jにセールスマンが都市vにいるか否かを表わす変数であり、スピンに該当する。xv,j=1ならば、時刻jにセールスマンが都市vにいることを表わし、xv,j=0ならば、時刻jにセールスマンが都市vにいないことを表わす。また、式(1)において、Wuvは、都市uと都市vの距離であり、都市の組毎に予め定数として定められている。αおよびβは、予め定数として定められる。
 式(1)における右辺の第1項は、セールスマンは同じ都市を2回以上通過することはないという制約を表わす。
 式(1)における右辺の第2項は、1つの時刻において、セールスマンが1つの都市にしか存在しないという制約を表わす。
 式(1)における右辺の第3項は、セールスマンが通過する都市間の距離を表わす。この右辺の第3項は、制約を表す項ではない。一方、この右辺の第3項は、巡回セールスマン問題の解を得たいユーザにとっては値を最小化したい事項を表す項である。このように、制約を表さない項であって、組合せ最適化問題の解を得たいユーザにとって値を最小化したい事項を表す項を、目的関数と称する。すなわち、式(1)における右辺の第3項は、目的関数である。
 式(1)に例示するような組合せ最適化問題におけるエネルギーを表わす式を作成したならば、その式を、イジングモデルのエネルギー関数、または、QUBOのエネルギー関数に変換する。この変換方法は、公知である。
 イジングモデルのエネルギー関数は、以下の式(2)のように表される。
Figure JPOXMLDOC01-appb-M000002
 式(2)におけるs,sは、スピンの状態を表わす変数である。この変数における添え字によってスピンが識別される。Jijは、i,jに応じた定数であり、hは、iに応じた定数である。
 また、QUBOのエネルギー関数は、以下の式(3)のように表される。
Figure JPOXMLDOC01-appb-M000003
 式(3)におけるx,xは、スピンの状態を表わす変数である。この変数における添え字によってスピンが識別される。Qijは、i,jに応じた定数である。
 式(2)および式(3)は、スピンの状態を表す変数の2次式である。また、式(1)も、スピンの状態を表す変数の2次式である。従って、式(1)を、式(2)または式(3)に変換することができる。
 定式化によって得た式において、スピンの状態を表す変数の次数が3次以上であったとしても、スピンの状態を表す複数の変数を1つの変数に置き換えることによって、スピンの状態を表す変数の次数を2まで下げることができる。上記の置き換えに用いられる変数を補助変数と称する。従って、定式化によって得た式において、スピンの状態を表す変数の次数が3次以上であったとしても、補助変数を用いることによって、イジングモデルのエネルギー関数(式(2))、または、QUBOのエネルギー関数(式(3))を得ることができる。
 イジングモデルまたはQUBOのエネルギー関数が得られたならば、そのエネルギー関数をシミュレーテッドアニーリングに適用し、エネルギーが最小になるときの各スピンの状態を特定する。そして、その各スピンの状態を、組合せ最適化問題(本例では、巡回セールスマン問題)に応じて解釈することで、最適解が得られる。
 また、非特許文献1には、QUBOのエネルギー関数に変換される、定式化された式(組合せ最適化問題におけるエネルギーを表す式)において、種々の制約がどの様に表現されるかが記載されている。
特開平10-293756号公報
Fred Glover, Gary Kochenberger, Yu Du, "Quantum Bridge Analytics I: A Tutorial on Formulating and Using QUBO Models", [2020年6月3日検索]、インターネット<URL : https://arxiv.org/ftp/arxiv/papers/1811/1811.11538.pdf>
 ユーザによって定式化された式(組合せ最適化問題におけるエネルギーを表す式)の中に不整合が生じていたとしても、その式を、イジングモデルのエネルギー関数またはQUBOのエネルギー関数に変換することができる。そして、そのエネルギー関数に対してアニーリングを実行することで、組合せ最適化問題の解を得ることができる。
 しかし、組合せ最適化問題の解が、適切でない場合がある。組合せ最適化問題の解が適切でないとユーザが判断することができた場合であっても、ユーザがその原因を特定することは困難である。アニーリングは確率的な処理であるので、入力されるエネルギー関数が適切であったとしても、適切でない解が導出されることもあり得る。また、上記のように、ユーザによって定式化された式の中に不整合が生じていることに起因して、適切でない解が導出されることもある。
 そこで、定式化された式(組合せ最適化問題におけるエネルギーを表す式)の中に不整合が生じているか否かを判定できることが好ましい。
 そこで、組合せ最適化問題におけるエネルギーを表す式に不整合が生じているか否かを判定できる不整合判定装置、不整合判定方法および不整合判定プログラムを記録したコンピュータ読取可能な記録媒体を提供することを目的とする。
 本発明による不整合判定装置は、個々のスピンの状態を第1の値または第2の値で表すモデルのエネルギー関数に変換される、組合せ最適化問題におけるエネルギーを表す式の中に不整合が生じているか否かを判定する不整合判定手段を備えることを特徴とする。
 本発明による不整合判定方法は、コンピュータが、個々のスピンの状態を第1の値または第2の値で表すモデルのエネルギー関数に変換される、組合せ最適化問題におけるエネルギーを表す式の中に不整合が生じているか否かを判定することを特徴とする。
 本発明によるコンピュータ読取可能な記録媒体は、コンピュータに、個々のスピンの状態を第1の値または第2の値で表すモデルのエネルギー関数に変換される、組合せ最適化問題におけるエネルギーを表す式の中に不整合が生じているか否かを判定する不整合判定処理を実行させる不整合判定プログラムを記録したコンピュータ読取可能な記録媒体である。
 本発明によれば、組合せ最適化問題におけるエネルギーを表す式に不整合が生じているか否かを判定できる。
本発明の第1の実施形態の不整合判定装置の構成例を示すブロック図である。 第1の実施形態の処理経過の例を示すフローチャートである。 第2の実施形態の処理経過の例を示すフローチャートである。 本発明の第3の実施形態の不整合判定装置の構成例を示すブロック図である。 スピンの状態を表す各変数を定義した文字列の例を示す図である。 第3の実施形態の処理経過の例を示すフローチャートである。 本発明の各実施形態の不整合判定装置に係るコンピュータの構成例を示す概略ブロック図である。 本発明の不整合判定装置の概要を示すブロック図である。
 以下、本発明の実施形態を図面を参照して説明する。
 以下に示す各実施形態では、定式化された式(組合せ最適化問題におけるエネルギーを表す式)がQUBOのエネルギー関数に変換される場合を例にして説明する。この場合、スピンの状態を表す変数は、1または0の値をとる。ただし、後述するように、定式化された式がイジングモデルのエネルギー関数に変換される場合にも、本発明を適用してよい。
実施形態1.
 図1は、本発明の第1の実施形態の不整合判定装置の構成例を示すブロック図である。第1の実施形態の不整合判定装置1は、入力部2と、分割部3と、不整合判定部4と、提示部5とを備える。
 入力部2には、定式化された式(組合せ最適化問題におけるエネルギーを表す式)が入力される。
 入力部2は、例えば、光学ディスクなどのデータ記録媒体に記録されたデータ(本実施形態では、組合せ最適化問題におけるエネルギーを表す式)を読み込むデータ読み込み装置によって実現されてもよい。ただし、入力部2は、そのようなデータ読み込み装置に限定されず、ユーザが式を入力するためのキーボード等の入力デバイスであってもよい。
 分割部3は、入力部2を介して、式(組合せ最適化問題におけるエネルギーを表す式)を取り込む。そして、分割部3は、その式を、複数の項に分割する。
 例えば、入力部2に、以下に示す式(4)が入力されたとする。
Figure JPOXMLDOC01-appb-M000004
 式(4)において、α、β、γは定数である。また、x,x,xは、スピンの状態を表す変数であり、この変数における添え字によってスピンが識別される。各実施形態では、スピンの状態を表す変数は、1または0の値をとる。式(4)の例では、スピンは1からNまでの整数によって識別される。cは、iに対応する定数である。
 式(4)が入力された場合、分割部3は、式(4)の右辺を項毎に分割する。この結果、
Figure JPOXMLDOC01-appb-M000005
と、β(1-xと、γ(1-xと、
Figure JPOXMLDOC01-appb-M000006
の各項が得られる。
 分割部3が項毎に式を分割することによって得られる項は、制約を表す項と、目的関数とに分けられる。以下、制約を表す項を、制約項と記す。上記の例では、
Figure JPOXMLDOC01-appb-M000007
と、β(1-xと、γ(1-xとが制約項に該当する。
 また、
Figure JPOXMLDOC01-appb-M000008
が目的関数に該当する。前述のように、目的関数は、制約を表さない項であって、組合せ最適化問題の解を得たいユーザにとって値を最小化したい事項を表す項である。
 本実施形態では、制約項が2個以上得られるものとする。
 また、ここでは、制約項が“定数×(式A-式B)”で表される場合を例にして説明する。また、この形式の制約項は、式A=式Bであるという制約を表している。ここで、式Aおよび式Bは、スピンの状態を表す変数そのものであってもよい。また、式Aおよび式Bは、スピンの状態を表す変数を用いた式であってもよい。また、式Aおよび式Bは、例えば、定数(例えば、“1”等)であってもよい。
 上記のように3つの制約項が得られた場合、1番目の制約項は、以下に示す式(5)という制約を表している。
Figure JPOXMLDOC01-appb-M000009
 換言すれば、1番目の制約項は、1=x+x+・・・+xという制約を表している。
 また、上記の2番目の制約項は、1=xという制約を表している。
 また、上記の3番目の制約項は、1=xという制約を表している。
 不整合判定部4は、分割部3が項毎に式を分割することによって得られる項の中から、2個以上の制約項を全て抽出し、制約項毎に、制約を特定する。上記の例では、前述の3つの制約項を全て抽出し、制約項毎に、1=x+x+・・・+xという制約、1=xという制約、1=xという制約をそれぞれ特定する。
 そして、不整合判定部4は、特定した制約間に不整合がある場合に、入力された式(組合せ最適化問題におけるエネルギーを表す式)の中に、制約に関する不整合が生じていると判定する。また、不整合判定部4は、特定した制約間に不整合がない場合には、入力された式の中に、制約に関する不整合が生じていないと判定する。
 ここで、不整合判定部4が、特定した制約間に不整合があるか否かを判定する動作について説明する。不整合判定部4は、「制約を表す式」を、別の「制約を表す式」に代入し、その結果、不整合が生じているか否かを判定する。なお、不整合判定部4は、1つの「制約を表す式」に、複数の「制約を表す式」を代入してもよい。「制約を表す式」を、別の「制約を表す式」に代入し、その結果、不整合が生じているならば、不整合判定部4は、「代入した式」に対応する制約と、「代入された式」に対応する制約との間に不整合があると判定する。なお、不整合判定部4は、「代入した式」および「代入された式」以外の式に対応する制約は、上記の不整合とは関連がないと判定する。また、代入の結果、不整合が生じていないならば、不整合判定部4は、「代入した式」に対応する制約と、「代入された式」に対応する制約との間に不整合がないと判定する。
 より具体的に説明する。不整合判定部4が、前述の制約を表す式“1=x+x+・・・+x”、“1=x”および“1=x”を特定したとする。そして、“1=x”および“1=x”を、“1=x+x+・・・+x”に代入できるので、不整合判定部4は、“1=x”および“1=x”を、“1=x+x+・・・+x”に代入する。すると、“1=1+1+x+x+・・・+x”となり、この式を変形すると、“x+x+・・・+x=-1”となる。ここで、x,x,・・・,xは、いずれも、1または0の値をとるので、“x+x+・・・+x=-1”における左辺の取り得る値は、0からN-2までの整数であり、左辺の値が-1になることはない。よって、不整合判定部4は、代入した式“1=x”および“1=x”に対応する制約と、代入された式“1=x+x+・・・+x”に対応する制約の間に不整合があると判定する。そして、その結果、不整合判定部4は、入力された式に、制約に関する不整合が生じていると判定する。
 提示部5は、不整合判定部4による判定結果を、例えば、不整合判定装置1が備えるディスプレイ装置(図1において図示略)に表示する。例えば、上記の場合、提示部5は、1=x+x+・・・+xという制約、1=xという制約、および1=xという制約の間に不整合があり、入力された式の中に、制約に関する不整合が生じているということを、ディスプレイ装置上に表示する。また、入力された式の中に、制約に関する不整合が生じていないと判定された場合、提示部5は、その判定結果をディスプレイ上に表示する。
 制約に関する不整合の他の例を示す。以下に示す式(6)が入力されたとする。
Figure JPOXMLDOC01-appb-M000010
 この場合、分割部3は、式(6)の右辺の第1項および第2項を得る。この2つの項はいずれも制約項であるので、不整合判定部4は、この2つの制約項を抽出する。そして、不整合判定部4は、第1項から、1=x+x+・・・+xという制約を特定し、第2項から、2=x+x+・・・+xという制約を特定する。後者の式を前者の式に代入すると、“1=2”という成立し得ない式が得られる。よって、不整合判定部4は、1=x+x+・・・+xという制約と、2=x+x+・・・+xという制約との間に不整合があり、入力された式の中に、制約に関する不整合が生じていると判定する。なお、式(6)の右辺の第1項は、変数x~xのうち1つだけが1であることを表し、式(6)の右辺の第2項は、変数x~xのうち2つだけが1であることを表しているので、確かに、制約に関する不整合があることになる。
 分割部3、不整合判定部4および提示部5は、例えば、不整合判定プログラムに従って動作するコンピュータのCPU(Central Processing Unit )によって実現される。この場合、CPUは、コンピュータのプログラム記憶装置等のプログラム記録媒体から不整合判定プログラムを読み込み、その不整合判定プログラムに従って、分割部3、不整合判定部4および提示部5として動作すればよい。この点は、後述の第2の実施形態でも同様である。
 次に、処理経過について説明する。図2は、第1の実施形態の処理経過の例を示すフローチャートである。既に説明した事項については、適宜、説明を省略する。
 入力部2に、組合せ最適化問題におけるエネルギーを表す式が入力されると、分割部3は、その式を、複数の項に分割する(ステップS1)。
 次に、不整合判定部4は、ステップS1で得られた各項の中から、2個以上の制約項を全て抽出し、制約項毎に、制約を特定する(ステップS2)。
 そして、不整合判定部4は、特定した制約間に不整合があるか否かを判定する(ステップS3)。不整合判定部4は、「制約を表す式」を、別の「制約を表す式」に代入し、その結果、不整合が生じるか否かを判定すればよい。代入の結果、不整合が生じるならば、不整合判定部4は、代入した式に対応する制約と、代入された式に対応する制約との間に不整合があると判定すればよい。また、代入の結果、不整合が生じないならば、不整合判定部4は、代入した式に対応する制約と、代入された式に対応する制約との間に不整合がないと判定すればよい。
 特定した制約間に不整合があると判定した場合(ステップS3のYes)、不整合判定部4は、入力された式に制約に関する不整合があると判定する(ステップS4)。この場合、提示部5は、不整合が生じている制約を提示するとともに、入力された式に制約に関する不整合があることを提示する(ステップS5)。
 また、特定した制約間に不整合がないと判定した場合(ステップS3のNo)、不整合判定部4は、入力された式に制約に関する不整合がないと判定する(ステップS6)。この場合、提示部5は、入力された式に制約に関する不整合がないことを提示する(ステップS7)。
 なお、提示部5は、不整合判定装置1が備えるディスプレイ装置(図1において図示略)に情報を表示することによって、情報をユーザに提示すればよい。ただし、提示部5は、他の態様で、情報をユーザに提示してもよい。この点は、他の実施形態においても同様である。
 上記の説明では、制約項が“定数×(式A-式B)”で表され、この制約項が“式A=式B”という制約を表している場合を例にして説明した。制約項の形式はこの形式に限定されず、種々の形式で表された制約項が、個別に制約を表していてもよい。
 以下に、種々の制約項や、それらの制約項が表す制約を示す。なお、以下に示す式A、式B、式Cは、スピンの状態を表す変数そのものであってもよい。また、以下に示す式A、式B、式Cは、スピンの状態を表す変数を用いた式であってもよい。また、以下に示す式A、式B、式Cは、定数(例えば、“1”等)であってもよい。
 例えば、“定数×(式A×式B)”と表される制約項があってもよい。この制約項は、“式A+式B≦1”という制約を表す。すなわち、不整合判定部4は、“定数×(式A×式B)”と表される制約項を抽出した場合、この制約項に対応する制約として、“式A+式B≦1”という制約を特定する。
 また、例えば、“定数×(1-式A-式B+式A×式B)” と表される制約項があってもよい。この制約項は、“式A+式B≧1”という制約を表す。すなわち、不整合判定部4は、“定数×(1-式A-式B+式A×式B)” と表される制約項を抽出した場合、この制約項に対応する制約として、“式A+式B≧1”という制約を特定する。
 また、例えば、“定数×(1-式A-式B+2×式A×式B)” と表される制約項があってもよい。この制約項は、“式A+式B=1”という制約を表す。すなわち、不整合判定部4は、“定数×(1-式A-式B+2×式A×式B)” と表される制約項を抽出した場合、この制約項に対応する制約として、“式A+式B=1”という制約を特定する。
 また、例えば、“定数×(式A-式A×式B)”と表される制約項があってもよい。この制約項は、“式A≦式B” という制約を表す。すなわち、不整合判定部4は、“定数×(式A-式A×式B)”と表される制約項を抽出した場合、この制約項に対応する制約として、“式A≦式B”という制約を特定する。
 また、例えば、“定数×(式A×式B+式A×式C+式B×式C)” と表される制約項があってもよい。この制約項は、“式A+式B+式C≦1”という制約を表す。すなわち、不整合判定部4は、“定数×(式A×式B+式A×式C+式B×式C)” と表される制約項を抽出した場合、この制約項に対応する制約として、“式A+式B+式C≦1”という制約を特定する。
 また、例えば、“定数×(式A+式B-2×式A×式B)” と表される制約項があってもよい。この制約項は、“式A=式B”という制約を表す。すなわち、不整合判定部4は、“定数×(式A+式B-2×式A×式B)” と表される制約項を抽出した場合、この制約項に対応する制約として、“式A=式B”という制約を特定する。
 そして、不整合判定部4は、特定した制約間に不整合があるか否かを判定する。既に説明したように、不整合判定部4は、「制約を表す式」を、別の「制約を表す式」に代入し、その結果、不整合が生じるか否かを判定すればよい。代入の結果、不整合が生じるならば、不整合判定部4は、代入した式に対応する制約と、代入された式に対応する制約との間に不整合があると判定すればよい。また、代入の結果、不整合が生じないならば、不整合判定部4は、代入した式に対応する制約と、代入された式に対応する制約との間に不整合がないと判定すればよい。
 本実施形態では、不整合判定部4が、定式化された式を分割することによって得られた項のうち、制約項毎に、制約を特定する。そして、不整合判定部4は、特定した制約間に不整合があるか否かを判定し、不整合があるならば、定式化された式の中に制約に関する不整合が生じていると判定する。また、不整合がないならば、定式化された式の中に制約に関する不整合が生じていないと判定する。従って、本実施形態によれば、定式化された式の中に不整合が生じているか否かを判定することができる。
実施形態2.
 本発明の第2の実施形態の不整合判定装置は、第1の実施形態の不整合判定装置と同様に、図1に示すブロック図で表すことができるので、図1を用いて第2の実施形態を説明する。第1の実施形態と同様の事項については、適宜、説明を省略する。
 第2の実施形態における入力部2および分割部3は、第1の実施形態における入力部2および分割部3と同様である。
 また、第2の実施形態の不整合判定装置1は、組合せ最適化問題におけるエネルギーを表す式の中に、補助変数に関する不整合が生じているか否かを判定する。補助変数は、定式化によって得た式において、スピンの状態を表す変数の次数が3次以上であった場合に、スピンの状態を表す変数の次数を2まで下げるために、スピンの状態を表す変数の置き換えに用いられる変数である。
 第2の実施形態では、不整合判定部4は、補助変数を用いた式を予め記憶している。以下の説明では、この予め記憶されている式をパターン式と記す。パターン式において、補助変数以外の変数は、QUBOにおけるスピンの状態を表す変数である。そして、パターン式では、スピンの状態を表す変数の次数は2である。
 パターン式の例として、以下に示す式(7)が挙げられる。
 x-2xy-2xy+xy+3y  ・・・(7)
 式(7)において、x,x,xは、スピンの状態を表す変数であり、この変数における添え字によってスピンが識別される。また、yは、補助変数である。
 式(7)は、スピンの状態を表す変数の3次式であるxの次数を2に下げるために、y=xとして、表された式である。
 式(7)に示すパターン式が存在する場合、yは補助変数であるということができる。また、補助変数は、式(7)を包含する式では、式(7)以外で用いられないことが一般的である。
 以下、不整合判定部4が、式(7)に例示するパターン式を予め記憶している場合を例にして説明する。ただし、不整合判定部4は、他のパターン式を予め記憶していてもよい。また、不整合判定部4は、複数のパターン式を記憶していてもよい。
 第1の実施形態と同様に、分割部3は、入力部2を介して、組合せ最適化問題におけるエネルギーを表す式を取り込む。そして、分割部3は、その式を、複数の項に分割する。
 不整合判定部4は、分割部3による分割によって得られた項の組合せであって、予め記憶しているパターン式に該当する項の組合せの有無を判定する。そして、不整合判定部4は、その組合せが存在した場合に、補助変数を特定する。
 本例では、不整合判定部4は、式(7)に例示するパターン式を予め記憶している。従って、不整合判定部4は、分割によって得られた項の組合せであって、予め記憶しているパターン式に該当する項の組合せとして、“x”,“-2xy”,“-2xy”,“xy”,“3y”に当てはまる5つの項の組合せが存在するか否かを判定する。そして、その組合せが存在した場合には、不整合判定部4は、“y”に該当する変数を、補助変数として特定する。
 そして、不整合判定部4は、特定した補助変数が、上記の組合せに含まれない項で用いられている場合に、組合せ最適化問題におけるエネルギーを表す式の中に、補助変数に関する不整合が生じていると判定する。前述のように、補助変数は、式(7)を包含する式では、式(7)以外で用いられないことが一般的であるので、このように判定してよい。
 また、上記の組合せが存在しない場合や、特定した補助変数が、上記の組合せに含まれない項で用いられていない場合には、不整合判定部4は、組合せ最適化問題におけるエネルギーを表す式の中に、補助変数に関する不整合が生じていないと判定する。
 第2の実施形態において、提示部5は、定式化された式の中に、補助変数に関する不整合が生じているかいなかの判定結果を、ディスプレイ装置に表示する。また、不整合判定部4によって特定された補助変数が、上記の組合せに含まれない項で用いられている場合には、その項も併せて表示してよい。
 次に、処理経過について説明する。図3は、第2の実施形態の処理経過の例を示すフローチャートである。既に説明した事項については、適宜、説明を省略する。
 入力部2に、組合せ最適化問題におけるエネルギーを表す式が入力されると、分割部3は、その式を、複数の項に分割する(ステップS11)。ステップS11は、第1の実施形態におけるステップS1(図2参照)と同様である。
 次に、不整合判定部4は、分割部3による分割によって得られた項の組合せであって、予め記憶しているパターン式に該当する項の組合せがあるか否かを判定する(ステップS12)。
 そのような組合せがある場合(ステップS12のYes)、不整合判定部4は、補助変数を特定する(ステップS13)。
 次に、不整合判定部4は、補助変数がその組合せに含まれない項で用いられているか否かを判定する(ステップS14)。
 補助変数がその組合せに含まれない項で用いられている場合(ステップS14のYes)、不整合判定部4は、入力された式に補助変数に関する不整合があると判定する(ステップS15)。そして、提示部5は、入力された式に補助変数に関する不整合があることを提示する(ステップS16)。このとき、提示部5は、その組合せに含まれない項であって、補助変数が用いられている項を併せて提示してもよい。
 補助変数がその組合せに含まれない項で用いられていない場合(ステップS14のNo)、不整合判定部4は、入力された式に補助変数に関する不整合がないと判定する(ステップS17)。そして、提示部5は、入力された式に補助変数に関する不整合がないことを提示する(ステップS18)。
 また、ステップ12において、分割によって得られた項の組合せであって、予め記憶しているパターン式に該当する項の組合せがないと判定された場合にも(ステップS12のNo)、ステップS17,S18を実行する。
 補助変数は、パターン式を包含する式では、パターン式以外で用いられないことが一般的である。そして、本実施形態では、不整合判定部4は、分割によって得られた項の組合せであって、予め記憶しているパターン式に該当する項の組合せがあると判定した場合、補助変数を特定する。そして、不整合判定部4は、補助変数がその組合せに含まれない項で用いられている場合に、定式化された式の中に補助変数に関する不整合が生じていると判定する。また、不整合判定部4は、補助変数がその組合せに含まれない項で用いられていない場合には、定式化された式の中に補助変数に関する不整合が生じていないと判定する。従って、本実施形態によれば、定式化された式の中に不整合が生じているか否かを判定することができる。
実施形態3.
 図4は、本発明の第3の実施形態の不整合判定装置の構成例を示すブロック図である。第1の実施形態や第2の実施形態の要素と同様の要素には、図1に示す符号と同一の符号を付す。第3の実施形態の不整合判定装置1は、入力部2と、不整合判定部4と、提示部5とを備える。
 第3の実施形態では、入力部2には、定式化された式(組合せ最適化問題におけるエネルギーを表す式)、および、スピンの状態を表す各変数を定義した文字列が入力される。
 入力部2は、例えば、例えば、光学ディスクなどのデータ記録媒体に記録されたデータ(本実施形態では、組合せ最適化問題におけるエネルギーを表す式、および、スピンの状態を表す各変数を定義した文字列)を読み込むデータ読み込み装置によって実現されてもよい。ただし、入力部2は、そのようなデータ読み込み装置に限定されず、ユーザが式および文字列を入力するためのキーボード等の入力デバイスであってもよい。
 ここで、スピンの状態を表す各変数を定義した文字列は、例えば、PyQUBO(登録商標)に従って記述されてもよい。図5は、PyQUBOに従って記述された、スピンの状態を表す各変数を定義した文字列の例を示す。図5に例示する文字列は、スピンの状態を表す変数として、xからxまでのN個の変数を定義した文字列である。ただし、スピンの状態を表す各変数を定義した文字列の記述態様は、PyQUBOに従った記述態様に限定されない。
 不整合判定部4は、入力部2を介して、定式化された式(組合せ最適化問題におけるエネルギーを表す式)、および、スピンの状態を表す各変数を定義した文字列を取り込む。そして、不整合判定部4は、その文字列で定義された各変数(スピンの状態を表す各変数)を特定する。
 そして、不整合判定部4は、その文字列で定義された各変数のうち、定式化された式で用いられていない変数があるか否かを判定する。文字列で定義された各変数のうち、定式化された式で用いられていない変数がある場合、不整合判定部4は、定義されているにも関わらわず定式化された式で用いられていない変数が存在するという不整合が、定式化された式の中に生じていると判定する。また、文字列で定義された各変数のうち、定式化された式で用いられていない変数がない場合(換言すれば、文字列で定義された各変数が全て、定式化された式で用いられている場合)、不整合判定部4は、定式化された式の中に不整合が生じていないと判定する。
 提示部5は、不整合判定部4による判定結果を、例えば、不整合判定装置1が備えるディスプレイ装置(図4において図示略)に表示する。例えば、定義されているにも関わらわず定式化された式で用いられていない変数が存在するという不整合が、定式化された式の中に生じていると判定された場合、提示部5は、その旨の情報を、ディスプレイ装置に表示する。このとき、提示部5は、定義されているにも関わらわず定式化された式で用いられていない変数を併せて表示してもよい。また、定式化された式の中に不整合が生じていないと判定された場合、提示部5は、その旨の情報を、ディスプレイ装置に表示する。
 不整合判定部4および提示部5は、例えば、不整合判定プログラムに従って動作するコンピュータのCPUによって実現される。この場合、CPUは、コンピュータのプログラム記憶装置等のプログラム記録媒体から不整合判定プログラムを読み込み、その不整合判定プログラムに従って、不整合判定部4および提示部5として動作すればよい。
 次に、処理経過について説明する。図6は、第3の実施形態の処理経過の例を示すフローチャートである。既に説明した事項については、適宜、説明を省略する。
 不整合判定部4は、入力部2を介して、組合せ最適化問題におけるエネルギーを表す式、および、スピンの状態を表す各変数を定義した文字列を取り込む(ステップS31)。本例では、不整合判定部4が、図5に示す文字列を取り込む場合を例にして説明する。
 ステップS31の次に、不整合判定部4は、取り込んだ文字列で定義された各変数を特定する(ステップS32)。本例では、不整合判定部4は、図5に示す文字列で定義されたx,x,x,・・・,xのN個の変数を特定する。
 次に、不整合判定部4は、取り込んだ文字列で定義された各変数(本例では、x,x,x,・・・,x)のうち、取り込んだ式で用いられていない変数があるか否かを判定する(ステップS33)。
 取り込んだ文字列で定義された各変数のうち、取り込んだ式で用いられていない変数がある場合(ステップS33のYes)、不整合判定部4は、定義されているにも関わらず定式化された式で用いられていない変数が存在するという不整合が、定式化された式の中に生じていると判定する(ステップS34)。そして、提示部5は、定式化された式の中に不整合が生じていることを提示する(ステップS35)。このとき、提示部5は、定義されているにも関わらわず定式化された式で用いられていない変数を併せて提示してもよい。
 また、取り込んだ文字列で定義された各変数が全て、取り込んだ式で用いられているならば(ステップS33のNo)、不整合判定部4は、定式化された式の中に不整合が生じていないと判定する(ステップS36)。そして、提示部5は、式化された式の中に不整合が生じていないことを提示する(ステップS37)。
 定義された変数(スピンの状態を表す変数)は、定式化された式で用いられることが一般的である。そして、本実施形態では、定義された変数のうち、定式化された式で用いられていない変数があるならば、定式化された式に不整合が生じていると判定し、定義された変数が全て定式化された式で用いられているならば、定式化された式に不整合が生じていないと判定する。従って、本実施形態によれば、定式化された式の中に不整合が生じているか否かを判定することができる。
 上記の各実施形態では、定式化された式(組合せ最適化問題におけるエネルギーを表す式)がQUBOのエネルギー関数に変換される場合を例にした。この場合、スピンの状態を表す変数は、1または0の値をとる。定式化された式がイジングモデルのエネルギー関数に変換される場合にも、本発明を適用してよい。なお、この場合、スピンを表す変数は1または-1の値をとる。
 また、QUBOのエネルギー関数とイジングモデルのエネルギー関数とは、相互に変換可能である。従って、不整合が生じていないと判定された定式化された式を、QUBOのエネルギー関数に変換し、さらに、そのエネルギー関数をイジングモデルのエネルギー関数に変換してもよい。
 なお、既に述べたように、QUBOにおける“1”やイジングモデルにおける“1”を第1の値と称することができる。そして、QUBOにおける“0”やイジングモデルにおける“-1”を第2の値と称することができる。
 図7は、本発明の各実施形態の不整合判定装置1に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、データ読み込み装置1005と、ディスプレイ装置1006とを備える。
 本発明の各実施形態の不整合判定装置1は、コンピュータ1000によって実現される。不整合判定装置1の動作は、不整合判定プログラムの形式で補助記憶装置1003に記憶されている。CPU1001は、その不整合判定プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、その不整合判定プログラムに従って、上記の各実施形態で説明した処理を実行する。
 補助記憶装置1003は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory )、DVD-ROM(Digital Versatile Disk Read Only Memory )、半導体メモリ等が挙げられる。また、プログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、そのプログラムに従って上記の各実施形態で説明した処理を実行してもよい。
 また、各構成要素の一部または全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組合せによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
 各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
 次に、本発明の概要について説明する。図8は、本発明の不整合判定装置の概要を示すブロック図である。本発明の不整合判定装置1は、不整合判定手段9を備える。
 不整合判定手段9(例えば、不整合判定部4)は、個々のスピンの状態を第1の値または第2の値で表すモデルのエネルギー関数に変換される、組合せ最適化問題におけるエネルギーを表す式の中に不整合が生じているか否かを判定する。
 上記の本発明の実施形態は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
(付記1)
 個々のスピンの状態を第1の値または第2の値で表すモデルのエネルギー関数に変換される、組合せ最適化問題におけるエネルギーを表す式の中に不整合が生じているか否かを判定する不整合判定手段を備える
 ことを特徴とする不整合判定装置。
(付記2)
 前記エネルギーを表す式を複数の項に分割する分割手段を備え、
 前記不整合判定手段は、
 前記複数の項の中から、制約を表す項である制約項を2個以上抽出し、
 抽出した2個以上の制約項が表す制約間に不整合がある場合に、前記エネルギーを表す式の中に不整合が生じていると判定する
 付記1に記載の不整合判定装置。
(付記3)
 制約項が表す制約が式で表され、
 前記不整合判定手段は、
 制約を表す式を、別の制約を表す式に代入したときに不整合が生じるならば、代入した式に対応する制約と、代入された式に対応する制約の間に不整合があると判定する
 付記2に記載の不整合判定装置。
(付記4)
 前記エネルギーを表す式を複数の項に分割する分割手段を備え、
 前記不整合判定手段は、
 スピンの状態を表す変数の次数を2に下げるための補助変数を用いた式を予め記憶し、
 分割によって得られた項の組合せであって、予め記憶している前記式に該当する項の組合せの有無を判定し、
 前記組合せが有る場合に、前記補助変数を特定し、
 前記組合せに含まれない項で前記補助変数が用いられている場合に、前記エネルギーを表す式の中に不整合が生じていると判定する
 付記1に記載の不整合判定装置。
(付記5)
 前記不整合判定手段は、
 前記エネルギーを表す式とともに、スピンの状態を表す各変数を定義した文字列を取り込み、
 前記文字列で定義された各変数のうち、前記エネルギーを表す式で用いられていない変数がある場合に、前記エネルギーを表す式の中に不整合が生じていると判定する
 付記1に記載の不整合判定装置。
(付記6)
 コンピュータが、
 個々のスピンの状態を第1の値または第2の値で表すモデルのエネルギー関数に変換される、組合せ最適化問題におけるエネルギーを表す式の中に不整合が生じているか否かを判定する
 ことを特徴とする不整合判定方法。
(付記7)
 前記コンピュータが、
 前記エネルギーを表す式を複数の項に分割し、
 前記複数の項の中から、制約を表す項である制約項を2個以上抽出し、
 抽出した2個以上の制約項が表す制約間に不整合がある場合に、前記エネルギーを表す式の中に不整合が生じていると判定する
 付記6に記載の不整合判定方法。
(付記8)
 前記コンピュータが、
 前記エネルギーを表す式を複数の項に分割し、
 スピンの状態を表す変数の次数を2に下げるための補助変数を用いた式を予め記憶し、
 分割によって得られた項の組合せであって、予め記憶している前記式に該当する項の組合せの有無を判定し、
 前記組合せが有る場合に、前記補助変数を特定し、
 前記組合せに含まれない項で前記補助変数が用いられている場合に、前記エネルギーを表す式の中に不整合が生じていると判定する
 付記6に記載の不整合判定方法。
(付記9)
 前記コンピュータが、
 前記エネルギーを表す式とともに、スピンの状態を表す各変数を定義した文字列を取り込み、
 前記文字列で定義された各変数のうち、前記エネルギーを表す式で用いられていない変数がある場合に、前記エネルギーを表す式の中に不整合が生じていると判定する
 付記6に記載の不整合判定方法。
(付記10)
 コンピュータに、
 個々のスピンの状態を第1の値または第2の値で表すモデルのエネルギー関数に変換される、組合せ最適化問題におけるエネルギーを表す式の中に不整合が生じているか否かを判定する不整合判定処理を実行させる
 不整合判定プログラムを記録したコンピュータ読取可能な記録媒体。
(付記11)
 前記コンピュータに、
 前記エネルギーを表す式を複数の項に分割する分割処理を実行させ、
 前記不整合判定処理で、
 前記複数の項の中から、制約を表す項である制約項を2個以上抽出させ、
 抽出した2個以上の制約項が表す制約間に不整合がある場合に、前記エネルギーを表す式の中に不整合が生じていると判定させる
 不整合判定プログラムを記録した付記10に記載のコンピュータ読取可能な記録媒体。
(付記12)
 前記コンピュータは、スピンの状態を表す変数の次数を2に下げるための補助変数を用いた式を予め記憶し、
 前記コンピュータに、
 前記エネルギーを表す式を複数の項に分割する分割処理を実行させ、
 前記不整合判定処理で、
 分割によって得られた項の組合せであって、予め前記コンピュータに記憶されている前記式に該当する項の組合せの有無を判定させ、
 前記組合せが有る場合に、前記補助変数を特定させ、
 前記組合せに含まれない項で前記補助変数が用いられている場合に、前記エネルギーを表す式の中に不整合が生じていると判定させる
 不整合判定プログラムを記録した付記10に記載のコンピュータ読取可能な記録媒体。
(付記13)
 前記コンピュータに、
 前記不整合判定処理で、
 前記エネルギーを表す式とともに、スピンの状態を表す各変数を定義した文字列を取り込ませ、
 前記文字列で定義された各変数のうち、前記エネルギーを表す式で用いられていない変数がある場合に、前記エネルギーを表す式の中に不整合が生じていると判定させる
 不整合判定プログラムを記録した付記10に記載のコンピュータ読取可能な記録媒体。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
産業上の利用の可能性
 本発明は、組合せ最適化問題におけるエネルギーを表す式の中に不整合が生じているか否かを判定する不整合判定装置に好適に適用される。
 1 不整合判定装置
 2 入力部
 3 分割部
 4 不整合判定部
 5 提示部

Claims (13)

  1.  個々のスピンの状態を第1の値または第2の値で表すモデルのエネルギー関数に変換される、組合せ最適化問題におけるエネルギーを表す式の中に不整合が生じているか否かを判定する不整合判定手段を備える
     ことを特徴とする不整合判定装置。
  2.  前記エネルギーを表す式を複数の項に分割する分割手段を備え、
     前記不整合判定手段は、
     前記複数の項の中から、制約を表す項である制約項を2個以上抽出し、
     抽出した2個以上の制約項が表す制約間に不整合がある場合に、前記エネルギーを表す式の中に不整合が生じていると判定する
     請求項1に記載の不整合判定装置。
  3.  制約項が表す制約が式で表され、
     前記不整合判定手段は、
     制約を表す式を、別の制約を表す式に代入したときに不整合が生じるならば、代入した式に対応する制約と、代入された式に対応する制約の間に不整合があると判定する
     請求項2に記載の不整合判定装置。
  4.  前記エネルギーを表す式を複数の項に分割する分割手段を備え、
     前記不整合判定手段は、
     スピンの状態を表す変数の次数を2に下げるための補助変数を用いた式を予め記憶し、
     分割によって得られた項の組合せであって、予め記憶している前記式に該当する項の組合せの有無を判定し、
     前記組合せが有る場合に、前記補助変数を特定し、
     前記組合せに含まれない項で前記補助変数が用いられている場合に、前記エネルギーを表す式の中に不整合が生じていると判定する
     請求項1に記載の不整合判定装置。
  5.  前記不整合判定手段は、
     前記エネルギーを表す式とともに、スピンの状態を表す各変数を定義した文字列を取り込み、
     前記文字列で定義された各変数のうち、前記エネルギーを表す式で用いられていない変数がある場合に、前記エネルギーを表す式の中に不整合が生じていると判定する
     請求項1に記載の不整合判定装置。
  6.  コンピュータが、
     個々のスピンの状態を第1の値または第2の値で表すモデルのエネルギー関数に変換される、組合せ最適化問題におけるエネルギーを表す式の中に不整合が生じているか否かを判定する
     ことを特徴とする不整合判定方法。
  7.  前記コンピュータが、
     前記エネルギーを表す式を複数の項に分割し、
     前記複数の項の中から、制約を表す項である制約項を2個以上抽出し、
     抽出した2個以上の制約項が表す制約間に不整合がある場合に、前記エネルギーを表す式の中に不整合が生じていると判定する
     請求項6に記載の不整合判定方法。
  8.  前記コンピュータが、
     前記エネルギーを表す式を複数の項に分割し、
     スピンの状態を表す変数の次数を2に下げるための補助変数を用いた式を予め記憶し、
     分割によって得られた項の組合せであって、予め記憶している前記式に該当する項の組合せの有無を判定し、
     前記組合せが有る場合に、前記補助変数を特定し、
     前記組合せに含まれない項で前記補助変数が用いられている場合に、前記エネルギーを表す式の中に不整合が生じていると判定する
     請求項6に記載の不整合判定方法。
  9.  前記コンピュータが、
     前記エネルギーを表す式とともに、スピンの状態を表す各変数を定義した文字列を取り込み、
     前記文字列で定義された各変数のうち、前記エネルギーを表す式で用いられていない変数がある場合に、前記エネルギーを表す式の中に不整合が生じていると判定する
     請求項6に記載の不整合判定方法。
  10.  コンピュータに、
     個々のスピンの状態を第1の値または第2の値で表すモデルのエネルギー関数に変換される、組合せ最適化問題におけるエネルギーを表す式の中に不整合が生じているか否かを判定する不整合判定処理を実行させる
     不整合判定プログラムを記録したコンピュータ読取可能な記録媒体。
  11.  前記コンピュータに、
     前記エネルギーを表す式を複数の項に分割する分割処理を実行させ、
     前記不整合判定処理で、
     前記複数の項の中から、制約を表す項である制約項を2個以上抽出させ、
     抽出した2個以上の制約項が表す制約間に不整合がある場合に、前記エネルギーを表す式の中に不整合が生じていると判定させる
     不整合判定プログラムを記録した請求項10に記載のコンピュータ読取可能な記録媒体。
  12.  前記コンピュータは、スピンの状態を表す変数の次数を2に下げるための補助変数を用いた式を予め記憶し、
     前記コンピュータに、
     前記エネルギーを表す式を複数の項に分割する分割処理を実行させ、
     前記不整合判定処理で、
     分割によって得られた項の組合せであって、予め前記コンピュータに記憶されている前記式に該当する項の組合せの有無を判定させ、
     前記組合せが有る場合に、前記補助変数を特定させ、
     前記組合せに含まれない項で前記補助変数が用いられている場合に、前記エネルギーを表す式の中に不整合が生じていると判定させる
     不整合判定プログラムを記録した請求項10に記載のコンピュータ読取可能な記録媒体。
  13.  前記コンピュータに、
     前記不整合判定処理で、
     前記エネルギーを表す式とともに、スピンの状態を表す各変数を定義した文字列を取り込ませ、
     前記文字列で定義された各変数のうち、前記エネルギーを表す式で用いられていない変数がある場合に、前記エネルギーを表す式の中に不整合が生じていると判定させる
     不整合判定プログラムを記録した請求項10に記載のコンピュータ読取可能な記録媒体。
PCT/JP2020/025539 2020-06-29 2020-06-29 不整合判定装置、方法、および、コンピュータ読取可能な記録媒体 WO2022003784A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022533283A JP7468655B2 (ja) 2020-06-29 2020-06-29 不整合判定装置、方法、および、プログラム
PCT/JP2020/025539 WO2022003784A1 (ja) 2020-06-29 2020-06-29 不整合判定装置、方法、および、コンピュータ読取可能な記録媒体
US18/011,329 US20240037185A1 (en) 2020-06-29 2020-06-29 Inconsistency determination device, method, and computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/025539 WO2022003784A1 (ja) 2020-06-29 2020-06-29 不整合判定装置、方法、および、コンピュータ読取可能な記録媒体

Publications (1)

Publication Number Publication Date
WO2022003784A1 true WO2022003784A1 (ja) 2022-01-06

Family

ID=79315793

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/025539 WO2022003784A1 (ja) 2020-06-29 2020-06-29 不整合判定装置、方法、および、コンピュータ読取可能な記録媒体

Country Status (3)

Country Link
US (1) US20240037185A1 (ja)
JP (1) JP7468655B2 (ja)
WO (1) WO2022003784A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0869380A (ja) * 1994-08-29 1996-03-12 Fujitsu Ltd ソースプログラムチェック装置
JP2008114960A (ja) * 2006-11-02 2008-05-22 Hitachi Ltd 輸送計画システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0869380A (ja) * 1994-08-29 1996-03-12 Fujitsu Ltd ソースプログラムチェック装置
JP2008114960A (ja) * 2006-11-02 2008-05-22 Hitachi Ltd 輸送計画システム

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
"Releasing domain specific language for QUBO auto-building in solving ''combination optimization problems'' with annealing machine as OSS on Thursday, September 25", 25 September 2018 (2018-09-25), Retrieved from the Internet <URL:https://www.rco.recruit.co.jp/pressrelease/2018/180925_RCOpress_en.pdf> [retrieved on 20200729] *
KANAMARU SHO, KAZUSHI KAWAMURA , MUNE TANAKA , NOZOMI TOGAWA: "Solving constrained slot placement problems with a real Ising computer", IPSJ SIG TECHNICAL REPORT, vol. 2019-EMB-50, no. 52, 10 March 2019 (2019-03-10), JP , pages 1 - 6, XP055897583, ISSN: 2188-868X *
KANAMARU SHO; KAWAMURA KAZUSHI; TANAKA SHU; TOMITA YOSHINORI; MATSUOKA HIDETOSHI; KAWAMURA KAORU; TOGAWAI NOZOMU: "Mapping Constrained Slot-Placement Problems to Ising Models and its Evaluations by an Ising Machine", 2019 IEEE 9TH INTERNATIONAL CONFERENCE ON CONSUMER ELECTRONICS (ICCE-BERLIN), 8 September 2019 (2019-09-08), pages 221 - 226, XP033694054, DOI: 10.1109/ICCE-Berlin47944.2019.8966207 *
MASATAKA SAO; HIROYUKI WATANABE; YUICHI TAKERU; HIROHIRO UTSUNOMIYA: "Application of Digital Annealer for Faster Combinatorial Optimization", FUJITSU/FUJITSU SCIENCE REVIEW, vol. 69, no. 4, 1 July 2018 (2018-07-01), JP , pages 77 - 83, XP009527311, ISSN: 0016-2515 *
RECRUIT COMMUNICATIONS CO., LTD.: "Developed domain-specific language "PyQUBO" that automatically builds QUBO for solving "combinatorial optimization problems" with quantum annealing machines , etc", 25 September 2018 (2018-09-25), pages 1 - 3, XP055897578, Retrieved from the Internet <URL:https://prtimes.jp/main/html/rd/p/000000003.000024906.html> [retrieved on 20220304] *
SAO MASATAKA, WATANABE HIROYUKI, MUSHA YUUICHI, UTSUNOMIYA AKIHIRO: "Application of Digital Annealer for Faster Combinatorial Optimization", FUJITSU SCIENTIFIC & TECHNICAL JOURNAL (ENGLISH VERSION), vol. 55, no. 2, 1 January 2019 (2019-01-01), pages 45 - 51, XP055652152 *

Also Published As

Publication number Publication date
JPWO2022003784A1 (ja) 2022-01-06
US20240037185A1 (en) 2024-02-01
JP7468655B2 (ja) 2024-04-16

Similar Documents

Publication Publication Date Title
US20120036463A1 (en) Metric navigator
JP6231944B2 (ja) 学習モデル作成装置、判定システムおよび学習モデル作成方法
WO2008042784A2 (en) Comparing taxonomies
WO2018168193A1 (ja) 業務改善支援装置および業務改善支援方法
JP6954004B2 (ja) 畳み込みニューラルネットワークモデルの決定装置及び決定方法
JP7251645B2 (ja) 求解システム、求解方法および求解プログラム
JP5898584B2 (ja) 六面体メッシュ生成装置
WO2022003784A1 (ja) 不整合判定装置、方法、および、コンピュータ読取可能な記録媒体
JP2019219848A (ja) ソースコード解析方法およびソースコード解析装置
JP2008077208A (ja) 業務フロー編集プログラム、業務フロー編集装置および業務フロー編集方法
JP2020140452A (ja) ノード情報推定方法、ノード情報推定プログラムおよび情報処理装置
KR20060114569A (ko) 특허정보시스템의 작동방법
JP2007241642A (ja) 解析方法、解析装置及びコンピュータプログラム
JP6975682B2 (ja) 医学情報処理装置、医学情報処理方法、及び医学情報処理プログラム
US11768852B2 (en) System and method for data analysis and presentation of data
JP2008210068A (ja) データ処理装置及びデータ処理方法及びプログラム
WO2014207827A1 (ja) データ分析装置、rdfデータの拡張方法、およびデータ分析プログラム
WO2020017037A1 (ja) ログ分析装置、ログ分析方法、プログラム
JP7420257B2 (ja) 求解システム、求解方法、および、求解プログラム
US20240070539A1 (en) Learning device
JP4828318B2 (ja) 複数様式帳票統合印刷方法、システム及びプログラム
JP2020126499A (ja) 情報可視化装置、情報可視化方法、及びプログラム
JP2019086934A (ja) 文書検索装置および方法
WO2023203769A1 (ja) 重み係数算出装置および重み係数算出方法
JP7294384B2 (ja) 情報処理装置、情報処理方法およびプログラム

Legal Events

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

Ref document number: 20943037

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022533283

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 18011329

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20943037

Country of ref document: EP

Kind code of ref document: A1