Information processing device and method, and non-transitory computer-readable storage medium
By searching for ground states under multiple temperature values of the Ising model, recording the minimum value of the energy function update information, determining the appropriate temperature value to solve the problem of difficulty in determining temperature values in the Markov chain Monte Carlo method, more efficient combination optimization search is achieved.
Patent Information
- Application Number
- CN202110183733.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-04-27
- Filing Date
- 2021-02-10
- Publication Date
- 2025-08-12
- Estimated Expiration
- 2041-02-10
AI Technical Summary
In the Markov chain Monte Carlo method, it is difficult to determine the appropriate temperature value to solve the combination optimization problem.
By searching the ground state of the Ising model at multiple temperature values, recording the minimum value of the energy function update information, and determining the appropriate temperature value based on the update information, outputting a new temperature value for further search.
Effectively obtain the temperature value suitable for the problem, promote the state transition in the direction of the energy value reduction, and improve the quality and efficiency of understanding.
Smart Images

Figure CN114115994B_ABST
Abstract
Description
Technical Field
[0001] The embodiments discussed herein relate to an information processing apparatus, an information processing method, and a non-transitory computer-readable storage medium storing a program. Background Art
[0002] An information processing device is available that uses the Ising model, a model representing the behavior of magnetic spins, instead of an optimization problem to calculate a multivariable optimization problem, which Neumann-type computers are not adept at. The device searches for a ground state in which the value of an energy function corresponding to the problem is minimized using a Markov chain Monte Carlo method, such as a simulated annealing (SA) method or a replica exchange method. This ground state corresponds to the optimal solution to the optimization problem. Temperature can be used as a parameter in the Markov chain Monte Carlo search.
[0003] For example, an optimization device has been proposed in which the state of the Ising model is represented by multiple state variables such as multiple bits, and a combination of values of the respective bits in which the value of the energy function is minimized is calculated by performing the SA method using a digital circuit.
[0004] There is also a proposal of a combinatorial optimization method in which, when a combinatorial optimization problem including a plurality of evaluation items is solved by using the SA method, a weight coefficient of each evaluation item is dynamically changed as a temperature parameter changes.
[0005] Examples of related art include Japanese Laid-Open Patent Publication No. 2019-133651 and Japanese Laid-Open Patent Publication No. 9-34951. Summary of the Invention
[0006] [Technical Issues]
[0007] It is not easy to appropriately determine the temperature value used in the SA method, the replica exchange method, etc. according to the problem.
[0008] In one aspect, an object of the present invention is to provide an information processing apparatus, an information processing method, and a program capable of acquiring a temperature value appropriate for a problem.
[0009] [Solution to the problem]
[0010] According to one aspect of an embodiment, a computer-implemented information processing method is provided. In an example, the method includes: obtaining, from a search unit, a value of an energy function obtained for a plurality of state variables included in an energy function at a first temperature value among a plurality of temperature values, the search unit being configured to perform a search for a basis state represented by the plurality of state variables included in the energy function by using the plurality of temperature values and save the value of the energy function for the plurality of state variables; determining whether the obtained value is less than a minimum value of the energy function obtained for the plurality of state variables before reaching the first temperature value; if the value is less than the minimum value, recording update information indicating that the minimum value has been updated at the first temperature value; and outputting a second temperature value based on the first temperature value for which the update information has been recorded among the plurality of temperature values.
[0011] [Effects of the Invention]
[0012] In one aspect, a temperature value appropriate to the problem may be obtained. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Figure 1 An example of processing by the information processing apparatus according to the first embodiment is shown;
[0014] Figure 2 A first example of determining a temperature value is shown;
[0015] Figure 3 A second example of determining a temperature value is shown;
[0016] Figure 4 An example of an information processing apparatus according to a second embodiment is shown;
[0017] Figure 5 An example of a temperature regulation unit is shown;
[0018] Figure 6 An example of temperature value adjustment is shown;
[0019] Figure 7 An example of comparing the minimum energy value for each replica is shown;
[0020] Figure 8 An example of recording the number of updates for each temperature index is shown;
[0021] Figure 9 is a flowchart illustrating an example of an overall control process for replica exchange;
[0022] Figure 10 is a flowchart illustrating an example of a search process;
[0023] Figure 11 is a flowchart illustrating an example of a minimum energy update confirmation process;
[0024] Figure 12 is a flowchart illustrating an example of an exchange control process;
[0025] Figure 13 An example of an information processing system according to a third embodiment is shown; and
[0026] Figure 14 An example of the functions of the information processing device is shown. DETAILED DESCRIPTION
[0027] Hereinafter, embodiments will be described with reference to the accompanying drawings.
[0028] [First embodiment]
[0029] A first embodiment will be described.
[0030] Figure 1 A processing example of the information processing apparatus according to the first embodiment is shown.
[0031] Based on the Ising-type energy function obtained by formulating a combinatorial optimization problem, the information processing device 1 searches for the minimum energy state of the Ising model, such as the ground state, using a Markov Chain Monte Carlo method, such as the SA method or the replica exchange method. The ground state corresponds to the optimal solution to the combinatorial optimization problem. The energy function represents the energy value corresponding to the state represented by the values of multiple state variables. The energy function is also called an evaluation function or objective function. State variables are binary variables that take the value of "0" or "1."
[0032] The Ising-type energy function E(x) is represented by, for example, Formula (1).
[0033]
[0034] The state vector x has a plurality of state variables as elements and represents the state of the Ising model. In the case of a problem that maximizes energy, the sign of the energy function may be reversed.
[0035] The first term on the right side of formula (1) adds the product of the values of the two state variables and the coupling coefficient, for all combinations of the two state variables that can be selected from all state variables, without omissions and duplications. i is the i-th state variable. x j is the jth state variable. W ij is a weight coefficient indicating the weight or coupling strength between the i-th state variable and the j-th state variable.
[0036] The second term on the right side of formula (1) is the sum of the products of the corresponding deviation coefficients for all state variables and the state variable values. iIndicates the deviation coefficient of the i-th state variable.
[0037] For example, a spin of -1 in the Ising model corresponds to a state variable value of 0. A spin of +1 in the Ising model corresponds to a state variable value of 1. Therefore, a state variable can also be called a bit that takes a value of 0 or 1.
[0038] The information processing device 1 includes a search unit 1a, a temperature adjustment unit 1b, and a storage unit 1c. The information processing device 1 is implemented using, for example, a semiconductor integrated circuit such as a field programmable gate array (FPGA). In this case, the search circuit, temperature adjustment circuit, and memory circuit implemented using the semiconductor integrated circuit serve as the search unit 1a, the temperature adjustment unit 1b, and the storage unit 1c, respectively. The storage unit 1c may be included in the temperature adjustment unit 1b. For example, the temperature adjustment circuit may include a memory circuit.
[0039] The search unit 1a performs a search for a ground state represented by a plurality of state variables included in an energy function by using a plurality of temperature values. The temperature value is a value indicating a temperature. The search unit 1a stores the values of the energy function for the plurality of state variables.
[0040] In searching for the base state, state transitions are repeatedly performed by changing a certain state variable, such as a bit. The Monte Carlo method or the Gibbs method is used to determine the probability of transitioning from a certain state to the next state by changing a certain bit. For example, the search unit 1a determines whether to allow the change of the bit based on the comparison result between the energy change when any one of the multiple bits is changed and the noise value. In the case where the search unit 1a determines that the change is allowed, the search unit causes the state transition to occur by changing the value of the bit. The noise value is obtained based on a temperature value or a random number. As the temperature value increases, the amplitude of the noise value increases.
[0041] The search unit 1a sets a relatively high temperature value as a first maximum temperature value for the search. The search unit 1a sets a relatively low temperature value as a first minimum temperature value. For example, the search unit 1a determines the temperature value tmp[i] for the search based on formula (2) and formula (3).
[0042]
[0043]
[0044] i is an integer satisfying 0≤i≤N-1 and is an identification number of the temperature value. tmp_max is the maximum temperature value. tmp_min is the minimum temperature value. The log in formula (3) indicates the common logarithm. Search unit 1a calculates the i-th initial temperature value using formulas (2) and (3) using the initial maximum temperature value and the initial minimum temperature value.
[0045] For example, when using the SA method, the search unit 1a performs a search while gradually decreasing the temperature from an initial maximum temperature value to an initial minimum temperature value. As will be described later, the search unit 1a can also use multiple sets of multiple state variables to search for the ground state separately per set.
[0046] Based on the search results of the search unit 1a at each of the plurality of temperature values from the maximum temperature value to the minimum temperature value, the temperature adjustment unit 1b determines a new temperature value for solving the corresponding combinatorial optimization problem or a combinatorial optimization problem of the same type as the combinatorial optimization problem. For example, the temperature adjustment is performed in the following manner.
[0047] When the search unit 1a completes the search at a certain temperature value among the multiple temperature values, the temperature adjustment unit 1b obtains from the search unit 1a the value E of the energy function corresponding to the values of the multiple state variables obtained by searching at the temperature value. The value of the energy function can be referred to as an energy value. The "certain temperature value" for which the search has been performed is referred to as the first temperature value. When the search at the first temperature value is completed, the temperature adjustment unit 1b obtains, for example, the energy value for the state reached by the search unit 1a as the energy value E. Alternatively, during the search at the first temperature value, the temperature adjustment unit 1b can obtain from the search unit 1a the minimum energy value obtained by the search unit 1a.
[0048] The temperature adjustment unit 1b determines whether the energy value E obtained from the search unit 1a is less than the minimum value of the energy function obtained for the plurality of state variables before the first temperature value is reached, for example, the minimum energy value Emin. The minimum energy value Emin obtained at this point in time is stored in the storage unit 1c as the minimum energy value information D1.
[0049] A predetermined value may be set in advance in the storage unit 1c as the initial value of the minimum energy value Emin. In this case, the temperature adjustment unit 1b may use the initial value of the minimum energy value Emin for the determination when the search for the first temperature value among the temperature values is completed. Alternatively, in the case where the initial value of the minimum energy value Emin is not set in advance in the storage unit 1c, the temperature adjustment unit 1b may obtain the initial value of the minimum energy value Emin when the search for the first temperature value among the temperature values is completed, and may perform the determination after the search for the second temperature value among the temperature values.
[0050] In a case where the energy value E obtained at this time is less than the previous minimum energy value Emin, for example, in the case of E < Emin, the temperature adjustment unit 1b records update information indicating that the minimum value of the energy function has been updated at the first temperature value. The update information is stored in the storage unit 1c.
[0051] For example, the update information for each temperature value is saved in the storage unit 1c as update management information D2. The update management information D2 includes the following items: the first temperature value and the minimum energy value update. In the item of the first temperature value, the first temperature value currently used by the search unit 1a or the index of the first temperature value is set. In the minimum energy value update item, information indicating whether the minimum energy value Emin has been updated at the first temperature value is set.
[0052] For example, when Emin has been updated at the corresponding first temperature value, the minimum energy value update item is "1". When Emin has not been updated at the corresponding first temperature value, the minimum energy value update item is "0". The initial value of the minimum energy value update item is "0". In this case, the record in which the minimum energy value update "1" of the update management information D2 is set is an example of the update information. As described later, the temperature adjustment unit 1b can record the number of times the minimum energy value Emin has been updated in the minimum energy value update item.
[0053] When E < Emin, the temperature adjustment unit 1b updates the minimum energy value Emin saved in the storage unit 1c to the energy value E obtained this time.
[0054] When the obtained energy value E is equal to or greater than the minimum energy value Emin, the temperature adjustment unit 1b does not record the update information for the first temperature value.
[0055] When the search unit 1a completes the search at a plurality of temperature values from the maximum temperature value to the minimum temperature value, the temperature adjustment unit 1b determines the second temperature value Ta based on the first temperature value at which the update information is recorded, and outputs the second temperature value Ta. For example, the second temperature value Ta may include both the new maximum temperature value and the new minimum temperature value or either the new maximum temperature value or the new minimum temperature value.
[0056] For example, the plurality of temperature values are eight temperature values from T0 to T7. Each of the temperature values T0 to T7 is an example of the first temperature value. The temperature values T0 to T7 satisfy T0 < T1 < T2 <... < T7. Assume that at the time point when the search at all the temperature values from T0 to T7 is completed, the update information will be recorded for the temperature values T2, T4, and T5 in the update management information D2. In this case, for example, the temperature adjustment unit 1b determines the second temperature value as the new temperature value based on the temperature values T2 to T5.
[0057] In one example, the temperature adjustment unit 1b sets the temperature value T2, which is the minimum value among the temperature values T2 to T5, as a new minimum temperature value, and sets the temperature value T5, which is the maximum value among the temperature values T2 to T5, as a new maximum temperature value. Alternatively, the temperature adjustment unit 1b may set a value that is smaller or larger than the temperature value T2 by a predetermined value as a new minimum temperature value, or may set a value that is smaller or larger than the temperature value T5 by a predetermined value as a new maximum temperature value. The temperature adjustment unit 1b may determine only one of the minimum temperature value and the maximum temperature value as the second temperature value, and may reuse the current minimum temperature value or the current maximum temperature value for the undetermined temperature value. As another example, the temperature adjustment unit 1b may determine a new maximum temperature value based on the maximum temperature value among the temperature values T2 to T5 that is greater than a predetermined threshold, or may determine a new minimum temperature value based on the minimum temperature value among the temperature values T2 to T5 that is less than a threshold.
[0058] For example, the temperature adjustment unit 1 b outputs the new minimum temperature value T2 and the new maximum temperature value T5 to the search unit 1 a .
[0059] The search unit 1a sets tmp_max = T5 and tmp_min = T2 and calculates other new temperature values by formula (2) and formula (3). Thus, eight new temperature values are determined within the range of temperature values T2 to T5. The difference between adjacent temperature values determined within the range of temperature values T2 to T5 is smaller than the difference between the original adjacent temperature values within the range of temperature values T0 to T7. The search unit 1a performs a search for the basis state of the corresponding combinatorial optimization problem by using the new temperature values.
[0060] The output destination of the second temperature value Ta obtained by the temperature adjustment unit 1b may be a device external to the information processing device 1, or may be the storage unit 1c. For example, the temperature adjustment unit 1b may store the second temperature value Ta in a storage device coupled to the information processing device 1, and may make the second temperature value Ta available for solving another combinatorial optimization problem of the same type as the current combinatorial optimization problem.
[0061] According to the information processing device 1, a search is performed using multiple temperature values for a ground state represented by multiple state variables included in an energy function. A value of the energy function obtained for the multiple state variables at a first temperature value among the multiple temperature values is obtained. A determination is made as to whether the obtained value is less than a minimum value of the energy function obtained for the multiple state variables before reaching the first temperature value. If the obtained value is less than the minimum value, update information indicating that the minimum value has been updated at the first temperature value is recorded. A second temperature value is output based on the first temperature value among the multiple temperature values for which the update information is recorded.
[0062] Therefore, a temperature value suitable for the problem can be obtained.
[0063] For example, when the temperature value is too high or too low, the minimum energy value may not be updated in the search performed by the search unit 1a. If the minimum energy value is not updated, it means that the state transition will not be performed in the direction of decreasing energy value at the corresponding temperature value, and will not contribute to the search for the base state. Therefore, the information processing device 1 determines a new temperature value, such as a second temperature value, based on the result that the minimum energy value has been updated, and thus can exclude unnecessary temperature values that do not contribute to the search base state. In this way, the information processing device 1 can obtain a temperature value suitable for the problem. Since the information processing device 1 performs a search based on the determined new temperature value, a search using an unnecessary temperature value is no longer performed. Using an appropriate temperature value, state transition in the direction of decreasing energy value can be promoted. Therefore, a solution can be effectively obtained.
[0064] As described above, the search unit 1 a can use a plurality of sets among a plurality of state variables to perform a search for a base state through each of the plurality of sets.
[0065] For example, the search unit 1a may sequentially perform searches of the various sets, for example, after completing the search at the multiple temperature values of the first set among the multiple sets, start searching from the multiple temperature values of the second set among the multiple sets. In this case, the temperature adjustment unit 1b may record the number of times the minimum energy value Emin has been updated, for example, the number of updates, in the minimum energy value update item in the update management information D2. It is also considered that the temperature adjustment unit 1b specifies two or more temperature values among the temperature values, at which the number of times the minimum energy value Emin has been updated is greater than a threshold value, the temperature adjustment unit 1b sets the maximum value of the two or more temperature values as a new maximum temperature value, and sets the minimum value of the two or more temperature values as a new minimum temperature value.
[0066] Search unit 1a can perform a search for a ground state in parallel using each of the multiple sets of state variables. For example, one of the multiple sets of state variables can be referred to as a replica. Search unit 1a can perform a search for a ground state using a replica exchange method using multiple replicas. In the case of using the replica exchange method, search unit 1a uses N temperature values for the N replicas. In the initial stage, the i-th temperature value tmp[i] is set for the i-th replica of the N replicas.
[0067] The search unit 1a starts searching for the ground state through N replicas, and when a predetermined time has passed, obtains the energy value reached by searching at the temperature value set in each of the N replicas. The search unit 1a exchanges the temperature values between the pair of replicas based on the exchange probability calculated based on the pair of energy values obtained in the pair of replicas. The exchange of temperature values between the pair of replicas can be referred to as "replica exchange." The exchange probability p is expressed by Formula (4).
[0068]
[0069] E i is the energy value obtained by the i-th copy. E j is the energy value obtained by the jth replica. i is the temperature value of the i-th replica. T j is the temperature value of the jth replica. k is the Boltzmann constant. When the difference between the temperature values is large, the exchange probability p tends to be low. Therefore, the search unit 1a can evaluate the exchange probability p only for replica pairs corresponding to adjacent temperature value pairs and determine whether to perform replica exchange.
[0070] Based on the search results obtained from the maximum temperature value to the minimum temperature value by the replica exchange method, the temperature adjustment unit 1b can determine a new temperature value to be used when solving the corresponding combinatorial optimization problem or another combinatorial optimization problem of the same type as the combinatorial optimization problem.
[0071] In this case, the temperature adjustment unit 1b records the minimum energy value information D1 for each replica in the storage unit 1c. The temperature adjustment unit 1b prepares a piece of update management information D2 for all multiple replicas and updates the update management information D2 based on the search results at each temperature value in each of the multiple replicas. As described above, the temperature adjustment unit 1b can record in the update management information D2 information indicating whether the minimum energy value Emin has been updated at each temperature value in the minimum energy value update item, or can record the number of times the minimum energy value Emin has been updated.
[0072] Next, an example of determining a new temperature value according to the number of updates of the minimum energy value Emin at each temperature value in the case of using the replica exchange method will be described.
[0073] Figure 2 A first example of determining a temperature value is shown.
[0074] Graph 51 shows an example of the relationship between the number of iterations and the temperature value of each replica when the replica exchange method is used in a problem in which the coefficients are scaled. In a problem in which the coefficients are scaled, since the weight coefficient W of formula (1) has a relatively large value, the value of the energy function also becomes relatively large. Therefore, the temperature value used for the search becomes a relatively large value accordingly.
[0075] One iteration corresponds to one state transition in each replica. The horizontal axis of graph 51 is the number of iterations. The vertical axis of graph 51 is the temperature value set for each replica. The number of replicas N is approximately 40. One series in graph 51 corresponds to one replica. Temperature value Tmax is the maximum temperature value used for the search shown in graph 51. The minimum temperature value during the search is 0.1. The portion of graph 51 where the temperature value of a replica changes corresponds to the moment when the replica swap is performed.
[0076] Graph 52 shows the number of minimum energy value updates at each temperature value observed in the search shown in graph 51. The horizontal axis of graph 52 is the number of minimum energy value updates. The vertical axis of graph 52 is the temperature value.
[0077] When focusing on the number of times the minimum energy value is updated on the high-temperature side in graphs 51 and 52, the minimum energy value Emin is rarely updated in the high-temperature region 51a close to the maximum temperature value Tmax. In the intermediate temperature region 51b, which is a temperature region lower than the high-temperature region 51a, the minimum energy value Emin is updated relatively frequently. In graph 51, when the temperature value set for a certain replica continuously decreases over a relatively long period of time, the minimum energy value Emin is generally updated at the point in time when the temperature value set within that period begins to decrease. In the low-temperature region 51c, which is a temperature region lower than the intermediate temperature region 51b, the minimum energy value Emin is rarely updated.
[0078] Based on the information in the graph 52, the temperature adjustment unit 1b specifies two or more temperature values for the search, at which the minimum energy value Emin has been updated a number of times greater than a threshold. The threshold may be 0 or greater. The temperature adjustment unit 1b sets the maximum value of the two or more temperature values as a new maximum temperature value, and sets the minimum value of the two or more temperature values as a new minimum temperature value.
[0079] Therefore, a temperature value near the maximum temperature value in the intermediate temperature zone 51b, in which the minimum energy value Emin is relatively frequently updated, is determined as a new maximum temperature value. A temperature value near the minimum temperature value in the intermediate temperature zone 51b is determined as a new minimum temperature value. The new maximum temperature value and the new minimum temperature value are examples of the second temperature value.
[0080] Figure 3 A second example of determining a temperature value is shown.
[0081] Graph 61 shows an example of the relationship between the number of iterations and the temperature value of each replica when the replica exchange method is used in the molecular similarity problem. In the molecular similarity problem, the temperature value used for the search is smaller than the temperature value used in the problem in which the coefficients are scaled.
[0082] The horizontal axis of graph 61 represents the number of iterations. The vertical axis of graph 61 represents the temperature values set for the replicas. The number of replicas, N, is approximately 40. Each series in graph 61 corresponds to one replica. Temperature value Tmax is the maximum temperature value used for the search shown in graph 61. The minimum temperature value during the search is 0.1. Portions of graph 61 where the temperature values of the replicas change correspond to the times when the replica swap is performed.
[0083] Graph 62 shows the number of minimum energy value updates at each temperature value observed in the search shown in graph 61. The horizontal axis of graph 62 is the number of minimum energy value updates. The vertical axis of graph 62 is the temperature value.
[0084] When focusing on the number of times the minimum energy value is updated on the high temperature side in the graphs 61 and 62, the minimum energy value Emin is rarely updated in the high temperature region 61a close to the maximum temperature value Tmax. In the intermediate temperature region 61b, which is a temperature region lower than the high temperature region 61a, the minimum energy value Emin is updated relatively frequently. In the low temperature region 61c, which is a temperature region lower than the intermediate temperature region 61b, the minimum energy value Emin is rarely updated.
[0085] Based on the information in the graph 62, the temperature adjustment unit 1b specifies two or more temperature values for the search, at which the minimum energy value Emin has been updated a number of times greater than a threshold. The threshold may be 0 or greater. The temperature adjustment unit 1b sets the maximum value of the two or more temperature values as a new maximum temperature value, and sets the minimum value of the two or more temperature values as a new minimum temperature value.
[0086] Therefore, a temperature value near the maximum temperature value in the intermediate temperature zone 61b, in which the minimum energy value Emin is relatively frequently updated, is determined as a new maximum temperature value. A temperature value near the minimum temperature value in the intermediate temperature zone 61b is determined as a new minimum temperature value. The new maximum temperature value and the new minimum temperature value are examples of the second temperature value.
[0087] In this way, even when using the replica exchange method, the temperature value can be appropriately determined according to the problem. For example, by narrowing the range of temperature values to the intermediate temperature zone 51b or the intermediate temperature zone 61b, each temperature value belonging to the intermediate temperature zone can be set for each replica so that the difference between adjacent temperature values becomes smaller. Therefore, the exchange probability based on formula (4) increases, and the state transition in each replica can be further promoted. Therefore, the probability of reaching the optimal solution increases, and the solution performance can be improved.
[0088] It is also considered that the temperature adjustment unit 1b determines a new maximum temperature value and a new minimum temperature value by specifying a first temperature value for determining a second temperature value based on a statistical value at a first temperature value at which the minimum energy value has been updated. For example, the temperature adjustment unit 1b can obtain the average value μ and the standard deviation σ of the first temperature value relative to the number of times the minimum energy value is updated as statistical values. μ and σ are obtained by approximating the histogram shown in the graph 52 and the graph 62 with a normal distribution. For example, it is also considered that the temperature adjustment unit 1b sets the first temperature value near the temperature value μ+A*σ as the new maximum temperature value. For example, it is also considered that the temperature adjustment unit 1b sets the first temperature value near the temperature value μ–B*σ as the new minimum temperature value. A and B are positive real numbers. Similarly, in this way, the temperature adjustment unit 1b can obtain temperature values appropriately according to the problem.
[0089] [Second embodiment]
[0090] Next, a second embodiment will be described.
[0091] Figure 4 An example of the information processing apparatus according to the second embodiment is shown.
[0092] Using the replica exchange method, the information processing device 2 searches for a combination of corresponding values of a plurality of bits corresponding to a plurality of spins included in an Ising model obtained by performing a transformation on an optimization problem of a calculation target for the value of each bit obtained when the energy function has a minimum value. The combination of the values of the plurality of bits corresponds to the state of the Ising model, and the combination in which the energy function has a minimum value corresponds to the ground state of the Ising model. In the following description, the state of the Ising model may be simply referred to as a state. The Ising-type energy function E(x) is defined by the above formula (1). The information processing device 2 may also be referred to as an Ising machine, an optimization device, etc.
[0093] The information processing device 2 is implemented by using a semiconductor integrated circuit such as an FPGA. The information processing device 2 includes a search unit 2a, a temperature adjustment unit 2b, and an overall control unit 2c. The search circuit, the temperature adjustment circuit, and the overall control circuit implemented by using the semiconductor integrated circuit serve as the search unit 2a, the temperature adjustment unit 2b, and the overall control unit 2c, respectively. However, the overall control unit 2c can be implemented by a central processing unit (CPU) included in the information processing device 2. For example, the overall control unit 2c can be implemented by the CPU executing a program stored in a random access memory (RAM) included in the information processing device 2. The search unit 2a is an example of the search unit 1a of the first embodiment. The temperature adjustment unit 2b is an example of the temperature adjustment unit 1b of the first embodiment.
[0094] The search unit 2a searches for the base state using a plurality of replica circuits using a replica exchange method. The search unit 2a includes replica circuits 2a1, 2a2, ..., 2aN and a temperature control unit 20. The replica circuits 2a1 to 2aN are examples of the replicas described in the first embodiment. N is an integer of 2 or greater and indicates the number of replica circuits.
[0095] Replica circuits 2a1 to 2aN are set with temperature values T1 to TN that are different from one another. Using a predetermined minimum temperature value tmp_min and a maximum temperature value tmp_max, temperature values T1 to TN are determined based on, for example, equations (2) and (3). Each of replica circuits 2a1 to 2aN implements a base state search based on an Ising-type evaluation function represented by equation (1) using a circuit such as the one described below. The following description will focus on replica circuit 2a1, and replica circuits 2a2 to 2aN have similar circuit configurations.
[0096] The replica circuit 2a1 includes ΔE calculation units 20a1, 20a2, ..., 20an, a selector 21, a state update unit 22, and an energy calculation unit 23. n is an integer of 2 or greater and indicates the total number of bits in the replica circuit 2a1. In one example, n = 1024, n = 8192, etc.
[0097] Each ΔE calculation unit 20a1 to 20an corresponds to a bit and, in response to a change in any bit, calculates the amount of energy change in the event that the own bit is next changed based on the weight coefficient of the changed bit and the own bit. Each ΔE calculation unit 20a1 to 20an outputs a flag indicating whether the next change of the own bit is permitted to the selector 21 based on a comparison between the calculated energy change amount and the noise value. The noise value is obtained based on a temperature value or a random number. As the temperature value increases, the amplitude of the noise value increases. Therefore, each ΔE calculation unit 20a1 to 20an determines whether the next change of the own bit is permitted based on the Monte Carlo method or the Gibbs method.
[0098] Based on the flags received from each of the ΔE calculation units 20a1 to 20an, the selector 21 selects the next bit to be changed from the bits allowed to be changed next. For example, the selector 21 uses a random number to select the next bit to be changed from the bits allowed to be changed next. The selector 21 outputs the index j of the selected bit to the state update unit 22.
[0099] The state update unit 22 stores a plurality of bits, such as a state. In the stored state, the state update unit 22 updates the state by inverting a bit corresponding to the index j received from the selector 21.
[0100] The state updating unit 22 outputs the index j to the ΔE calculating units 20a1 to 20an. The state updating unit 22 outputs the current state, for example, the bit strings x1, x2, ..., x n Outputs to the energy calculation unit 23. The state update unit 22 outputs the state to the overall control unit 2c.
[0101] Based on the state and energy function received from the state updating unit 22, the energy calculation unit 23 calculates the energy value corresponding to the state. The energy calculation unit 23 outputs the energy value calculated for the state to the temperature control unit 20 and the temperature adjustment unit 2b. The energy calculation unit 23 can store the minimum energy value obtained at the current temperature value and can output the minimum energy value obtained at the current temperature value to the temperature adjustment unit 2b.
[0102] The temperature control unit 20 sets different temperature values T1 to TN for the replica circuits 2a1 to 2aN, respectively. The temperature control unit 20 manages the temperature value of each replica circuit by storing first correspondence information, which associates the index of the replica with the index of the temperature value, and second correspondence information, which associates the index of the temperature value with the temperature value, in a register within the temperature control unit 20. When updating a temperature value, the temperature control unit 20 updates the temperature value in the second correspondence information. For example, the second correspondence information associates the temperature value with the index of the temperature value in ascending order. The index of the replica can be referred to as a replica number, and the index of the temperature value can be referred to as a temperature index.
[0103] In the initial predetermined period of the entire search period, the temperature control unit 20 uses the pre-given minimum temperature value tmp_min and the maximum temperature value tmp_max, based on formula (2) and formula (3), to calculate the initial temperature values T1 to TN, and the temperature control unit 20 uses the initial temperature values T1 to TN. The minimum temperature value initially given is a relatively low temperature value. The maximum temperature value initially given is a relatively high temperature value. The initial predetermined period of the search is a period for temperature adjustment and is called a temperature adjustment period.
[0104] The temperature control unit 20 causes the replica circuits 2a1 to 2aN to begin searching in response to a start signal received from the overall control unit 2c. The temperature control unit 20 acquires the energy value obtained by each of the replica circuits 2a1 to 2aN after a predetermined number of iterations for each of the replica circuits 2a1 to 2aN or after a predetermined time has passed since the start of the search. Based on the exchange probability p corresponding to the acquired energy value, the temperature control unit 20 exchanges the temperature values between a pair of two replica circuits set with adjacent temperature values. The exchange probability p is calculated by formula (4). The temperature control unit 20 may exchange states instead of exchanging temperature values. In this case, the replica number in the first correspondence information identifies each state.
[0105] The temperature control unit 20 outputs the temperature values T1 to TN to the temperature adjustment unit 2b. When the temperature adjustment period ends, the temperature control unit 20 obtains a new maximum temperature value tmp_max and a new minimum temperature value tmp_min from the temperature adjustment unit 2b. The temperature control unit 20 calculates new temperature values T1 to TN based on equations (2) and (3) using the new maximum temperature value tmp_max and the new minimum temperature value tmp_min. The temperature control unit 20 sets the new temperature values T1 to TN in the replica circuits 2a1 to 2aN and starts searching after the temperature adjustment period.
[0106] During the temperature adjustment period, the temperature adjustment unit 2b obtains the energy value achieved at the current temperature value from each replica circuit at each time of replica exchange, and determines whether the energy value is less than the previous minimum energy value in the corresponding replica circuit. In the case where the energy value obtained in a replica circuit is less than the previous minimum energy value in the replica circuit, the temperature adjustment unit 2b increases the number of minimum energy value updates for the temperature value used in the previous search by the replica circuit.
[0107] When the temperature adjustment period ends, the temperature adjustment unit 2b updates the maximum temperature value tmp_max and the minimum temperature value tmp_min based on the number of times the minimum energy value for each temperature value is updated. The temperature adjustment unit 2b outputs the new maximum temperature value tmp_max and the new minimum temperature value tmp_min to the temperature control unit 20.
[0108] When receiving a start signal for instructing the start of the search from the outside, the overall control unit 2 c outputs the start signal to the temperature control unit 20 .
[0109] When the entire search period of the replica circuits 2a1 to 2aN ends, the overall control unit 2c acquires the state held by each of the replica circuits 2a1 to 2aN. For example, the overall control unit 2c acquires the state corresponding to the minimum energy value reached by each of the replica circuits 2a1 to 2aN from each of the replica circuits 2a1 to 2aN.
[0110] Overall control unit 2c outputs an end signal to the outside. For example, the end signal includes the state finally acquired from each of replica circuits 2a1 to 2aN, or the state corresponding to the minimum energy value among the states. Overall control unit 2c may display information about the state on a display device coupled to information processing device 2, or may transmit the information about the state to another computer coupled to information processing device 2 via a network.
[0111] Figure 5 An example of a temperature regulating unit is shown.
[0112] The temperature adjustment unit 2b includes a minimum energy register 31, an update number register 32, a minimum energy update confirmation unit 33, an update number counting unit 34, a maximum temperature determination unit 35, and a minimum temperature determination unit 36. The minimum energy register 31 and the update number register 32 are examples of the storage unit 1c of the first embodiment.
[0113] The minimum energy register 31 holds the minimum energy value obtained by each of the replica circuits 2a1 to 2aN.
[0114] The update count register 32 stores the minimum energy value update count for each of the temperature values Tl to TN.
[0115] The minimum energy update confirmation unit 33 obtains the energy value E corresponding to the state obtained by the search at the current temperature value from each of the replica circuits 2a1 to 2aN. The minimum energy update confirmation unit 33 compares the obtained energy value E with the previous minimum energy value Emin of the replica circuit stored in the minimum energy register 31. When E < Emin, the minimum energy update confirmation unit 33 notifies the update count unit 34 that the minimum energy value has been updated in the corresponding replica circuit, and updates Emin of the replica circuit stored in the minimum energy register 31 to E. When E ≥ Emin, the minimum energy update confirmation unit 33 notifies the update count unit 34 that the minimum energy value has not been updated for the corresponding replica circuit.
[0116] When receiving the notification that the minimum energy value has been updated in a certain replica circuit, the update count unit 34 designates the temperature index corresponding to the temperature value set for the corresponding replica circuit. For example, the update count unit 34 obtains the temperature index set for the corresponding replica circuit from the temperature control unit 20. The update count unit 34 increments the update count corresponding to the corresponding temperature index stored in the update count register 32. The update count unit 34 outputs the update count counted for each temperature index to the maximum temperature determination unit 35 and the minimum temperature determination unit 36.
[0117] The maximum temperature determination unit 35 obtains the temperature value corresponding to the temperature index from the temperature control unit 20. The maximum temperature determination unit 35 determines the new maximum temperature value based on the update count corresponding to each temperature index, and outputs the determined maximum temperature value to the temperature control unit 20.
[0118] The minimum temperature determination unit 36 obtains the temperature value corresponding to the temperature index from the temperature control unit 20. The minimum temperature determination unit 36 determines the new minimum temperature value based on the update count corresponding to each temperature index, and outputs the determined minimum temperature value to the temperature control unit 20.
[0119] Figure 6 An example of temperature value adjustment is shown.
[0120] Figure 6The horizontal axis in indicates the number of iterations. Each of the unit periods ST1, ST2, ST3, ST4, ST5, ... is a unit of the search period in which the replica circuits 2a1 to 2aN perform a search at a certain temperature value. The unit period is defined as a predetermined number of iterations or a predetermined time interval. Replica exchange is performed in the time zone between the end time of a certain unit period and the start time of the next unit period. At this time, the state reached in the previous unit period is saved in the corresponding replica circuit and is transferred to the search in the next unit period. Figure 6 In the example of , the period including the unit periods ST1 to ST4 in the entire search period is the automatic temperature adjustment period. The period from and after the unit period ST5 is a period in which a random search such as an optimization process after temperature adjustment is performed. Figure 6 In the diagram, energy value can be abbreviated as “eg”.
[0121] In this case, immediately after each of the unit periods ST1, ST2, ST3, and ST4 ends, the minimum energy update confirmation unit 33 obtains, for example, the minimum energy value being searched for at the current temperature value from each replica circuit. The minimum energy update confirmation unit 33 confirms for each replica circuit whether the obtained minimum energy value is less than the previous minimum energy value, for example, whether the previous minimum energy value has been updated. However, the minimum energy update confirmation unit 33 may obtain an energy value corresponding to the state stored in the corresponding replica circuit at the end of the unit period, compare the energy value with the previous minimum energy value, and determine whether the minimum energy value has been updated.
[0122] The minimum energy update confirmation unit 33 outputs identification information indicating that an update has occurred for the replica number of the replica circuit whose minimum energy value has been updated to the update count unit 34. The update count unit 34 counts the number of updates for each temperature value of each replica circuit (step S1). The count of updates is performed at the end of each of the unit time periods ST1, ST2, ST3, and ST4, and the number of updates at each temperature value within the unit time periods ST1, ST2, ST3, and ST4 is counted.
[0123] The maximum temperature determination unit 35 and the minimum temperature determination unit 36 obtain the update count at each temperature value from the update count unit 34 and determine a new temperature value by using the minimum or maximum temperature value within the temperature range in which the minimum energy value has been updated (step S2). The maximum temperature determination unit 35 determines the maximum temperature value among the new temperature values and outputs the maximum temperature value to the temperature control unit 20. The minimum temperature determination unit 36 determines the minimum temperature value among the new temperature values and outputs the minimum temperature value to the temperature control unit 20.
[0124] The temperature control unit 20 uses the new maximum temperature value and the new minimum temperature value to determine N temperature values to be used in the optimization process starting from and after the unit period ST5 using equations (2) and (3). Therefore, the temperature values associated with the temperature indexes in the second correspondence information stored by the temperature control unit 20 are updated. The temperature control unit 20 outputs the new temperature values corresponding to the respective temperature indexes of the replica circuits 2a1 to 2aN to the replica circuits. The temperature control unit 20 starts the optimization process starting from and after the unit period ST5 for the replica circuits 2a1 to 2aN.
[0125] The number of unit periods included in the temperature adjustment period is four, but may be a different number. Figure 6 In the embodiment, the temperature adjustment period is only the initial period of the entire period of the optimization process, but the temperature adjustment period can be set multiple times in the middle of the entire period. For example, the temperature adjustment period can be set periodically.
[0126] Next, a specific example of the processing performed by the temperature adjustment unit 2 b will be described using a data structure.
[0127] Figure 7 An example of comparing the minimum energy value for each replica is shown.
[0128] The minimum energy register 31 stores the previous minimum energy value of the replica circuit corresponding to the replica number in association with the replica number. For example, the minimum energy register 31 stores the minimum energy value min_eg_pre_i for replica number i. The initial value of min_eg_pre_i is given in advance.
[0129] The minimum energy update confirmation unit 33 obtains the minimum energy value obtained by searching (annealing) at the current temperature value from each of the replica circuits 2a1 to 2aN. For example, the minimum energy value obtained in the replica circuit of replica number i is min_eg_i.
[0130] The minimum energy update confirmation unit 33 compares min_eg_pre_i with min_eg_i for the replica number i.
[0131] If min_eg_pre_i>min_eg_i, the minimum energy update confirmation unit 33 updates min_eg_pre_i stored in the minimum energy register 31 to min_eg_i. The minimum energy update confirmation unit 33 outputs an update flag is_updated_i=1 indicating that the minimum energy value has been updated to the update count unit 34. The update flag is_updated_i=1 is an example of identification information indicating that the minimum energy value has been updated in the replica circuit of replica number i. The initial value of the update flag is_updated_i is 0. The update flag is_updated_i=0 indicates that the minimum energy value has not been updated.
[0132] In the case of min_eg_pre_i≤min_eg_i, the minimum energy update confirmation unit 33 outputs, for example, is_updated_i=0 for the replica number i to the update number counting unit 34 .
[0133] Figure 8 An example of recording the number of updates for each temperature index is shown.
[0134] The update count register 32 stores the minimum energy value update count in association with the temperature index. For example, the minimum energy value update count for temperature index i is cnt_i. The initial value of cnt_i is 0.
[0135] The update number counting unit 34 acquires the temperature information 41 from the temperature control unit 20. The temperature information 41 indicates the correspondence relationship between the replica numbers and the temperature indexes.
[0136] The update count unit 34 acquires the minimum energy update information 42 from the minimum energy update confirmation unit 33. The minimum energy update information 42 is information of an update flag for each replica number.
[0137] The update number counting unit 34 specifies a temperature index corresponding to the replica number based on the temperature information 41 , and converts the replica number in the minimum energy update information 42 into the temperature index.
[0138] With respect to the minimum energy value update count stored in the update count register 32 , the update count unit 34 adds 1 to the minimum energy value update count of the temperature index corresponding to the replica number whose update flag is “1”.
[0139] The maximum temperature determination unit 35 and the minimum temperature determination unit 36 respectively determine a new maximum temperature value and a new minimum temperature value based on a comparison between the minimum energy value update number for each temperature index stored in the update number register 32 and a threshold value. The threshold value is preset to a value of 0 or greater.
[0140] As an example, consider the case where the threshold value = 0 and the ascending order of the temperature values is the ascending order of the temperature index i.
[0141] In this case, the maximum temperature determination unit 35 determines the temperature value corresponding to the maximum temperature index among the temperature indices satisfying cnt_i>0 as the new maximum temperature value. The minimum temperature determination unit 36 determines the temperature value corresponding to the minimum temperature index among the temperature indices satisfying cnt_i>0 as the new minimum temperature value.
[0142] Alternatively, the maximum temperature determination unit 35 and the minimum temperature determination unit 36 may determine the new maximum temperature value and the new minimum temperature value based on statistical values of the temperature values relative to the number of times the minimum energy value is updated in the update number register 32. For example, the maximum temperature determination unit 35 and the minimum temperature determination unit 36 may obtain, as statistical values, an average value μ of the temperature values relative to the number of times the minimum energy value is updated and a standard deviation σ of the distribution of the temperature values relative to the number of times the minimum energy value is updated.
[0143] Consider that the maximum temperature determination unit 35 sets the temperature value corresponding to the temperature index near the temperature value μ+A*σ as the new maximum temperature value. Also consider that the minimum temperature determination unit 36 sets the temperature value corresponding to the temperature index near the temperature value μ−B*σ as the new minimum temperature value. Both A and B are positive real numbers.
[0144] The update frequency register 32 may record the update frequency of the minimum energy value instead of the number of times the minimum energy value is updated. For example, the update frequency counting unit 34 may record the update frequency per unit period by dividing the cumulative number of updates in the unit periods ST1 to ST4 by the number of unit periods "4".
[0145] Next, an example of a processing procedure of the information processing apparatus 2 will be described.
[0146] Figure 9 is a flowchart illustrating an example of an overall control process of replica exchange.
[0147] ( S10 ) The overall control unit 2 c acquires temperature information indicating an initial temperature value from the outside as input data, and outputs a start signal together with the temperature information to the temperature control unit 20 .
[0148] (S11) The temperature control unit 20 receives a start signal from the overall control unit 2c, sets different initial temperature values T1 to TN in the replica circuits 2a1 to 2aN, and causes the replica circuits to perform a random search. Details of the search process performed by each of the replica circuits 2a1 to 2aN will be described later.
[0149] (S12) When the search by each of the replica circuits 2a1 to 2aN within the unit period is completed, the temperature adjustment unit 2b performs a minimum energy update confirmation process for each of the replica circuits 2a1 to 2aN, the minimum energy update confirmation process including acquiring the energy value obtained in the immediately preceding unit period. Details of the minimum energy update confirmation process will be described later.
[0150] (S13) The replica circuits 2a1 to 2aN transmit energy values for each replica circuit pair having adjacent temperature values, for example, having adjacent temperature indexes, to the temperature control unit 20. The temperature control unit 20 obtains energy values for each replica circuit pair having adjacent temperature values calculated by the replica circuits 2a1 to 2aN.
[0151] (S14) The temperature control unit 20 calculates the swap probability based on formula (4) and performs a swap control process for the temperature values based on the swap probability. The temperature control unit 20 performs a swap control process for the temperature values of each replica circuit pair having adjacent temperature values. The details of the swap control process will be described later.
[0152] (S15) The replica circuits 2a1 to 2aN determine whether the state of the replica circuit with the minimum temperature value has not changed even after executing the predetermined number of replica exchanges. When the state of the replica circuit with the minimum temperature value has not changed, the replica circuits 2a1 to 2aN output these states to the overall control unit 2c and end the overall control process of the replica exchange. In the case where the bit state of the replica circuit with the minimum temperature value has changed, the replica circuits 2a1 to 2aN proceed to step S16.
[0153] (S16) The temperature control unit 20 determines whether it is the temperature adjustment timing. In the case where the temperature adjustment timing is reached, the temperature control unit 20 causes the process to proceed to step S17 and causes the temperature adjustment unit 2b to perform temperature adjustment. In the case where the temperature adjustment timing is not reached, the temperature control unit 20 causes the process to proceed to step S11 and causes the replica circuits 2a1 to 2aN to continue random search. Figure 11 For example, the temperature adjustment timing may be the timing when a predetermined number of unit periods are completed at the beginning of the entire iteration period. The temperature adjustment timing may be provided multiple times throughout the entire iteration period, or may be a periodic timing.
[0154] (S17) The temperature adjustment unit 2b calculates a new maximum temperature value and a new minimum temperature value based on the number of updates of the minimum energy value at each temperature value recorded in the update number register 32. The temperature adjustment unit 2b outputs the calculated maximum temperature value and minimum temperature value to the temperature control unit 20. The temperature control unit 20 calculates N temperature values based on formula (2) and formula (3) by using the new maximum temperature value and the new minimum temperature value. The temperature control unit 20 sets the calculated N temperature values for each of the replica circuits 2a1 to 2aN. The temperature control unit 20 advances the process to step S11 and causes the replica circuits 2a1 to 2aN to continue the random search.
[0155] After acquiring the final state obtained from replica circuits 2a1 to 2aN, overall control unit 2c outputs an end signal to the outside. For example, the end signal includes the final state obtained by each of replica circuits 2a1 to 2aN, or the state corresponding to the minimum energy value among the states. Overall control unit 2c may display information about the state on a display device coupled to information processing device 2, or may transmit the information about the state to another computer coupled to information processing device 2 via a network.
[0156] Figure 10 is a flowchart illustrating an example of a search process.
[0157] The search process corresponds to step S11.
[0158] (S20) The temperature control unit 20 sets different temperature values for the replica circuits 2a1 to 2aN. The initial temperature values set for the replica circuits 2a1 to 2aN are determined in advance based on the problem, etc. After the temperature values are updated in step S17, the updated temperature values are set for the replica circuits 2a1 to 2aN.
[0159] ( S21 ) Each of the replica circuits 2 a 1 to 2 aN calculates the energy change amount ΔE for each bit.
[0160] ( S22 ) Each of the replica circuits 2 a 1 to 2 aN selects a bit to be inverted based on the energy change amount ΔE for each bit.
[0161] ( S23 ) Each of the replica circuits 2 a 1 to 2 aN updates the state by inverting the bit selected in step S22 .
[0162] (S24) Each of the replica circuits 2a1 to 2aN determines whether the unit period has ended. In the case where the unit period has ended, each of the replica circuits 2a1 to 2aN proceeds with the process to step S25. In the case where the unit period has not ended, each of the replica circuits 2a1 to 2aN proceeds with the process to step S21. As described above, the determination as to whether the unit period has ended is made based on whether the predetermined number of iterations corresponding to the unit period has been reached or whether the predetermined time corresponding to the unit period has elapsed.
[0163] (S25) Each of the replica circuits 2a1 to 2aN calculates an energy value corresponding to the current state. Each of the replica circuits 2a1 to 2aN outputs the calculated energy value to the temperature control unit 20 and the temperature adjustment unit 2b, and ends the search process.
[0164] In the case where the minimum energy value obtained by searching at the current temperature value is output to the temperature adjustment unit 2b, each of the replica circuits 2a1 to 2aN calculates the energy value in the current state immediately after step S23 and stores the minimum energy value achieved at the current temperature value. In step S25, each of the replica circuits 2a1 to 2aN outputs the minimum energy value obtained by searching at the current temperature value to the temperature adjustment unit 2b.
[0165] Figure 11 is a flowchart illustrating an example of a minimum energy update confirmation process.
[0166] (S30) The minimum energy update confirmation unit 33 determines whether it is the data collection timing. If it is the data collection timing, the minimum energy update confirmation unit 33 advances the process to step S31. If it is not the data collection timing, the minimum energy update confirmation unit 33 ends the minimum energy update confirmation process. The data collection timing may be each timing when the search process of one unit period executed in parallel by the replica circuits 2a1 to 2aN is completed, or each timing when the search process of two or more unit periods is completed. The data collection timing is preset in the temperature adjustment unit 2b.
[0167] (S31) The minimum energy update confirmation unit 33 obtains the energy value E corresponding to the state obtained by the search at the current temperature value from each of the replica circuits 2a1 to 2aN. The minimum energy update confirmation unit 33 repeatedly performs steps S32 and S33 for all replicas, for example, all replica circuits 2a1 to 2aN.
[0168] (S32) For the corresponding replica circuit, the minimum energy update confirmation unit 33 compares the energy value E obtained this time with the minimum energy value Emin previously obtained in the corresponding replica circuit. In the case where E < Emin, the minimum energy update confirmation unit 33 updates the minimum energy value Emin in the minimum energy register 31 to the energy value E obtained this time for the corresponding replica circuit. In the case where E ≥ Emin, the minimum energy value Emin in the minimum energy register 31 is not updated for the corresponding replica circuit.
[0169] The minimum energy update confirmation unit 33 determines whether the minimum energy value Emin in the minimum energy register 31 has been updated for the corresponding replica circuit. In the case where the minimum energy value Emin has been updated, the minimum energy update confirmation unit 33 notifies the update count unit 34 that the minimum energy value Emin has been updated for the corresponding replica circuit, and causes the process to proceed to step S33. In the case where the minimum energy value Emin has not been updated, the minimum energy update confirmation unit 33 notifies the update count unit 34 that the minimum energy value Emin has not been updated for the corresponding replica circuit, and causes the process to proceed to step S34.
[0170] (S33) When receiving the notification that the minimum energy value has been updated in the corresponding replica circuit, the update count unit 34 designates a temperature index corresponding to the temperature value set for the corresponding replica circuit based on the temperature information 41. The update count unit 34 increments by 1 the minimum energy value update count corresponding to the designated temperature index in the update count register 32.
[0171] (S34) When steps including step S31 and the steps after step S31 have been executed for all replica circuits, the minimum energy update confirmation unit 33 ends the minimum energy update confirmation process.
[0172] For the replica circuit with replica number i, Figure 7 the min_eg_i described in is an example of the energy value E obtained in step S32. For the replica circuit with replica number i, Figure 7 the min_eg_pre_i described in is an example of the minimum energy value Emin stored in the minimum energy register 31 in step S32. For the replica circuit with replica number i, Figure 7 the output described in where is_updated_i = 1 is an example of the notification that the minimum energy value Emin has been updated for the corresponding replica circuit in step S32. After notifying the update count unit 34, the minimum energy update confirmation unit 33 resets is_updated_i to 0.
[0173] Figure 12is a flowchart illustrating an example of a switching control process.
[0174] The switching control process corresponds to step S14.
[0175] (S40) For even-numbered replica circuits arranged in ascending (or descending) order of temperature values, the temperature control unit 20 determines whether to exchange temperature values with a replica circuit having an adjacent higher (or lower) temperature based on the exchange probability of formula (4). The determination of temperature value exchange is performed for each replica circuit pair. If it is determined that there is a replica circuit pair for which temperature values are to be exchanged, the temperature control unit 20 proceeds to step S41. If it is determined that there is no replica circuit pair for which temperature values are to be exchanged, the temperature control unit 20 proceeds to step S42.
[0176] ( S41 ) The temperature control unit 20 exchanges the temperature values of the replica circuit pair determined in step S40 as the ones to exchange temperature values.
[0177] (S42) For the odd-numbered replica circuits arranged in ascending (or descending) order of temperature values, the temperature control unit 20 determines whether to exchange temperature values with the replica circuit having the adjacent higher (or lower) temperature based on the exchange probability of formula (4). The determination of temperature value exchange is performed for each replica circuit pair. In the case where the temperature control unit 20 determines in step S40 whether the even-numbered replica circuit exchanges temperature values with the replica circuit having the higher temperature, the temperature control unit 20 determines in step S42 whether the odd-numbered replica circuit exchanges temperature values with the replica circuit having the higher temperature. In the case where the temperature control unit 20 determines in step S40 whether the even-numbered replica circuit exchanges temperature values with the replica circuit having the lower temperature, the temperature control unit 20 determines in step S42 whether the odd-numbered replica circuit exchanges temperature values with the replica circuit having the lower temperature. In the case where it is determined that there is a replica circuit pair to exchange temperature values, the temperature control unit 20 causes the process to proceed to step S43. In the case where it is determined that there is no replica circuit pair to exchange temperature values, the temperature control unit 20 ends the exchange control process.
[0178] (S43) The temperature control unit 20 exchanges the temperature values of the replica circuit pair whose temperature values are determined to be exchanged in step S42. The temperature control unit 20 ends the exchange control process.
[0179] In the above example, the temperature value exchange control is performed by focusing on the odd-numbered replica circuits after the even-numbered replica circuits. However, the temperature control unit 20 may also perform the temperature value exchange control by focusing on the even-numbered replica circuits after the odd-numbered replica circuits. For example, the temperature control unit 20 may perform steps S40 and S41 after steps S42 and S43. As described above, the temperature control unit 20 may exchange states instead of exchanging temperature values.
[0180] According to the information processing device 2, it is possible to obtain a temperature value suitable for the problem. For example, by determining the maximum temperature value and the minimum temperature value using a replica exchange method based on the number of updates of the minimum energy value at each temperature value, it is possible to set an appropriate temperature value even in a spin glass problem or a problem in which coefficients are amplified and scaled.
[0181] When the temperature value is too high or too low, the minimum energy value may not be updated in the search performed by the search unit 2a. If the minimum energy value is not updated, it means that the state transition will not be performed in the direction of decreasing energy value at the corresponding temperature value. Therefore, the information processing device 2 determines the new temperature value based on the result that the minimum energy value has been updated, and therefore can exclude unnecessary temperature values, which do not contribute to promoting the state transition in the direction of decreasing energy value. In this way, the information processing device 2 can appropriately determine the temperature value. Since the information processing device 2 performs the search based on the determined new temperature value, the search using unnecessary temperature values is no longer performed. Using appropriate temperature values, state transition in the direction of decreasing energy value can be promoted. Therefore, the solution can be effectively obtained, and the solution performance of the information processing device 2 can be improved.
[0182] In summary, the information processing apparatus 2 includes, for example, the following functions including the functions of the information processing apparatus 1 according to the first embodiment.
[0183] The search unit 2 a searches for a ground state represented by a plurality of state variables included in the energy function by using a plurality of temperature values.
[0184] The temperature adjustment unit 2b obtains energy values obtained for the plurality of state variables at a first temperature value among the plurality of temperature values from the search unit 2a. The temperature adjustment unit 2b determines whether the obtained energy value is less than the minimum energy value obtained for the plurality of state variables before the first temperature value is reached. If the obtained energy value is less than the previous minimum energy value, the temperature adjustment unit 2b records update information indicating that the minimum energy value at the first temperature value has been updated. The temperature adjustment unit 2b outputs a second temperature value based on the first temperature value among the plurality of temperature values for which the update information is recorded.
[0185] Thus, a temperature value appropriate for the problem can be obtained. For example, based on the second temperature value, search unit 2a or temperature adjustment unit 2b can obtain a new temperature value, thereby omitting any temperature values from the updated results that do not have the minimum energy value. By searching the ground state at an appropriate temperature value, the solution performance of information processing device 2 is improved.
[0186] The temperature adjustment unit 2 b acquires the minimum energy value among the energy values obtained for the plurality of state variables during the search at the first temperature value as the energy value acquired from the search unit 2 a .
[0187] Therefore, it is possible to appropriately detect that a state below the previous minimum energy value is generated at the corresponding temperature value.
[0188] Search unit 2a performs a search using each of the first and second sets of multiple state variables. The bit string stored in the state update unit (e.g., state update unit 22) of a replica circuit is an example of one set of multiple state variables. However, searches using each set of multiple state variables can be performed in parallel or serially. Search unit 2a can perform a search using each of three or more sets including the first and second sets.
[0189] For example, the temperature adjustment unit 2b determines whether the first value of the energy function for the first set at the first temperature value is less than a first minimum value of the energy function for the first set before reaching the first temperature. If the first value is less than the first minimum value, the temperature adjustment unit 2b records update information for the first temperature value.
[0190] The temperature adjustment unit 2b determines whether the second value of the energy function at the first temperature value for the second set is less than the second minimum value of the energy function obtained for the second set before reaching the first temperature value. If the second value is less than the second minimum value, the temperature adjustment unit 2b records the update information for the first temperature value.
[0191] In this manner, by recording update information at each temperature value using multiple sets of multiple state variables, the accuracy of obtaining update information for each temperature value can be improved.
[0192] The temperature adjustment unit 2b updates the first minimum value stored for the first set to the first value if the first value is less than the first minimum value. The temperature adjustment unit 2b updates the second minimum value stored for the second set to the second value if the second value is less than the second minimum value. The temperature adjustment unit 2b records the number of times the first minimum value and the second minimum value are updated as update information for each of the plurality of temperature values, and specifies a temperature value for determining the second temperature value among the plurality of temperature values based on the number of times recorded for each of the plurality of temperature values.
[0193] Thus, the statistical reliability of the determined temperature values may be increased.
[0194] For example, the second temperature value includes a new maximum temperature value and a new minimum temperature value for searching the base state. The temperature adjustment unit 2b specifies two or more temperature values whose number of records is greater than a threshold value from among the multiple temperature values. The temperature adjustment unit 2b determines the maximum temperature value from among the specified two or more temperature values as the maximum temperature value. The temperature adjustment unit 2b determines the minimum temperature value from among the specified two or more temperature values as the minimum temperature value.
[0195] Therefore, the temperature value where the minimum energy value is updated but the number of updates is relatively small can be excluded, and the range of new temperature values can be narrowed more appropriately. By appropriately determining the temperature value, the decomposition performance of the information processing device 2 can be improved.
[0196] Alternatively, the temperature adjustment unit 2b may calculate statistics of temperature values whose minimum energy values have been updated according to the number of minimum energy value updates for each of the plurality of temperature values, and may specify a first temperature value for determining the second temperature value based on the statistics.
[0197] Therefore, a temperature value suitable for the problem can be obtained. By appropriately determining the temperature value, the solution performance of the information processing device 2 can be improved.
[0198] For example, the temperature adjustment unit 2b may obtain, as statistical values, the average value μ and standard deviation σ of the temperature values relative to the number of times the minimum energy value has been updated, as described above. Based on the first temperature value specified based on the average value μ and standard deviation σ, the temperature adjustment unit 2b may set either or both the maximum temperature value and the minimum temperature value as the second temperature value. For example, as described above, the temperature adjustment unit 2b may set the first temperature value closest to the temperature value μ+A*σ among the multiple first temperature values for which the number of updates has been recorded as the maximum temperature value, and the first temperature value closest to the temperature value μ-B*σ as the minimum temperature value.
[0199] The search unit 2a performs the search through the first set and the search through the second set in parallel. For example, the search unit 2a can solve the same combinatorial optimization problem in parallel by independently using each of the replica circuits 2a1 to 2aN by the SA method without using the replica exchange method.
[0200] Therefore, the search through the respective sets improves the accuracy of acquisition of update information for each temperature value, and the temperature value can be appropriately determined.
[0201] For example, in the case where searches through the respective sets are performed in parallel, the search unit 2a may exchange a temperature value used in the search through the first set with another temperature value used in the search through the second set based on a predetermined exchange probability. For example, the search unit 2a may perform searches in parallel by using the replica circuits 2a1 to 2aN using a replica exchange method.
[0202] Therefore, even when the replica exchange method is used, the temperature value can be appropriately determined.
[0203] Alternatively, the search unit 2a may start the search by the second set after completing the search by using the first set of the plurality of temperature values.
[0204] Therefore, even in the case where the search unit 2a performs a search using only one replica circuit, the accuracy of acquiring the update information for each temperature value by searching through each set can be improved, and the temperature value can be appropriately determined. For example, consider that the search unit 2a first performs a search using the first set using one replica circuit, and then performs a search using the second set, and records the update information for each temperature value performed by the temperature adjustment unit 2b in the course of each search.
[0205] The temperature adjustment unit 2b outputs the determined second temperature value to the search unit 2a. The search unit 2a determines a plurality of other temperature values based on the second temperature value, and performs a search for a ground state corresponding to the energy function by using the determined plurality of other temperature values.
[0206] Therefore, the solution performance of information processing device 2 can be improved. For example, the temperature value can be adjusted based on the search results obtained in a portion of the entire iteration period, and the adjusted temperature value can be used to search for the base state in the subsequent period. This facilitates state transitions in each replica circuit and increases the probability of reaching the optimal solution within a certain period.
[0207] [Third embodiment]
[0208] Next, a third embodiment will be described. Items different from the first and second embodiments described above will be mainly described, and descriptions of common items will be omitted.
[0209] Figure 13 An example of the information processing system according to the third embodiment is shown.
[0210] The information processing system 3 includes an information processing device 4 and an information processing device 5 .
[0211] The information processing apparatus 4 includes a CPU 101 , a RAM 102 , a hard disk drive (HDD) 103 , an input / output (IO) interface 104 , an image signal processing unit 105 , an input signal processing unit 106 , a media reader 107 , and a network interface card (NIC) 108 .
[0212] CPU 101 is a processor that executes program commands. CPU 101 loads at least a portion of a program or data stored in HDD 103 into RAM 102 and executes the program. CPU 101 may include multiple processor cores. Information processing device 4 may include multiple processors. A collection of multiple processors may be referred to as a "multiprocessor" or simply a "processor."
[0213] The RAM 102 is a volatile semiconductor memory that temporarily stores programs executed by the CPU 101 and data used for operations performed by the CPU 101. The information processing apparatus 4 may include a type of memory other than the RAM and may include a plurality of memories.
[0214] The HDD 103 is a non-volatile storage device that stores data and programs of software such as an operating system (OS), middleware, and application software. The information processing device 4 may include other types of storage devices, such as flash memory and a solid-state drive (SSD), and may include multiple non-volatile storage devices.
[0215] The IO interface 104 is coupled to the information processing device 5, and outputs data to the information processing device 5 and inputs data from the information processing device 5 according to instructions from the CPU 101. For example, the IO interface 104 writes data in the RAM 102 to a register or memory of the information processing device 5 according to instructions from the CPU 101, or reads data from the information processing device 5 and writes the data to the RAM 102. As the IO interface 104, for example, a peripheral component interconnect express (PCI-e) or the like is used.
[0216] The image signal processing unit 105 outputs an image to a display 111 coupled to the information processing device 4 in accordance with an instruction from the CPU 101. As the display 111, any type of display such as a cathode ray tube (CRT) display, a liquid crystal display (LCD), a plasma display, or an organic electroluminescence (OEL) display can be used.
[0217] The input signal processing unit 106 acquires an input signal from an input device 112 coupled to the information processing apparatus 4 and outputs the input signal to the CPU 101. A pointing device such as a mouse, a touch panel, a touch pad, or a trackball, a keyboard, a remote controller, a button switch, or the like can be used as the input device 112. Various types of input devices can be coupled to the information processing apparatus 4.
[0218] The media reader 107 is a reading device that reads programs and data recorded in the recording medium 113. For example, a magnetic disk, an optical disk, a magneto-optical disk (MO), a semiconductor memory, or the like can be used as the recording medium 113. The magnetic disk includes a floppy disk (FD) or an HDD. The optical disk includes a compact disk (CD) or a digital versatile disk (DVD).
[0219] The media reader 107 copies the program and data read from the recording medium 113 to another recording medium, such as the RAM 102 or the HDD 103. The read program is executed by the CPU 101, for example. The recording medium 113 may be a portable recording medium or may be used to distribute the program and data. The recording medium 113 and the HDD 103 may be referred to as computer-readable recording media.
[0220] The NIC 108 is an interface that is coupled to the network 6 and communicates with another computer via the network 6. For example, the NIC 108 is coupled to a communication device such as a switch or a router included in the network 6 through a cable.
[0221] The information processing device 5 is an accelerator that performs a base state search using hardware using the SA method or the replica exchange method based on information about the energy function. The information processing device 5 may also be referred to as an Ising machine, an optimization device, or the like. Instead of the information processing device 5, the CPU 101 may execute predetermined software to implement the functions of a search unit that performs a Markov Chain Monte Carlo method, such as the SA method or the replica exchange method.
[0222] Figure 14 An example of the functions of the information processing device is shown.
[0223] The information processing device 4 includes a temperature adjustment unit 4a and a storage unit 4b. The temperature adjustment unit 4a is realized by the CPU 101 executing a program stored in the RAM 102. As the storage unit 4b, a storage area of the RAM 102 or the HDD 103 is used.
[0224] The temperature adjusting unit 4a corresponds to the temperature adjusting unit 1b of the first embodiment or the temperature adjusting unit 2b of the second embodiment and performs the same processing as the temperature adjusting unit 1b or the temperature adjusting unit 2b based on the energy value acquired from the searching unit 5a.
[0225] The storage unit 4b corresponds to the storage unit 1c of the first embodiment and stores the same data as the data stored in the storage unit 1c. Alternatively, the storage unit 4b may store the same data as the minimum energy register 31 and the update number register 32 of the second embodiment.
[0226] The information processing device 5 includes a search unit 5a. The search unit 5a corresponds to the search unit 1a of the first embodiment or the search unit 2a of the second embodiment, and performs the same processing as the search unit 1a or the search unit 2a. The search unit 5a may include a circuit corresponding to one replica circuit and perform a search for a base state using the SA method, or may include multiple replica circuits and perform a search for a base state using the replica exchange method.
[0227] The function of the temperature control unit included in the search unit 5a may be provided in the information processing apparatus 4. For example, the temperature control unit may be realized by the CPU 101 executing a program stored in the RAM 102.
[0228] In the information processing system 3 according to the third embodiment, the temperature adjustment unit 4a adjusts the temperature value set for the search unit 5a in the same manner as the temperature adjustment unit 1b and the temperature adjustment unit 2b. Therefore, in the case where the function of the temperature adjustment unit 4a is realized by an information processing device 4 different from the information processing device 5 including the search unit 5a, as in the first and second embodiments, a temperature value suitable for the problem can be obtained.
[0229] The functions of the search unit 1a and the temperature adjustment unit 1b of the first embodiment can be realized by causing the CPU included in the information processing device 1 to execute a program. The functions of the search unit 2a, the temperature adjustment unit 2b, and the overall control unit 2c of the second embodiment can be realized by causing the CPU included in the information processing device 2 to execute a program. The function of the temperature adjustment unit 4a of the third embodiment can be realized by causing the CPU 101 to execute a program. The program can be recorded in the computer-readable recording medium 113.
[0230] For example, the program can be circulated by distributing the recording medium 113 in which the program is recorded. The program can be stored in another computer and distributed via a network. For example, the computer can store (install) the program recorded in the recording medium 113 or the program received from another computer in a storage device such as the RAM 102 or the HDD 103, and can read the program from the storage device to execute the program.
[0231] [Reference Signs List]
[0232] 1: Information processing equipment
[0233] 1a: Search unit
[0234] 1b: Temperature regulation unit
[0235] 1c: Storage unit
[0236] D1: Minimum energy value information
[0237] D2: Update management information
[0238] [Citation List]
[0239] [Patent Document]
[0240] Japanese Laid-Open Patent Publication No. 2019-133651.
[0241] Japanese Laid-Open Patent Publication No. 9-34951.
Claims
1. An information processing device for solving an optimization problem, comprising: a search unit that performs a search for a ground state represented by a plurality of state variables included in an energy function within a temperature range including a plurality of temperature values, and saves values of the energy function for the plurality of state variables; as well as A temperature regulating unit which: acquiring, for each of the plurality of temperature values arranged in descending order, a value of the energy function obtained by the search unit for the plurality of state variables at the each temperature value in the plurality of temperature values; determining, for each of the plurality of temperature values arranged in descending order, whether the value obtained for each temperature value is less than a minimum value among one or more values of the energy function obtained before reaching each temperature value in descending order; recording, for each of the plurality of temperature values, update information based on a result of the determination for the temperature value, wherein the update information indicates, for each of the plurality of temperature values, whether the minimum value is updated at the each temperature value, and is updated to indicate that the minimum value is updated at the each temperature value if the result of the determination for the each temperature value indicates that the value acquired for the each temperature value is less than the minimum value. In a case where the obtaining and the determining of all temperature values in the plurality of temperature values arranged in descending order have been completed, adjusting the temperature range based on one or more temperature values in the plurality of temperature values, each of the one or more temperature values being a temperature value at which the update information indicates that the minimum value is updated, and The adjusted temperature range is set to the search unit so that the search unit performs a search for the ground state within the adjusted temperature range.
2. The information processing device according to claim 1, in, The temperature adjustment unit acquires, for each of the plurality of temperature values arranged in descending order, a minimum value among a plurality of values of the energy function obtained for the plurality of state variables at each temperature value as the value.
3. The information processing device according to claim 1, in, The search unit performs the search within the temperature range by using each of the first set and the second set of the plurality of state variables, and Wherein, the temperature regulating unit: determining, for each temperature value in the plurality of temperature values arranged in descending order, whether a first value of the energy function at each temperature value is less than a first minimum value of the energy function obtained by using the first set before reaching each temperature value in descending order, recording the update information for each temperature value when the first value obtained for each temperature value is less than the first minimum value; determining, for each temperature value in the plurality of temperature values arranged in descending order, whether a second value of the energy function at each temperature value is less than a second minimum value of the energy function obtained by using the second set before reaching each temperature value in descending order, and The update information is recorded for each temperature value when the second value obtained for each temperature value is less than the second minimum value.
4. The information processing device according to claim 3, in, The temperature regulating unit: When the first value is less than the first minimum value, updating the first minimum value stored for the first set to the first value, When the second value is less than the second minimum value, updating the second minimum value stored for the second set to the second value, and recording, for each of the plurality of temperature values, the number of times the first minimum value and the second minimum value have been updated as the update information, and A temperature value for determining the adjusted temperature range is specified from the plurality of temperature values based on the number of times recorded for each of the plurality of temperature values.
5. The information processing device according to claim 4, in, The adjusted temperature range includes a new maximum temperature value and a new minimum temperature value for the search, and Wherein, the temperature regulating unit: specifying two or more temperature values of the plurality of temperature values whose recorded times are greater than a threshold value, determining a maximum temperature value among the two or more temperature values as the maximum temperature value, and A minimum temperature value among the two or more temperature values is determined as the minimum temperature value.
6. The information processing device according to claim 4, in, The temperature regulating unit: calculating a statistical value of temperature values at which the minimum value of the energy function has been updated based on the number of times each of the plurality of temperature values has been updated, and A temperature value for determining the adjusted temperature range is specified based on the statistical value.
7. The information processing device according to claim 3, in, The search unit performs a search through the first set and a search through the second set in parallel.
8. The information processing device according to claim 7, in, The search unit exchanges a temperature value used in the search through the first set among the plurality of temperature values with another temperature value used in the search through the second set among the plurality of temperature values based on a predetermined exchange probability.
9. The information processing device according to claim 1, in, The temperature adjustment unit outputs the adjusted temperature range to the search unit, and Wherein, the search unit: determining a plurality of other temperature values based on the adjusted temperature range, and A search for a ground state corresponding to the energy function is performed by using the plurality of other temperature values.
10. An information processing method for solving an optimization problem, implemented by an information processing device, the information processing device comprising a search unit configured to perform a search for a basis state represented by a plurality of state variables included in an energy function within a temperature range including a plurality of temperature values, the method comprising: acquiring, for each of the plurality of temperature values arranged in descending order, a value of the energy function obtained by the search unit for the plurality of state variables at the each temperature value in the plurality of temperature values; determining, for each of the plurality of temperature values arranged in descending order, whether the value obtained for each temperature value is less than a minimum value among one or more values of the energy function obtained before reaching each temperature value in descending order; recording, for each of the plurality of temperature values, update information based on a result of the determination for the temperature value, wherein the update information indicates, for each of the plurality of temperature values, whether the minimum value is updated at the each temperature value, and is updated to indicate that the minimum value is updated at the each temperature value if the result of the determination for the each temperature value indicates that the value acquired for the each temperature value is less than the minimum value. In a case where the obtaining and the determining of all temperature values in the plurality of temperature values arranged in descending order have been completed, adjusting the temperature range based on one or more temperature values in the plurality of temperature values, each of the one or more temperature values being a temperature value at which the update information indicates that the minimum value is updated, and The adjusted temperature range is set to the search unit so that the search unit performs a search for the ground state within the adjusted temperature range.
11. A non-transitory computer-readable storage medium storing a program for causing an information processing device to execute the following processing, the information processing device being a computer for solving an optimization problem, the computer including a search unit configured to perform a search for a basis state represented by a plurality of state variables included in an energy function within a temperature range including a plurality of temperature values, the processing comprising: acquiring, for each of the plurality of temperature values arranged in descending order, a value of the energy function obtained by the search unit for the plurality of state variables at the each temperature value in the plurality of temperature values; determining, for each of the plurality of temperature values arranged in descending order, whether the value obtained for each temperature value is less than a minimum value among one or more values of the energy function obtained before reaching each temperature value in descending order; recording, for each of the plurality of temperature values, update information based on a result of the determination for the temperature value, wherein the update information indicates, for each of the plurality of temperature values, whether the minimum value is updated at the each temperature value, and is updated to indicate that the minimum value is updated at the each temperature value if the result of the determination for the each temperature value indicates that the value acquired for the each temperature value is less than the minimum value; and In a case where the obtaining and the determining of all temperature values in the plurality of temperature values arranged in descending order have been completed, adjusting the temperature range based on one or more temperature values in the plurality of temperature values, each of the one or more temperature values being a temperature value at which the update information indicates that the minimum value is updated, and The adjusted temperature range is set to the search unit so that the search unit performs a search for the ground state within the adjusted temperature range.
Citation Information
Patent Citations
Combination optimizing method
JP1997034951A
Optimization apparatus and optimization apparatus control method
JP2019133651A
Optimization apparatus and control method thereof
US20190235834A1