Pseudo-Ising Hamiltonian generator, combinatorial problem calculation system, Ising machine, auxiliary variable calculation device, program

The pseudo-Ising Hamiltonian generator addresses the limitation of diagonal input in Ising machines by using pseudo-variables and auxiliary variables, enhancing solution-finding performance.

JP7790573B2Active Publication Date: 2025-12-23NIPPON TELEGRAPH & TELEPHONE CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024533187
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-07-11
Publication Date
2025-12-23
Estimated Expiration
2042-07-11

AI Technical Summary

Technical Problem

Existing Ising machines, particularly those with analog variables, do not allow input of diagonal components in the Ising Hamiltonian, limiting the effectiveness of solution finding.

Method used

A pseudo-Ising Hamiltonian generator that substitutes variables with pseudo-variables and generates pseudo-diagonal terms, enabling equivalent input for ±1 variables, and incorporates auxiliary variables to adjust and control the solution search process.

Benefits of technology

Enhances the probability of obtaining optimal solutions by allowing input of diagonal elements and improving solution-finding performance in Ising machines.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007790573000015
    Figure 0007790573000015
  • Figure 0007790573000016
    Figure 0007790573000016
  • Figure 0007790573000017
    Figure 0007790573000017
Patent Text Reader

Abstract

This simulated Ising Hamiltonian generation device comprises: a simulated variable replacement unit which generates a simulated Ising Hamiltonian by replacing each variable of an Ising Hamiltonian with a simulated variable defined by a constant multiple of the sum of two or more distributed variables; and a simulated diagonal entry generation unit which generates simulated diagonal entries that are positive / negative reversal values of the total sum of second order products of the distributed variables included in each of the simulated variables.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a pseudo-Ising Hamiltonian generation device, a combinatorial problem calculation system, an Ising machine, an auxiliary variable calculation device, and a program that can realize pseudo-input of diagonal elements by an Ising Hamiltonian transformation equivalent on ±1 variables. [Background technology]

[0002] It is said that the currently widely used von Neumann computers have difficulty efficiently solving combinatorial optimization problems. Therefore, in recent years, research and development has been underway into Ising machines, which are computers that can solve combinatorial optimization problems more efficiently than von Neumann computers. Specific examples of Ising machines include quantum annealing machines, coherent Ising machines, and digital annealers.

[0003] These new computers can quickly calculate a solution to a combinatorial optimization problem by inputting an objective function that expresses the problem as an Ising Hamiltonian.

[0004] Fig. 1 shows an example of the functional configuration of a conventional Ising machine. Fig. 2 shows an example of the operation of a conventional Ising machine. As shown in Fig. 1, a conventional Ising 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 the Ising Hamiltonian J representing the combinatorial optimization problem. ij Here, i and j represent the index of the variable, and t represents the time.

[0006] As shown in FIG. 2, the solution candidate search processing unit 922 ini (T ini is the start time of the calculation) i (T ini) is set (S922A). The solution candidate search processing unit 922 sets the Ising Hamiltonian J ij Based on the variable s i The time change of (t) is s i (t+dt)=F i (s i (t),t;J ij ) and calculate (S922B). F i As a specific example, F i =s i (t)-[s i 3 (t)+(1-p(t))s i (t)]+Σ i≠j J ij s j (t) can be used, where p(t) is a function that is specified before calculation.

[0007] t=T fin (T fin Step S922B is repeatedly executed until the calculation end time (t=T fin ) variable s i (T fin ) (S922C). The solution candidate output unit 923 outputs the value of ij The variable s is a candidate solution for i (T fin ) value.

[0008] Among such computers, those that perform calculations using variables that take analog values ​​(e.g., Coherent Ising Machine (Non-Patent Document 1) and Simulated Bifurcation Machine (Non-Patent Document 2)) can change their solution-finding performance by utilizing their analog nature. [Prior art documents] [Non-patent literature]

[0009] [Non-Patent Document 1] TAKAHIRO INAGAKI, AND 13 authors, "A coherent Ising machine for 2000-node optimization problems", [online], 20 Oct 2016, SCIENCE, Vol. 354, Issue 6312, pp. 603-606, [Retrieved June 27, 2022], Internet〈 URL: https: / / www.science.org / doi / full / 10.1126 / science.aah4243 〉 [Non-patent document 2] HAYATO GOTO, KOSUKE TATSUMURA, AND ALEXANDER R. DIXON, "Combinatorial optimization by simulating adiabatic bifurcations in nonlinear Hamiltonian systems", [online], 19 Apr 2019, SCIENCE ADVANCES, Vol. 5, Issue 4, [Retrieved June 27, 2022], Internet〈URL: https: / / www.science.org / doi / 10.1126 / sciadv.aav2372〉 Summary of the Invention [Problem to be solved by the invention]

[0010] In the solution process using an Ising machine, the optimal solution is not necessarily obtained, but a solution is given from a probability distribution of solutions close to the optimal one. Here, the Ising Hamiltonian is a multivariate quadratic polynomial with respect to variables (spins) that take on either +1 or -1.

[0011] Among these Ising machines, there exists a type of Ising machine that allows real numbers (analog values) other than ±1 for the variables of the calculation process and calculation results, and ultimately determines a solution of ±1 from the sign of the variable of the calculation result. In this specification, this is referred to as an "analog variable Ising machine."

[0012] It seems that by introducing auxiliary variables into the diagonal components of the Ising Hamiltonian matrix that is the input to this analog variable Ising machine, it is possible to adjust the absolute value of the calculation result of the corresponding variable, but some analog variable Ising machines do not allow the input of diagonal components.

[0013] Therefore, an object of the present invention is to provide a pseudo-Ising Hamiltonian generating device that can realize pseudo-input of diagonal elements by Ising Hamiltonian transformation that is equivalent on ±1 variables. [Means for solving the problem]

[0014] The pseudo-Ising Hamiltonian generating device of the present invention includes a pseudo-variable substitution unit and a pseudo-diagonal term generating unit.

[0015] The pseudo-variable substitution unit generates a pseudo-Ising Hamiltonian by replacing each variable in the Ising Hamiltonian with a pseudo-variable defined as a constant multiple of the sum of two or more distributed variables. The pseudo-diagonal term generation unit generates pseudo-diagonal terms that are the positive / negative inversions of the sum of the quadratic products of the distributed variables included in each pseudo-variable. [Effects of the Invention]

[0016] According to the pseudo-Ising Hamiltonian generating device of the present invention, it is possible to realize pseudo-input of diagonal elements by an Ising Hamiltonian transformation equivalent to ±1 variables. [Brief explanation of the drawings]

[0017] [Figure 1] FIG. 1 is a block diagram showing an example of the functional configuration of a conventional Ising machine. [Figure 2] 1 is a flowchart showing an example of the operation of a conventional Ising machine. [Figure 3] FIG. 1 is a block diagram showing the functional configuration of a pseudo-Ising Hamiltonian generating device according to a first embodiment. [Figure 4] 3 is a flowchart showing the operation of the pseudo Ising Hamiltonian generating device according to the first embodiment. [Figure 5]FIG. 10 is a block diagram showing a first example of the functional configuration of a combination problem calculation system according to a second embodiment. [Figure 6] FIG. 10 is a block diagram showing a second example of the functional configuration of the combination problem calculation system according to the second embodiment. [Figure 7] FIG. 10 is a sequence diagram showing the operation of the combination problem calculation system according to the second embodiment. [Figure 8] FIG. 11 is a block diagram showing a first example of the functional configuration of a combination problem calculation system according to a third embodiment. [Figure 9] FIG. 11 is a block diagram showing a second example of the functional configuration of the combination problem calculation system according to the third embodiment. [Figure 10] FIG. 11 is a sequence diagram showing the operation of the combination problem calculation system according to the third embodiment. [Figure 11] FIG. 10 is a diagram showing an example of the value of a pseudo variable σi at each time obtained in the solution candidate search process. [Figure 12] A diagram showing an example of calculating the time average <σi>T of the pseudo variable σi at each time. [Figure 13] A diagram showing an example of calculation of the ensemble mean <σ-i>T, the mean between variables M, and the auxiliary variables ai. [Figure 14] FIG. 2 is a diagram showing an example of the functional configuration of a computer. DETAILED DESCRIPTION OF THE INVENTION

[0018] Hereinafter, embodiments of the present invention will be described in detail. Components having the same functions are given the same numbers, and duplicated explanations will be omitted. [Example]

[0019] The functional configuration of the pseudo Ising Hamiltonian generation device 110 of the first embodiment will be described below with reference to Fig. 3. As shown in the figure, the pseudo Ising Hamiltonian generation device 110 of the present embodiment includes a pseudo variable substitution unit 1101 and a pseudo diagonal term generation unit 1102. The operation of each component will be described below with reference to Fig. 4.

[0020] <Pseudo variable substitution unit 1101> The pseudo-variable substitution unit 1101 substitutes each variable of the Ising Hamiltonian with a pseudo-variable σ defined by a constant multiple of the sum of two or more dispersion variables. i and substituted for the pseudo-Ising Hamiltonian K ij is generated (S1101).

[0021] <Pseudo-diagonal term generation unit 1102> The pseudo-diagonal term generator 1102 generates the pseudo variable σ i The variance variable x contained in each ik The pseudo-diagonal term Δ is the inverted value of the sum of the quadratic products of i and generate the pseudo-Ising Hamiltonian K ij and the pseudo-diagonal term Δ i is output to the Ising machine (S1102). i are the auxiliary variables a i The absolute value is adjustable.

[0022] By regarding the Ising Hamiltonian after substitution (pseudo Ising Hamiltonian K) as an Ising Hamiltonian and regarding the pseudo diagonal term Δ as a diagonal term and inputting it into the Ising machine, it is possible to realize pseudo-input of diagonal components for an analog variable Ising machine that does not allow input of diagonal components.

[0023] At this time, the pseudo-diagonal term Δ i is the pseudovariable σ i It is expected to have the same effect as the conventional diagonal terms, which increase the absolute value of the variables.

[0024] <pseudo variable σ i , pseudodiagonal term Δ i , the pseudo-Ising Hamiltonian K ij Specific examples> For example, if the original Ising model

number

number

number

number

[0025] <Reverse conversion process> Using the combinatorial problem calculation system described below, we can calculate the pseudo-Ising Hamiltonian K ij The variance variable x on ik Based on this, we can calculate the pseudo variable σ i Calculate the solution of the original variable s i The table below shows the value of the variance variable x ik and the corresponding pseudo-variable σ i , the original variable s i A calculation example is shown below. [Table 1] <Validity of the action due to pseudo-diagonal terms> The pseudo-diagonal terms achieve the same effect on the pseudovariables as the diagonal terms, because they can be decomposed into positive squared components in the direction of the pseudovariables and negative squared components in the direction perpendicular to the direction.

[0026] The original diagonal terms are weighted components of the squares of the corresponding variables, and have the effect of increasing or decreasing the absolute value of the variable s1.

number

number

[0027] <Transformation of the variance variable by reversing the sign> When defining pseudo variables, it is also possible to reverse the sign of the distributed variable. For example, in the example of the original Ising model mentioned above,

number

number

number

number

[0028] <Inverse transformation when sign-reversed variance variables are included> For inverse transformation including sign reversal of pseudo variables, the inverse transformation can be performed by reversing the sign of the corresponding variance variable. [Table 2] According to the pseudo Ising Hamiltonian generating device 110 of this embodiment, even for an Ising machine that does not allow the input of diagonal elements, the pseudo Ising Hamiltonian transformation equivalent to ±1 variables can be used to realize the input of diagonal elements, and the probability of obtaining an optimal solution can be improved by a combinatorial problem calculation system described later. [Example]

[0029] Hereinafter, combinatorial problem calculation systems 1-A and 1-B according to a second embodiment using the pseudo-Ising Hamiltonian generator 110 will be described.

[0030] In the second embodiment, auxiliary variables (hereinafter referred to as auxiliary variables) whose values ​​change during the search are assigned to the input pseudo-diagonal terms, thereby providing an effect of assisting the solution search in the solution-finding process of the Ising machine. The control of these auxiliary variables is determined based on the values ​​of the pseudo variables calculated by the Ising machine at each time during the search. In the second embodiment, the solution-finding performance is improved by setting a control method for the auxiliary variables so that the absolute values ​​of the variables are equal to each other.

[0031] The functional configuration of the combinatorial problem calculation system of the second embodiment will be described with reference to Fig. 5. As shown in the figure, the combinatorial problem calculation system 1-A of this embodiment includes the pseudo Ising Hamiltonian generation device 110, auxiliary variable calculation device 11, and Ising machine 12 described in the first embodiment. The pseudo Ising Hamiltonian generation device 110 and the auxiliary variable calculation device 11 are classical computers. The auxiliary variable calculation device 11 includes an auxiliary variable calculation unit 111. The Ising machine 12 includes a pseudo Ising Hamiltonian acquisition unit 121, a solution candidate search processing unit 122, and a solution candidate output unit 923, and is different from the conventional Ising machine 92 in the pseudo Ising Hamiltonian acquisition unit 121 and the solution candidate search processing unit 122.

[0032] The difference is that the conventional Ising Hamiltonian acquisition unit 921 acquires a normal Ising Hamiltonian, whereas the pseudo Ising Hamiltonian acquisition unit 121 of this embodiment acquires a pseudo Ising Hamiltonian generated by the pseudo Ising Hamiltonian generation device 110.

[0033] The function of the pseudo Ising Hamiltonian generator 110 may be provided in the auxiliary variable calculation device 11. In this case, as shown in the combinatorial problem calculation system 1-B in FIG. 6 , the auxiliary variable calculation device 11 may be configured to include a pseudo Ising Hamiltonian generator unit 110 and an auxiliary variable calculation unit 111. In this case, the pseudo Ising Hamiltonian generator 110 is omitted, and the pseudo Ising Hamiltonian generator unit 110 operates in the same manner as the pseudo Ising Hamiltonian generator 110.

[0034] The auxiliary variable calculation device 11 calculates auxiliary variables that correct the pseudo Ising Hamiltonian and outputs them to the Ising machine 12. The auxiliary variables are characterized by suppressing variations in absolute values ​​between pseudo variables so as not to impede the solution candidate search process of the Ising machine.

[0035] The Ising machine 12 corrects the pseudo Ising Hamiltonian based on the auxiliary variables calculated by the auxiliary variable calculation device 11, and executes a solution candidate search process based on the corrected pseudo Ising Hamiltonian.

[0036] 7, 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 Ising machine 12 will be described. Note that i, j, and k represent variable indexes, and t represents time.

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

[0038] The solution candidate search processing unit 122 ini The initial value of the dispersion variable x ik (T ini ) (S122A).

[0039] The solution candidate search processing unit 122 uses the auxiliary variable a i (t) and the pseudo-diagonal term Δ i Correct the pseudo-Ising Hamiltonian by ij =K ij +a i (t)Δ i Specifically, the solution candidate search processing unit 122 performs a solution candidate search process based on the dispersion variable x ik (t) time change x ik (t+dt)=F ik (x ik (t), t;K ij +a i (t)Δ i ) (S122B).

[0040] The auxiliary variable calculation unit 111 calculates a i (t+dt)=G i (σ i (t),a i (t),t) and the auxiliary variable a i Calculate the change in time of (t) (S111B, update value).

[0041] <S111B. Calculation Method of Auxiliary Variable> The following describes the details of the calculation method of the auxiliary variable in step S111B. Based on the pseudo variable σ i (t) obtained at each time in the calculation process of the edging machine 12, an auxiliary variable a i (t) that satisfies the following equation is calculated and output.

[0042] da i (t) / dt = f(σ i (t), t) The function form of f is given before the optimization calculation to satisfy the following conditions. For the solution of the equation f(σ i (t), t) = 0, |σ i (t)| = g(t) exists. Here, g(t) is assumed to be 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 set to make the absolute value between the pseudo variable σ output by the edging machine 12 i equal to g(t).

[0043] <Specific Example of Function f (Algorithm Example)> For example, the function f can be set as follows so that a i (t) acts as a time-dependent Lagrange multiplier.

[0044] da i (t) / dt = K(M(t) - σ 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 make the absolute value between the pseudo variable σ output by the edging machine i equal to √(M(t)).

[0045] The auxiliary variable calculation unit 11 uses the updated pseudo variable σ i (t) at t = T fin (Tfin Step S111B is repeatedly executed until the calculation end time, and the auxiliary variable a i (t), and the solution candidate search processing unit 122 continues to update the updated auxiliary variable a i (t) = T fin Step S122B is repeated until the pseudo variable σ i The solution candidate search processing unit 122 continues to update the calculation end time (t=T fin ) pseudovariable σ i (T fin ) (S122C). The solution candidate output unit 923 outputs the value of problem K ij The pseudo-variable σ is a candidate solution for i (T fin ) value. [Example]

[0046] Example 3 is similar to Example 2 in that the solution process of the Ising machine is controlled by introducing auxiliary variables into the input pseudo-diagonal terms, but has a feature in that the values ​​of these auxiliary variables are determined based on information obtained from the optimization calculation process. In Example 3, the values ​​of the auxiliary variables are calculated using heuristics so that the time averages of the values ​​of each variable are equal, thereby improving the solution performance.

[0047] The functional configuration of a combinatorial problem calculation system 2-A of the third embodiment will be described with reference to Fig. 8. As shown in the figure, the combinatorial problem calculation system 2-A of this embodiment includes a pseudo Ising Hamiltonian generation device 110, an auxiliary variable calculation device 21, and an Ising machine 22. The pseudo Ising Hamiltonian generation device 110 and the auxiliary variable calculation device 21 are classical computers. The auxiliary variable calculation device 21 includes a time averaging unit 211, an ensemble averaging unit 212, an inter-variable averaging unit 213, and an auxiliary variable calculation unit 214. The Ising machine 22 includes a pseudo Ising Hamiltonian acquisition unit 121, a solution candidate search processing unit 222, and a solution candidate output unit 923, and is different from the Ising machine 12 of the second embodiment in the solution candidate search processing unit 222.

[0048] The function of the pseudo Ising Hamiltonian generator 110 may be provided in the auxiliary variable calculation device 21. In this case, as shown in a combinatorial problem calculation system 2-B in FIG. 9 , the auxiliary variable calculation device 21 may be configured to include a pseudo Ising Hamiltonian generator unit 110, a time averaging unit 211, an ensemble averaging unit 212, an inter-variable averaging unit 213, and an auxiliary variable calculation unit 214. In this case, the pseudo Ising Hamiltonian generator 110 is omitted, and the pseudo Ising Hamiltonian generator unit 110 operates in the same manner as the pseudo Ising Hamiltonian generator 110.

[0049] The auxiliary variable calculation device 21 of this embodiment calculates and outputs auxiliary variables that correct the pseudo Ising Hamiltonian based on the result of the solution candidate search process of the Ising machine 22. The auxiliary variables have the feature of suppressing variations in absolute values ​​between variables, similar to the second embodiment.

[0050] Furthermore, the Ising machine 22 of this embodiment corrects the pseudo Ising Hamiltonian based on the auxiliary variables, and executes the solution candidate search process based on the corrected pseudo Ising Hamiltonian.

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

[0052] With reference to FIG. 7, detailed operations of the components (211, 212, 213, 214) of the auxiliary variable calculation device 21 other than 110 and the components (121, 222, 923) of the Ising machine 22 will be described.

[0053] The time averaging unit 211 calculates the pseudo variable σ at each time for each variable index i (i=1, . . . , N, where N is the number of variables) obtained by the solution candidate search process of the Ising machine 22. i Time average of <σ i > T (S211). The time average is calculated when the available variable information is discrete σ t If <σ i > T ≡Σ tp(σ i,t ), continuous function σ i If it can be obtained as (t), then <σ i > T ≡q(∫dtp(σ i (t))), where p(x) and q(x) are predefined functions.

[0054] Figure 11 shows the pseudo variable σ output from the Ising machine when i = 1, 2. i 12 shows an example of the time change of the value of σ1. In the example of the figure, σ1 approaches -1.0 as time passes, and σ2 approaches +1.0 as time passes. In the example of the figure, the process of step S211 in the example of FIG. 11, that is, the time average <σ1> T , <σ2> T The calculation process is shown below.

[0055] The ensemble averaging unit 212 calculates a time average <σ for each variable index corresponding to each of the multiple times of the solution candidate search process of the Ising machine 22. i > T ensemble mean <σ - i > T ≡1 / LΣ<σ i > T 13 shows the time average <σ1> corresponding to each of L times of the solution candidate search process in the example of FIG. T ,<σ2> T <σ, which is the ensemble mean of - 1> T ≡1 / LΣ<σ1> T ,<σ - 2> T ≡1 / LΣ<σ2> T The calculation process is shown below.

[0056] The inter-variable averaging unit 213 is configured to calculate the ensemble average <σ - i > T The inter-variable mean M≡1 / NΣ is the mean between each variable index of i <σ - i > T13 shows the ensemble mean <σ in the example of FIG. - 1> T ,<σ - 2> T The mean between variables M≡1 / 2(<σ - 1> T +<σ - 2> T ) calculation process is shown below.

[0057] The auxiliary variable calculation unit 214 calculates the ensemble mean <σ - i > T and the difference between the mean M of the variables, and a function f(z) that satisfies f(z) ≥ 0 when z ≥ 0 and f(z) ≤ 0 when z ≤ 0. i ≡f(<σ - i > T -M) is calculated and output (S214). As a heuristic to align the absolute values ​​of the variables, the function form of f(z) is

number

[0058] The pseudo-Ising Hamiltonian acquisition unit 121 of the Ising machine 22 acquires the pseudo-Ising Hamiltonian K ij The solution candidate search processing unit 222 obtains the auxiliary variable a calculated by the above-mentioned processes (S211-S214). i and the pseudo-diagonal term Δ i The pseudo-Ising Hamiltonian K' corrected by ij =K ij +a i Δ i Based on this, a solution candidate search process is performed to find the pseudo variable σ i is output (S222).

[0059] Ising machine 22 pseudo variable σ i The auxiliary variable calculation device 21 that has acquired the auxiliary variable a i Output.

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

[0061] For example, the stopping condition for the repetitive process is "variance g(<σ - i > T , M) becomes smaller than a predetermined constant ε. The function g() is a function that represents the variance of the variables, and specific examples will be described later. For example, in the example of Figure 11, ε>g(<σ - i > T ,<σ - 2> T The above-described processing (S211-S214, S222) is repeatedly executed until the number of the saturation points reaches M.

[0062] Alternatively, the condition for stopping the repetitive process may be set to "the solution-finding process has been executed a predetermined number of times."

[0063] When the stopping condition of the iterative process is satisfied, the solution candidate output unit 923 of the Ising machine 22 outputs the solution candidate for problem K ij The pseudo-variable σ is a candidate solution for i The value is output (S923).

[0064] <Time average> For example, the following definitions can be used for the time average:

[0065] 1) <σ i > T ≡1 / T|∫0 T dtσ i (t)| 2) <σ i > T ≡1 / T∫0 T dt|σ i(t)| 3) <σ i > T ≡1 / T∫0 T dtσ i 2 (t) In the solution process, there are variables that converge in the positive direction and variables that converge in the negative direction, so absolute values, squares, etc. are used as described above to eliminate the effect of sign differences in the time average.

[0066] <f(z)> For example, the following functions can be used as f(z):

number

[0067] 1) g(<σ - i > T ,M)≡1 / NΣ i (<σ - i > T -M) 2 <Additional Notes> The auxiliary variable calculation device of the present invention, as a single hardware entity, has, for example, an input unit to which a keyboard or the like can be connected, an output unit to which an LCD display or the like can be connected, a communication unit to which a communication device (e.g., a communication cable) capable of communicating with an external device of the hardware entity can be connected, a CPU (which may also have a central processing unit, cache memory, registers, etc.), memories such as RAM and ROM, an external storage device such as a hard disk, and buses connecting these input unit, output unit, communication unit, CPU, RAM, ROM, and external storage device so that data can be exchanged between them. If necessary, the hardware entity may also be provided with a device (drive) capable of reading and writing to a recording medium such as a CD-ROM. A physical entity equipped with such hardware resources includes a general-purpose computer.

[0068] The external storage device of the hardware entity stores the programs required to realize the above-mentioned functions and the data required for processing these programs (the programs may be stored in a ROM, which is a read-only storage device, for example, instead of an external storage device). Data obtained by processing these programs is stored in RAM, the external storage device, etc. as appropriate.

[0069] In a hardware entity, each program stored in an external storage device (or ROM, etc.) and the data required to process each program are loaded into memory as needed, and interpreted, executed, and processed by the CPU as appropriate, resulting in the CPU realizing a predetermined function (each component represented as a unit, means, etc., above).

[0070] The present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the spirit of the present invention. Furthermore, the processes described in the above embodiments may not only be executed in chronological order according to the order described, but may also be executed in parallel or individually depending on the processing capacity of the device that executes the processes or as needed.

[0071] As described above, when the processing functions of the hardware entities (apparatuses of the present invention) described in the above embodiments are realized by a computer, the processing contents of the functions that the hardware entities should have are described by a program. Then, by executing this program on a computer, the processing functions of the hardware entities are realized on the computer.

[0072] The various processes described above can be implemented by loading a program that executes each step of the above method into the recording unit 10020 of the computer shown in Figure 14 and operating the control unit 10010, input unit 10030, output unit 10040, etc.

[0073] The program describing the processing contents can be recorded on a computer-readable recording medium. Examples of computer-readable recording media include magnetic recording devices, optical disks, magneto-optical recording media, and semiconductor memories. Specifically, examples of magnetic recording devices include hard disk drives, flexible disks, and magnetic tapes; optical disks include DVDs (Digital Versatile Discs), DVD-RAMs (Random Access Memory), CD-ROMs (Compact Disc Read Only Memory), and CD-Rs (Recordable) / RWs (Rewritable); magneto-optical recording media include MOs (Magneto-Optical discs), and semiconductor memories include EEP-ROMs (Electrically Erasable and Programmable-Read Only Memory).

[0074] The program may be distributed, for example, by selling, transferring, lending, etc. a portable recording medium such as a DVD or CD-ROM on which the program is recorded. Furthermore, the program may be stored in a storage device of a server computer, and then transferred from the server computer to another computer via a network, thereby distributing the program.

[0075] A computer that executes such a program may first temporarily store the program recorded on a portable recording medium or transferred from a server computer in its own storage device. Then, when executing a process, the computer reads the program stored on its own recording medium and executes the process in accordance with the read program. Alternatively, the computer may read the program directly from a portable recording medium and execute the process in accordance with the program. Furthermore, the computer may execute the process in accordance with the received program each time a program is transferred from a server computer to the computer. Alternatively, the server computer may not transfer the program to the computer, but may execute the process through a so-called ASP (Application Service Provider) service, which realizes the processing function by issuing an execution instruction and obtaining the results. In this embodiment, the program includes information used for processing by a computer that is equivalent to a program (such as data that is not a direct instruction to the computer but has properties that define computer processing).

[0076] In addition, in this embodiment, a hardware entity is configured by executing a predetermined program on a computer, but at least a part of the processing contents may be realized by hardware.

Claims

1. a pseudo-variable replacement unit that replaces each variable of the Ising Hamiltonian with a pseudo-variable defined by a constant multiple of the sum of two or more dispersion variables to generate a pseudo-Ising Hamiltonian; a pseudo-diagonal term generation unit that generates pseudo-diagonal terms that are positive / negative inversions of the sum of the second-order products of the distributed variables included in each of the pseudo variables; Pseudo-Ising Hamiltonian generator.

2. an auxiliary variable calculation device that generates a pseudo-Ising Hamiltonian by replacing each variable of the Ising Hamiltonian with a pseudo variable defined by a constant multiple of the sum of two or more distributed variables, generates pseudo-diagonal terms that are positive / negative inversion values ​​of the sum of the quadratic products of the distributed variables included in each of the pseudo variables, outputs the pseudo-Ising Hamiltonian and the pseudo-diagonal terms to an Ising machine, calculates auxiliary variables that correct the pseudo-Ising Hamiltonian, and correct non-uniformity of the variables while maintaining a time evolution similar to that of the variables in the calculation process of the Ising machine, and outputs the auxiliary variables to the Ising machine; the Ising machine correcting the pseudo Ising Hamiltonian based on the auxiliary variables and executing a solution candidate search process based on the corrected pseudo Ising Hamiltonian. A matching problem calculation system.

3. an auxiliary variable calculation device that generates a pseudo-Ising Hamiltonian by replacing each variable of the Ising Hamiltonian with a pseudo variable defined by a constant multiple of the sum of two or more distributed variables, generates pseudo-diagonal terms that are positive / negative inversion values ​​of the sum of the quadratic products of the distributed variables included in each of the pseudo variables, outputs the pseudo-Ising Hamiltonian and the pseudo-diagonal terms to an Ising machine, calculates auxiliary variables that correct the pseudo-Ising Hamiltonian based on the result of a solution candidate search process of the Ising machine, and outputs the calculated auxiliary variables to the Ising machine; the Ising machine correcting the pseudo Ising Hamiltonian based on the auxiliary variables and performing a solution candidate search process based on the corrected pseudo Ising Hamiltonian, The auxiliary variable calculation device and the Ising machine are Repeat each process up to a specified number of times A matching problem calculation system.

4. An Ising machine that acquires auxiliary variables, a pseudo Ising Hamiltonian, and pseudo diagonal terms from an auxiliary variable calculation device, corrects the pseudo Ising Hamiltonian based on the acquired auxiliary variables, and performs a solution candidate search process based on the corrected pseudo Ising Hamiltonian, The auxiliary variable calculation device generating a pseudo-Ising Hamiltonian by replacing each variable of an Ising Hamiltonian with a pseudo-variable defined as a constant multiple of the sum of two or more distributed variables; generating the pseudo-diagonal terms that are the positive / negative inverted values ​​of the sum of the quadratic products of the distributed variables included in each of the pseudo-variables; outputting the pseudo-Ising Hamiltonian and the pseudo-diagonal terms to the Ising machine; calculating the auxiliary variables that correct 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 the auxiliary variables to the Ising machine. Ising machine.

5. An Ising machine that repeatedly executes a process of acquiring auxiliary variables, a pseudo Ising Hamiltonian, and pseudo diagonal terms from an auxiliary variable calculation device, correcting the pseudo Ising Hamiltonian based on the acquired auxiliary variables, and executing a solution candidate search process based on the corrected pseudo Ising Hamiltonian, up to a predetermined number of times, The auxiliary variable calculation device generating a pseudo-Ising Hamiltonian by replacing each variable of an Ising Hamiltonian with a pseudo-variable defined as a constant multiple of the sum of two or more distributed variables; generating the pseudo-diagonal terms that are the positive / negative inverted values ​​of the sum of the quadratic products of the distributed variables included in each of the pseudo-variables; outputting the pseudo-Ising Hamiltonian and the pseudo-diagonal terms to the Ising machine; and calculating the auxiliary variables based on the result of the solution candidate search process of the Ising machine and outputting them to the Ising machine. Ising machine.

6. an auxiliary variable calculation device that generates a pseudo-Ising Hamiltonian by replacing each variable of an Ising Hamiltonian with a pseudo-variable defined as a constant multiple of the sum of two or more distributed variables, generates pseudo-diagonal terms that are positive / negative inverted values ​​of the sum of the second-order products of the distributed variables included in each of the pseudo-variables, outputs the pseudo-Ising Hamiltonian and the pseudo-diagonal terms to an Ising machine, calculates auxiliary variables that correct the pseudo-Ising Hamiltonian, and correct non-uniformity of the variables while maintaining a time evolution similar to that of the variables in the calculation process of the Ising machine, and outputs the auxiliary variable calculation device to the Ising machine.

7. an auxiliary variable calculation device that repeatedly executes the process of: generating a pseudo-Ising Hamiltonian by replacing each variable of an Ising Hamiltonian with a pseudo-variable defined as a constant multiple of the sum of two or more distributed variables; generating pseudo-diagonal terms that are positive / negative inverted values ​​of the sum of second-order products of the distributed variables included in each of the pseudo-variables; outputting the pseudo-Ising Hamiltonian and the pseudo-diagonal terms to an Ising machine; calculating auxiliary variables that correct the pseudo-Ising Hamiltonian based on a result of a solution candidate search process of the Ising machine; and outputting the calculated auxiliary variables to the Ising machine, up to a predetermined number of times.

8. A program that causes a computer to function as the auxiliary variable calculation device according to claim 6 or 7.

Citation Information

Patent Citations

  • Optimization device, optimization system, method for optimization, and program

    JP2020113190A