Combination problem calculation system, annealing machine, auxiliary variable calculation device, combination problem calculation method, program

The combinatorial problem calculation system enhances quantum annealing machines by using auxiliary variables to correct Ising Hamiltonians, addressing the challenge of probabilistic solution distribution and variable variations, thereby improving solution finding performance.

JP7709655B2Active Publication Date: 2025-07-17NIPPON TELEGRAPH & TELEPHONE CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024505775
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-03-10
Publication Date
2025-07-17
Estimated Expiration
2042-03-10

AI Technical Summary

Technical Problem

Quantum annealing machines face challenges in consistently outputting optimal solutions for combinatorial optimization problems due to probabilistic distribution and variations in variable absolute values, making it difficult to obtain desired solutions within a practical time.

Method used

A combinatorial problem calculation system that includes an auxiliary variable calculation device and a quantum annealing machine, which calculates and applies auxiliary variables to correct the Ising Hamiltonian, thereby suppressing variations in variable absolute values and enhancing the solution candidate search process.

Benefits of technology

The system significantly improves the solution finding performance of quantum annealing machines by ensuring higher correct answer rates and optimizing the solution search process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007709655000003
    Figure 0007709655000003
  • Figure 0007709655000004
    Figure 0007709655000004
  • Figure 0007709655000005
    Figure 0007709655000005
Patent Text Reader

Abstract

This combinatorial problem computing system includes: an auxiliary-variable computing device that computes and outputs an auxiliary variable for correcting an Ising Hamiltonian representing a combinatorial optimization problem, said auxiliary variable suppressing variations in the absolute values between variables so as not to affect the solution candidate search process of an Ising machine; and an Ising machine that corrects an Ising Hamiltonian on the basis of an auxiliary variable and executes a solution candidate search process on the basis of the corrected Ising Hamiltonian.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a combinatorial problem calculation system, an annealing machine, an auxiliary variable calculation device, a combinatorial problem calculation method, and a program for improving the solution performance when solving a combinatorial optimization problem using an annealing machine.

Background Art

[0002] In the currently widely used Neumann-type computers, it is considered difficult to efficiently solve combinatorial optimization problems. Therefore, in recent years, research and development of an annealing machine, which is a computer capable of solving combinatorial optimization problems more efficiently than Neumann-type computers, has been promoted. Specific examples of annealing machines include quantum annealing machines, coherent annealing machines, and digital annealers.

[0003] These new computers can calculate the solution of the problem at high speed by inputting an objective function expressing the target combinatorial optimization problem as an Ising Hamiltonian.

[0004] Fig. 1 shows a functional configuration example of a conventional annealing machine. Fig. 2 shows an operation example of a conventional annealing machine. As illustrated in Fig. 1, a conventional annealing machine 92 includes an Ising Hamiltonian acquisition unit 921, a solution candidate search processing unit 922, and a solution candidate output unit 923.

[0005] The Ising Hamiltonian acquisition unit 921 acquires an Ising Hamiltonian J ij representing a combinatorial optimization problem. Here, i and j represent variable indices, and t represents time.

[0006] As shown in Fig. 2, at t = T ini (where T ini is the calculation start time), the solution candidate search processing unit 922 sets an initial value x i (at T ini ) of the variable (S922A). The solution candidate search processing unit 922 uses the Ising Hamiltonian Jij Based on the variable x i (t), calculate the time change of x i (t + dt) = F i (x i (t), t; J ij ) and calculate it (S922B). F i As a specific example of F, for example, F i = x i (t) - [x i 3 (t) + (1 - p(t))x i (t)] + Σ i≠j J ij x j (t) can be used. However, p(t) is a function specified in advance before the calculation.

[0007] t = T fin (T fin is set as the calculation end time), step S922B is repeatedly executed until then. The solution candidate search processing unit 922 calculates the variable x at the calculation end time (t = T fin ) and outputs its value (S922C). The solution candidate output unit 923 outputs the value of the variable x i (T fin ), which is the solution candidate for the problem J ij . i (T fin ) is output.

[0008] Among such computers, for those that perform calculations using variables that take analog values (e.g., Coherent Ising Machine (Non-Patent Document 1), Simulated Bifurcation Machine (Non-Patent Document 2)), the solution performance changes by utilizing their analog nature.

[0009] Also, as a method of improving the performance by correcting an Ising machine using analog variables based on auxiliary variables, Non-Patent Documents 3, 4, and 5 are known.

Prior Art Documents

Non-Patent Documents

[0010]

Non-Patent Document 1

Non-Patent Document 5

Summary of the Invention

Problems to be Solved by the Invention

[0011] The annealing machine outputs one candidate solution for the input combinatorial optimization problem for each execution of optimization. However, there is no guarantee that the output candidate solution is the optimal solution to the input problem, and the degree of optimization is probabilistically distributed.

[0012] Depending on the type of input problem, it is known that the probability that the output solution candidate becomes optimal may significantly decrease. Therefore, there is a problem that it becomes difficult to obtain a desired optimal solution within a practical time.

[0013] In a quantum annealing machine that takes analog values, when there is a variation in the absolute values between variables during the calculation process, the probability that the solution candidate becomes optimal tends to decrease. Such a property is considered to be one of the causes of the above problem.

[0014] Therefore, an object of the present invention is to provide a combinatorial problem calculation system that can improve the solution finding performance of a quantum annealing machine.

Means for Solving the Problem

[0015] The combinatorial problem calculation system of the present invention includes an auxiliary variable calculation device and a quantum annealing machine.

[0016] The auxiliary variable calculation device calculates and outputs an auxiliary variable that corrects the Ising Hamiltonian representing the combinatorial optimization problem and suppresses the variation in the absolute values between variables so as not to inhibit the solution candidate search process of the quantum annealing machine.

[0017] The quantum annealing machine corrects the Ising Hamiltonian based on the auxiliary variable and executes a solution candidate search process based on the corrected Ising Hamiltonian.

Effects of the Invention

[0018] According to the combinatorial problem calculation system of the present invention, the solution finding performance of the quantum annealing machine can be improved.

Brief Description of the Drawings

[0019]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Mode for Carrying Out the Invention

[0020] Hereinafter, embodiments of the present invention will be described in detail. Components having the same function are given the same number, and redundant explanations are omitted.

Example

[0021] In Example 1, by adding an auxiliary variable (hereinafter referred to as an auxiliary variable) whose value changes during the search to the diagonal components of the matrix representing the input problem, an effect of assisting the solution search in the solution process of the Ising machine is produced. Regarding the control of this auxiliary variable, it is determined based on the values of the variables during the search calculated by the Ising machine at each time. In Example 1, the solution performance is improved by setting the control method of the auxiliary variable so that the absolute values between the variables are equal to each other.

[0022] Note that the combination problem calculation system of Example 1 has a particularly effective effect of improving the solution performance when used for an Ising machine that uses variables taking analog values. However, this system can also be applied to an Ising machine that does not use variables taking analog values. Therefore, in this specification, the variables handled by the Ising machine are not limited to variables taking analog values.

[0023] Referring to FIG. 3, the functional configuration of the combination problem calculation system according to the first embodiment will be described. As shown in the figure, the combination problem calculation system 1 of this embodiment includes an auxiliary variable calculation device 11 and a quantum annealing machine 12. The auxiliary variable calculation device 11 is a classical computer. The auxiliary variable calculation device 11 includes an auxiliary variable calculation unit 111. The quantum annealing machine 12 includes a quantum annealing Hamiltonian acquisition unit 921, a solution candidate search processing unit 122, and a solution candidate output unit 923. The difference from the conventional quantum annealing machine 92 is the solution candidate search processing unit 122.

[0024] The auxiliary variable calculation device 11 calculates and outputs an auxiliary variable that corrects the quantum annealing Hamiltonian representing the combinatorial optimization problem. The auxiliary variable is characterized by suppressing the variation in the absolute values between variables so as not to inhibit the solution candidate search process of the quantum annealing machine.

[0025] The quantum annealing machine 12 corrects the quantum annealing Hamiltonian based on the auxiliary variable calculated by the auxiliary variable calculation device 11, and executes a solution candidate search process based on the corrected quantum annealing Hamiltonian.

[0026] Referring to FIG. 4, the detailed operations of the auxiliary variable calculation unit 111 of the auxiliary variable calculation device 11 and the solution candidate search processing unit 122 of the quantum annealing machine 12 will be described. Here, i and j represent variable indices, and t represents time.

[0027] The auxiliary variable calculation unit 111 sets the initial value a ini (T ini is the calculation start time) of the auxiliary variable at t = T (S111A). i (T ini ) (S111A).

[0028] The solution candidate search processing unit 122 sets the initial value x ini of the variable at t = T (S122A). i (T ini ) (S122A).

[0029] The solution candidate search processing unit 122 uses the auxiliary variable a i (t) and the Kronecker delta δ ij Correct the Ising Hamiltonian to obtain the corrected Ising Hamiltonian J' i,j = J i,j + a i (t)δ ij Execute the solution candidate search process based on this. Specifically, the solution candidate search unit 122 calculates the time change of the variable x i (t) as x i (t + dt) = F i (x i (t), t; J ij + a i (t)δ ij ). (S122B)

[0030] The auxiliary variable calculation unit 111 calculates the time change of the auxiliary variable a i (t + dt) using G i (x i (t), a i (t), t) (S111B, value update). i (t).

[0031] <S111B, Calculation Method of Auxiliary Variable> The details of the calculation method of the auxiliary variable in step S111B are described below. Based on the variable x i (t) obtained at each time in the calculation process of the Ising machine 12, calculate and output the auxiliary variable a i (t) that satisfies the following equation.

[0032] da i (t) / dt = f(x i (t), t) The function form of f is given before the optimization calculation so as to satisfy the following conditions. For the solution of the equation f(x i (t), t) = 0, |x i (t)| = g(t) exists. Here, g(t) is independent of i. The function f is substantially the same as the above-mentioned function G, but has a different expression, so different characters are assigned. The update formula of the above a i (t) is the variable x output by the Ising machine 12 i It is set to produce a function that aligns the absolute value between them to g(t).

[0033] <Specific example of function f (algorithm example)> For example, a i (t) can be set as follows so that it acts as a time-dependent Lagrange multiplier.

[0034] da i (t) / dt = K(M(t) - x i 2 (t)) M(t) satisfies M(t) ≥ 0, and its function form is specified before the optimization calculation. K is a non-zero constant. The update formula of the above a i (t) is set to produce a function that aligns the absolute value between the variables output by the Ising machine to √(M(t)). i

[0035] The auxiliary variable calculation unit 111 repeatedly executes step S111B using the updated variable x i (t) until t = T fin (T fin is the calculation end time), thereby continuously updating the auxiliary variable a i (t). The solution candidate search processing unit 122 repeatedly executes step S122B using the updated auxiliary variable a i (t) until t = T fin to continuously update the variable x i (t). The solution candidate search processing unit 122 outputs the value of the variable x fin at the calculation end time (t = T i (T fin )) (S122C). The solution candidate output unit 923 outputs the value of the variable x ij which is a solution candidate for problem J i (T fin ).

[0036] <Experimental conditions for simulation experiments> ​Before applying the combination problem calculation system 1 of this embodiment to the Ising machine with reference to FIG. 5 and after applying it, the behavior of the Ising machine was numerically simulated. Input problem J ij As examples of , an SK model (a model in which each component of the matrix is sampled according to a normal distribution) and a maximum cut model (a model in which each component of the matrix is randomly defined as +1 or -1) were set. The "correct answer rate" means the coincidence rate with the solution calculated separately using Simulated Annealing. In this simulation experiment, the correct answer rate was calculated based on the number of times the solution was obtained by performing 1000 solution calculation runs.

[0037] In this simulation experiment, the above <specific example of function f (algorithm example)> was used. More specifically, x i (t + dt) - x i (t) = [-x i 3 -m(t)x i -Σ j (J ij +a i δ ij )x j +1 / A S √(x i 2 +1 / 2)·dW i / dt was set. Here, m(t) is a linear function for t with a negative slope. When the minimum eigenvalue of J ij is λ min , m(t) = λ min +0.5 - 0.015t was set. A S is a constant set in advance. In this simulation experiment, A S = 100 was set. dW i represents the Wiener increment. Also, a i (t + dt) - a i (t) = 1 / 2(|m(t) - m c |-x i 2 ) was set. m c is a constant determined from the minimum eigenvalue of J ij . In this simulation experiment, m c = λ min and set. As other parameters, T ini = 0, T fin = 120, dt = 0.01.

[0038] <Results and Considerations of Simulation Experiments> As shown in the figure, it was confirmed that in both the SK model and the maximum cut model, the correct answer rate after application was significantly improved compared to the correct answer rate before application. Thus, it was shown that the combinatorial problem calculation system 1 of the present embodiment has the effect of significantly improving the solving performance by the quantum annealing machine. Also, it was shown that the auxiliary variables calculated by the auxiliary variable calculation device 11 have the effect of significantly improving the solving performance by the quantum annealing machine. Further, it was shown that the quantum annealing machine 12 that performs candidate solution search using the quantum annealing Hamiltonian corrected by the auxiliary variables calculated by the auxiliary variable calculation device 11 has significantly improved solving performance compared to the conventional quantum annealing machine.

Example

[0039] Example 2 is the same as Example 1 in that the solving process of the quantum annealing machine is controlled by introducing auxiliary variables into the diagonal components of the matrix (quantum annealing Hamiltonian) representing the input problem, but is characterized in that the value of this auxiliary variable is determined based on information obtained from the process of the optimization calculation. In Example 2, the value of the auxiliary variable is calculated by heuristics so that the time average of the values between the variables becomes equal, thereby improving the solving performance.

[0040] The functional configuration of the combinatorial problem calculation system of Example 2 will be described with reference to FIG. 6. As shown in the figure, the combinatorial problem calculation system 2 of the present embodiment includes an auxiliary variable calculation device 21 and a quantum annealing machine 22. The auxiliary variable calculation device 21 is a classical computer. The auxiliary variable calculation device 21 includes a time average unit 211, an ensemble average unit 212, an inter-variable average unit 213, and an auxiliary variable calculation unit 214. The quantum annealing machine 22 includes a quantum annealing Hamiltonian acquisition unit 921, a candidate solution search processing unit 222, and a candidate solution output unit 923, and the difference from the conventional quantum annealing machine 92 is the candidate solution search processing unit 222.

[0041] The auxiliary variable calculation device 21 of this embodiment calculates and outputs an auxiliary variable for correcting the Ising Hamiltonian representing the combinatorial optimization problem based on the result of the solution candidate search process of the Ising machine 22. The auxiliary variable has a feature of suppressing the variation in the absolute value between variables as in the first embodiment.

[0042] Also, the Ising machine 22 of this embodiment corrects the Ising Hamiltonian based on the auxiliary variable and executes a solution candidate search process based on the corrected Ising Hamiltonian.

[0043] The auxiliary variable calculation device 21 and the Ising machine 22 repeatedly execute the above-described respective processes until a predetermined condition is satisfied.

[0044] Referring to FIG. 7, the detailed operations of the respective components (211 - 214) of the auxiliary variable calculation device 21 and the respective components (921, 222, 923) of the Ising machine 22 will be described.

[0045] The time average unit 211 calculates the time average <x i > i of the variable x at each time for each variable index i (i = 1,..., N, where N is the number of variables) obtained in the solution candidate search process of the Ising machine 22 (S211). The time average is defined as <x T > t ≡ Σ i > T p(x t ) when the information of the variable that can be acquired is discrete x i,t , and <x i > i ≡ q(∫dt p(x T (t))) when it can be acquired as a continuous function x i (t). Here, p(x) and q(x) are functions set in advance.

[0046] FIG. 8 shows the variable x i output from the Ising machine when i = 1, 2.An example of the time change of the value is shown. In the example of the figure, x1 approaches near -1.0 as time elapses, and x2 approaches near +1.0 as time elapses. In FIG. 9, the process of step S211 in the case of the example of FIG. 8, that is, the time average <x1> T 、 <x2> T Shows the calculation process.

[0047] The ensemble average unit 212 calculates the ensemble average <x i > T > which is the average of the time averages <x - i > T ≡ 1 / L Σ <x i > T at each variable index corresponding to each of the multiple solution candidate search processes of the annealing machine 22 (S212). Fig. 10 shows the time averages corresponding to each of the L solution candidate search processes in the example of Fig. 8 <x1> T , <x2> T is the ensemble average <x - 1> T ≡ 1 / L Σ <x1> T ,<x - 2> T ≡1 / LΣ <x2> T shows the calculation process.

[0048] The inter-variable averaging unit 213 calculates the inter-variable average M ≡ 1 / N Σ - i > T between each variable index of the ensemble average <x i <x - i > T (S213). Fig. 10 shows the calculation process of the inter-variable average M ≡ 1 / 2 (<x - 1> T , <x - 2> T ) in the example of Fig. 8. - 1> T + <x - 2> T ) in the example of Fig. 8.

[0049] The auxiliary variable calculation unit 214 calculates and outputs the auxiliary variable a - i > T based on the difference between the ensemble average <x i ≡ f(<x - i > T - M) and a function f(x) that satisfies f(x) ≥ 0 when x ≥ 0 and f(x) ≤ 0 when x ≤ 0. Note that, as a heuristic for equalizing the absolute values of the variables, the functional form of f(x) is

Equation

[0050] The Ising Hamiltonian acquisition unit 921 of the Ising machine 22 acquires the Ising Hamiltonian J ij (S921). The solution candidate search processing unit 222 uses the auxiliary variable a calculated by the above-described processing (S211 - S214) i and the Kronecker delta δ ij The Ising Hamiltonian J' corrected by i,j = J i,j + a i δ ij Based on this, a candidate solution search process is executed for the variable x i and output (S222).

[0051] The auxiliary variable calculation device 21 that has obtained the variable x from the Ising machine 22 executes the above-described processes (S211 - S214) again to output the auxiliary variable a i i .

[0052] The auxiliary variable calculation device 21 and the Ising machine 22 repeatedly execute the above-described processes (S211 - S214, S222) until a predetermined condition is satisfied.

[0053] As a stop condition for the iterative process, for example, it can be set as "when the variation of the variable g(<x - i ( T , M) becomes smaller than a predetermined constant ε". The function g() is a function representing the variation of the variable, and specific examples thereof will be described later. For example, in the example of FIG. 8, ε > g(<x - i ( T , <x - 2> T , M), and the above-described processes (S211 - S214, S222) are repeatedly executed until this condition is met.

[0054] Alternatively, as a stop condition for the iterative process, "executing the solution search process a predetermined number of times" may be set.

[0055] When the stop condition for the iterative process is satisfied, the candidate solution output unit 923 of the Ising machine 22 outputs the value of the variable x ij which is a candidate solution for the problem J i (S923).

[0056] <Time average> ​As the time average, for example, the following definitions can be used.

[0057] 1) <x i > T ≡1 / T|∫0 T dtx i (t)| 2) <x i > T ≡1 / T∫0 T dt|x i (t)| 3) <x i > T ≡1 / T∫0 T dtx i 2 (t) In the solution process, there are variables that converge in the positive direction and variables that converge in the negative direction. Therefore, in order to eliminate the effect of the sign difference in the time average, the absolute value, square, etc. are used as described above.

[0058] <f(x)> As f(x), for example, the following functions can be used.

Number

[0059] 1) g(<x - i > T ,M)≡1 / NΣ i (<x - i > T -M) 2 <Experimental Conditions of the Simulation Experiment> Before applying the combination problem calculation system 2 of this embodiment to the Ising machine with reference to FIG. 11 and after the application, the behavior of the Ising machine was numerically simulated. Input problem J ij As an example of , a maximum cut model (a model in which each component of the matrix is randomly defined as +1 or -1) was set. As the time average, Equation (2) of <Time average> was used. As the feedback function f(x), Equation (1) of <f(x)> was used. The "correct answer rate" means the coincidence rate with the solution calculated separately using Simulated Annealing. In this simulation experiment, the correct answer rate was calculated based on the number of times the solution was obtained by performing 1000 solution calculations.

[0060] In this simulation experiment, x i (t + dt) - x i (t) = [-x i 3 -m(t)x i -Σ i≠j J ij x j + 1 / A S √(x i 2 + 1 / 2)·dW i / dt was set. Here, m(t) is a linear function for t with a negative slope, and when the minimum eigenvalue of J ij is λ min , m(t) = λ min + 0.5 - 0.015t. A S is a constant set in advance, and in this simulation experiment, A S = 100 was set. dW i represents the Wiener increment. The above J ij part is changed according to the method disclosed in Example 2.

[0061] <Results and Discussion of Simulation Experiment> As shown in the figure, it was confirmed that the correct answer rate after application was significantly improved compared to the correct answer rate before application. Thus, it was shown that the combination problem calculation system 2 of this embodiment has the effect of significantly improving the solving performance by the annealing machine. Also, it was shown that the auxiliary variables calculated by the auxiliary variable calculation device 21 have the effect of significantly improving the solving performance by the annealing machine. Further, it was shown that the annealing machine 22 that performs candidate solution search using the annealing Hamiltonian corrected by the auxiliary variables calculated by the auxiliary variable calculation device 21 has significantly improved solving performance compared to the conventional annealing machine.

[0062] <Supplementary Note> The auxiliary variable calculation device of the present invention, for example, as a single hardware entity, has an input unit to which a keyboard or the like can be connected, an output unit to which a liquid crystal display or the like can be connected, a communication unit to which a communication device (for example, a communication cable) that can communicate outside the hardware entity can be connected, a CPU (Central Processing Unit, which may be provided with a cache memory, a register, etc.), a RAM or a ROM that is a memory, an external storage device that is a hard disk, and a bus that connects these input unit, output unit, communication unit, CPU, RAM, ROM, and external storage device so that data can be exchanged between them. Also, if necessary, a device (drive) that can read and write a recording medium such as a CD-ROM may be provided in the hardware entity. Examples of such a physical entity equipped with such hardware resources include a general-purpose computer.

[0063] The external storage device of the hardware entity stores programs necessary for realizing the above-described functions and data necessary for the processing of these programs (not limited to the external storage device, for example, the program may be stored in a read-only storage device such as a ROM). Also, data obtained by the processing of these programs is appropriately stored in a RAM, an external storage device, or the like.

[0064] In a hardware entity, each program stored in an external storage device (or ROM, etc.) and the data necessary for the processing of each program are read into the memory as needed and interpreted and executed / processed by the CPU as appropriate. As a result, the CPU realizes a predetermined function (each component represented as the above, … part, … means, etc.).

[0065] The present invention is not limited to the above-described embodiments, and can be appropriately modified without departing from the spirit of the present invention. Further, the processing described in the above embodiments may be executed not only in time series according to the order of description, but also in parallel or individually according to the processing ability of the device that executes the processing or as necessary.

[0066] As described above, when realizing the processing function in the above-described hardware entity (the device of the present invention) by a computer, the processing content of the functions that the hardware entity should have is described by a program. And by executing this program on a computer, the processing function in the above-described hardware entity is realized on the computer.

[0067] The above-described various processes can be implemented by causing the recording unit 10020 of the computer shown in FIG. 12 to read a program for executing each step of the above method and operating it on the control unit 10010, the input unit 10030, the output unit 10040, etc.

[0068] A program that describes this processing content can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any of a magnetic recording device, an optical disk, a magneto-optical recording medium, a semiconductor memory, etc. may be used. Specifically, for example, as the magnetic recording device, a hard disk device, a flexible disk, a magnetic tape, etc., as the optical disk, a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only Memory), a CD-R (Recordable) / RW (ReWritable), etc., as the magneto-optical recording medium, an MO (Magneto-Optical disc), etc., and as the semiconductor memory, an EEP-ROM (Electrically Erasable and Programmable-Read Only Memory), etc. can be used.

[0069] Also, the distribution of this program can be carried out, for example, by selling, transferring, lending, etc. a portable recording medium such as a DVD or a CD-ROM on which the program is recorded. Further, the program may be stored in the storage device of a server computer, and the program may be distributed by transferring the program from the server computer to other computers via a network.

[0070] A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. Then, when executing the process, the computer reads the program stored in its own recording medium and executes a process according to the read program. As another execution form of this program, the computer may directly read the program from the portable recording medium and execute a process according to the program. Further, each time a program is transferred from the server computer to this computer, the computer may sequentially execute a process according to the received program. Also, the program transfer from the server computer to this computer may not be performed, and the above-described process may be executed by a so-called ASP (Application Service Provider) type service that realizes a processing function only by the execution instruction and result acquisition. Note that the program in this embodiment includes information for use in processing by an electronic computer that conforms to the program (data having a property of defining the processing of the computer but not being a direct instruction to the computer).

[0071] Also, in this embodiment, a hardware entity is configured by causing a predetermined program to be executed on a computer, but at least a part of the processing contents may be realized hardware-wise. < / x1> < / x1> < / xi>

Claims

1. An auxiliary variable for correcting an Ising Hamiltonian representing a combinatorial optimization problem, the auxiliary variable calculating device calculating and outputting an auxiliary variable for correcting the non-uniformity of the variables while maintaining a time evolution similar to the time evolution of the variables in the calculation process of the Ising machine, and an Ising machine that corrects the Ising Hamiltonian based on the auxiliary variable and executes a candidate solution search process based on the corrected Ising Hamiltonian Combinatorial problem calculation system.

2. The combinatorial problem calculation system according to claim 1, wherein i and j represent variable indices, and t represents time, the auxiliary variable calculation device is The variable x obtained at each time in the calculation process of the edging machine i (t), based on the equation f(x i (t), t) = 0, |x i (t)| = g(t), where g(t) is a function independent of i, based on the function f() for which a solution exists such that, da i (t) / dt = f(x i (t), t), an auxiliary variable calculation unit that calculates and outputs the auxiliary variable a i (t) is included. the Ising machine is the auxiliary variable a i (t) and the Kronecker delta δ ij The annealing Hamiltonian J' corrected by i,j = J i,j + a i (t)δ ij including a solution candidate search processing unit that executes a solution candidate search process based on Combinatorial problem calculation system.

3. An auxiliary variable for correcting an Ising Hamiltonian representing a combinatorial optimization problem, obtaining the auxiliary variable from an auxiliary variable calculation device that calculates an auxiliary variable for correcting the non-uniformity of the variables while maintaining a time evolution similar to the time evolution of the variables in the calculation process of the Ising machine, correcting the Ising Hamiltonian based on the obtained auxiliary variable, and executing a candidate solution search process based on the corrected Ising Hamiltonian Ising machine.

4. The Ising machine according to claim 3, wherein i and j represent variable indices, and t represents time, the auxiliary variable calculation device is The variable x obtained at each time in the calculation process of the icing machine i (t), based on the equation f(x i (t), t) = 0, |x i (t)| = g(t), where g(t) is a function independent of i, based on the function f() for which there exists a solution such that, da i (t) / dt = f(x i (t), t), calculate the auxiliary variable a i (t) that satisfies the Ising machine is The auxiliary variable a i (t) and the Kronecker delta δ ij The aging Hamiltonian J' corrected by i,j = J i,j + a i (t)δ ij Includes a solution candidate search processing unit that executes solution candidate search processing based on Ising machine.

5. An auxiliary variable for correcting an Ising Hamiltonian representing a combinatorial optimization problem, the auxiliary variable calculation device calculating an auxiliary variable for correcting the non-uniformity of the variables while maintaining a time evolution similar to the time evolution of the variables in the calculation process of the Ising machine and outputting it to the Ising machine.

6. The auxiliary variable calculation device according to claim 5, wherein i and j represent variable indices, and t represents time, The variable x obtained at each time in the calculation process of the edging machine i (t), based on the equation f(x i (t), t) = 0, |x i (t)| = g(t), where g(t) is a function independent of i, based on the function f() for which a solution exists such that, da i (t) / dt = f(x i (t), t), an auxiliary variable calculation unit that calculates and outputs the auxiliary variable a i (t) is included Auxiliary variable calculation device.

7. An auxiliary variable calculation device and a combinatorial problem calculation method executed by an Ising machine, wherein the auxiliary variable calculation device calculates and outputs an auxiliary variable for correcting an Ising Hamiltonian representing a combinatorial optimization problem, the auxiliary variable for correcting the non-uniformity of the variables while maintaining a time evolution similar to the time evolution of the variables in the calculation process of the Ising machine, The annealing machine corrects the annealing Hamiltonian based on the auxiliary variable and executes a solution candidate search process based on the corrected annealing Hamiltonian. A method for calculating a combinatorial problem. Claim 8 A program for causing a computer to function as the auxiliary variable calculation device according to claim 5 or 6.