Optimization device, optimization calculation method, and optimization program
Patent Information
- Application Number
- PCT/JP2023/033144
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-12
- Publication Date
- 2025-03-20
Smart Images

Figure JP2023033144_20032025_PF_FP_ABST
Abstract
Description
Optimization device, optimization calculation method, and optimization program
[0001] The present invention relates to an optimization apparatus, an optimization calculation method, and an optimization program suitable for improving convergence in device-based large-scale simulated annealing using probabilistic bits (p-bits).
[0002] Recently, a new device model known as the probabilistic bit (p-bit) has been proposed. Unlike a conventional bit, which can only exist in a 0 or 1 state, a probabilistic bit can exist in various states between 0 and 1, with each state occurring with a certain probability. The p-bit is a versatile computational model that can be implemented in software and novel probabilistic devices such as magnetoresistive random access memory (MRAM). Furthermore, it can be approximated by digital circuits such as field-programmable gate arrays (FPGAs). This probabilistic nature makes the p-bit a useful tool for solving certain problems that require a certain degree of randomness or uncertainty.
[0003] Applications of probabilistic bits extend to the construction of neural networks known as Boltzmann machines, and they are particularly well suited to applications involving reversible logic and simulated annealing (SA), a stochastic optimization method used to solve combinatorial optimization problems in a variety of real-world problems, including the maximum cut problem, a type of network analysis problem, and machine learning.
[0004] Combinatorial optimization problems are expressed using an Ising model that represents energy. Energy is expressed by a Hamiltonian defined as in [Equation 4]. Here, σi∈{−1, +1} is a binary output signal, h is the bias of the probability bit, and J is the weight between the probability bits. Different h and J are assigned depending on the combinatorial optimization problem. Meanwhile, in SA, attempts have been made to develop a computing device that can solve combinatorial optimization problems such as NP problems by simulating an Ising model (see Patent Document 1).
[0005] International Publication No. 2015 / 156126
[0006] Using probabilistic bits in simulated annealing of the Ising model, i.e., probabilistic bit-based simulated annealing (pSA), is theoretically capable of solving large-scale problems. A potential advantage of pSA is its ability to update nodes in parallel, as opposed to the serial update method of conventional SA. This means that multiple nodes in a network can be updated simultaneously, rather than one at a time, potentially speeding up convergence to a global minimum energy state and the process of finding an optimal solution. Previous research has demonstrated that pSA can effectively solve small-scale problems. However, the effectiveness of pSA appears to decrease as probabilistic bit devices are used to solve larger problems. Previous simulations have shown that pSA has significant difficulty finding solutions for larger problems. More specifically, the energy of the Ising model does not decrease as expected, remaining high. This indicates that pSA has difficulty finding optimal or near-optimal solutions for large-scale problems. This is explained using Figure 1.
[0007] Figure 1 is a schematic diagram illustrating device-based simulated annealing (pSA) using probability bits. The probability bits shown at the top of Figure 1(a) operate probabilistically based on the equations shown at the bottom of Figure 1(a). The combinatorial optimization problem is represented by an Ising model representing the energy (Hamiltonian), as shown in Figure 1(b) and as [Equation 4]. Based on the Ising model, each probability bit is biased by h and connected to other probability bits by weight J. As simulated annealing progresses, the pseudo-inverse temperature I gradually increases and reaches a global minimum energy Hmin, as shown in Figure 1(c). pSA attempts to lower the energy of the Ising model by changing the state σi of the probability bits. When the energy reaches the global minimum energy, σi becomes the solution to the combinatorial optimization problem.
[0008] As a result of intensive investigations by the present inventors, it has been discovered that the inability to reduce the energy of the Ising model, which is a problem that arises in the optimization process, is due to the fact that pSA operates as a feedback system, with the output of one stage becoming the input to the next stage, causing oscillation, which prevents energy reduction.
[0009] To identify and understand the issues inherent in pSA, we performed simulations of pSA using the G1 problem described below. The pSA algorithm was run using Python 3.11 on an Apple M1 Ultra with 128 GB of memory. Figure 2 shows a graph illustrating the oscillation of the spin states of probability bits, which hinders energy reduction. G1 is a specific combinatorial optimization problem called the max-cut problem in the G-set benchmark 23. The G1 graph consists of 800 randomly interconnected nodes and 19,176 edges. To manage the simulated annealing process of pSA, the pseudo-inverse temperature Io is gradually increased over time from Iomin to Iomax according to the equation Io(t+1) = Io(t) / β, where β is 0.995, Iomin is 0.0149, and Iomax is 1.49 (see Figure 2(a)).
[0010] As shown in Figure 2(a), as pSA progresses, the pseudo-inverse temperature I increases to control the pSA. At this time, the average of all probability bit states fluctuates between "-1" and "+1" in each cycle, as shown in Figure 2(b). This oscillation causes an unexpected problem. As shown in Figure 2(c), the energy begins to increase rather than decrease toward a global minimum. This suggests that pSA has not reached the optimal solution. Normally, if simulated annealing is successful, the energy should be minimized.
[0011] In view of the problems inherent in pSA, the present invention aims to provide an optimization device, an optimization calculation method, and an optimization program that are suitable for eliminating oscillations between probability bits and improving convergence in device-based simulated annealing using probability bits.
[0012] In order to achieve this objective, the present invention provides an optimization device that performs calculations using simulated annealing (pSA) using probability bits (p-bits) to optimize an optimization target, and is characterized in that the calculations are performed using an oscillation prevention means that prevents the spin state of the probability bits from oscillating as the calculation cycle time window progresses.
[0013] The present invention is also characterized in that the oscillation prevention means prevents oscillation of the spin states of the probability bits by partially inactivating the spin states of the probability bits.
[0014] The present invention is also characterized in that the oscillation prevention means is a means for taking the average of the input signal to the probability bit within a time window of α cycles.
[0015] The present invention is also characterized in that the oscillation prevention means is realized by the following equations [Equation 1] and [Equation 2], and the spin is composed of a probability bit and the equations [Equation 1] and [Equation 2]. Here, T1i(t+1) is a temporary value used in the time-average calculation, h is the magnitude of the bias possessed by the spin itself, J is the strength of the interaction between spins, σ is the spin output, I is the pseudo-inverse temperature, and α is the size of the time window.
[0016] Furthermore, the present invention is characterized in that in the formula (2), α≧2, and further, α≧4.
[0017] The present invention is also characterized in that the oscillation prevention means is a means for performing calculations so that the input signal to the probability bit takes the same value with probability p as the input signal to the probability bit one cycle before.
[0018] The present invention is also characterized in that the oscillation prevention means is realized by the following formula [3], and the spin is composed of the probability bit and the formula [3]. Here, Ii(t) represents the real-valued input signal of the probability bit, I0 represents the pseudo-inverse temperature, hi represents the magnitude of the bias possessed by the spin itself, Jij represents the strength of the interaction between spins, and σ represents the output of the spin.
[0019] Furthermore, the present invention is characterized in that in the formula (3), p≧0.1, and further, p≧0.5.
[0020] The present invention is also characterized in that, in an optimization calculation method for optimizing an optimization target by performing calculations using simulated annealing (pSA) using probability bits (p-bits), the method includes a step of preventing the spin state of the probability bits from oscillating as the calculation cycle time window progresses.
[0021] The present invention also provides an optimization program that causes a computer equipped with a control means for performing calculations using probability bits (p-bits) and simulated annealing (pSA) to execute a step of preventing the spin state of the probability bits from oscillating as the calculation cycle time window progresses.
[0022] 1 is a schematic diagram illustrating device-based simulated annealing (pSA) with large-scale probabilistic bits; 2 is a graph illustrating the oscillation of the spin state of the probabilistic bits, hindering energy reduction; 3 is a graph showing the results of a simulation analysis of TApSA on a G1 graph with different time window sizes α; 4 is a graph showing normalized cut values when using the TApSA algorithm with varying time window sizes α for different max-cut problems; 5 is a graph showing the results of a simulation analysis of SpSA on a G58 graph with probabilistic bits stopping with different probabilities p; 6 is a graph showing normalized cut values when using the SpSA algorithm with varying probability p of stopping for different max-cut problems; 7 is a graph showing a comparative analysis of cut values on a G1 graph for three simulated annealing algorithms: pSA, TApSA, and SpSA.
[0023] The present invention will be described in detail with reference to tables and graphs. Two embodiments using different algorithms will be described below. These two embodiments share the commonality of preventing the spin state of a probability bit from oscillating as the calculation cycle time window progresses. More specifically, the two embodiments also share the commonality of preventing oscillation of the spin state of a probability bit by partially deactivating the spin state of the probability bit and mitigating fluctuations due to the spin state.
[0024] (First Embodiment: Time-Average Probability Bit-Based SA) The algorithm according to the first embodiment of the present invention is time-average probability bit-based SA (TApSA). The TApSA algorithm is inspired by stochastic simulated annealing (SSA). SSA uses a method called stochastic computing to approximate the behavior of probability bits and is particularly suited to simulated annealing processes. Stochastic computing is a computational technique that expresses values as the frequency (time average) of 1s in a bit stream. This allows time-series computations to be performed in a hardware-efficient manner in terms of physical area usage. Stochastic computing has been successfully applied in a variety of computational applications, including low-density parity-check decoders, image processing, digital filters, and deep neural networks.
[0025] Contrary to pSA, SSA has been shown to be able to effectively solve large-scale combinatorial optimization problems, suggesting that the new SSA-inspired TApSA algorithm may be able to overcome the limitations of conventional pSA when dealing with large-scale problems.
[0026] The time-average operation is an important element for solving the problems of pSA in terms of partially deactivating the spin states of probability bits and mitigating fluctuations due to the spin states. The proposed TApSA incorporates the time-average operation into the pSA algorithm. This operation is defined by the following equations: [Equation 1] and [Equation 2]. where TIi(t+1) is the temporary value used for the time averaging calculation, hi is the magnitude of the bias possessed by the spin itself, Jij is the strength of the interaction between spins, σ is the spin output, I0 is the pseudo-inverse temperature, and the variable α is the size of the time window over which TIi(t+1) is averaged. Ii(t+1) is the input probability bit.
[0027] The set of equations in Equation 1 and Equation 2 is responsible for calculating the time average of the input signal of the probability bits. This operation effectively smooths the signal over a time window, helping to reduce random fluctuations and noise in the signal. Another effect of the time averaging operation is to emphasize the low frequency components of the signal, or to emphasize the low frequency components while reducing the high frequency components.
[0028] (Second embodiment: SA based on stalled p-bit) The algorithm according to the second embodiment of the present invention is SA based on stalled p-bit (SpSA). SpSA is inspired by sparse random signals used in reversible logic operations. Inversion logic is an application of random bits, enabling bidirectional operations of arbitrary functions. The sparse random signal is applied to probabilistically stall, or stall, the addition of random signals to the reversible logic operation, resulting in a reduced error rate.
[0029] The SpSA algorithm stochastically stops the operation of probability bits. Specifically, in SpSA, the input of probability bits represented as Ii(t) is stochastically stopped to maintain the same value Ii(t) as in the previous time step. That is, it is defined by the following equation (3): Here, Ii(t) is the real-valued input signal of the probability bit, I0 is the pseudo-inverse temperature, hi is the magnitude of the bias of the spin itself, Jij is the strength of the interaction between spins, and σ is the spin output. Also, in equation (3), the input Ii(t+1) of the probability bit at time t+1 either stops with probability p (i.e., becomes the same as the input Ii(t) at time t) or takes on a new value with probability (1-p). This approach is a significant departure from conventional pSA.
[0030] (Performance Evaluation Method of Proposed Algorithms) The proposed TApSA algorithm (first embodiment) and SpSA algorithm (second embodiment) are evaluated by solving the max-cut problem using Python 3.11 on an Apple M1 Ultra with 128 GB memory. Two max-cut benchmarks, G set and K2000, shown in Table 1, are used for the simulation. The G set contains Gxx graphs with different node sizes and edge connections, while K2000 is a fully connected graph with edge weights of -1 or +1. Before the simulated annealing process begins, the Ising model J is assigned based on the graph weight.
[0031] The simulated annealing algorithm relies on the manipulation of the pseudo-inverse temperature, a value that plays a crucial role in the annealing process that explores the solution space. During the simulated annealing process, the pseudo-inverse temperature Io gradually increases over time from an initial value Iomin to a maximum value Iomax according to the formula Io(t+1) = Io(t) / β. The hyperparameters of the simulated annealing process, such as Iomin, Iomax, and β, are not arbitrarily selected; rather, they are determined according to specific statistical methods designed to optimize the performance of the simulated annealing algorithm (SSA). Table 2 shows the statistically determined hyperparameters. The pseudo-inverse temperature gradually increases over time from Imin to Imax according to the formula I(t+1) = I(t) / β. In this evaluation, the initial temperature is 1 and the final temperature is 1 / 1000. γ = 0.1 and δ = 10 are also used.
[0032] A total of 1,000 simulated cycles were run for each of the simulated annealing algorithms, including TApSA, SpSA, pSA, and conventional SA. This number of cycles allowed the annealing system ample opportunity to explore the solution space and converge on a solution. Due to the inherent randomness of these probabilistic algorithms, evaluation was not limited to a single trial. Instead, 100 separate trials were run for each algorithm to more accurately understand its performance. The results of these trials were used to calculate the minimum, average, and maximum cut values for the max-cut problem, providing a comprehensive evaluation of the algorithm's performance.
[0033] (Performance Evaluation Results of the First Embodiment) A simulation analysis of the TApSA algorithm, which is the first embodiment, will now be described. FIG. 3 is a graph showing the results of a simulation analysis of TApSA on a G1 graph (within the G set) with different time window sizes α. Specifically, the graphs show the results of simulating the TApSA algorithm on a G1 graph with varying time window sizes α, with FIG. 3(a) showing the case where α = 2, FIG. 3(b) showing the case where α = 3, and FIG. 3(c) showing the case where α = 4. In each case, the upper graph shows the spin state of the probability bit, and the lower graph shows the energy state. During the annealing process, the pseudo-inverse temperature I is gradually increased over 1000 cycles from Imin = 0.0149 to Imax = 1.49, according to the formula I(t+1) = I(t) / 0.995. When α is 1, TApSA exhibits the same behavior as pSA. However, increasing α can smooth the probability bit signals. When α = 2, the average of all probability bit states oscillates between -1 and +1. This oscillation pattern means that two distinct states alternate during the algorithm's execution. However, this behavior does not lead to a decrease in the system's energy toward the global minimum. Instead, it causes an increase in the energy level. Similarly, when α is increased to 3, the oscillation persists, but its initiation cycle is delayed compared to when α = 2. Despite this delayed onset of oscillation, the energy of the Ising model still increases and does not converge to the global minimum energy. However, when α is increased to 4, a significant change in behavior occurs. In this case, no oscillation is observed in the average probability bit states. This causes the energy of the Ising model to steadily decrease, eventually reaching the global minimum energy. Therefore, for this particular graph and set of conditions, setting α to 4 promotes effective optimization and guides the annealing system toward the global minimum energy state.
[0034] Figure 4 shows graphs of the normalized cut values obtained using the TApSA algorithm for different max-cut problems with varying time window sizes α. Figure 4(a) shows the normalized cut values for the G1 graph, Figure 4(b) shows the normalized cut values for the G11 graph, Figure 4(c) shows the normalized cut values for the G58 graph, and Figure 4(d) shows the normalized cut values for the K2000 graph. More specifically, we performed simulations of the TApSA algorithm to evaluate the normalized cut values for the max-cut problems G1, G11, G58, and K2000, varying the time window size α from 1 to 10. Varying the time window size affects the behavior of the TApSA algorithm and the resulting cut values. To evaluate performance, we calculate normalized cut values by dividing the minimum, average, and maximum cut values by the best known value for each benchmark graph. This normalization process enables fair comparisons across different graph structures and scales. The time window size α plays a key role in determining the quality of the solution and can control the behavior of the TApSA algorithm. When α is increased up to a certain value, the cutoff value can be close to the best known value due to the absence of oscillations. The peak of the normalized average cutoff value is obtained at different α depending on the graph.
[0035] For reference, Table 3 shows the parameters for controlling the pseudo inverse temperature I0. These parameters are determined based on the previously shown Table 2. The number of cycles is 1000.
[0036] As mentioned earlier, increasing α to a certain value eliminates the algorithm's oscillations, and the cutoff value tends to approach the optimal value. However, once α exceeds this optimal value, the normalized cutoff value begins to decrease slightly as α continues to increase. This suggests that while increasing α can improve performance up to a certain point, increasing the time window size too much can have detrimental effects. Interestingly, the specific value of α that results in a peak in the normalized average cutoff value varies from graph to graph. This indicates that the optimal time window size is not universal but depends on the specific characteristics of the graph being analyzed. The reason for this difference in optimal α values is the weights present in each graph, as shown in Table 1. For example, G1 and G58 only have a weight of +1, while G11 and K2000 have weights of -1 and +1. Such weight imbalances can lead to strong oscillations in the algorithm. A large α value helps to mitigate these oscillations, effectively smoothing the search through the solution space and improving its ability to find the global minimum energy. As mentioned above, in the simulation on the G1 graph, setting α to 4 promotes effective optimization, but as can be seen from the G11 graph and the K2000 graph, effective optimization is also promoted when α = 2. From this, it can be understood that setting α = 4 is not an essential condition in the present invention.
[0037] (Performance Evaluation Results of the Second Embodiment) A simulation analysis of the SpSA algorithm of the second embodiment will now be described. FIG. 5 is a graph showing the results of a simulation analysis of SpSA on a G58 graph (in the G set) having probability bits that stop with different probabilities p. That is, this graph shows the results of a simulation of the SpSA algorithm on a G58 graph in which the probability bit stopping probability p is changed, with FIG. 5(a) showing the case where p = 0.1, FIG. 5(b) showing the case where p = 0.3, and FIG. 5(c) showing the case where p = 0.5. In each case, the upper graph shows the spin state of the probability bit, and the lower graph shows the energy state.
[0038] As shown in Figures 5(a) and 5(b), when p is 0.1 and 0.3, the average value of all probability bit states oscillates between "-1" and "+1," and the energy increases rather than decreases. On the other hand, as shown in Figure 5(c), when p is 0.5, no oscillation occurs, and the energy drops to the global minimum energy. In this way, it can be seen that SpSA can also solve the oscillation problem that pSA had.
[0039] To be more specific, when p is equal to 0, there is no difference in the behavior of the SpSA and pSA algorithms. When p becomes 0.1, the average of all probability bit states begins to oscillate, alternating between -1 and +1. This oscillation mirrors the behavior observed in the TApSA algorithm with a small α, resulting in an increase in the energy level of the system, which typically means fewer optimal solutions. When p increases to 0.3, oscillations continue, but their magnitude decreases compared to when p = 0.1. The behavior of the SpSA algorithm changes most dramatically when p reaches 0.5. In this situation, the oscillation of the probability bits completely stops. Without oscillation, the energy of the Ising model steadily decreases, and as the energy decreases, it approaches the optimal solution, eventually achieving a global minimum energy, which represents the best solution.
[0040] Figure 6 shows graphs illustrating the normalized cut values obtained using the SpSA algorithm for different max-cut problems, varying the probability p of random bit termination. Figure 6(a) shows the normalized cut values for the G1 graph, Figure 6(b) shows the normalized cut values for the G11 graph, Figure 6(c) shows the normalized cut values for the G58 graph, and Figure 6(d) shows the normalized cut values for the K2000 graph. More specifically, we performed simulations of the SpSA algorithm for the max-cut problems G1, G11, G58, and K2000, varying the probability p of random bit termination from 0 to 0.9, and evaluating the normalized cut values. As p increases to a certain value, oscillations disappear, as with TApSA, and the cut value tends to approach an optimal value. Once p exceeds this optimal value, the normalized cut value begins to decrease slightly as p continues to increase. The specific value of p at which the normalized average cut value peaks varies depending on the graph.
[0041] Based on simulation results for TApSA and SpSA, increasing α has a similar effect to increasing p in terms of eliminating critical oscillations for effective optimization. For both TApSA and SpSA, there are optimal values of α and p that provide the best performance in terms of normalized cutoff. However, these optimal values are not universal and depend on the characteristics of the graph. Furthermore, exceeding these optimal values may actually degrade performance. As previously mentioned, simulations on the G58 graph show that setting p to 0.5 promotes effective optimization, but the K2000 graph also shows that setting p to 0.1 promotes effective optimization. This demonstrates that setting p to 0.5 is not a necessary condition for the present invention.
[0042] Performance Comparison Between Different Algorithms Figure 7 shows a comparative analysis of cut values on the G1 graph for three simulated annealing algorithms: pSA, TApSA, and SpSA. Figure 7(a) shows the cut values for pSA, Figure 7(b) shows the cut values for TApSA, and Figure 7(c) shows the cut values for SpSA. To evaluate the effectiveness of these algorithms in determining cut values, 1000 cycles of simulation were performed for each, repeated 100 times. These repeated simulations collected a substantial amount of data, allowing for robust evaluation of the minimum, average, and maximum cut values. As shown in Figure 7(a), all cut values using pSA were found to be zero, which is due to oscillations observed during the annealing process. This means that the pSA algorithm is unstable under these conditions and does not yield feasible cut values. For the TApSA and SpSA algorithms, simulations were performed with the most favorable parameters of α = 4 and p = 0.6, respectively. The selection of these specific values was determined based on previous experiments and analysis that demonstrated superior performance. TApSA and SpSA both outperformed pSA and achieved near-optimal solutions, as shown in Figures 7(b) and 7(c). This is primarily due to the design of the TApSA and SpSA algorithms, which eliminated the oscillations observed in the pSA algorithm.
[0043] Furthermore, the TApSA and SpSA proposed in the present invention were compared with the conventional SA and pSA methods using the G set and K2000 benchmark, as shown in Table 4. We found that the pSA algorithm was unable to consistently reduce the energy of the Ising model, resulting in a specific pattern in the average cut value. When the graph weight was only +1, the average cut value was 0, and conversely, when the weight was -1 or +1, the average cut value was negative. On the other hand, the conventional SA algorithm provided better cut values compared to pSA. However, these values still deviated significantly from the best-known values, leaving room for improvement. Surprisingly, the proposed algorithms, TApSA and SpSA, demonstrated substantial advantages over both pSA and conventional SA. These algorithms achieved near-optimal solutions in all 16 benchmarks, as shown in Table 4. This demonstrates the effectiveness of these proposed algorithms and their potential practical applications in solving similar optimization problems.
[0044] Stochastic simulated annealing (SSA) is another type of stochastic bit-based simulated annealing, and is known to outperform pSA and SA in some combinatorial optimization problems, so we will also compare it with SSA.
[0045] Because SSA approximates the tanh function using probabilistic calculations, it is implemented using digital hardware. From the perspective of energy consumption, TApSA and SpSA are expected to consume less energy than SSA due to the nature of their implementation. While the digital implementation of SSA is approximated using hundreds of transistors, the probabilistic bit is a single device, resulting in a compact hardware implementation. In the future, TApSA and SpSA, which are large-scale probabilistic bit-based simulated annealing algorithms, may be more advantageous in terms of energy and area than SSA.
[0046] MTJ elements, which are one of the practical realizations of probabilistic bits, are close to being mass-produced. However, these MTJ elements are designed to store 0s and 1s, and have a different device structure from probabilistic bits that operate probabilistically. Although only a few dozen MTJ elements operating as probabilistic bits are currently in operation at the research level, if they are mass-produced and incorporated into general-purpose PCs, the TApSA and SpSA proposed as the present invention will also be embodied as program inventions that run on such general-purpose PCs. In other words, the present invention can also be conceived as a program invention.
[0047] The above describes in detail the optimization apparatus, optimization calculation method, and optimization program according to embodiments of the present invention. However, the specific configurations are not limited to these embodiments, and design changes within the scope of the present invention are also included within the scope of the present invention. In particular, given that the pSA described herein operates as a feedback system, with the output of one stage serving as the input to the next stage, causing oscillation and hindering energy reduction, it should be fully understood that the present invention, which breaks this oscillation, can be applied to large-scale problems other than the G set and K2000 used as benchmarks. Furthermore, the required values of α and p vary depending on the characteristics of the problem, and it is not the case that the system will not function unless α and p exceed a predetermined value. Partially deactivating the spin state of the probability bit, and thus preventing oscillation as the calculation cycle time window progresses, are necessary and sufficient to achieve the desired function, and it should be properly recognized that this is the core of the technical concept of the present invention.
Claims
1. An optimization device that optimizes an optimization target by performing calculations using simulated annealing (pSA) with probability bits (p-bits), characterized in that the calculations are performed using an oscillation prevention means that prevents the spin state of the probability bits from oscillating as the calculation cycle time window progresses.
2. The optimization device according to claim 1, characterized in that the oscillation prevention means prevents oscillation of the spin state of the probability bit by partially inactivating the spin state of the probability bit.
3. The optimization device according to claim 1 or 2, characterized in that the oscillation prevention means is a means for taking the average of an input signal to the probability bit within a cycle time window of α times.
4. The optimization device according to claim 1, characterized in that the oscillation prevention means is realized by the following equations [Mathematical formula 1] and [Mathematical formula 2], and the spin is composed of a probability bit and the equations [Mathematical formula 1] and [Mathematical formula 2]. Here, T is a temporary value used in the time average calculation, h is the magnitude of the bias that the spins themselves have, J is the strength of the interaction between spins, σ is the spin output, I is the pseudo inverse temperature, and α is the size of the time window.
5. The optimization device according to claim 4, characterized in that in the formula [2], α≧2.
6. The optimization device according to claim 4, characterized in that, in the formula [2], α≧4.
7. An optimization device according to claim 1 or 2, characterized in that the oscillation prevention means is a means for performing calculations so that the input signal to the probability bit takes the same value, with probability p, as the input signal to the probability bit one cycle before.
8. The optimization device according to claim 7, wherein the oscillation prevention means is realized by the following formula [3], and the spin is composed of a probability bit and the formula [3]. Here, Ii(t) represents the real-valued input signal of the probability bit, I0 represents the pseudo inverse temperature, hi represents the magnitude of the bias that the spin itself has, Jij represents the strength of the interaction between spins, and σ represents the output of the spin.
9. The optimization device according to claim 8, wherein in the formula (3), p≧0.
1.
10. The optimization device according to claim 8, wherein in the formula (3), p≧0.
5.
11. An optimization calculation method for optimizing an optimization target by performing calculations using simulated annealing (pSA) with probability bits (p-bits), the optimization calculation method including a step of preventing the spin state of the probability bits from oscillating as the calculation cycle time window progresses.
12. An optimization program that causes a computer having a control means for performing calculations using probability bits (p-bits) and simulated annealing (pSA) to execute a step of preventing the spin state of the probability bits from oscillating as the calculation cycle time window progresses.