JP2022177458A - Information processing device, method for processing information, and program - Google Patents

Information processing device, method for processing information, and program Download PDF

Info

Publication number
JP2022177458A
JP2022177458A JP2021083725A JP2021083725A JP2022177458A JP 2022177458 A JP2022177458 A JP 2022177458A JP 2021083725 A JP2021083725 A JP 2021083725A JP 2021083725 A JP2021083725 A JP 2021083725A JP 2022177458 A JP2022177458 A JP 2022177458A
Authority
JP
Japan
Prior art keywords
update
spins
spin
state
annealing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021083725A
Other languages
Japanese (ja)
Inventor
一志 川村
Kazushi Kawamura
真人 本村
Masato Motomura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tokyo Institute of Technology NUC
Original Assignee
Tokyo Institute of Technology NUC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tokyo Institute of Technology NUC filed Critical Tokyo Institute of Technology NUC
Priority to JP2021083725A priority Critical patent/JP2022177458A/en
Publication of JP2022177458A publication Critical patent/JP2022177458A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

To provide an information processing device that can obtain an excellent solution promptly.SOLUTION: An annealing control unit 110 controls an annealing step and also controls a parameter of a temperature, a parameter of a self action, and update try rates of spins in the Ising model. An instantaneous magnetic field calculation unit 120 calculates instantaneous magnetic fields of spins in parallel. An update probability calculation unit 130 calculates update probabilities of spins in parallel on the basis of the instantaneous magnetic fields. A spin state determination unit 150 determines states of spins in parallel on the basis of the update probability and the update try rates.SELECTED DRAWING: Figure 9

Description

本発明は、情報処理装置、情報処理方法及びプログラムに関する。 The present invention relates to an information processing device, an information processing method, and a program.

例えば量子アニーリング又はシミュレーテッドアニーリング等の、イジングモデルの基底状態を探索する問題を求解するためのアニーリングアルゴリズム(焼き鈍し法)が知られている。例えば、特許文献1は、自己作用のパラメータを導入することによって、イジングモデルの全スピンの状態を並列に更新することが可能な情報処理装置を開示する。 Annealing algorithms are known for solving the problem of searching for the ground state of the Ising model, for example quantum annealing or simulated annealing. For example, Patent Literature 1 discloses an information processing device capable of parallel updating the states of all spins of an Ising model by introducing self-action parameters.

特開2021-43508号公報Japanese Patent Application Laid-Open No. 2021-43508

特許文献1にかかる技術では、イジングモデルの全スピンの状態を並列に更新することによって、スピンの状態を逐次的に更新するシミュレーテッドアニーリングよりも高速な処理を実現できる。また、特許文献1にかかる技術では、自己作用のパラメータの値を小さくすると、更新されるスピンの数が増加する傾向となるので、処理をさらに高速にすることが可能となる。しかしながら、自己作用のパラメータの値を小さくすると、イジングモデルにおける状態が正常に収束しないおそれがある。したがって、特許文献1にかかる技術では、高速な処理を実現しつつ、イジングモデルにおける状態を正常に収束させることは困難である。したがって、特許文献1にかかる技術では、良質な解を高速に得ることは困難である。 In the technique disclosed in Patent Document 1, by updating the states of all spins of the Ising model in parallel, it is possible to realize faster processing than simulated annealing that sequentially updates the states of spins. In addition, in the technique according to Patent Document 1, when the value of the self-action parameter is decreased, the number of spins to be updated tends to increase, so it is possible to further speed up the processing. However, if the value of the self-action parameter is reduced, the state in the Ising model may not converge normally. Therefore, with the technique according to Patent Document 1, it is difficult to normally converge the state of the Ising model while realizing high-speed processing. Therefore, it is difficult for the technique disclosed in Patent Literature 1 to obtain a high-quality solution at high speed.

本発明は、良質な解を高速に得ることが可能な情報処理装置、情報処理方法及びプログラムを提供することを目的とする。 An object of the present invention is to provide an information processing apparatus, an information processing method, and a program capable of obtaining a high-quality solution at high speed.

本発明にかかる情報処理装置は、イジングモデルを用いて解を求める情報処理装置であって、アニーリングのステップを制御するとともに、温度のパラメータと、自己作用のパラメータと、前記イジングモデルにおける複数のスピンの更新試行率とを制御するアニーリング制御部と、前記複数のスピンの瞬間磁場を並列に計算する瞬間磁場計算部と、前記瞬間磁場に基づいて、前記複数のスピンの更新確率を並列に計算する更新確率計算部と、前記更新確率と前記更新試行率とに基づいて、前記複数のスピンの状態を並列に決定するスピン状態決定部と、を有する。 An information processing apparatus according to the present invention is an information processing apparatus that obtains a solution using an Ising model, and controls an annealing step, a temperature parameter, a self-action parameter, and a plurality of spins in the Ising model. An annealing control unit that controls the update trial rate of the spins, an instantaneous magnetic field calculation unit that calculates the instantaneous magnetic fields of the plurality of spins in parallel, and an update probability of the plurality of spins based on the instantaneous magnetic fields is calculated in parallel. An update probability calculation unit and a spin state determination unit that determines states of the plurality of spins in parallel based on the update probability and the update trial rate.

また、本発明にかかる情報処理方法は、イジングモデルを用いて解を求める情報処理方法であって、アニーリングのステップを制御するとともに、温度のパラメータと、自己作用のパラメータと、前記イジングモデルにおける複数のスピンの更新試行率とを制御し、前記複数のスピンの瞬間磁場を並列に計算し、前記瞬間磁場に基づいて、前記複数のスピンの更新確率を並列に計算し、前記更新確率と前記更新試行率とに基づいて、前記複数のスピンの状態を並列に決定する。 Further, an information processing method according to the present invention is an information processing method for obtaining a solution using an Ising model. and controlling the update trial rate of the spins, calculating the instantaneous magnetic fields of the plurality of spins in parallel, calculating the update probabilities of the plurality of spins in parallel based on the instantaneous magnetic fields, and calculating the update probability and the update The states of the plurality of spins are determined in parallel based on the trial rate.

また、本発明にかかるプログラムは、イジングモデルを用いて解を求める情報処理方法を実現するプログラムであって、アニーリングのステップを制御するとともに、温度のパラメータと、自己作用のパラメータと、前記イジングモデルにおける複数のスピンの更新試行率とを制御する処理と、前記複数のスピンの瞬間磁場を並列に計算する処理と、前記瞬間磁場に基づいて、前記複数のスピンの更新確率を並列に計算する処理と、前記更新確率と前記更新試行率とに基づいて、前記複数のスピンの状態を並列に決定する処理と、をコンピュータに実行させる。 Further, a program according to the present invention is a program that implements an information processing method for obtaining a solution using an Ising model, and controls an annealing step, a temperature parameter, a self-action parameter, and the Ising model. A process of controlling the update trial rate of a plurality of spins in the above, a process of calculating the instantaneous magnetic fields of the plurality of spins in parallel, and a process of calculating the update probabilities of the plurality of spins in parallel based on the instantaneous magnetic fields. and determining the states of the plurality of spins in parallel based on the update probability and the update trial rate.

本発明によれば、良質な解を高速に得ることが可能な情報処理装置、情報処理方法及びプログラムを提供できる。 ADVANTAGE OF THE INVENTION According to this invention, the information processing apparatus, information processing method, and program which can obtain a good solution at high speed can be provided.

比較例にかかるスピンシステムを示す図である。FIG. 10 is a diagram showing a spin system according to a comparative example; 比較例にかかるスピン状態の更新を模式的に示す図である。FIG. 9 is a diagram schematically showing updating of spin states according to a comparative example; 比較例にかかるアニーリング処理を示すフローチャートである。9 is a flowchart showing annealing processing according to a comparative example; 比較例にかかる手法にてアニーリングアルゴリズムを実行した場合のシミュレーション結果を例示する図である。FIG. 10 is a diagram illustrating simulation results when an annealing algorithm is executed by a technique according to a comparative example; 比較例にかかる手法にてアニーリングアルゴリズムを実行した場合のシミュレーション結果を例示する図である。FIG. 10 is a diagram illustrating simulation results when an annealing algorithm is executed by a technique according to a comparative example; 比較例にかかる手法にてアニーリングアルゴリズムを実行した場合のシミュレーション結果を例示する図である。FIG. 10 is a diagram illustrating simulation results when an annealing algorithm is executed by a technique according to a comparative example; 本実施の形態にかかる更新試行率を説明するための図である。FIG. 4 is a diagram for explaining an update trial rate according to the embodiment; FIG. 本実施の形態にかかる更新試行率を説明するための図である。FIG. 4 is a diagram for explaining an update trial rate according to the embodiment; FIG. 実施の形態1にかかる情報処理装置の構成を示す図である。1 is a diagram showing a configuration of an information processing apparatus according to a first embodiment; FIG. 実施の形態1にかかる更新試行率の関数を例示する図である。4 is a diagram illustrating a function of update trial rate according to the first embodiment; FIG. 実施の形態1にかかる情報処理装置によって実行される情報処理方法を示すフローチャートである。4 is a flow chart showing an information processing method executed by the information processing apparatus according to the first embodiment; 実施の形態1にかかるスピン状態決定部の処理を説明するための図である。4 is a diagram for explaining processing of a spin state determination unit according to the first embodiment; FIG. 実施の形態1にかかる手法にてアニーリングアルゴリズムを実行した場合のシミュレーション結果を例示する図である。FIG. 7 is a diagram illustrating simulation results when an annealing algorithm is executed by the technique according to the first embodiment; 実施の形態1にかかる手法にてアニーリングアルゴリズムを実行した場合のシミュレーション結果を例示する図である。FIG. 7 is a diagram illustrating simulation results when an annealing algorithm is executed by the technique according to the first embodiment; 実施の形態1にかかる手法にてアニーリングアルゴリズムを実行した場合のシミュレーション結果を例示する図である。FIG. 7 is a diagram illustrating simulation results when an annealing algorithm is executed by the technique according to the first embodiment; 実施の形態1にかかる情報処理装置で実現可能な別のアルゴリズムについて説明するための図である。FIG. 7 is a diagram for explaining another algorithm that can be implemented by the information processing apparatus according to the first embodiment; FIG.

(実施の形態の概要)
実施の形態の説明に先立って、本発明にかかる実施の形態の概要について説明する。なお、以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
(Overview of Embodiment)
Prior to describing the embodiments, an outline of the embodiments according to the present invention will be described. Although embodiments of the present invention will be described below, the following embodiments do not limit the invention according to the claims. Also, not all combinations of features described in the embodiments are essential for the solution of the invention.

<シミュレーテッドアニーリングについて>
まず、一般的なシミュレーテッドアニーリング(Simulated Annealing:SA)による組み合わせ最適化問題について説明する。組み合わせ最適化問題は、以下の式1で示されるエネルギーHを最小化するσを求めることと等価である。言い換えると、組み合わせ最適化問題は、エネルギーHが式1で与えられるイジングモデルの、最小エネルギー状態(基底状態)を求める問題に等しい。式1は、シミュレーテッドアニーリングにおけるエネルギー関数(ハミルトニアン)を示す。

Figure 2022177458000002
・・・(1) <About Simulated Annealing>
First, a combinatorial optimization problem by general simulated annealing (SA) will be described. The combinatorial optimization problem is equivalent to finding σ that minimizes the energy H shown in Equation 1 below. In other words, the combinatorial optimization problem is equivalent to the problem of finding the minimum energy state (ground state) of the Ising model whose energy H is given by Equation (1). Equation 1 shows the energy function (Hamiltonian) in simulated annealing.
Figure 2022177458000002
... (1)

ここで、式1の左辺のσは、以下の式2で定義されるベクトル(σの組み合わせ;スピン配列)である。また、σ(及びσ)は、σの成分である。

Figure 2022177458000003
・・・(2) Here, σ on the left side of Equation 1 is a vector (combination of σ i ; spin array) defined by Equation 2 below. Also, σ i (and σ j ) are components of σ.
Figure 2022177458000003
... (2)

ここで、σは、イジングモデルにおけるスピン(ノード;格子点)iの状態(イジングスピン)を示す二値パラメータ(状態パラメータ)である。式2に示すように、σは、-1又は+1のいずれかの値をとる。なお、以下の説明において、便宜上、スピンiの意味で、σを用いることがある。また、Nは、スピン数である。また、式1のJijは、スピンi(σ)とスピンj(σ)との間の相互作用(結合の強さ)を示す相互作用係数(結合係数)である。相互作用係数Jijは、例えば、スピンiとスピンjとの間の距離、又は、スピンiとスピンjとの間の重みを示す。また、hは、スピンi(σ)に対する外部磁場を示す外部磁場係数である。なお、相互作用係数Jij及び外部磁場係数hは、アニーリングアルゴリズムによる求解の対象である問題に応じて予め与えられる。つまり、解くべき組み合わせ最適化問題が決定すれば、相互作用係数Jij及び外部磁場係数hは一意に定まり得る。 Here, σ i is a binary parameter (state parameter) indicating the state (Ising spin) of spin (node; lattice point) i in the Ising model. As shown in Equation 2, σ i takes on values of either −1 or +1. In the following description, σ i may be used to mean spin i for convenience. Also, N is the number of spins. J ij in Equation 1 is an interaction coefficient (coupling coefficient) that indicates the interaction (coupling strength) between spin i (σ i ) and spin j (σ j ). The interaction coefficient J ij indicates, for example, the distance between spin i and spin j, or the weight between spin i and spin j. Also, h i is an external magnetic field coefficient indicating an external magnetic field for spin i(σ i ). The interaction coefficient J ij and the external magnetic field coefficient h i are given in advance according to the problem to be solved by the annealing algorithm. That is, once the combinatorial optimization problem to be solved is determined, the interaction coefficient J ij and the external magnetic field coefficient h i can be uniquely determined.

また、シミュレーテッドアニーリングにおいて、組み合わせ最適化問題は、式1のエネルギーHを最小化するσを探索することに対応する。基底状態におけるスピン状態は、以下の式3で表される。σは、最小エネルギー状態をとるスピン状態の組み合わせを示す。

Figure 2022177458000004
・・・(3) Also, in simulated annealing, the combinatorial optimization problem corresponds to searching for σ that minimizes the energy H in Eq. The spin state in the ground state is represented by Equation 3 below. σ g denotes the spin state combination that takes the minimum energy state.
Figure 2022177458000004
... (3)

ここで、一般的に、Hを最小化するσを解析的に解くことはできない。そのため、解を確率的にサンプリングすることによって探索することが行われる。例えば、モンテカルロ法に基づくシミュレーテッドアニーリングアルゴリズムが実行される。そして、アニーリングステップが進むにつれて、更新スピン数(各アニーリングステップで更新されるスピンの数;フリップ数)が減少し、式1で示したエネルギーHが低下していくように、シミュレーテッドアニーリングアルゴリズムが実行される。そして、基底状態に近づくにつれて、更新スピン数は0に収束し、エネルギーHは、最低エネルギーに収束していく。つまり、アニーリングアルゴリズムの実行が進むにつれて、イジングモデルにおける状態が収束していく。 Here, in general, σ that minimizes H cannot be solved analytically. Therefore, the search is done by probabilistically sampling the solution. For example, a simulated annealing algorithm based on the Monte Carlo method is performed. Then, as the annealing step progresses, the number of updated spins (the number of spins updated in each annealing step; the number of flips) decreases, and the simulated annealing algorithm is operated so that the energy H shown in Equation 1 decreases. executed. As the ground state is approached, the number of updated spins converges to 0, and the energy H converges to the lowest energy. That is, as the execution of the annealing algorithm progresses, the state in the Ising model converges.

ここで、シミュレーテッドアニーリングにおいて、全スピン間に相互作用を持つ全結合型(完全グラフ)のイジングモデルでは、各スピンの状態の更新(フリップ)が、他の全てのスピンの状態に影響を及ぼす。したがって、スピンの状態を並列に更新することができず、1つ1つのスピンの状態を、逐次、更新する。したがって、シミュレーテッドアニーリングでは、処理速度(収束速度)が遅くなるおそれがある。 Here, in simulated annealing, in a fully connected (complete graph) Ising model with interactions between all spins, updating (flipping) the state of each spin affects the state of all other spins. . Therefore, the states of the spins cannot be updated in parallel, and the states of each spin are updated sequentially. Therefore, simulated annealing may slow down the processing speed (convergence speed).

これに対し、特許文献1(以下、「比較例」と称する)にかかる技術では、自己作用のパラメータqを導入することによって、イジングモデルの全スピンの状態を並列に更新することが可能である。比較例では、SCA(stochastic cellular automata annealing:確率的セルラオートマタアニーリング)と呼ばれる手法を用いて、アニーリングアルゴリズムを実行している。以下、比較例にかかる技術について、説明する。 On the other hand, in the technique according to Patent Document 1 (hereinafter referred to as a "comparative example"), by introducing the self-action parameter q, it is possible to update the states of all spins of the Ising model in parallel. . In a comparative example, an annealing algorithm is performed using a technique called stochastic cellular automata annealing (SCA). A technique according to a comparative example will be described below.

<比較例について>
図1は、比較例にかかるスピンシステムを示す図である。図1は、スピン数N=5とした場合の例を示している。図1では、各スピンを円で示し、円の中の矢印の方向が、対応するスピンの状態を示している。ここで、上向きの矢印は、対応するスピンの状態が「+1」であることを示し、下向きの矢印は、対応するスピンの状態が「-1」であることを示している。したがって、σ=-1、σ=+1、σ=-1、σ=+1、σ=+1である。
<Comparative example>
FIG. 1 is a diagram showing a spin system according to a comparative example. FIG. 1 shows an example in which the number of spins N=5. In FIG. 1, each spin is indicated by a circle, and the direction of the arrow within the circle indicates the state of the corresponding spin. Here, an upward arrow indicates that the corresponding spin state is "+1", and a downward arrow indicates that the corresponding spin state is "-1". Therefore, σ 1 =−1, σ 2 =+1, σ 3 =−1, σ 4 =+1, σ 5 =+1.

また、τは、σの次の状態に対応する。つまり、比較例では、各スピンσに対するコピーであるレプリカスピンτを導入している。ここで、図1において、各スピンσは、全てのレプリカスピンτと結合しているが、他のスピンσと結合していない。同様に、各レプリカスピンτは、他のレプリカスピンτと結合していない。これにより、スピン状態の並列更新を妨げるσ-σ間の相互作用(依存性)を排除することができる。したがって、比較例では、スピン状態の並列更新を行うことが可能となる。なお、図1において、σからτに向かっている太線の矢印は、自己作用を示している。 Also, τ i corresponds to the next state of σ i . In other words, the comparative example introduces a replica spin τ i that is a copy of each spin σ i . Here, in FIG. 1, each spin σ i is coupled with all replica spins τ, but is not coupled with other spins σ j . Similarly, each replica spin τ i is uncoupled with other replica spins τ j . This eliminates the σ-σ interaction (dependence) that prevents parallel update of the spin state. Therefore, in the comparative example, it is possible to update the spin states in parallel. In addition, in FIG. 1, the thick arrow pointing from σ i to τ i indicates self-action.

ここで、比較例にかかるエネルギー関数(ハミルトニアン)は、以下の式4のように表される。言い換えると、スピン状態の並列更新を実現するために、式1に示したエネルギー関数が、以下の式4のように書き換えられる。

Figure 2022177458000005
・・・(4) Here, the energy function (Hamiltonian) according to the comparative example is represented by Equation 4 below. In other words, the energy function shown in Eq. 1 is rewritten as Eq.
Figure 2022177458000005
... (4)

ここで、式4において、左辺のτは、上記の式2に対応するベクトル(τの組み合わせ;スピン配列)である。また、Jijは、スピンσとスピンτとの間の相互作用を示す。また、qは、スピンσとスピンτとの間の自己作用を示す自己作用係数(パラメータ)である。そして、自己作用係数qは、スピンの更新を抑制する機能を有する。 Here, in Equation 4, τ on the left side is a vector (combination of τ i ; spin arrangement) corresponding to Equation 2 above. Also, J ij denotes the interaction between the spins σ i and τ j . Also, q is a self-action coefficient (parameter) indicating the self-action between the spin σ i and the spin τ i . The self-action coefficient q has a function of suppressing spin update.

また、右辺第3項は、スピン状態が更新されるとエネルギーHを+2qだけ増加させる、ペナルティ項として機能する。すなわち、スピン更新処理の後でスピンσの状態が変化すると(つまりσ≠τ)、式4の右辺の第3項は、+2qとなる。このことは、1つのスピン状態が変化すると、系のエネルギーが2q増加することを示している。一方、スピンσの状態が変化しない場合(つまりσ=τ)、式4の右辺の第3項は、0となる。また、このとき、式4の右辺第1項及び第2項は、それぞれ、式1の右辺第1項及び第2項と実質的に同じとなる。したがって、このとき、式4は、式1と等価となる。ここで、自己作用係数qが大きいと、第3項がペナルティ項として機能しやすくなるので、スピンが反転されにくいようになる。つまり、自己作用係数qが大きいと、更新スピン数が減少する。これに対し、自己作用係数qが小さいほどスピンの反転が容易となる。つまり、自己作用係数qが小さいと、更新スピン数が増加する。 Also, the third term on the right side functions as a penalty term that increases the energy H by +2q when the spin state is updated. That is, if the state of spin σ i changes after the spin update process (that is, σ i ≠τ i ), the third term on the right side of Equation 4 becomes +2q. This indicates that a change in one spin state increases the energy of the system by 2q. On the other hand, if the state of spin σ i does not change (that is, σ ii ), the third term on the right side of Equation 4 is zero. Also, at this time, the first and second terms on the right side of Equation 4 are substantially the same as the first and second terms on the right side of Equation 1, respectively. Therefore, Equation 4 is equivalent to Equation 1 at this time. Here, when the self-action coefficient q is large, the third term tends to function as a penalty term, so that the spin is less likely to be reversed. That is, when the self-action coefficient q is large, the number of update spins decreases. On the other hand, the smaller the self-action coefficient q, the easier the spin reversal. That is, when the self-action coefficient q is small, the number of updated spins increases.

なお、上述したように、基底状態に近づくにつれて、更新スピン数は減少していく。したがって、基底状態では、σ=τ(及びσ=τ)となる。したがって、理論的には、基底状態では、式4は、式1と等価となり得る。したがって、適切な条件では、比較例にかかるアルゴリズム(SCA)における基底状態(最小エネルギー状態)に対応するスピン状態(式2で示したベクトル;スピン配列)で、シミュレーテッドアニーリングでも、基底状態(最小エネルギー状態)となるはずである。 As described above, the number of updated spins decreases as the ground state is approached. Therefore, in the ground state, σ ii (and σ jj ). Therefore, in theory, Equation 4 can be equivalent to Equation 1 in the ground state. Therefore, under appropriate conditions, even in simulated annealing, the ground state (minimum energy state).

図2は、比較例にかかるスピン状態の更新を模式的に示す図である。上述したように、各スピンσは、他のスピンσと結合していない。同様に、各スピンτは、他のスピンτと結合していない。これにより、スピン状態の並列更新を妨げるσ-σ間の相互作用が排除されているので、図2に示すように、比較例では、スピン状態の並列更新を行うことが可能となる。つまり、一度のモンテカルロステップにおいて、σの状態からτの状態への更新、σの状態からτの状態への更新、σの状態からτの状態への更新、及びσの状態からτの状態への更新を、並列して行うことが可能となる。なお、τ~τは、次のモンテカルロステップにおいて、σ~σとなる。 FIG. 2 is a diagram schematically showing updating of the spin state according to the comparative example. As mentioned above, each spin σ i is not coupled with other spins σ j . Similarly, each spin τ i is uncoupled with other spins τ j . This eliminates the σ-σ interaction that hinders the parallel update of the spin state, so that the spin state can be updated in parallel in the comparative example, as shown in FIG. 2 . That is, in one Monte Carlo step, the state of σ 1 is updated to the state of τ 1 , the state of σ 2 is updated to the state of τ 2 , the state of σ 3 is updated to the state of τ 3 , and the state of σ 4 is updated . from the state of τ to the state of τ 4 can be performed in parallel. Note that τ 1 to τ 4 become σ 1 to σ 4 in the next Monte Carlo step.

図3は、比較例にかかるアニーリング処理を示すフローチャートである。まず、データの初期化を行う(処理S101)。具体的には、アニーリングステップtを初期値「0」に設定する。また、アニーリングステップtの最大ステップ(tmax)を設定し、スピンの更新を何回繰り返すかを設定する。また、温度Tを、初期値Tに設定する。あるいは、逆温度β(=1/T)を、初期値βに設定する。 FIG. 3 is a flowchart showing annealing processing according to a comparative example. First, data is initialized (process S101). Specifically, the annealing step t is set to the initial value "0". Also, the maximum step (t max ) of the annealing step t is set, and how many times the spin update is repeated. Also, the temperature T is set to an initial value T0 . Alternatively, the inverse temperature β (=1/T) is set to the initial value β0 .

また、イジングモデルにおけるN個のスピン(ノード)σのそれぞれに対してランダムに初期状態を設定する。スピンの値は2値であればよいが、ここでは+1と-1とする。また、各ノードσに対して外部磁場係数hを定め、各ノード間(σ-σ間)の相互作用係数Jijを定める。そして、自己作用係数qを初期値qに設定する。これらのデータは、モデルに基づいて定められ、アニーリングマシンに設定される。 Also, an initial state is randomly set for each of the N spins (nodes) σ in the Ising model. Although the spin value may be binary, it is assumed here to be +1 and -1. Also, an external magnetic field coefficient h i is determined for each node σ i and an interaction coefficient J ij between each node (between σ i and σ j ) is determined. Then, the self-action coefficient q is set to the initial value q0 . These data are determined based on the model and set in the annealing machine.

次に、スピン状態の更新を行う(処理S102~S104)。まず、処理S102において、瞬間磁場(局所場:local field)を計算する。瞬間磁場は、以下の式5によって計算される。

Figure 2022177458000006
・・・(5) Next, the spin state is updated (processes S102 to S104). First, in process S102, an instantaneous magnetic field (local field) is calculated. The instantaneous magnetic field is calculated by Equation 5 below.
Figure 2022177458000006
... (5)

ここで、便宜上、本明細書において、式5の左辺を、「」と表す。瞬間磁場は、各スピンについて、並列に計算される。ここで、σ (t)は、スピンiの、ステップtにおけるスピン状態を示す。 Here, for the sake of convenience, the left side of Equation 5 is expressed as " ~ h i " in this specification. The instantaneous magnetic field ~ h i is computed in parallel for each spin. where σ i (t) denotes the spin state of spin i at step t.

そして、処理S103において、それぞれのスピンσ(i=1~N)について、更新確率Pを、並列に計算する。具体的には、以下の式6で示すように、シグモイド関数を用いて、更新確率Pを計算する。

Figure 2022177458000007
・・・(6) Then, in process S103, update probabilities P i are calculated in parallel for each spin σ i (i=1 to N). Specifically, as shown in Equation 6 below, a sigmoid function is used to calculate the update probability P i .
Figure 2022177458000007
... (6)

処理S104では、スピンの更新確率Pによって、各スピンσ(i=1~N)の更新可否を決定し、並列的に更新する。スピン状態が更新される場合、σ←-σとなる。これにより、そのアニーリングステップtにおける各スピンのスピン状態σが得られる。例えば、スピンごとに、0以上1未満の一様乱数randを生成し、乱数randと更新確率Pとを比較して、P>randの場合に、スピンiの状態σを更新する。 In step S104, whether or not each spin σ i (i=1 to N) can be updated is determined based on the spin update probability P i , and updated in parallel. If the spin state is updated, then σ i ←−σ i . This gives the spin state σ of each spin at that annealing step t. For example, a uniform random number rand of 0 or more and less than 1 is generated for each spin, the random number rand is compared with the update probability P i , and if P i >rand, the state σ i of the spin i is updated.

処理S105では、アニーリングパラメータを更新する。具体的には、アニーリングステップを1進める(t←t+1)。また、温度Tまたは逆温度βを更新する((T←T(t))あるいは(β←β(t)))。また、自己作用係数qを更新する(q←q(t))。ここで、T(t)、β(t)、q(t)は、ユーザによって予め定義された関数とする。 In process S105, the annealing parameters are updated. Specifically, the annealing step is advanced by 1 (t←t+1). Also, the temperature T or the inverse temperature β is updated ((T←T(t)) or (β←β(t))). Also, the self-action coefficient q is updated (q←q(t)). Here, T(t), β(t) and q(t) are functions predefined by the user.

なお、T(t)、β(t)、q(t)の設定は、ユーザが任意に選択できる。一般に、アニーリングステップが進むにつれて、温度Tは次第に小さくなり、Tの逆数である逆温度βは次第に大きくなっていく。また、q(t)は、原理的に、図1に示した上側のスピン群のi番目のスピンσと下側のスピン群のi番目のスピンτとが、基底状態において同値となるように設定すればよい。すなわちアニーリングの最終ステップにおいて、q(t)が十分大きくなるような関数を選ぶ。一般に、最後のアニーリングのステップにおいて、q(t)は最大値を取る。 The settings of T(t), β(t), and q(t) can be arbitrarily selected by the user. In general, as the annealing step progresses, the temperature T gradually decreases and the inverse temperature β, which is the reciprocal of T, gradually increases. In principle, q(t) has the same value in the ground state for the i-th spin σ i of the upper spin group and the i-th spin τ i of the lower spin group shown in FIG. should be set as follows. That is, in the final step of annealing, a function is chosen such that q(t) is sufficiently large. In general, at the last annealing step, q(t) takes its maximum value.

処理S106において、アニーリングステップtがtmax未満であるか否かが判定される。t<tmaxである場合(S106のYES)、S102~S105の処理が繰り返される。一方、アニーリングステップtがtmaxになると(S106のNO)、スピン配列σ(i=1~N)を読み出して、最適化されたスピン配列として出力する(処理S107)。 In operation S106, it is determined whether the annealing step t is less than tmax . If t<t max (YES in S106), the processes of S102 to S105 are repeated. On the other hand, when the annealing step t reaches t max (NO in S106), the spin array σ i (i=1 to N) is read out and output as an optimized spin array (process S107).

<比較例の問題点>
ここで、比較例の問題点について説明する。上述したように、自己作用係数qが大きいと、更新スピン数が減少し、したがって、収束速度が低下する。一方、自己作用係数qが小さいと、更新スピン数が増加し、したがって、収束速度が増加する。したがって、良質な解(基底状態におけるエネルギーが低くなるようなスピン状態)を高速に得るためには、自己作用係数qを小さくする必要がある。しかしながら、以下に説明するように、自己作用係数qが小さいと、イジングモデルにおける状態(更新スピン数及びエネルギー)の収束が正常に行われない可能性がある。
<Problem of Comparative Example>
Here, problems of the comparative example will be described. As mentioned above, a large self-action coefficient q reduces the number of updated spins and thus reduces the convergence speed. On the other hand, when the self-action coefficient q is small, the number of update spins increases and thus the convergence speed increases. Therefore, in order to quickly obtain a good solution (a spin state in which the energy in the ground state is low), it is necessary to reduce the self-action coefficient q. However, as described below, if the self-action coefficient q is small, the state (updated spin number and energy) in the Ising model may not converge normally.

図4~図6は、比較例にかかる手法にてアニーリングアルゴリズムを実行した場合のシミュレーション結果を例示する図である。図4~図6は、スピン数N=2000の場合の例を示している。また、図4~図6において、横軸は、モンテカルロステップの回数、つまり、アニーリングステップtを示す。また、左側の縦軸は、エネルギーHを示す。また、右側の縦軸は、更新スピン数を示す。これらのことは、後述する他のシミュレーション結果においても同様である。 4 to 6 are diagrams exemplifying simulation results when the annealing algorithm is executed by the method according to the comparative example. 4 to 6 show an example in which the number of spins N=2000. 4 to 6, the horizontal axis indicates the number of Monte Carlo steps, that is, the annealing step t. Also, the vertical axis on the left side indicates the energy H. FIG. The vertical axis on the right side indicates the number of update spins. These are the same for other simulation results to be described later.

また、図4~図6において、矢印Aで示す曲線は、式1で示す系(SA)のエネルギーHを示す。つまり、矢印Aで示す曲線は、各アニーリングステップについて、比較例にかかる手法でアニーリングアルゴリズムを実行して得られたスピン状態σを式1に代入して得られたエネルギーHの、アニーリングステップごとの軌跡を示す。 In FIGS. 4 to 6, the curve indicated by arrow A indicates the energy H of the system (SA) indicated by Equation (1). That is, the curve indicated by the arrow A is the energy H obtained by substituting the spin state σ obtained by executing the annealing algorithm by the method according to the comparative example into Equation 1 for each annealing step. Show the trajectory.

また、矢印Bで示す曲線は、式4で示す系(SCA)のエネルギーHを示す。つまり、矢印Bで示す曲線は、各アニーリングステップについて、比較例にかかる手法でアニーリングアルゴリズムを実行して得られたスピン状態σ及びτを式4に代入して得られたエネルギーHの、アニーリングステップごとの軌跡を示す。 A curve indicated by an arrow B indicates the energy H of the system (SCA) indicated by Equation 4. That is, the curve indicated by arrow B is the energy H obtained by substituting the spin states σ and τ obtained by executing the annealing algorithm by the method according to the comparative example into Equation 4 for each annealing step. shows the trajectory of each

また、矢印Cで示す曲線は、アニーリングステップごとの更新スピン数の軌跡を示す。更新スピン数は、各アニーリングステップの前後でスピン状態が変化した(+1→-1又は-1→+1)スピンの数である。また、図4~図6の下の表において、Hmeanは、アニーリングアルゴリズムの実験を複数回(ここでは128回)実行した場合の、シミュレーションの最終状態における式1で示す系のエネルギーの平均値である。また、Hminは、その場合のシミュレーションの最終状態における式1で示す系のエネルギーの最小値である。また、Hmaxは、その場合のシミュレーションの最終状態における式1で示す系のエネルギーの最大値である。これらのことは、後述する他のシミュレーション結果においても同様である。なお、理想的には、シミュレーションの最終状態は、基底状態に対応する。 Also, the curve indicated by arrow C indicates the trajectory of the updated spin number for each annealing step. The number of updated spins is the number of spins whose spin state changed (+1→−1 or −1→+1) before and after each annealing step. In addition, in the lower tables of FIGS. 4 to 6, H mean is the average value of the energy of the system shown in Equation 1 in the final state of the simulation when the experiment of the annealing algorithm is executed multiple times (here, 128 times). is. Also, H min is the minimum value of the energy of the system represented by Equation 1 in the final state of the simulation in that case. Also, H max is the maximum value of the energy of the system represented by Equation 1 in the final state of the simulation in that case. These are the same for other simulation results to be described later. Note that ideally, the final state of the simulation corresponds to the ground state.

ここで、比較例にかかるアニーリングアルゴリズムを実行すると、各アニーリングステップについて、スピン状態σの組み合わせ(σ(i=1~N))が得られる(図3のS104)。そして、得られた各スピン状態σ(i=1~N)を式1に代入することで、式1で示す系のエネルギーHが得られる。同様に、得られた各スピン状態σ(i=1~N)と、スピン状態σに対応するτ(σの次のスピン状態)とを式4に代入することで、式4で示す系のエネルギーHが得られる。 Here, when the annealing algorithm according to the comparative example is executed, a combination of spin states σ (σ i (i=1 to N)) is obtained for each annealing step (S104 in FIG. 3). Then, by substituting each obtained spin state σ i (i=1 to N) into Equation 1, the energy H of the system shown in Equation 1 can be obtained. Similarly, by substituting each obtained spin state σ i (i=1 to N) and τ i (spin state next to σ i ) corresponding to the spin state σ i into Equation 4, Equation 4 The energy H of the system shown by is obtained.

また、図4は、q=10.538の場合のシミュレーション結果を示す。また、図5は、q=5.296の場合のシミュレーション結果を示す。また、図6は、q=3.513の場合のシミュレーション結果を示す。図4及び図5の例では、式1で示す系のエネルギー、式4で示す系のエネルギー及び更新スピン数は、正常に収束している。したがって、この場合、適切に、基底状態に近い状態を得ることができる。また、図4及び図5の下の表のエネルギーHの値から、qの値が小さい方が、シミュレーションの最終状態(基底状態に近い状態)におけるエネルギーHが低いことが分かる。 Also, FIG. 4 shows the simulation results for q=10.538. Also, FIG. 5 shows the simulation results for q=5.296. Also, FIG. 6 shows the simulation results for q=3.513. In the examples of FIGS. 4 and 5, the energy of the system represented by Equation 1, the energy of the system represented by Equation 4, and the number of updated spins converge normally. Therefore, in this case, a state close to the ground state can be appropriately obtained. Also, from the values of the energy H in the lower tables of FIGS. 4 and 5, it can be seen that the smaller the value of q, the lower the energy H in the final state of the simulation (a state close to the ground state).

一方、図6の例では、矢印Bで示すように、式4で示す系のエネルギーは、見かけ上、収束しているが、矢印A及びCで示すように、式1で示す系のエネルギー及び更新スピン数は、収束していない。したがって、図6の例では、イジングモデルにおける状態が正常に収束しているとは言えない。 On the other hand, in the example of FIG. 6, as indicated by arrow B, the energy of the system indicated by formula 4 apparently converges, but as indicated by arrows A and C, the energy of the system indicated by formula 1 and The number of update spins has not converged. Therefore, in the example of FIG. 6, it cannot be said that the state in the Ising model converges normally.

すなわち、式6で表された更新確率pは、アニーリングステップが進むにつれて、式4で示したエネルギー関数Hが下がるように、構成されている。そして、図4及び図5の例のようにqが大きい場合、qによる影響が大きいので、式4の右辺第3項を小さくするようにスピン状態が更新されていく。一方、図6の例のようにqが小さい場合、式4の右辺第1項及び第2項の影響の方が、右辺第3項の影響よりも大きくなり得る。したがって、式4の右辺第1項及び第2項で右辺第3項の影響を打ち消すように、スピン状態が更新されてしまう。この場合、常にσ≠τとなっている場合に、式4のエネルギーが低くなることがある。すなわち、図6の矢印Cで示すように全てのスピンがスピン状態の更新を繰り返す状態(振動状態)において、矢印Bで示すように式4のエネルギーが最小となってしまう。この場合、図6の矢印Cで示すように、更新スピン数は、最大(2000)となってしまう。また、図6の矢印Aで示すように、式1のエネルギーは、高いエネルギー状態に発散してしまう。したがって、比較例にかかる技術では、自己作用係数qが小さいと、イジングモデルにおける状態が正常に収束しないおそれがある。したがって、比較例にかかる技術では、高速に良質な解を得ることは困難である。 That is, the update probability p i expressed by Equation 6 is configured such that the energy function H shown by Equation 4 decreases as the annealing step progresses. Then, when q is large as in the examples of FIGS. 4 and 5, the influence of q is large, so the spin state is updated so as to reduce the third term on the right side of Equation 4. FIG. On the other hand, when q is small as in the example of FIG. 6, the influence of the first and second terms on the right side of Equation 4 can be greater than the influence of the third term on the right side. Therefore, the spin state is updated so that the influence of the third term on the right side of Equation 4 is canceled by the first and second terms on the right side. In this case, the energy in Equation 4 may be low if σ i ≠τ i all the time. That is, in a state (vibrational state) in which all spins repeatedly update their spin states as indicated by arrow C in FIG. In this case, as indicated by arrow C in FIG. 6, the number of update spins is the maximum (2000). Also, as indicated by arrow A in FIG. 6, the energy in Equation 1 diverges into a higher energy state. Therefore, in the technique according to the comparative example, if the self-action coefficient q is small, the state in the Ising model may not converge normally. Therefore, it is difficult for the technique of the comparative example to obtain a high-quality solution at high speed.

これに対し、本実施の形態では、アニーリングアルゴリズムに、更新試行率εを導入する。更新試行率εは、全スピン数Nに対する、スピン状態の更新が試行されるスピン(更新される可能性のあるスピン)の数の割合を示す。言い換えると、更新試行率εは、全スピン数に対する、スピン状態を更新するか否かの判定がなされる対象のスピン(更新判定対象スピン)の数の割合である。ここで、更新判定対象スピンの数は、更新スピン数の最大値に対応している。なお、更新判定対象スピンのスピン状態は、必ず更新されるわけではなく、更新確率に応じて更新されることに留意されたい。更新試行率εを導入することにより、一度のアニーリングステップで更新されるスピンの数が抑制される。したがって、図6で示したような、全てのスピンが更新を繰り返すといった現象を、抑制することができる。 On the other hand, in the present embodiment, an update trial rate ε is introduced into the annealing algorithm. The update attempt rate ε indicates the ratio of the number of spins whose spin states are attempted to be updated (spins that may be updated) to the total number of spins N. In other words, the update trial rate ε is the ratio of the number of spins for which it is determined whether or not to update the spin state (spins subject to update determination) to the total number of spins. Here, the number of update determination target spins corresponds to the maximum number of update spins. It should be noted that the spin state of the update determination target spin is not necessarily updated, but is updated according to the update probability. By introducing the update trial rate ε, the number of spins updated in one annealing step is suppressed. Therefore, it is possible to suppress the phenomenon that all spins are repeatedly updated as shown in FIG.

図7及び図8は、本実施の形態にかかる更新試行率εを説明するための図である。図7は、比較例にかかるスピンシステムを示し、図8は、本実施の形態にかかるスピンシステムを示す。図7及び図8は、図1と同様に、スピン数N=5とした場合の例を示している。ここで、図7及び図8において、一点鎖線の矩形で囲まれたスピンは、更新判定対象スピンである。図7に示すように、比較例では、常に、全てのスピンが、更新判定対象スピンである。 7 and 8 are diagrams for explaining the update trial rate ε according to this embodiment. FIG. 7 shows a spin system according to a comparative example, and FIG. 8 shows a spin system according to this embodiment. 7 and 8 show an example in which the number of spins N=5, as in FIG. Here, in FIGS. 7 and 8, the spins surrounded by a rectangle with a dashed line are update determination target spins. As shown in FIG. 7, in the comparative example, all spins are update determination target spins at all times.

これに対し、図8に示すように、本実施の形態では、更新試行率εに応じて、更新判定対象スピンとならないスピンも存在する。例えば、ε=0.6とすると、全スピンの60%のスピンが、更新判定対象スピンとなる。図8の例では、アニーリングステップtでは、更新判定対象スピンは、スピンσ,σ,σである。したがって、σ,σ,σは、対応する更新確率によっては、更新される可能性がある。一方、更新判定対象スピンではないσ,σは、対応する更新確率が高い場合であっても、更新されることはない。 On the other hand, as shown in FIG. 8, according to the present embodiment, there are spins that are not update determination target spins depending on the update attempt rate ε. For example, when ε=0.6, 60% of all spins are update determination target spins. In the example of FIG. 8, spins σ 1 , σ 3 , and σ 4 are the target spins for update determination in the annealing step t n . Therefore, σ 1 , σ 3 , σ 4 may be updated depending on the corresponding update probabilities. On the other hand, σ 2 and σ 5 which are not update determination target spins are not updated even if the corresponding update probability is high.

また、アニーリングステップtn+1では、更新判定対象スピンは、スピンσ,σ,σである。したがって、σ,σ,σは、対応する更新確率によっては、更新される可能性がある。一方、更新判定対象スピンではないσ,σは、たとえ更新確率が高い場合であっても、更新されることはない。このように、更新判定対象スピンは、アニーリングステップごとに、変更され得る。なお、全スピン数に対する更新判定対象スピン数の割合は、厳密に、更新試行率εに一致する必要はない。つまり、ε=0.6であるからといって、全スピン数に対する更新判定対象スピン数の割合は、厳密に、60%である必要はない。つまり、更新判定対象スピン数をNとすると、結果的に、ε≒N/Nとなればよい。 At the annealing step tn +1 , spins σ 2 , σ 4 , and σ 5 are the target spins for update determination. Therefore, σ 2 , σ 4 , σ 5 may be updated depending on the corresponding update probabilities. On the other hand, σ 1 and σ 3 , which are not update determination target spins, are not updated even if the update probability is high. In this way, the update determination target spin can be changed for each annealing step. It should be noted that the ratio of the number of update determination target spins to the total number of spins does not need to strictly match the update trial rate ε. That is, even if ε=0.6, the ratio of the number of spins subject to update determination to the total number of spins does not need to be strictly 60%. In other words, if the number of spins subject to update determination is N f , then ε≈N f /N.

(実施の形態1)
以下、実施形態について、図面を参照しながら説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。以下に説明する実施の形態1では、上述した比較例にかかるアニーリングアルゴリズム(SCA)を改良したものに対応する。
(Embodiment 1)
Hereinafter, embodiments will be described with reference to the drawings. For clarity of explanation, the following descriptions and drawings are omitted and simplified as appropriate. Moreover, in each drawing, the same elements are denoted by the same reference numerals, and redundant description is omitted as necessary. A first embodiment described below corresponds to an improved annealing algorithm (SCA) according to the comparative example described above.

<情報処理装置>
図9は、実施の形態1にかかる情報処理装置100の構成を示す図である。情報処理装置100は、主要なハードウェア構成として、制御部102と、記憶部104と、通信部106と、インタフェース部108(IF;Interface)とを有する。制御部102、記憶部104、通信部106及びインタフェース部108は、データバスなどを介して相互に接続されている。
<Information processing device>
FIG. 9 is a diagram showing the configuration of the information processing apparatus 100 according to the first embodiment. The information processing apparatus 100 has a control unit 102, a storage unit 104, a communication unit 106, and an interface unit 108 (IF: Interface) as main hardware components. The control unit 102, storage unit 104, communication unit 106 and interface unit 108 are interconnected via a data bus or the like.

制御部102は、例えばCPU(Central Processing Unit)等のプロセッサである。制御部102は、制御処理及び演算処理等を実行する機能を有する。記憶部104は、例えばメモリ又はハードディスク等の記憶デバイスである。記憶部104は、例えばROM(Read Only Memory)又はRAM(Random Access Memory)等である。記憶部104は、制御部102によって実行される制御プログラム及び演算プログラム等を記憶するための機能を有する。また、記憶部104は、処理データ等を一時的に記憶するための機能を有する。記憶部104は、データベースを含み得る。 The control unit 102 is a processor such as a CPU (Central Processing Unit), for example. The control unit 102 has a function of executing control processing, arithmetic processing, and the like. The storage unit 104 is, for example, a storage device such as memory or hard disk. The storage unit 104 is, for example, a ROM (Read Only Memory) or a RAM (Random Access Memory). The storage unit 104 has a function of storing a control program, an arithmetic program, and the like executed by the control unit 102 . The storage unit 104 also has a function of temporarily storing processing data and the like. Storage unit 104 may include a database.

通信部106は、他の装置と有線又は無線のネットワークを介して通信を行うために必要な処理を行う。通信部106は、通信ポート、ルータ、ファイアウォール等を含み得る。インタフェース部108は、例えばユーザインタフェース(UI;User Interface)である。インタフェース部108は、キーボード、タッチパネル又はマウス等の入力装置と、ディスプレイ又はスピーカ等の出力装置とを有する。インタフェース部108は、ユーザによるデータの入力の操作を受け付け、ユーザに対して情報を出力する。 The communication unit 106 performs processing necessary for communicating with other devices via a wired or wireless network. Communication unit 106 may include communication ports, routers, firewalls, and the like. The interface unit 108 is, for example, a user interface (UI). The interface unit 108 has an input device such as a keyboard, touch panel, or mouse, and an output device such as a display or speaker. The interface unit 108 receives data input operations by the user and outputs information to the user.

また、情報処理装置100は、構成要素として、アニーリング制御部110と、瞬間磁場計算部120と、更新確率計算部130と、乱数生成部140と、スピン状態決定部150と、スピン配列出力部160とを有する。また、アニーリング制御部110は、ステップ制御部112と、温度制御部114と、自己作用制御部116と、更新試行率制御部118とを有する。 Further, the information processing apparatus 100 includes, as components, an annealing control unit 110, an instantaneous magnetic field calculation unit 120, an update probability calculation unit 130, a random number generation unit 140, a spin state determination unit 150, and a spin array output unit 160. and Annealing control section 110 also includes step control section 112 , temperature control section 114 , self-action control section 116 , and update trial rate control section 118 .

なお、各構成要素は、例えば、制御部102の制御によって、プログラムを実行させることによって実現できる。より具体的には、各構成要素は、記憶部104に格納されたプログラムを、制御部102が実行することによって実現され得る。また、必要なプログラムを任意の不揮発性記録媒体に記録しておき、必要に応じてそのプログラムをインストールすることで、各構成要素を実現するようにしてもよい。また、各構成要素は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組み合わせ等により実現してもよい。また、各構成要素は、例えばFPGA(field-programmable gate array)又はマイコン(Micro Computer)等の、ユーザがプログラミング可能な集積回路を用いて実現してもよい。この場合、この集積回路を用いて、上記の各構成要素から構成されるプログラムを実現してもよい。 Each component can be realized by executing a program under the control of the control unit 102, for example. More specifically, each component can be implemented by control unit 102 executing a program stored in storage unit 104 . Further, each component may be realized by recording a necessary program in an arbitrary non-volatile recording medium and installing the program as necessary. Moreover, each component may be implemented by any combination of hardware, firmware, and software, without being limited to being implemented by program software. Also, each component may be implemented using a user-programmable integrated circuit such as an FPGA (field-programmable gate array) or a microcomputer. In this case, this integrated circuit may be used to implement a program composed of the above components.

アニーリング制御部110は、アニーリングステップを制御するように構成されている。また、アニーリング制御部110は、アニーリングアルゴリズムにおけるパラメータを更新するように構成されている。具体的には、アニーリング制御部110は、温度のパラメータと、自己作用のパラメータと、更新試行率とを制御するように構成されている。 An annealing control unit 110 is configured to control the annealing step. The annealing control unit 110 is also configured to update parameters in the annealing algorithm. Specifically, the annealing control unit 110 is configured to control a temperature parameter, a self-action parameter, and an update trial rate.

ステップ制御部112は、アニーリングアルゴリズムにおいて、アニーリングステップtを制御するように構成されている。具体的には、ステップ制御部112は、アニーリングステップが進むにつれて、アニーリングステップtを更新する。つまり、ステップ制御部112は、あるアニーリングステップにおいて各スピンについての処理が終了するごとに、アニーリングステップtを1つインクリメントする。ステップ制御部112は、最大ステップtmaxまで、アニーリングステップtを更新する。 The step controller 112 is configured to control the annealing step t in the annealing algorithm. Specifically, the step controller 112 updates the annealing step t as the annealing step progresses. In other words, the step control unit 112 increments the annealing step t by one each time the processing for each spin is completed in a certain annealing step. The step controller 112 updates the annealing step t up to the maximum step t max .

温度制御部114は、温度のパラメータである温度T又は逆温度βを制御するように構成されている。具体的には、温度制御部114は、アニーリングステップごとに、温度T又は逆温度βを更新する。ここで、上述した比較例と同様に、温度Tは、アニーリングステップtの関数である。具体的には、温度T(t)は、アニーリングステップtが増加するにつれて減少するような関数である。また、逆温度βは、アニーリングステップtの関数である。具体的には、逆温度β(t)は、アニーリングステップtが増加するにつれて増加するような関数である。温度T(t)及び逆温度β(t)は、ユーザによって予め定められた関数である。 The temperature control unit 114 is configured to control the temperature T or the inverse temperature β, which is a temperature parameter. Specifically, the temperature controller 114 updates the temperature T or the inverse temperature β for each annealing step. Here, similarly to the comparative example described above, the temperature T is a function of the annealing step t. Specifically, the temperature T(t) is a function that decreases as the annealing step t increases. Also, the inverse temperature β is a function of the annealing step t. Specifically, the inverse temperature β(t) is a function that increases as the annealing step t increases. Temperature T(t) and inverse temperature β(t) are functions predetermined by the user.

自己作用制御部116は、自己作用係数qを制御するように構成されている。具体的には、自己作用制御部116は、アニーリングステップごとに、自己作用係数qを更新する。ここで、自己作用係数qは、アニーリングステップtの関数であってもよい。自己作用係数q(t)は、アニーリングステップtが増加するにつれて増加するような関数であってもよい。また、自己作用係数q(t)は、一定値(つまりq(t)=q)であってもよい。自己作用係数q(t)は、ユーザによって予め定められた関数である。 The self-action control unit 116 is configured to control the self-action coefficient q. Specifically, the self-action control unit 116 updates the self-action coefficient q for each annealing step. Here, the self-action coefficient q may be a function of the annealing step t. The self-action coefficient q(t) may be a function that increases as the annealing step t increases. Also, the self-action coefficient q(t) may be a constant value (that is, q(t)=q 0 ). The self-action coefficient q(t) is a function predetermined by the user.

更新試行率制御部118は、更新試行率εを制御するように構成されている。具体的には、更新試行率制御部118は、アニーリングステップごとに、更新試行率εを更新する。ここで、更新試行率εは、アニーリングステップtの関数であってもよい。更新試行率ε(t)は、アニーリングステップtが増加するにつれて減少するような関数であってもよい。つまり、更新試行率制御部118は、アニーリングのステップが経過するにつれて減少するように、更新試行率εを制御してもよい。また、更新試行率ε(t)は、一定値(つまりε(t)=ε)であってもよい。更新試行率ε(t)は、ユーザによって予め定められた関数である。 The update trial rate control unit 118 is configured to control the update trial rate ε. Specifically, update trial rate control section 118 updates update trial rate ε for each annealing step. Here, the update trial rate ε may be a function of the annealing step t. The update attempt rate ε(t) may be a function that decreases as the annealing step t increases. In other words, the update trial rate control unit 118 may control the update trial rate ε so that it decreases as the annealing step elapses. Also, the update trial rate ε(t) may be a constant value (that is, ε(t)=ε 0 ). The update attempt rate ε(t) is a function predetermined by the user.

図10は、実施の形態1にかかる更新試行率εの関数を例示する図である。図10に例示した更新試行率ε(t)は、t=1で初期値εinitをとり、t=tmaxで最終値εfinをとる、線形関数である。ここで、更新試行率ε(t)は、初期値εinitで最大となり、最終値εfinで最小となる。したがって、更新試行率ε(t)は、アニーリングステップtの経過ととともに、徐々に減少する。なお、更新試行率ε(t)は、線形関数でなくてもよい。また、更新試行率ε(t)は、連続的な関数でなくてもよい。更新試行率ε(t)は、アニーリングステップtが経過するにつれて階段状に減少するような関数でもよい。つまり、更新試行率ε(t)は、アニーリングステップtが1つ増加するごとに必ず減少する必要はない。 FIG. 10 is a diagram exemplifying a function of the update trial rate ε according to the first embodiment; The update trial rate ε(t) illustrated in FIG. 10 is a linear function that takes an initial value ε init at t=1 and a final value ε fin at t=t max . Here, the update trial rate ε(t) is maximized at the initial value ε init and minimized at the final value ε fin . Therefore, the update trial rate ε(t) gradually decreases as the annealing step t elapses. Note that the update trial rate ε(t) does not have to be a linear function. Also, the update trial rate ε(t) does not have to be a continuous function. The update trial rate ε(t) may be a function that decreases stepwise as the annealing step t elapses. In other words, the update trial rate ε(t) need not necessarily decrease each time the annealing step t increases by one.

瞬間磁場計算部120は、複数のスピンの瞬間磁場を並列に計算するように構成されている。具体的には、瞬間磁場計算部120は、上記の式5を用いて、各スピンi=1~Nについて、瞬間磁場を、並列に計算する。 The instantaneous magnetic field calculator 120 is configured to calculate the instantaneous magnetic fields of multiple spins in parallel. Specifically, the instantaneous magnetic field calculator 120 uses Equation 5 above to calculate the instantaneous magnetic field ~ h i for each spin i=1 to N in parallel.

更新確率計算部130は、瞬間磁場計算部120によって計算された瞬間磁場に基づいて、複数のスピンの更新確率を並列に計算するように構成されている。具体的には、更新確率計算部130は、例えば上記の式6を用いて、各スピンi=1~Nについて、更新確率Pを、並列に計算する。 The update probability calculator 130 is configured to calculate the update probabilities of a plurality of spins in parallel based on the instantaneous magnetic field calculated by the instantaneous magnetic field calculator 120 . Specifically, the update probability calculator 130 calculates in parallel the update probabilities P i for each spin i=1 to N using Equation 6 above, for example.

乱数生成部140は、乱数を生成するように構成されている。具体的には、乱数生成部140は、0以上1未満の一様乱数であるrandを生成する。乱数生成部140は、各アニーリングステップにおいて、複数のスピンそれぞれについて、乱数randを生成する。したがって、乱数randは、スピンごとに異なり得る。さらに具体的には、乱数生成部140は、rand(P)と、rand(ε)とを生成する。rand(P)(第1の乱数)は、スピン状態決定部150において、更新確率Pと比較される。rand(ε)(第2の乱数)は、スピン状態決定部150において、更新試行率εと比較される。 The random number generator 140 is configured to generate random numbers. Specifically, the random number generation unit 140 generates rand, which is a uniform random number equal to or greater than 0 and less than 1. The random number generator 140 generates a random number rand for each of the plurality of spins in each annealing step. Therefore, the random number rand can be different for each spin. More specifically, random number generator 140 generates rand (P) and rand (ε) . rand (P) (first random number) is compared with the update probability P i in the spin state determination unit 150 . rand (ε) (second random number) is compared with the update trial rate ε in spin state determination section 150 .

スピン状態決定部150は、更新確率と更新試行率とに基づいて、複数のスピンの状態を並列に決定するように構成されている。具体的には、スピン状態決定部150は、複数のスピンそれぞれについて、更新確率Pが乱数rand(P)よりも大きく、且つ、更新試行率εが乱数rand(ε)よりも大きい場合に、当該スピンの状態を更新する。詳しくは後述する。 The spin state determination unit 150 is configured to determine states of a plurality of spins in parallel based on the update probability and the update trial rate. Specifically, when the update probability P i is greater than the random number rand (P) and the update trial rate ε is greater than the random number rand (ε) for each of the plurality of spins, the spin state determination unit 150 Update the status of the spin. Details will be described later.

スピン配列出力部160は、アニーリングステップt=tmaxにおけるスピン配列を出力するように構成されている。この、アニーリングステップt=tmaxにおけるスピン配列σ_1^(tmax),・・・,σ_N^(tmax)は、アニーリングアルゴリズムによって最適化されたものであることが期待される。 The spin array output unit 160 is configured to output the spin array at the annealing step t=t max . It is expected that the spin alignment σ_1̂(t max ) , .

<情報処理方法>
図11は、実施の形態1にかかる情報処理装置100によって実行される情報処理方法を示すフローチャートである。まず、アニーリング制御部110は、データの初期化を行う(処理S202)。具体的には、ステップ制御部112は、アニーリングステップtを初期値「1」に設定する。また、ステップ制御部112は、アニーリングステップtの最大ステップ(tmax)を設定し、スピンの更新を何回繰り返すかを設定する。また、温度制御部114は、温度Tを初期温度Tに設定する。あるいは、温度制御部114は、逆温度β(=1/T)を、初期逆温度β(=1/T)に設定する。
<Information processing method>
FIG. 11 is a flowchart showing an information processing method executed by the information processing apparatus 100 according to the first embodiment. First, the annealing control unit 110 initializes data (process S202). Specifically, the step controller 112 sets the annealing step t to the initial value "1". The step control unit 112 also sets the maximum step (t max ) of the annealing step t, and sets how many times the spin update is repeated. Also, the temperature control unit 114 sets the temperature T to the initial temperature T1 . Alternatively, the temperature control unit 114 sets the inverse temperature β (=1/T) to the initial inverse temperature β 1 (=1/T 1 ).

また、アニーリング制御部110は、以下の式7のように、N個のスピンの初期状態σ_1^(0),・・・,σ_N^(0)を、ランダムに設定する。スピンの値は2値であればよいが、ここでは+1と-1とする。

Figure 2022177458000008
・・・(7) Also, the annealing control unit 110 randomly sets the initial states σ_1̂(0), . Although the spin value may be binary, it is assumed here to be +1 and -1.
Figure 2022177458000008
... (7)

また、アニーリング制御部110は、全てのi(i=1,・・・,N)に対して、各ノードσの外部磁場係数hを定める。また、アニーリング制御部110は、全てのi(i=1,・・・,N)及びj(j=1,・・・,N)に対して、各ノード間(σ-σ間)の相互作用係数Jijを定める。 Also, the annealing control unit 110 determines the external magnetic field coefficient h i of each node σ i for all i (i=1, . . . , N). Also, the annealing control unit 110, for all i (i=1, . . . , N) and j (j=1, . . . , N), between each node (between σ i −σ j ) Define the interaction coefficients J ij of .

また、自己作用制御部116は、自己作用係数qを初期値qに設定する。また、更新試行率制御部118は、更新試行率εを初期値εに設定する。例えば、初期値εは、図10の初期値εinitに対応する。 Further, the self-action control unit 116 sets the self-action coefficient q to the initial value q1 . Further, the update trial rate control unit 118 sets the update trial rate ε to the initial value ε1 . For example, the initial value ε 1 corresponds to the initial value ε init in FIG.

次に、情報処理装置100は、アニーリングアルゴリズムを実行する(処理S204~処理S212)。まず、瞬間磁場計算部120は、瞬間磁場を計算する(処理S204)。具体的には、瞬間磁場計算部120は、上述したように、上記の式5を用いて、全てのスピンi=1~Nについて、瞬間磁場を、並列に計算する。 Next, the information processing apparatus 100 executes the annealing algorithm (process S204 to process S212). First, the instantaneous magnetic field calculator 120 calculates an instantaneous magnetic field (process S204). Specifically, the instantaneous magnetic field calculator 120 calculates in parallel the instantaneous magnetic fields ˜h i for all spins i=1 to N using Equation 5 above, as described above.

次に、更新確率計算部130は、瞬間磁場計算部120によって計算された瞬間磁場に基づいて、スピンの更新確率を計算する(処理S206)。具体的には、更新確率計算部130は、上記の式6を用いて、全てのスピンi=1~Nについて、更新確率Pを、並列に計算する。 Next, the update probability calculator 130 calculates the spin update probability based on the instantaneous magnetic field calculated by the instantaneous magnetic field calculator 120 (process S206). Specifically, update probability calculation section 130 calculates update probabilities P i for all spins i=1 to N in parallel using Equation 6 above.

次に、スピン状態決定部150は、各スピンの次の状態を決定する(処理S208)。具体的には、スピン状態決定部150は、各スピンi=1~Nに対して、更新確率計算部130によって計算された更新確率Pと、更新試行率εとに基づいて、スピン状態σ (t)を決定する。なお、σ (t)は、次のスピン状態に対応する。すなわち、t=1であれば、σ (t)(つまりσ (1))は、初期状態σ (0)の次の状態に対応する。スピン状態決定部150の具体的な処理については後述する。 Next, the spin state determination unit 150 determines the next state of each spin (process S208). Specifically, for each spin i=1 to N, the spin state determination unit 150 determines the spin state σ Determine i (t) . Note that σ i (t) corresponds to the following spin states. That is, if t=1, σ i (t) (ie, σ i (1) ) corresponds to the next state after the initial state σ i (0) . Specific processing of the spin state determination unit 150 will be described later.

次に、ステップ制御部112は、t=tmaxであるか否かを判定する(処理S210)。t=tmaxでない場合、つまりアニーリングステップtが最大ステップに達していない場合(S210のNO)、アニーリング制御部110は、アニーリングパラメータを更新する(処理S212)。具体的には、ステップ制御部112は、アニーリングステップを1進める(t←t+1)。また、温度制御部114は、温度Tを更新する(T←T(t))。あるいは、温度制御部114は、逆温度βを更新する(β←β(t))。また、自己作用制御部116は、自己作用係数qを更新する(q←q(t))。さらに、更新試行率制御部118は、更新試行率εを更新する(ε←ε(t))。ここで、T(t)、β(t)、q(t)、ε(t)は、ユーザによって予め定義された関数とする。そして、S204~S212の処理が繰り返される。これにより、アニーリングアルゴリズムの実行が継続し、アニーリングステップが進行する。 Next, the step controller 112 determines whether or not t=t max (process S210). If not t=t max , that is, if the annealing step t has not reached the maximum step (NO in S210), the annealing control unit 110 updates the annealing parameters (process S212). Specifically, the step controller 112 advances the annealing step by 1 (t←t+1). Also, the temperature control unit 114 updates the temperature T (T←T(t)). Alternatively, the temperature control unit 114 updates the inverse temperature β (β←β(t)). Further, the self-action control unit 116 updates the self-action coefficient q (q←q(t)). Furthermore, the update trial rate control unit 118 updates the update trial rate ε (ε←ε(t)). Here, T(t), β(t), q(t), and ε(t) are functions predefined by the user. Then, the processing of S204 to S212 is repeated. This allows the execution of the annealing algorithm to continue and the annealing steps to proceed.

なお、S204の処理において、瞬間磁場計算部120は、スピン状態が更新されたスピンに対してのみ、瞬間磁場を計算してもよい。すなわち、瞬間磁場計算部120は、更新されたスピンiについて、以下の式8によって、全てのスピンj(j=1~N)について瞬間磁場を更新してもよい。この場合、更新されたスピン状態σ又はそのスピンの識別子iが、リストに記憶されるようにしてもよい。

Figure 2022177458000009
・・・(8) In the process of S204, the instantaneous magnetic field calculator 120 may calculate the instantaneous magnetic field only for spins whose spin states have been updated. In other words, the instantaneous magnetic field calculator 120 may update the instantaneous magnetic field for all spins j (j=1 to N) for the updated spin i according to Equation 8 below. In this case, the updated spin state σ i or the spin identifier i may be stored in a list.
Figure 2022177458000009
... (8)

なお、スピン状態が更新されたか否かに関わらず式5を用いて瞬間磁場を計算する場合と、上記のようにスピン状態が更新されたスピンに対してのみ瞬間磁場を更新する場合とで、各スピンについての瞬間磁場は同じであることに留意されたい。すなわち、スピン状態が更新されたか否かに関わらず式5を用いて瞬間磁場を計算することにより、結果的に、スピン状態が更新されたスピンについての瞬間磁場が更新される。一方、スピン状態が更新されていないスピンについての瞬間磁場については、前回のアニーリングステップと同じ瞬間磁場が計算される。しかしながら、スピン状態が更新されたスピンに対してのみ瞬間磁場を更新することにより、不要な計算が抑制されるので、計算資源の負荷を抑制することができる。 In the case of calculating the instantaneous magnetic field using Equation 5 regardless of whether or not the spin state has been updated, and in the case of updating the instantaneous magnetic field only for the spins whose spin state has been updated as described above, Note that the instantaneous magnetic field for each spin is the same. That is, calculating the instantaneous magnetic field using Equation 5 regardless of whether the spin state has been updated results in updating the instantaneous magnetic field for spins whose spin state has been updated. On the other hand, for the spins whose spin state has not been updated, the same instantaneous magnetic field as in the previous annealing step is calculated. However, by updating the instantaneous magnetic field only for spins whose spin states have been updated, unnecessary calculations are suppressed, so the load on computational resources can be suppressed.

一方、t=tmaxである場合、つまりアニーリングステップtが最大ステップに達した場合(S210のYES)、スピン配列出力部160は、アニーリングステップt=tmaxにおけるスピン配列を出力する(処理S214)。具体的には、スピン配列出力部160は、アニーリングステップt=tmaxにおけるスピン配列σ(i=1~N)を読み出して、最適化されたスピン配列σ_1^(tmax),・・・,σ_N^(tmax)として出力する。 On the other hand, if t=t max , that is, if the annealing step t reaches the maximum step (YES in S210), the spin array output unit 160 outputs the spin array at the annealing step t=t max (process S214). . Specifically, the spin array output unit 160 reads out the spin arrays σ i (i=1 to N) at the annealing step t=t max to obtain the optimized spin arrays σ_1̂(t max ), . , σ_N̂(t max ).

図12は、実施の形態1にかかるスピン状態決定部150の処理(S208)を説明するための図である。図12は、スピン数N=5とした場合の例を示している。上述したように、アニーリングステップ(t-1)について、各スピンの瞬間磁場()が計算され(S204)、各スピンの更新確率Pが計算される(S206)。そして、S208において、乱数生成部140が、スピンごとに、rand(P)及びrand(ε)を生成する。ここで、上述したように、0≦rand(P)<1、0≦rand(ε)<1である。 FIG. 12 is a diagram for explaining the processing (S208) of the spin state determination unit 150 according to the first embodiment. FIG. 12 shows an example in which the number of spins N=5. As described above, for the annealing step (t−1), the instantaneous magnetic field ( ˜h i ) of each spin is calculated (S204) and the update probability P i of each spin is calculated (S206). Then, in S208, the random number generator 140 generates rand (P) and rand (ε) for each spin. Here, as described above, 0≦rand (P) <1 and 0≦rand (ε) <1.

スピン状態決定部150は、判定Aとして、更新確率Pに基づく判定を行う。具体的には、スピン状態決定部150は、全てのスピンi(i=1,・・・,N)に対して、それぞれのスピンについて生成されたrand(P)を用いて、P>rand(P)であるか否かを判定する。スピン状態決定部150は、各スピンについて、この判定結果が真である場合に判定結果を「1」とし、判定結果が偽である場合に判定結果を「0」とする。図12の例では、スピンσ,σ,σ,σ,σについての判定Aの判定結果は、それぞれ、「1」,「1」,「0」,「1」,「0」である。 The spin state determination unit 150 makes a determination as the determination A based on the update probability P i . Specifically, for all spins i ( i=1, . (P) is determined. For each spin, the spin state determination unit 150 sets the determination result to “1” if the determination result is true, and sets the determination result to “0” if the determination result is false. In the example of FIG. 12, the determination results of determination A for spins σ 1 , σ 2 , σ 3 , σ 4 , and σ 5 are “1”, “1”, “0”, “1”, “0 ”.

また、スピン状態決定部150は、判定Bとして、更新試行率εに基づく判定を行う。具体的には、スピン状態決定部150は、全てのスピンi(i=1,・・・,N)に対して、独立して、それぞれのスピンについて生成されたrand(ε)を用いて、ε>rand(ε)であるか否かを判定する。なお、全てのスピンiに対してそれぞれ乱数rand(ε)が生成され、互いに独立に判定がなされるので、各スピンについて判定Bの結果は異なり得る。スピン状態決定部150は、各スピンについて、この判定結果が真である場合に判定結果を「1」とし、判定結果が偽である場合に判定結果を「0」とする。図12の例では、スピンσ,σ,σ,σ,σについての判定Bの判定結果は、それぞれ、「1」,「0」,「1」,「1」,「0」である。 Further, spin state determining section 150 makes determination B based on update trial rate ε. Specifically, the spin state determination unit 150 uses rand (ε) independently generated for each spin for all spins i (i=1, . . . , N), Determine whether ε>rand (ε) . Note that a random number rand (ε) is generated for each spin i, and judgments are made independently of each other, so the result of judgment B may differ for each spin. For each spin, the spin state determination unit 150 sets the determination result to “1” if the determination result is true, and sets the determination result to “0” if the determination result is false. In the example of FIG. 12, the determination results of determination B for spins σ 1 , σ 2 , σ 3 , σ 4 , and σ 5 are “1”, “0”, “1”, “1”, “0 ”.

そして、スピン状態決定部150は、各スピンi(i=1,・・・,N)について、判定Aの判定結果及び判定Bの判定結果が共に真である場合にスピン状態の更新を行うと判定する。つまり、スピン状態決定部150は、各スピンi(i=1,・・・,N)について、判定Aの判定結果及び判定Bの判定結果のAND演算により、以下の式9によって、スピン状態の更新を判定する。

Figure 2022177458000010
・・・(9) Then, the spin state determination unit 150 updates the spin state of each spin i (i=1, . judge. That is, for each spin i (i=1, . Determine update.
Figure 2022177458000010
... (9)

図12の例では、スピンσ,σ,σ,σ,σについてのスピン更新判定は、それぞれ、「1」,「0」,「0」,「1」,「0」である。ここで、判定「1」の場合に、スピン状態の更新を行うとする。これにより、スピン状態決定部150は、アニーリングステップtについての各スピンのスピン状態σ (t),σ (t),σ (t),σ (t),σ (t)を決定する。図12の例では、σ (t)=-σ (t-1),σ (t)=σ (t-1),σ (t)=σ (t-1),σ (t)=-σ (t-1),σ (t)=σ (t-1)である。なお、スピン状態σ (t-1)を「σ」とすると、スピン状態σ (t)は、「τ」に対応する。 In the example of FIG. 12, the spin update determinations for spins σ 1 , σ 2 , σ 3 , σ 4 , and σ 5 are "1", "0", "0", "1", and "0", respectively. be. Here, it is assumed that the spin state is updated when the determination is "1". As a result, the spin state determining unit 150 determines the spin states σ 1 (t) , σ 2 (t) , σ 3 (t) , σ 4 (t) , and σ 5 (t) of each spin for the annealing step t as decide. In the example of FIG. 12, σ 1 (t) =−σ 1 (t−1) , σ 2 (t)2 (t−1) , σ 3 (t)3 (t−1) , σ 4 (t) = -σ 4 (t-1) and σ 5 (t) = σ 5 (t-1) . If the spin state σ i (t−1) is “σ i ”, the spin state σ 1 (t) corresponds to “τ i ”.

ここで、図12の例では、スピンσについては、その更新確率Pが乱数rand(P)よりも大きいにも関わらず、スピン状態が更新されない。これに対し、比較例では、更新確率が乱数randよりも大きいスピンについては、全て、スピン状態が更新されてしまう。 Here, in the example of FIG. 12, the spin state of spin σ 2 is not updated even though its update probability P 2 is greater than the random number rand (P) . On the other hand, in the comparative example, the spin states of all spins whose update probability is greater than the random number rand are updated.

<シミュレーション結果>
図13~図15は、実施の形態1にかかる手法にてアニーリングアルゴリズムを実行した場合のシミュレーション結果を例示する図である。矢印Aで示す曲線は、各アニーリングステップについて、実施の形態1にかかる手法でアニーリングアルゴリズムを実行して得られたスピン状態σを式1に代入して得られたエネルギーHの、アニーリングステップごとの軌跡を示す。また、矢印Bで示す曲線は、各アニーリングステップについて、実施の形態1にかかる手法でアニーリングアルゴリズムを実行して得られたスピン状態σ及びτを式4に代入して得られたエネルギーHの、アニーリングステップごとの軌跡を示す。矢印Cで示す曲線は、アニーリングステップごとの更新スピン数の軌跡を示す。
<Simulation result>
13 to 15 are diagrams illustrating simulation results when the annealing algorithm is executed by the technique according to the first embodiment. The curve indicated by the arrow A is the energy H obtained by substituting the spin state σ obtained by executing the annealing algorithm by the method according to the first embodiment into Equation 1 for each annealing step. Show the trajectory. In addition, the curve indicated by arrow B is the energy H obtained by substituting the spin states σ and τ obtained by executing the annealing algorithm by the method according to Embodiment 1 into Equation 4 for each annealing step. Traces for each annealing step are shown. The curve indicated by arrow C shows the trajectory of the updated spin number for each annealing step.

図13は、図6に示した例と同様に、q=3.513の場合のシミュレーション結果を示す。また、図13では、更新試行率εは、アニーリングステップの進行に伴って、1.0から0.5に変化する。つまり、εinit=1.0、εfin=0.5である。ここで、上述したように、図6の例では、イジングモデルにおける状態が正常に収束していない。これに対し、図13では、式1で示す系のエネルギー(矢印A)及び更新スピン数(矢印C)が、収束している。つまり、図6の例と異なり、図13の例では、イジングモデルにおける状態が正常に収束している。 FIG. 13 shows simulation results for q=3.513, similar to the example shown in FIG. Also, in FIG. 13, the update trial rate ε changes from 1.0 to 0.5 as the annealing step progresses. That is, ε init =1.0 and ε fin =0.5. Here, as described above, in the example of FIG. 6, the state in the Ising model does not converge normally. On the other hand, in FIG. 13, the energy (arrow A) and the updated spin number (arrow C) of the system shown in Equation 1 converge. That is, unlike the example in FIG. 6, the state in the Ising model converges normally in the example in FIG.

また、図14は、q=2.0の場合のシミュレーション結果を示す。また、図14では、更新試行率εは、アニーリングステップの進行に伴って、0.95から0.3に変化する。つまり、εinit=0.95、εfin=0.3である。この場合でも、式1で示す系のエネルギー(矢印A)及び更新スピン数(矢印C)が、収束している。つまり、図14で示すように、自己作用係数qが図13の例よりも小さい場合であっても、イジングモデルにおける状態が正常に収束している。 Also, FIG. 14 shows the simulation results when q=2.0. Also, in FIG. 14, the update trial rate ε changes from 0.95 to 0.3 as the annealing step progresses. That is, ε init =0.95 and ε fin =0.3. Even in this case, the energy (arrow A) and the updated spin number (arrow C) of the system shown in Equation 1 converge. That is, as shown in FIG. 14, even when the self-action coefficient q is smaller than in the example of FIG. 13, the state in the Ising model converges normally.

また、図15は、q=1.5の場合のシミュレーション結果を示す。また、図15では、更新試行率εは、アニーリングステップの進行に伴って、0.95から0.3に変化する。つまり、εinit=0.95、εfin=0.3である。この場合でも、式1で示す系のエネルギー(矢印A)及び更新スピン数(矢印C)が、収束している。つまり、図15で示すように、自己作用係数qが図14の例よりも小さい場合であっても、イジングモデルにおける状態が正常に収束している。 Also, FIG. 15 shows the simulation results when q=1.5. Also, in FIG. 15, the update trial rate ε changes from 0.95 to 0.3 as the annealing step progresses. That is, ε init =0.95 and ε fin =0.3. Even in this case, the energy (arrow A) and the updated spin number (arrow C) of the system shown in Equation 1 converge. That is, as shown in FIG. 15, even when the self-action coefficient q is smaller than in the example of FIG. 14, the state in the Ising model converges normally.

このように、実施の形態1では、自己作用係数qが小さい場合であっても、適切に、基底状態(最小エネルギー状態)に近い状態を得ることができる。すなわち、実施の形態1では、更新試行率εを導入することにより、更新されるスピンの最大数を抑制している。これにより、どのアニーリングステップにおいても、全スピンのうちの一部のみのスピンが更新されることとなる。したがって、図6に例示した比較例のような、自己作用係数qが小さい場合に全てのスピンが更新を繰り返すといった現象(振動状態)の発生を、抑制することができる。これにより、図13~図15に示すように、正常に基底状態に近い状態が得られる。したがって、実施の形態1にかかる情報処理装置100は、高速に良質な解を得ることが可能となる。 Thus, in Embodiment 1, even when the self-action coefficient q is small, a state close to the ground state (minimum energy state) can be appropriately obtained. That is, in Embodiment 1, the maximum number of spins to be updated is suppressed by introducing the update trial rate ε. As a result, only some of all spins are updated in any annealing step. Therefore, it is possible to suppress the occurrence of a phenomenon (vibration state) in which all the spins are repeatedly updated when the self-action coefficient q is small, as in the comparative example illustrated in FIG. As a result, as shown in FIGS. 13 to 15, a state close to the normal ground state is obtained. Therefore, the information processing apparatus 100 according to the first embodiment can obtain high-quality solutions at high speed.

また、図13~図15の下の表のエネルギーHの値から、qの値が小さい方が、最終状態(基底状態に近い状態)におけるエネルギーHが低いことが分かる。すなわち、実施の形態1では、良質な解を、適切に得ることが可能となる。したがって、実施の形態1では、並行にスピン更新を行うことにより高速に処理を行いつつ、良質な解を得ることが可能となる。 Also, from the values of the energy H in the lower tables of FIGS. 13 to 15, it can be seen that the smaller the value of q, the lower the energy H in the final state (state close to the ground state). That is, in Embodiment 1, it is possible to appropriately obtain a good solution. Therefore, in the first embodiment, by performing spin update in parallel, it is possible to obtain a high-quality solution while performing high-speed processing.

また、実施の形態1にかかる情報処理装置100は、複数のスピンそれぞれについて、更新確率Pがrand(P)(第1の乱数)よりも大きく、更新試行率εがrand(ε)(第2の乱数)よりも大きい場合に、当該スピンの状態を更新している。これにより、上述したような、全てのスピンがスピン状態の更新を繰り返すといった現象(振動状態)の発生を抑制できるようなアルゴリズムを、容易に実現することが可能となる。 Further, in the information processing apparatus 100 according to the first embodiment, for each of a plurality of spins, the update probability P i is larger than rand (P) (first random number), and the update trial rate ε is rand (ε) (first random number). 2), the state of the spin is updated. This makes it possible to easily implement an algorithm capable of suppressing the occurrence of the phenomenon (oscillating state) in which all spins repeatedly update their spin states, as described above.

また、実施の形態1にかかる情報処理装置100は、アニーリングステップが経過するにつれて減少するように、更新試行率εを制御している。これにより、より確実に、アニーリングステップが経過するにつれてスピン状態が更新されにくくすることができる。ここで、上述したように、アニーリングアルゴリズムでは、基底状態に近づくにつれて、更新スピン数は減少していく。したがって、上記のように更新試行率εを制御することにより、より確実に、基底状態に近い状態を得ることが可能となる。したがって、良質な解を得ることが可能となる。 Further, the information processing apparatus 100 according to the first embodiment controls the update trial rate ε so as to decrease as the annealing step elapses. This can more reliably make it difficult for the spin state to be updated as the annealing step elapses. Here, as described above, in the annealing algorithm, the number of updated spins decreases as the ground state is approached. Therefore, by controlling the update trial rate ε as described above, it is possible to more reliably obtain a state close to the ground state. Therefore, it is possible to obtain a good solution.

(実施の形態1の変形例)
図16は、実施の形態1にかかる情報処理装置100で実現可能な別のアルゴリズムについて説明するための図である。上述したように、実施の形態1にかかる情報処理装置100は、比較例にかかるSCAのアルゴリズムを改良したアルゴリズムを実現するように構成されている。しかしながら、実施の形態1にかかる情報処理装置100は、SCA以外のアルゴリズムに対しても、適用可能である。例えば、以下に説明するように、実施の形態1にかかる情報処理装置100は、モーメンタムアニーリング(Momentum Annealing:MA)に対しても、適用可能である。つまり、実施の形態1にかかる情報処理装置100にかかるアルゴリズムは、SCAに限定されない。実施の形態1にかかる情報処理装置100は、複数のスピンのスピン状態を並行して更新可能な任意のアルゴリズムに対して、適用可能である。
(Modification of Embodiment 1)
FIG. 16 is a diagram for explaining another algorithm that can be implemented by the information processing apparatus 100 according to the first embodiment. As described above, the information processing apparatus 100 according to the first embodiment is configured to implement an algorithm obtained by improving the SCA algorithm according to the comparative example. However, the information processing apparatus 100 according to the first embodiment can also be applied to algorithms other than SCA. For example, as described below, the information processing apparatus 100 according to the first embodiment can also be applied to momentum annealing (MA). That is, the algorithm according to the information processing apparatus 100 according to the first embodiment is not limited to SCA. The information processing apparatus 100 according to the first embodiment is applicable to any algorithm that can update spin states of a plurality of spins in parallel.

モーメンタムアニーリングは、SCAと同様に、イジングモデルの全スピンの状態を並列に更新することが可能である。図16の矢印M1に示すように、モーメンタムアニーリングにおけるイジングモデルは、全スピン間に相互作用を持つ全結合型(完全グラフ)のモデルである。図16の例では、スピン数N=5のスピンσ(i=1~5)からなるモデルとした場合の例を示している。 Similar to SCA, momentum annealing can update the states of all spins of the Ising model in parallel. As indicated by an arrow M1 in FIG. 16, the Ising model in momentum annealing is a fully coupled (perfect graph) model having interactions between all spins. The example of FIG. 16 shows an example of a model consisting of spins σ i (i=1 to 5) with the number of spins N=5.

このモデルを、矢印M2で示すように、左右に2分割されたグラフに変換する。この変換されたモデル300において、右側のσ は、左側のσ の次のスピン状態に対応する。つまり、モデル300において、σ とσ とが、対になっている。モーメンタムアニーリングでは、この変換されたモデル300の構成が、予め決まっている。 This model is converted into a graph that is divided into left and right halves as indicated by an arrow M2. In this transformed model 300, σ i R on the right corresponds to the next spin state of σ i L on the left. That is, in model 300, σ i L and σ i R are paired. In momentum annealing, the configuration of this transformed model 300 is predetermined.

ここで、矢印M3で示すように、スピン状態の更新プロセスを時系列で示す。t=0からt=tmaxまで、各スピンiのスピン状態σ_i^(t)が更新されていく。ここで、モデル300において、t=0のときのスピン状態σ_i^(0)がスピン状態σ に対応するとき、t=1のときのスピン状態σ_i^(1)は、スピン状態σ_i^(0)に対応するスピン状態σ と対になるスピン状態σ に対応する。そして、モデル300において、t=2のときのスピン状態σ_i^(2)は、スピン状態σ の位置における、スピン状態σ_i^(0)の次のスピン状態に対応する。また、モデル300において、t=3のときのスピン状態σ_i^(3)は、スピン状態σ の位置における、スピン状態σ_i^(1)の次のスピン状態に対応する。これにより、スピン状態σ_i^(2)とスピン状態σ_i^(3)とが対になる。以下同様にして、モデル300において、t=tmaxのときのスピン状態σ_i^(tmax)がスピン状態σ に対応するとき、t=(tmax-1)のときのスピン状態σ_i^(tmax-1)は、スピン状態σ に対応する。これにより、スピン状態σ_i^(tmax-1)とスピン状態σ_i^(tmax)とが対になる。 Here, as indicated by an arrow M3, the spin state update process is shown in chronological order. From t=0 to t=t max , the spin state σ_î(t) of each spin i is updated. Here, in the model 300, when the spin state σ_i^(0) at t=0 corresponds to the spin state σiL , the spin state σ_i^(1) at t=1 corresponds to the spin state σ_i^ corresponds to the spin state σ i R paired with the spin state σ i L corresponding to (0). Then, in the model 300, the spin state σ_î(2) at t=2 corresponds to the spin state next to the spin state σ_î(0) at the position of the spin state σiL . Also, in the model 300, the spin state σ_î(3) at t=3 corresponds to the spin state next to the spin state σ_î(1) at the position of the spin state σiR . As a result, the spin state σ_î(2) and the spin state σ_î(3) are paired. Likewise, in the model 300, when the spin state σ_i^(t max ) at t=t max corresponds to the spin state σ i R , the spin state σ_i^ at t=(t max −1) (t max −1) corresponds to the spin state σ i L. As a result, the spin state σ_î(t max −1) and the spin state σ_î(t max ) are paired.

ここで、モーメンタムアニーリングにかかるモデル300において、σ の位置に対応するスピンiのスピン状態は、このσ の位置の1つ前のスピン状態に基づいて行われる。同様に、モデル300において、σ の位置に対応するスピンiのスピン状態は、このσ の位置の1つ前のスピン状態に基づいて行われる。つまり、各スピンのスピン状態の更新は、時系列で示した更新プロセス(矢印M3で示す)において2つ前のアニーリングステップにおけるスピン状態に基づいて行われる。例えば、スピン状態σ_i^(2)の更新は、スピン状態σ_i^(0)に基づいて行われる。 Here, in the model 300 related to momentum annealing, the spin state of spin i corresponding to the position of σ i L is based on the spin state one before the position of σ i L. Similarly, in model 300, the spin state of spin i corresponding to a σ i R position is based on the spin state that precedes this σ i R position. In other words, the spin state of each spin is updated based on the spin state in the previous annealing step in the update process shown in chronological order (indicated by arrow M3). For example, the update of spin state σ_î(2) is based on spin state σ_î(0).

ここで、上述した実施の形態1にかかる情報処理装置100を、モーメンタムアニーリングのアルゴリズムに適用する場合、図11に示したフローチャートを、以下に説明するように変形すればよい。すなわち、S202において、アニーリング制御部110は、N個のスピンの初期状態を、式7に示したものだけでなく、以下の式10のように、N個のスピンの初期状態σ_1^(-1),・・・,σ_N^(-1)を、ランダムに設定する。

Figure 2022177458000011
・・・(10) Here, when the information processing apparatus 100 according to the first embodiment described above is applied to the momentum annealing algorithm, the flowchart shown in FIG. 11 may be modified as described below. That is, in S202, the annealing control unit 110 sets the initial states of the N spins not only to those shown in Equation 7, but also to the initial states σ_1^(-1 ), . . . , σ_N^(-1) are set randomly.
Figure 2022177458000011
(10)

また、S206において、更新確率計算部130は、処理S204で計算された瞬間磁場に基づいて、以下の式11を用いて、全てのスピンi=1~Nについて、更新確率Pを、並列に計算する。

Figure 2022177458000012
・・・(11) Further, in S206, the update probability calculation unit 130 calculates the update probabilities P i for all spins i=1 to N in parallel using the following equation 11 based on the instantaneous magnetic field calculated in the process S204. calculate.
Figure 2022177458000012
(11)

また、S208において、スピン状態決定部150は、各スピンi(i=1,・・・,N)について、図12を用いて説明した判定Aの判定結果及び判定Bの判定結果のAND演算により、以下の式12によって、スピン状態の更新を判定する。

Figure 2022177458000013
・・・(12) In S208, the spin state determination unit 150 performs an AND operation on the determination results of determination A and determination B described using FIG. 12 for each spin i (i=1, . . . , N). , the spin state update is determined by Equation 12 below.
Figure 2022177458000013
(12)

上述したように、実施の形態1にかかる情報処理装置100は、SCAだけでなく、モーメンタムアニーリングに対しても、適用可能である。つまり、実施の形態1にかかる情報処理装置100は、SCAに限定されない。実施の形態1にかかる情報処理装置100は、複数のスピンのスピン状態を並行して更新可能な任意のアルゴリズムに対して、適用可能である。 As described above, the information processing apparatus 100 according to the first embodiment is applicable not only to SCA but also to momentum annealing. That is, the information processing apparatus 100 according to the first embodiment is not limited to SCA. The information processing apparatus 100 according to the first embodiment is applicable to any algorithm that can update spin states of a plurality of spins in parallel.

(変形例)
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述したフローチャートにおいて、各処理(ステップ)の順序は、適宜、変更可能である。また、複数ある処理(ステップ)のうちの1つ以上は、省略されてもよい。
(Modification)
It should be noted that the present invention is not limited to the above embodiments, and can be modified as appropriate without departing from the scope of the invention. For example, in the flowcharts described above, the order of each process (step) can be changed as appropriate. Also, one or more of a plurality of processes (steps) may be omitted.

例えば、図11に示したフローチャートにおいて、処理S208の後で、S210の処理ではなくS212の処理が実行されてもよい。この場合、S212の処理の後で、図3のフローチャートのS106と実質的に同様の処理が実行されてもよい。また、S210の処理で、「t≧tmax」であるか否かが判定されてもよい。 For example, in the flowchart shown in FIG. 11, the process of S212 may be executed after the process S208 instead of the process of S210. In this case, a process substantially similar to S106 in the flowchart of FIG. 3 may be executed after the process of S212. Also, in the process of S210, it may be determined whether or not "t≧t max ".

また、上述した実施の形態1において、スピン状態決定部150は、複数のスピンそれぞれについて、更新確率が乱数rand(P)よりも大きく、且つ、更新試行率が乱数rand(ε)よりも大きい場合に、当該スピンの状態を更新するとした。しかしながら、このような構成に限られない。P×ε>randのときに、スピンiのスピン状態が更新されるようにしてもよい。つまり、スピン状態決定部150は、更新確率Pと更新試行率εとの積が乱数よりも大きい場合に、スピンiのスピン状態を更新するように決定してもよい。言い換えると、更新確率Pに基づく判定と更新試行率εに基づく判定とを、互いに独立して行わなくてもよい。 Further, in the first embodiment described above, the spin state determination unit 150 determines that, for each of a plurality of spins, when the update probability is greater than the random number rand (P) and the update trial rate is greater than the random number rand (ε) , the state of the spin is updated. However, it is not limited to such a configuration. The spin state of spin i may be updated when P i ×ε>rand. In other words, spin state determination section 150 may determine to update the spin state of spin i when the product of update probability P i and update trial rate ε is greater than a random number. In other words, the determination based on the update probability P i and the determination based on the update trial rate ε need not be performed independently of each other.

上述の例において、プログラムは、コンピュータに読み込まれた場合に、実施形態で説明された1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disk(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。 In the above examples, the program includes instructions (or software code) that, when read into the computer, cause the computer to perform one or more of the functions described in the embodiments. The program may be stored in a non-transitory computer-readable medium or tangible storage medium. By way of example, and not limitation, computer readable media or tangible storage media may include random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drives (SSD) or other memory technology, CDs -ROM, digital versatile disk (DVD), Blu-ray disc or other optical disc storage, magnetic cassette, magnetic tape, magnetic disc storage or other magnetic storage device. The program may be transmitted on a transitory computer-readable medium or communication medium. By way of example, and not limitation, transitory computer readable media or communication media include electrical, optical, acoustic, or other forms of propagated signals.

100 情報処理装置
110 アニーリング制御部
112 ステップ制御部
114 温度制御部
116 自己作用制御部
118 更新試行率制御部
120 瞬間磁場計算部
130 更新確率計算部
140 乱数生成部
150 スピン状態決定部
160 スピン配列出力部
300 モデル
100 information processing device 110 annealing control unit 112 step control unit 114 temperature control unit 116 self-action control unit 118 update trial rate control unit 120 instantaneous magnetic field calculation unit 130 update probability calculation unit 140 random number generation unit 150 spin state determination unit 160 spin array output part 300 model

Claims (5)

イジングモデルを用いて解を求める情報処理装置であって、
アニーリングのステップを制御するとともに、温度のパラメータと、自己作用のパラメータと、前記イジングモデルにおける複数のスピンの更新試行率とを制御するアニーリング制御部と、
前記複数のスピンの瞬間磁場を並列に計算する瞬間磁場計算部と、
前記瞬間磁場に基づいて、前記複数のスピンの更新確率を並列に計算する更新確率計算部と、
前記更新確率と前記更新試行率とに基づいて、前記複数のスピンの状態を並列に決定するスピン状態決定部と、
を有する情報処理装置。
An information processing device for obtaining a solution using an Ising model,
an annealing control unit that controls the annealing step and also controls the temperature parameter, the self-action parameter, and the update trial rate of a plurality of spins in the Ising model;
an instantaneous magnetic field calculation unit that calculates the instantaneous magnetic fields of the plurality of spins in parallel;
an update probability calculator that calculates in parallel the update probabilities of the plurality of spins based on the instantaneous magnetic field;
a spin state determination unit that determines states of the plurality of spins in parallel based on the update probability and the update trial rate;
Information processing device having
前記アニーリング制御部は、アニーリングのステップが経過するにつれて前記更新試行率が減少するように、前記更新試行率を制御する、
請求項1に記載の情報処理装置。
The annealing control unit controls the update trial rate so that the update trial rate decreases as the annealing step elapses.
The information processing device according to claim 1 .
前記複数のスピンそれぞれについて、第1の乱数及び第2の乱数を生成する乱数生成部、
をさらに有し、
前記スピン状態決定部は、前記複数のスピンそれぞれについて、前記更新確率が前記第1の乱数よりも大きく、前記更新試行率が前記第2の乱数よりも大きい場合に、当該スピンの状態を更新する、
請求項1又は2に記載の情報処理装置。
a random number generator that generates a first random number and a second random number for each of the plurality of spins;
further having
The spin state determination unit updates the state of each of the plurality of spins when the update probability is greater than the first random number and the update trial rate is greater than the second random number. ,
The information processing apparatus according to claim 1 or 2.
イジングモデルを用いて解を求める情報処理方法であって、
アニーリングのステップを制御するとともに、温度のパラメータと、自己作用のパラメータと、前記イジングモデルにおける複数のスピンの更新試行率とを制御し、
前記複数のスピンの瞬間磁場を並列に計算し、
前記瞬間磁場に基づいて、前記複数のスピンの更新確率を並列に計算し、
前記更新確率と前記更新試行率とに基づいて、前記複数のスピンの状態を並列に決定する、
情報処理方法。
An information processing method for obtaining a solution using an Ising model,
controlling the annealing step, controlling the temperature parameter, the self-action parameter, and the update trial rate of multiple spins in the Ising model;
calculating in parallel the instantaneous magnetic fields of the plurality of spins;
calculating in parallel update probabilities of the plurality of spins based on the instantaneous magnetic field;
determining states of the plurality of spins in parallel based on the update probability and the update trial rate;
Information processing methods.
イジングモデルを用いて解を求める情報処理方法を実現するプログラムであって、
アニーリングのステップを制御するとともに、温度のパラメータと、自己作用のパラメータと、前記イジングモデルにおける複数のスピンの更新試行率とを制御する処理と、
前記複数のスピンの瞬間磁場を並列に計算する処理と、
前記瞬間磁場に基づいて、前記複数のスピンの更新確率を並列に計算する処理と、
前記更新確率と前記更新試行率とに基づいて、前記複数のスピンの状態を並列に決定する処理と、
をコンピュータに実行させるプログラム。
A program for realizing an information processing method for obtaining a solution using an Ising model,
A process of controlling the annealing step and controlling the temperature parameter, the self-action parameter, and the update trial rate of a plurality of spins in the Ising model;
a process of calculating in parallel the instantaneous magnetic fields of the plurality of spins;
a process of calculating in parallel update probabilities of the plurality of spins based on the instantaneous magnetic field;
A process of determining states of the plurality of spins in parallel based on the update probability and the update trial rate;
A program that makes a computer run
JP2021083725A 2021-05-18 2021-05-18 Information processing device, method for processing information, and program Pending JP2022177458A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021083725A JP2022177458A (en) 2021-05-18 2021-05-18 Information processing device, method for processing information, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021083725A JP2022177458A (en) 2021-05-18 2021-05-18 Information processing device, method for processing information, and program

Publications (1)

Publication Number Publication Date
JP2022177458A true JP2022177458A (en) 2022-12-01

Family

ID=84237744

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021083725A Pending JP2022177458A (en) 2021-05-18 2021-05-18 Information processing device, method for processing information, and program

Country Status (1)

Country Link
JP (1) JP2022177458A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115907005A (en) * 2023-01-05 2023-04-04 华南理工大学 Large-scale full-connection Esino model annealing processing circuit based on network on chip

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115907005A (en) * 2023-01-05 2023-04-04 华南理工大学 Large-scale full-connection Esino model annealing processing circuit based on network on chip

Similar Documents

Publication Publication Date Title
CN109858628B (en) Method, apparatus, device and computer readable storage medium for compiling quantum circuit
US20180107172A1 (en) Optimization apparatus and optimization apparatus control method
Noel A new gradient based particle swarm optimization algorithm for accurate computation of global minimum
US8825573B2 (en) Controlling quarantining and biasing in cataclysms for optimization simulations
JP3404532B2 (en) Optimal fitting parameter determining method and apparatus, and optimal fitting parameter determining program
KR20220143630A (en) Method and apparatus, device, and storage medium for optimizing quantum gates
JP7408840B2 (en) Quantum computing methods, apparatus, computer equipment, and computer programs
JP2018041351A (en) Information processing device, ising device and method for controlling information processing device
CN112101530A (en) Neural network training method, device, equipment and storage medium
Zanette et al. Limiting extrapolation in linear approximate value iteration
JP7267966B2 (en) Information processing device and information processing method
JP2022177458A (en) Information processing device, method for processing information, and program
JP7283318B2 (en) Optimization device, optimization program, and optimization method
EP4089593A1 (en) Method and apparatus for executing quantum operation, and chip, device and storage medium
Fan et al. A novel multi-objective PSO algorithm based on completion-checking
US20230306293A1 (en) Quantum circuit generation device, quantum circuit generation method, and quantum circuit generation program
JP2023524204A (en) Asynchronous quantum information processing
JP7336712B2 (en) Arithmetic Device, Arithmetic Method, and Program
EP4036816A1 (en) Mitigating errors in algorithms performed using quantum information processors
Zhang et al. Evolutionary-based quantum architecture search
US11853658B2 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
Palar et al. Comparison of scalarization functions within a local surrogate assisted multi-objective memetic algorithm framework for expensive problems
KR20230012790A (en) Method and apparatus for function optimization
JP2022189626A (en) Evaluation device, inferring device, evaluation method, program, and non-transitory computer readable medium
Aloui et al. Maximizing the Domain of attraction of nonlinear systems: A PSO optimization approach