JP7093009B2 - Optimization device, optimization device control method, and optimization device control program - Google Patents

Optimization device, optimization device control method, and optimization device control program Download PDF

Info

Publication number
JP7093009B2
JP7093009B2 JP2018161212A JP2018161212A JP7093009B2 JP 7093009 B2 JP7093009 B2 JP 7093009B2 JP 2018161212 A JP2018161212 A JP 2018161212A JP 2018161212 A JP2018161212 A JP 2018161212A JP 7093009 B2 JP7093009 B2 JP 7093009B2
Authority
JP
Japan
Prior art keywords
state
neuron
update
circuit
limit value
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.)
Active
Application number
JP2018161212A
Other languages
Japanese (ja)
Other versions
JP2020035179A (en
Inventor
純平 小山
泰孝 田村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018161212A priority Critical patent/JP7093009B2/en
Priority to US16/521,680 priority patent/US11645496B2/en
Publication of JP2020035179A publication Critical patent/JP2020035179A/en
Application granted granted Critical
Publication of JP7093009B2 publication Critical patent/JP7093009B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Feedback Control In General (AREA)

Description

本発明は、最適化装置、最適化装置の制御方法及び最適化装置の制御プログラムに関する。 The present invention relates to an optimization device, a control method for the optimization device, and a control program for the optimization device.

従来、ノイマン型コンピュータが不得意とする多変数の最適化問題を、イジング型のエネルギー関数を用いた最適化装置(イジングマシンまたはボルツマンマシンと呼ばれる場合もある)によって計算する方法がある。最適化装置は、計算対象の問題を、磁性体のスピンの振る舞いを表すモデルであるイジングモデルに置き換えて計算する。 Conventionally, there is a method of calculating a multivariable optimization problem, which is a weak point of a Neumann computer, by an optimization device using an Ising-type energy function (sometimes called an Ising machine or a Boltzmann machine). The optimizer replaces the problem to be calculated with the Ising model, which is a model representing the spin behavior of a magnetic material, and calculates.

最適化装置は、たとえば、ニューラルネットワークを用いて問題をモデル化することもできる。その場合、イジングモデルに含まれる複数のスピンに対応した複数のビットのそれぞれが、他のビットの値と、他のビットと自身のビットとの相互作用の大きさを示す重み値(結合係数とも呼ばれる)とに応じて0または1を出力するニューロンとして機能する。最適化装置は、たとえば、シミュレーテッド・アニーリングなどの確率的探索法により、イジングモデルのエネルギー関数の値(以下エネルギーという)の最小値が得られる各ニューロンの状態の組み合わせを、解として求める。 The optimizer can also model the problem using, for example, a neural network. In that case, each of the multiple bits corresponding to the multiple spins included in the Ising model is a weight value (also known as a coupling coefficient) that indicates the value of the other bit and the magnitude of the interaction between the other bit and its own bit. It functions as a neuron that outputs 0 or 1 depending on (called). The optimizer finds, for example, a combination of states of each neuron in which the minimum value of the energy function value (hereinafter referred to as energy) of the Zing model is obtained by a stochastic search method such as simulated annealing as a solution.

従来、デジタル回路を用いてシミュレーテッド・アニーリングを行うことでエネルギーが最小となる各ニューロンの状態の組み合わせを計算する最適化装置がある(たとえば、特許文献1参照)。 Conventionally, there is an optimization device that calculates the combination of states of each neuron whose energy is minimized by performing simulated annealing using a digital circuit (see, for example, Patent Document 1).

特開2018-041351号公報Japanese Unexamined Patent Publication No. 2018-041351 特開2016-051314号公報Japanese Unexamined Patent Publication No. 2016-051314 特開2006-072691号公報Japanese Unexamined Patent Publication No. 2006-072691

ところで、最適化問題の中には、整数計画問題などのように、変数が0と1の2値ではなく3値以上の値をとるものも多い。
しかし、従来の最適化装置で3値以上の値をもつ変数を用いてニューロンの状態を表す場合、1つの変数を複数ビットを用いて表現することにより、ニューロンの状態を更新するか否かを決めるイジングモデルのエネルギー変化を算出するための回路規模が増大してしまう問題がある。
By the way, in many optimization problems, variables take three or more values instead of two values of 0 and 1, such as an integer programming problem.
However, when expressing the state of a neuron using a variable having three or more values in a conventional optimizer, whether or not to update the state of the neuron by expressing one variable using a plurality of bits is determined. There is a problem that the circuit scale for calculating the energy change of the Ising model to be determined increases.

1つの側面では、本発明は、3値以上の値をもつ変数を扱う最適化装置の回路規模の増大を抑制可能な最適化装置、最適化装置の制御方法及び最適化装置の制御プログラムを提供することを目的とする。 In one aspect, the present invention provides an optimization device capable of suppressing an increase in the circuit scale of an optimization device that handles variables having three or more values, a control method for the optimization device, and a control program for the optimization device. The purpose is to do.

1つの実施態様では、計算対象の問題を変換したイジングモデルに含まれる複数のスピンに対応し、それぞれm値(mは3以上の正の整数)の変数を用いて状態が表される複数のニューロンのうち、状態が更新された第1のニューロンの状態変化方向と、前記第1のニューロンと第2のニューロンとの間の相互作用の大きさを示す重み係数と、に基づいて、前記第2のニューロンの状態が、正負両方向に2(nは0以上の整数)変化することによる前記イジングモデルの2つのエネルギー変化を算出する算出回路と、乱数と温度パラメータとに基づいて決定される熱励起エネルギーと、前記2つのエネルギー変化との大小関係に基づいて、前記2つのエネルギー変化をもたらす前記第2のニューロンの状態の更新をそれぞれ許容するか否かを判定し、更新を許容するか否かの判定結果を出力するとともに、前記第2のニューロンの状態が上限値を超えるまたは下限値を下回る更新を制限する状態遷移判定回路と、をそれぞれが有し、互いに異なる前記第2のニューロンについての前記判定結果をそれぞれ出力する複数のイジング装置と、前記複数のイジング装置のそれぞれが出力する前記判定結果に基づいて、更新を許容する前記第2のニューロンを1つ選択するとともに、前記状態変化方向を選択する更新ニューロン選択回路と、前記更新ニューロン選択回路が選択した前記第2のニューロンの状態を、前記状態変化方向に基づいて更新する状態更新回路と、を有する最適化装置が提供される。 In one embodiment, a plurality of spins included in the singing model obtained by transforming the problem to be calculated correspond to a plurality of spins, each of which is represented by a variable of m value (m is a positive integer of 3 or more). The first neuron is based on the state change direction of the first neuron whose state has been updated and the weighting coefficient indicating the magnitude of the interaction between the first neuron and the second neuron. The state of 2 neurons is determined based on a calculation circuit that calculates the two energy changes of the Isging model due to a 2 n (n is an integer of 0 or more) changes in both positive and negative directions, a random number, and a temperature parameter. Based on the magnitude relationship between the thermal excitation energy and the two energy changes, it is determined whether or not to allow the update of the state of the second neuron that causes the two energy changes, and whether to allow the update. The second neuron, which outputs a determination result of whether or not, and has a state transition determination circuit that limits the update in which the state of the second neuron exceeds the upper limit value or falls below the lower limit value, and is different from each other. Based on the plurality of zing devices that output the determination results for each of the above-mentioned determination results and the determination results output by each of the plurality of zing devices, one of the second neurons that allow renewal is selected, and the state is described. An optimizer having an updated neuron selection circuit that selects a change direction and a state update circuit that updates the state of the second neuron selected by the update neuron selection circuit based on the state change direction is provided. To.

また、1つの実施態様では、最適化装置の制御方法が提供される。また、1つの実施態様では、最適化装置の制御プログラムが提供される。 Also, in one embodiment, a method of controlling the optimizer is provided. Also, in one embodiment, a control program for the optimizer is provided.

1つの側面では、本発明は、3値以上の値をもつ変数を扱う最適化装置の回路規模の増大を抑えることができる。 In one aspect, the present invention can suppress an increase in the circuit scale of an optimizer that handles variables having three or more values.

第1の実施の形態の最適化装置の一例を示す図である。It is a figure which shows an example of the optimization apparatus of 1st Embodiment. 第1の実施の形態の最適化装置の動作の一例の流れを示すフローチャートである。It is a flowchart which shows the flow of an example of the operation of the optimization apparatus of 1st Embodiment. 第2の実施の形態の最適化装置の一例を示す図である。It is a figure which shows an example of the optimization apparatus of the 2nd Embodiment. 1つ目のΔE変更部の一例を示す図である。It is a figure which shows an example of the 1st ΔE change part. 2つ目のΔE変更部の一例を示す図である。It is a figure which shows an example of the 2nd ΔE change part. 遷移可否決定部の一例を示す図である。It is a figure which shows an example of the transition possibility determination part. 第2の実施の形態の最適化装置の動作の一例の流れを示すフローチャートである。It is a flowchart which shows the flow of an example of the operation of the optimization apparatus of 2nd Embodiment. 第3の実施の形態の最適化装置の一例を示す図である。It is a figure which shows an example of the optimization apparatus of the 3rd Embodiment. 1つ目の定義域確認部の一例を示す図である。It is a figure which shows an example of the 1st domain confirmation part. 2つ目の定義域確認部の一例を示す図である。It is a figure which shows an example of the 2nd domain confirmation part. 第3の実施の形態の最適化装置の動作の一例の流れを示すフローチャートである。It is a flowchart which shows the flow of an example of the operation of the optimization apparatus of 3rd Embodiment. 第4の実施の形態の最適化装置の一例を示す図である。It is a figure which shows an example of the optimization apparatus of 4th Embodiment. ローカルフィールド更新部においてシフト動作が行われる部分の例を示す図である。It is a figure which shows the example of the part where the shift operation is performed in the local field update part. 第4の実施の形態の最適化装置の動作の一例の流れを示すフローチャートである。It is a flowchart which shows the flow of an example of the operation of the optimization apparatus of 4th Embodiment. 制御装置のハードウェア例を示す図である。It is a figure which shows the hardware example of a control device. 制御装置による最適化装置の制御方法の一例の流れを示すフローチャートである。It is a flowchart which shows the flow of an example of the control method of the optimization device by a control device.

以下、発明を実施するための形態を、図面を参照しつつ説明する。
以下に示す最適化装置は、計算対象の問題を変換したイジングモデルに含まれる複数のスピンに対応する複数のニューロンのそれぞれの状態の組み合わせのうち、エネルギー関数が最小値となるときの状態の組み合わせを探索するものである。各ニューロンは、m値(mは3以上の整数)の変数を用いて状態が表される。また、変数は所定のビット幅をもち、変化する際には、正または負方向に2(nは0以上の整数)変化するものとする。
Hereinafter, embodiments for carrying out the invention will be described with reference to the drawings.
The optimizer shown below is a combination of states when the energy function is the minimum value among the combinations of the states of each of the multiple neurons corresponding to multiple spins included in the Ising model that transforms the problem to be calculated. Is to search for. Each neuron is represented by a variable with an m value (m is an integer of 3 or more). Further, the variable has a predetermined bit width, and when it changes, it is assumed that the variable changes by 2 n (n is an integer of 0 or more) in the positive or negative direction.

イジング型のエネルギー関数E(x)は、たとえば、以下の式(1)で定義される。 The Ising-type energy function E (x) is defined by, for example, the following equation (1).

Figure 0007093009000001
Figure 0007093009000001

右辺の1項目は、全ニューロンから選択可能な2つのニューロンの全組み合わせについて、漏れと重複なく、2つのニューロンの状態と結合係数との積を積算したものである。xは、i番目のニューロンの状態を表す変数(状態変数とも呼ばれる)、xは、j番目のニューロンの状態を示す変数であり、Wijは、i番目とj番目のニューロンの相互作用の大きさを示す重み係数である。なお、Wii=0である。また、Wij=Wjiであることが多い(つまり、重み係数による係数行列は対称行列である場合が多い)。また重み係数Wijは、所定のビット幅(たとえば、16ビット、32ビット、64ビット、128ビットなど)をもつ。 One item on the right side is the sum of the products of the states of the two neurons and the connection coefficient for all combinations of the two neurons that can be selected from all the neurons, without omission or duplication. x i is a variable indicating the state of the i-th neuron (also called a state variable), x j is a variable indicating the state of the j-th neuron, and Wij is the interaction between the i-th and j-th neurons. It is a weighting coefficient indicating the magnitude of. In addition, Wii = 0. In addition, W ij = W ji in many cases (that is, the coefficient matrix based on the weighting coefficient is often a symmetric matrix). Further, the weighting coefficient Wij has a predetermined bit width (for example, 16 bits, 32 bits, 64 bits, 128 bits, etc.).

右辺の2項目は、全ニューロンのそれぞれのバイアス係数とニューロンの状態を表す変数との積の総和を求めたものである。bは、i番目のニューロンのバイアス係数を示している。 The two items on the right side are the sum of the products of the bias coefficients of all neurons and the variables representing the state of the neurons. b i indicates the bias coefficient of the i-th neuron.

また、変数xがm値の場合、変数xが上限または下限に達していない場合、変数xの変化分Δxは、±2である。
変数xの正方向及び負方向の変化に伴うエネルギー変化ΔEi±は、以下の式(2)で表される。
Further, when the variable x i is an m value and the variable x i does not reach the upper limit or the lower limit, the change amount Δ x i of the variable x i is ± 2 n .
The energy change ΔE i ± accompanying the change of the variable x i in the positive direction and the negative direction is expressed by the following equation (2).

Figure 0007093009000002
Figure 0007093009000002

式(2)のようにエネルギー変化ΔEi±は、i番目のニューロンの状態変化方向(正または負)によって、2つの値をもつ。
なお、式(2)において、hはローカルフィールド(局所場)と呼ばれる。
As shown in equation (2), the energy change ΔE i ± has two values depending on the state change direction (positive or negative) of the i-th neuron.
In equation (2), hi is called a local field (local field).

(第1の実施の形態)
図1は、第1の実施の形態の最適化装置の一例を示す図である。
第1の実施の形態の最適化装置10は、N個のニューロンに関する計算を行うN個のイジング装置11a1,11a2,…,11aN、更新ニューロン選択回路12、状態更新回路13、制御部14を有する。イジング装置11a1~11aNのそれぞれは、1チップの半導体集積回路であってもよいし、1チップの半導体集積回路の中に、イジング装置11a1~11aNが含まれていてもよい。
(First Embodiment)
FIG. 1 is a diagram showing an example of an optimization device according to the first embodiment.
The optimization device 10 of the first embodiment includes N Ising devices 11a1, 11a2, ..., 11aN, an update neuron selection circuit 12, a state update circuit 13, and a control unit 14 that perform calculations on N neurons. .. Each of the singing devices 11a1 to 11aN may be a one-chip semiconductor integrated circuit, or the singing devices 11a1 to 11aN may be included in the one-chip semiconductor integrated circuit.

イジング装置11a1は、N個のニューロンのうち、1番目のニューロン(識別情報ID=1のニューロン)に関する計算を行う。イジング装置11a1は、算出回路11b1、状態遷移判定回路11c1を有する。 The Ising device 11a1 performs a calculation on the first neuron (neuron having identification information ID = 1) out of N neurons. The Ising device 11a1 has a calculation circuit 11b1 and a state transition determination circuit 11c1.

算出回路11b1は、N個のニューロンのうち、状態が更新されたニューロンの状態変化方向DRとそのニューロンの識別情報IDとを更新ニューロン選択回路12から受ける。そして、算出回路11b1は、識別情報IDで識別されるニューロンと1番目のニューロンとの間の相互作用の大きさを示す重み係数と、状態変化方向DRに基づいて、エネルギー変化ΔE1+,ΔE1-を算出する。エネルギー変化ΔE1+,ΔE1-は、1番目のニューロンの状態が、正負両方向に2変化することによるイジングモデルの2つのエネルギー変化である。 The calculation circuit 11b1 receives the state change direction DR of the neuron whose state has been updated and the identification information ID of the neuron from the update neuron selection circuit 12 among the N neurons. Then, the calculation circuit 11b1 has an energy change ΔE 1+ , ΔE 1 based on a weighting coefficient indicating the magnitude of the interaction between the neuron identified by the identification information ID and the first neuron and the state change direction DR. -Calculate . Energy changes ΔE 1+ and ΔE 1- are two energy changes in the Ising model due to changes in the state of the first neuron by 2 n in both positive and negative directions.

図1の例では、算出回路11b1は、レジスタ11b11、ローカルフィールド更新部11b12、エネルギー変化算出部11b13を有する。
レジスタ11b11は、N個の重み係数W11,W12,…,W1Nを記憶する。なお、重み係数W11,W12,…,W1Nは、SRAM(Static Random Access Memory)などのメモリに記憶されていてもよい。なお、全ての重み係数W11~WNNが1つのメモリに記憶されていてもよい。
In the example of FIG. 1, the calculation circuit 11b1 has a register 11b11, a local field update unit 11b12, and an energy change calculation unit 11b13.
The register 11b 11 stores N weighting coefficients W 11 , W 12 , ..., W 1N . The weighting coefficients W 11 , W 12 , ..., W 1N may be stored in a memory such as a SRAM (Static Random Access Memory). It should be noted that all the weighting coefficients W11 to WNN may be stored in one memory.

ローカルフィールド更新部11b12は、状態が更新されたニューロンの識別情報IDから、そのニューロンと1番目のニューロンとの間の相互作用の大きさを示す重み係数を選択する。そして、ローカルフィールド更新部11b12は、選択した重み係数と、状態が更新されたニューロンの状態変化方向DRに基づいて、ローカルフィールドhを更新する。なお、ローカルフィールドhの初期値は、たとえば、バイアス係数bである。 The local field update unit 11b12 selects a weighting coefficient indicating the magnitude of the interaction between the neuron and the first neuron from the identification information ID of the neuron whose state has been updated. Then, the local field update unit 11b12 updates the local field h1 based on the selected weighting coefficient and the state change direction DR of the neuron whose state has been updated. The initial value of the local field h 1 is, for example, a bias coefficient b 1 .

ニューロン(j番目のニューロン)の状態が、正方向に2変化したときのローカルフィールドhの変化分は、+21j、負方向に2変化したときのローカルフィールドhの変化分は、-21jと表せる。 The change in the local field h 1 when the state of the neuron (jth neuron) changes by 2 n in the positive direction is +2 n W 1j , and the change in the local field h 1 when the state changes by 2 n in the negative direction. Can be expressed as -2 n W 1j .

したがって、ローカルフィールド更新部11b12は、重み係数W1jをnビット左シフトした値を、現在のローカルフィールドhに対して、状態変化方向DRに応じて加算するか減算することで、ローカルフィールドhを更新することができる。このような、ローカルフィールド更新部11b12は、たとえば、セレクタ、加算器(または減算器)、シフト演算回路を用いて実現できる。なお、n=0の場合には、シフト演算回路は不要である。 Therefore, the local field update unit 11b12 adds or subtracts the value obtained by shifting the weighting coefficient W 1j to the left by n bits to the current local field h 1 according to the state change direction DR, thereby adding or subtracting the local field h. 1 can be updated. Such a local field update unit 11b12 can be realized by using, for example, a selector, an adder (or subtractor), and a shift calculation circuit. When n = 0, the shift calculation circuit is unnecessary.

エネルギー変化算出部11b13は、式(2)に基づいて、エネルギー変化ΔE1+,ΔE1-を算出する。エネルギー変化算出部11b13は、たとえば、シフト演算回路、符号反転回路を用いて実現できる。なお、n=0の場合には、シフト演算回路は不要である。 The energy change calculation unit 11b13 calculates the energy changes ΔE 1+ and ΔE 1- based on the equation (2). The energy change calculation unit 11b13 can be realized by using, for example, a shift calculation circuit and a code inversion circuit. When n = 0, the shift calculation circuit is unnecessary.

状態遷移判定回路11c1は、熱励起エネルギーと、エネルギー変化ΔE1+,ΔE1-との大小関係に基づいて、エネルギー変化ΔE1+,ΔE1-をもたらす1番目のニューロンの状態の更新をそれぞれ許容するか否かを判定する。そして、状態遷移判定回路11c1は、更新を許容するか否かの判定結果を出力する。また、状態遷移判定回路11c1は、1番目のニューロンの状態が上限値を超えるまたは下限値を下回る更新を制限する。つまり、状態遷移判定回路11c1は、1番目のニューロンの状態の定義域外となる更新が生じないようにする。なお、各ニューロンの状態を表す変数の定義域は、たとえば、問題の種類や最適化装置10のハードウェア上の制約などによって決定される。 The state transition determination circuit 11c1 allows the update of the state of the first neuron that causes the energy changes ΔE 1+ and ΔE 1- , respectively, based on the magnitude relationship between the thermal excitation energy and the energy changes ΔE 1+ and ΔE 1- . Judge whether or not. Then, the state transition determination circuit 11c1 outputs a determination result as to whether or not the update is permitted. Further, the state transition determination circuit 11c1 limits the update in which the state of the first neuron exceeds the upper limit value or falls below the lower limit value. That is, the state transition determination circuit 11c1 prevents the update that is outside the definition range of the state of the first neuron. The domain of the variable representing the state of each neuron is determined by, for example, the type of problem or the hardware limitation of the optimization device 10.

熱励起エネルギーは、たとえば、後述の乱数発生回路が生成した乱数と、制御部14から入力される温度パラメータTとに基づいて決定される。
また、上限値や下限値を含む制限情報LMTは、制御部14から供給される。状態遷移判定回路11c1は、1番目のニューロンの状態が、正または負方向に2変化することにより上限値を超えるまたは下限値を下回る場合、たとえば、エネルギー変化ΔE1+またはエネルギー変化ΔE1-を、十分に大きな所定の正の値に変更する。これによって、状態遷移判定回路11c1は、1番目のニューロンの状態の更新が許容されないようにする。この所定の正の値は、たとえば、エネルギー変化を所定の正の値に変更したときの、更新を許容するか否かの判定結果の値の検出結果に基づいて決定されるようにしてもよい。
The thermal excitation energy is determined based on, for example, a random number generated by a random number generation circuit described later and a temperature parameter T input from the control unit 14.
Further, the limit information LMT including the upper limit value and the lower limit value is supplied from the control unit 14. The state transition determination circuit 11c1 determines, for example, energy change ΔE 1+ or energy change ΔE 1- when the state of the first neuron exceeds the upper limit value or falls below the lower limit value by changing 2 n in the positive or negative direction. , Change to a given positive value that is large enough. As a result, the state transition determination circuit 11c1 prevents the update of the state of the first neuron from being allowed. This predetermined positive value may be determined based on the detection result of the value of the determination result as to whether or not to allow the update when the energy change is changed to the predetermined positive value, for example. ..

また、状態遷移判定回路11c1は、1番目のニューロンの状態が、正または負方向に2変化することにより上限値を超えるまたは下限値を下回る場合、更新を許容するか否かの判定結果を、更新を許容しないことを示す値に変更してもよい。 Further, the state transition determination circuit 11c1 determines whether or not to allow the update when the state of the first neuron exceeds the upper limit value or falls below the lower limit value by changing 2n in the positive or negative direction. , May be changed to a value indicating that the update is not allowed.

このような状態遷移判定回路11c1の回路例については、第2の実施の形態以降において説明する。
他のイジング装置11a2~11aNについても、2~N番目のニューロンに関して、イジング装置11a1と同様の処理を行う。
A circuit example of such a state transition determination circuit 11c1 will be described in the second and subsequent embodiments.
For the other Ising devices 11a2 to 11aN, the same processing as for the Ising devices 11a1 is performed for the 2nd to Nth neurons.

たとえば、イジング装置11a2の算出回路11b2は、レジスタ11b21、ローカルフィールド更新部11b22、エネルギー変化算出部11b23を有する。レジスタ11b21は、N個の重み係数W21,W22,…,W2Nを記憶する。ローカルフィールド更新部11b22は、状態が更新されたニューロンの識別情報IDから、そのニューロンと2番目のニューロンとの間の相互作用の大きさを示す重み係数を選択する。そして、ローカルフィールド更新部11b22は、選択した重み係数と、状態が更新されたニューロンの状態変化方向DRに基づいて、ローカルフィールドhを更新する。エネルギー変化算出部11b23は、式(2)に基づいて、エネルギー変化ΔE2+,ΔE2-を算出する。そしてイジング装置11a2の状態遷移判定回路11c2は、熱励起エネルギーと、エネルギー変化ΔE2+,ΔE2-との大小関係に基づいて、エネルギー変化ΔE2+,ΔE2-をもたらす2番目のニューロンの状態の更新をそれぞれ許容するか否かを判定する。そして、状態遷移判定回路11c2は、更新を許容するか否かの判定結果を出力する。また、状態遷移判定回路11c2は、2番目のニューロンの状態が上限値を超えるまたは下限値を下回る更新を制限する。 For example, the calculation circuit 11b2 of the Ising device 11a2 has a register 11b21, a local field update unit 11b22, and an energy change calculation unit 11b23. The register 11b21 stores N weighting coefficients W 21 , W 22 , ..., W 2N . The local field update unit 11b22 selects a weighting coefficient indicating the magnitude of the interaction between the neuron and the second neuron from the identification information ID of the neuron whose state has been updated. Then, the local field update unit 11b22 updates the local field h2 based on the selected weighting coefficient and the state change direction DR of the neuron whose state has been updated. The energy change calculation unit 11b23 calculates the energy changes ΔE 2+ and ΔE 2- based on the equation (2). Then, the state transition determination circuit 11c2 of the singing apparatus 11a2 is the state of the second neuron that brings about the energy changes ΔE 2+ and ΔE 2- based on the magnitude relationship between the thermal excitation energy and the energy changes ΔE 2+ and ΔE 2- . Determine whether to allow each update. Then, the state transition determination circuit 11c2 outputs a determination result as to whether or not the update is permitted. Further, the state transition determination circuit 11c2 limits the update in which the state of the second neuron exceeds the upper limit value or falls below the lower limit value.

イジング装置11aNの算出回路11bNは、レジスタ11bN1、ローカルフィールド更新部11bN2、エネルギー変化算出部11bN3を有する。レジスタ11bN1は、N個の重み係数WN1,WN2,…,WNNを記憶する。ローカルフィールド更新部11bN2は、更新ニューロンの識別情報IDから、状態が更新されたニューロンとN番目のニューロンとの間の相互作用の大きさを示す重み係数を選択する。そして、ローカルフィールド更新部11bN2は、選択した重み係数と、状態が更新されたニューロンの状態変化方向DRに基づいて、ローカルフィールドhを更新する。エネルギー変化算出部11bN3は、式(2)に基づいて、エネルギー変化ΔEN+,ΔEN-を算出する。そしてイジング装置11aNの状態遷移判定回路11cNは、熱励起エネルギーと、エネルギー変化ΔEN+,ΔEN-との大小関係に基づいて、エネルギー変化ΔEN+,ΔEN-をもたらすN番目のニューロンの状態の更新をそれぞれ許容するか否かを判定する。そして、状態遷移判定回路11cNは、更新を許容するか否かの判定結果を出力する。また、状態遷移判定回路11cNは、N番目のニューロンの状態が上限値を超えるまたは下限値を下回る更新を制限する。 The calculation circuit 11bN of the Ising device 11aN has a register 11bN1, a local field update unit 11bN2, and an energy change calculation unit 11bN3. The register 11bN1 stores N weighting coefficients W N1 , W N2 , ..., W NN . The local field update unit 11bN2 selects a weighting coefficient indicating the magnitude of the interaction between the neuron whose state has been updated and the Nth neuron from the identification information ID of the update neuron. Then, the local field update unit 11bN2 updates the local field hN based on the selected weighting coefficient and the state change direction DR of the neuron whose state has been updated. The energy change calculation unit 11bN3 calculates the energy changes ΔEN + and ΔE N− based on the equation (2). Then, the state transition determination circuit 11cN of the singing apparatus 11aN is the state of the Nth neuron that brings about the energy change ΔEN + , ΔE N− based on the magnitude relationship between the thermal excitation energy and the energy change ΔEN + , ΔE N− . Determine whether to allow each update. Then, the state transition determination circuit 11cN outputs a determination result as to whether or not the update is permitted. Further, the state transition determination circuit 11cN limits the update in which the state of the Nth neuron exceeds the upper limit value or falls below the lower limit value.

更新ニューロン選択回路12は、イジング装置11a1~11aNのそれぞれが出力する判定結果に基づいて、更新を許容するニューロンを1つ選択するとともに、状態変化方向DRを選択する。更新ニューロン選択回路12は選択した更新を許容するニューロンの識別情報IDと、状態変化方向DRを出力する。 The renewal neuron selection circuit 12 selects one neuron that allows renewal and selects the state change direction DR based on the determination results output by each of the Ising devices 11a1 to 11aN. The renewal neuron selection circuit 12 outputs the identification information ID of the neuron that allows the selected renewal and the state change direction DR.

状態更新回路13は、更新ニューロン選択回路12が選択したニューロンの状態を、状態変化方向DRに基づいて正または負方向に2、変化(更新)させる。状態更新回路13は、記憶部(たとえば、レジスタ)を有しており、N個のニューロンの状態を保持している。 The state update circuit 13 changes (updates) the state of the neuron selected by the update neuron selection circuit 12 in the positive or negative direction by 2 n based on the state change direction DR. The state update circuit 13 has a storage unit (for example, a register) and holds the states of N neurons.

制御部14は、制御装置15(たとえば、PC(Personal Computer))との間で情報の送受信を行う。たとえば、制御部14は、制御装置15からイジングモデルを表現する重み係数Wijを受け、イジング装置11a1~11aNに対して、重み係数ijを設定する(レジスタ11b11~11bN1に記憶する)。また、制御部14は、ローカルフィールドhの初期値(たとえば、バイアス係数b)を制御装置15から受け、イジング装置11a1~11aNに対して、設定してもよい。 The control unit 14 transmits / receives information to / from the control device 15 (for example, a PC (Personal Computer)). For example, the control unit 14 receives the weighting coefficient Wij expressing the Ising model from the control device 15 and sets the weighting coefficient ij for the Ising devices 11a1 to 11aN (stored in the registers 11b11 to 11bN1). Further, the control unit 14 may receive an initial value of the local field h i (for example, a bias coefficient bi) from the control device 15 and set it for the Ising devices 11a1 to 11aN .

また、制御部14は、制御装置15から、アニーリング条件(温度パラメータTの最大値、最小値、温度パラメータTの値の下げ方についての情報など)を受け、アニーリング条件に基づいて、イジング装置11a1~11aNに対して、温度パラメータTを設定する。制御部14は、アニーリング条件に基づいて、温度パラメータTの値を徐々に小さくしていく。また、制御部14は、前述の制限情報LMTを制御装置15から受け、イジング装置11a1~11aNに対して、各ニューロンの状態の上限値と下限値を含む制限情報LMTを設定する。また、制御部14は、たとえば、温度パラメータTの値を所定回数、小さくした場合(または温度パラメータTが最小値に達した場合)の状態更新回路13に保持されている各ニューロンの状態を解として制御装置15に送信する。 Further, the control unit 14 receives annealing conditions (information on how to lower the maximum value and minimum value of the temperature parameter T, the value of the temperature parameter T, etc.) from the control device 15, and based on the annealing conditions, the Ising device 11a1 The temperature parameter T is set for ~ 11aN. The control unit 14 gradually reduces the value of the temperature parameter T based on the annealing conditions. Further, the control unit 14 receives the above-mentioned restriction information LMT from the control device 15, and sets the restriction information LMT including the upper limit value and the lower limit value of the state of each neuron for the Ising devices 11a1 to 11aN. Further, the control unit 14 solves, for example, the state of each neuron held in the state update circuit 13 when the value of the temperature parameter T is reduced a predetermined number of times (or when the temperature parameter T reaches the minimum value). Is transmitted to the control device 15.

制御部14は、たとえば、ASIC(Application Specific Integrated Circuit)やFPGAなどの特定用途の電子回路にて実現できる。なお、制御部14は、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサであってもよい。その場合、プロセッサは、図示しないメモリに記憶されたプログラムを実行することで、上記のような制御部14の処理を行う。制御部14の機能は、制御装置15に含まれていてもよい。 The control unit 14 can be realized by, for example, an electronic circuit for a specific purpose such as an ASIC (Application Specific Integrated Circuit) or an FPGA. The control unit 14 may be a processor such as a CPU (Central Processing Unit) or a DSP (Digital Signal Processor). In that case, the processor executes the program stored in the memory (not shown) to perform the processing of the control unit 14 as described above. The function of the control unit 14 may be included in the control device 15.

以下、第1の実施の形態の最適化装置10の動作例を示す。
図2は、第1の実施の形態の最適化装置の動作の一例の流れを示すフローチャートである。
Hereinafter, an operation example of the optimization device 10 according to the first embodiment will be shown.
FIG. 2 is a flowchart showing a flow of an example of the operation of the optimization device according to the first embodiment.

まず、制御部14は、制御装置15から受けた重み係数Wij、ローカルフィールドhの初期値、温度パラメータTの初期値、制限情報LMTを、イジング装置11a1~11aNに設定する(ステップS1)。 First, the control unit 14 sets the weighting coefficient Wij received from the control device 15, the initial value of the local field hi, the initial value of the temperature parameter T, and the limit information LMT in the singing devices 11a1 to 11aN (step S1). ..

ローカルフィールド更新部11b12~11bN2は、2回目以降の更新処理では前述の処理により、ローカルフィールドhを更新する(ステップS2)。
エネルギー変化算出部11b13~11bN3のそれぞれは、式(2)に基づいて、2つのエネルギー変化ΔEi+,ΔEi-を算出する(ステップS3)。
The local field update units 11b12 to 11bN2 update the local field hi by the above-mentioned process in the second and subsequent update processes (step S2).
Each of the energy change calculation units 11b13 to 11bN3 calculates two energy changes ΔE i + and ΔE i− based on the equation (2) (step S3).

状態遷移判定回路11c1~11cNのそれぞれは、前述の処理により、エネルギー変化ΔEi+,ΔEi-をもたらす各ニューロンの状態の更新をそれぞれ許容するか否かを判定する(ステップS4)。また、ステップS4の処理では、状態遷移判定回路11c1~11cNのそれぞれは、前述の処理により、各ニューロンの状態が定義域外となる更新を制限する。 Each of the state transition determination circuits 11c1 to 11cN determines whether or not to allow the update of the state of each neuron that causes the energy changes ΔE i + and ΔE i − by the above-mentioned processing (step S4). Further, in the process of step S4, each of the state transition determination circuits 11c1 to 11cN limits the update in which the state of each neuron is out of the definition range by the above-mentioned process.

更新ニューロン選択回路12は、イジング装置11a1~11aNのそれぞれが出力する判定結果に基づいて、更新を許容するニューロンを1つ選択するとともに、状態変化方向DRを選択する(ステップS5)。 The renewal neuron selection circuit 12 selects one neuron that allows renewal and selects the state change direction DR based on the determination results output by each of the Ising devices 11a1 to 11aN (step S5).

状態更新回路13は、更新ニューロン選択回路12が選択したニューロンの状態を、状態変化方向DRに基づいて更新する(ステップS6)。
制御部14は、ステップS2~S6の更新処理が所定回数N1、繰り返されたか否かを判定する(ステップS7)。更新処理が所定回数N1、繰り返されていない場合には、ステップS2~S6の更新処理が繰り返される。
The state update circuit 13 updates the state of the neuron selected by the update neuron selection circuit 12 based on the state change direction DR (step S6).
The control unit 14 determines whether or not the update process of steps S2 to S6 has been repeated a predetermined number of times N1 (step S7). If the update process is not repeated a predetermined number of times N1, the update process of steps S2 to S6 is repeated.

更新処理が所定回数N1、繰り返された場合、制御部14は、温度パラメータTの変更回数(温度変更回数)が、所定回数N2に達したか否かを判定する(ステップS8)。
温度変更回数が所定回数N2に達していない場合、制御部14は、温度パラメータTを変更する(温度を下げる)(ステップS9)。所定回数N1,N2、温度パラメータTの値の変更の仕方(一度に値をどのくらい小さくするかなど)は、アニーリング条件に基づいて決定される。ステップS9の処理後、ステップS2からの処理が繰り返される。
When the update process is repeated a predetermined number of times N1, the control unit 14 determines whether or not the number of changes of the temperature parameter T (the number of temperature changes) has reached the predetermined number of times N2 (step S8).
When the number of temperature changes has not reached the predetermined number of times N2, the control unit 14 changes the temperature parameter T (lowers the temperature) (step S9). How to change the values of the temperature parameter T, N1 and N2 a predetermined number of times (how small the values are to be reduced at one time, etc.) is determined based on the annealing conditions. After the process of step S9, the process from step S2 is repeated.

温度変更回数が所定回数N2に達している場合、制御部14は、そのとき状態更新回路13に保持されている各ニューロンの状態を、解(計算結果)として制御装置15に送信(出力)する(ステップS10)。 When the number of temperature changes reaches N2 a predetermined number of times, the control unit 14 transmits (outputs) the state of each neuron held in the state update circuit 13 to the control device 15 as a solution (calculation result). (Step S10).

以上のような第1の実施の形態の最適化装置10では、3値以上の値をもつ各ニューロンの状態の許容する変化を±2(nは0以上の整数)とすることで、イジングモデルのエネルギー変化を算出する回路の構成が簡素化され回路規模の増大を抑えられる。また、小さい回路規模で、3値以上の値をもつニューロンの状態を扱えることで、最適化装置10によって解くことができる問題の範囲を広げることができる。 In the optimization device 10 of the first embodiment as described above, the permissible change in the state of each neuron having a value of 3 or more is set to ± 2 n (n is an integer of 0 or more), and the singing is performed. The configuration of the circuit that calculates the energy change of the model is simplified and the increase in the circuit scale can be suppressed. Further, by handling the state of a neuron having a value of 3 or more in a small circuit scale, the range of problems that can be solved by the optimization device 10 can be expanded.

なお、ニューロンごとに、nの値は異なっていてもよい。
(第2の実施の形態)
図3は、第2の実施の形態の最適化装置の一例を示す図である。図3において、図1に示した第1の実施の形態の最適化装置10の要素と同じ要素については同一符号が付されている。
The value of n may be different for each neuron.
(Second embodiment)
FIG. 3 is a diagram showing an example of the optimization device of the second embodiment. In FIG. 3, the same elements as those of the optimization device 10 of the first embodiment shown in FIG. 1 are designated by the same reference numerals.

第2の実施の形態の最適化装置20において、イジング装置21a1の状態遷移判定回路21b1は、ΔE変更部21b11,21b12、遷移可否決定部21b13,21b14を有する。 In the optimization device 20 of the second embodiment, the state transition determination circuit 21b1 of the Ising device 21a1 has a ΔE change unit 21b11,21b12 and a transition possibility determination unit 21b13, 21b14.

ΔE変更部21b11は、変数xが+2変化することにより上限値を超える場合、エネルギー変化ΔE1+を所定の正の値ΔEmaxに変更する。
ΔE変更部21b12は、変数xが-2変化することにより下限値を下回る場合、エネルギー変化ΔE1-を所定の正の値ΔEmaxに変更する。
When the variable x 1 changes by + 2 n and exceeds the upper limit value, the ΔE changing unit 21b11 changes the energy change ΔE 1+ to a predetermined positive value ΔE max .
The ΔE change unit 21b12 changes the energy change ΔE 1- to a predetermined positive value ΔE max when the variable x 1 changes by -2 n and falls below the lower limit.

正の値ΔEmaxは、この値が遷移可否決定部21b13,21b14に供給された場合に、変数xの更新が許容される確率がほぼゼロになるように、十分大きな値である。
図4は、1つ目のΔE変更部の一例を示す図である。図4では、ΔE変更部21b11の例が示されている。
The positive value ΔE max is a sufficiently large value so that the probability that the variable x1 is allowed to be updated becomes almost zero when this value is supplied to the transition possibility determination units 21b13 and 21b14.
FIG. 4 is a diagram showing an example of the first ΔE change unit. FIG. 4 shows an example of the ΔE changing unit 21b11.

ΔE変更部21b11は、2加算部30、比較回路31、セレクタ32を有する。
加算部30は、状態更新回路13から供給される現在の変数xに2を加算する。
The ΔE changing unit 21b11 has a 2n addition unit 30, a comparison circuit 31, and a selector 32.
The 2n addition unit 30 adds 2n to the current variable x1 supplied from the state update circuit 13.

比較回路31は、制限情報LMTに含まれる変数xの上限値x1maxと、2加算部30における加算結果とを比較する。そして、比較回路31は、加算結果が上限値x1maxを超える場合には1を出力し、それ以外の場合には0を出力する。 The comparison circuit 31 compares the upper limit value x 1max of the variable x 1 included in the restriction information LMT with the addition result in the 2n addition unit 30. Then, the comparison circuit 31 outputs 1 when the addition result exceeds the upper limit value x 1max , and outputs 0 in other cases.

セレクタ32は、エネルギー変化ΔE1+と、制限情報LMTに含まれる正の値ΔEmaxを入力し、比較回路31の出力が1の場合には、正の値ΔEmaxを出力し、比較回路31の出力が0の場合には、エネルギー変化ΔE1+を出力する。 The selector 32 inputs the energy change ΔE 1+ and the positive value ΔE max included in the limitation information LMT, and when the output of the comparison circuit 31 is 1, outputs the positive value ΔE max and outputs the positive value ΔE max of the comparison circuit 31. When the output is 0, the energy change ΔE 1+ is output.

図5は、2つ目のΔE変更部の一例を示す図である。図5では、ΔE変更部21b12の例が示されている。
ΔE変更部21b12は、2減算部33、比較回路34、セレクタ35を有する。
FIG. 5 is a diagram showing an example of the second ΔE change unit. FIG. 5 shows an example of the ΔE changing unit 21b12.
The ΔE changing unit 21b12 has a 2n subtracting unit 33, a comparison circuit 34, and a selector 35.

減算部33は、状態更新回路13から供給される現在の変数xから2を減算する。
比較回路34は、制限情報LMTに含まれる変数xの下限値x1minと、2減算部33における減算結果とを比較する。そして、比較回路34は、減算結果が下限値x1minを下回る場合には1を出力し、それ以外の場合には0を出力する。
The 2n subtraction unit 33 subtracts 2n from the current variable x1 supplied from the state update circuit 13.
The comparison circuit 34 compares the lower limit value x 1 min of the variable x 1 included in the restriction information LMT with the subtraction result in the 2n subtraction unit 33. Then, the comparison circuit 34 outputs 1 when the subtraction result is less than the lower limit value x 1 min , and outputs 0 in other cases.

セレクタ35は、エネルギー変化ΔE1-と、制限情報LMTに含まれる所定の正の値ΔEmaxを入力し、比較回路34の出力が1の場合には、正の値ΔEmaxを出力し、比較回路34の出力が0の場合には、エネルギー変化ΔE1-を出力する。 The selector 35 inputs the energy change ΔE 1- and a predetermined positive value ΔE max included in the limitation information LMT, and when the output of the comparison circuit 34 is 1, outputs a positive value ΔE max for comparison. When the output of the circuit 34 is 0, the energy change ΔE 1- is output.

図3の遷移可否決定部21b13は、エネルギー変化ΔE1+または正の値ΔEmaxと、熱励起エネルギーとの大小関係に基づいて、エネルギー変化ΔE1+をもたらす1番目のニューロンの状態の更新を許容するか否かを判定する。 The transition possibility determination unit 21b13 in FIG. 3 allows the update of the state of the first neuron that brings about the energy change ΔE 1+ based on the magnitude relationship between the energy change ΔE 1+ or the positive value ΔE max and the thermal excitation energy. Judge whether or not.

遷移可否決定部21b14は、エネルギー変化ΔE1-または正の値ΔEmaxと、熱励起エネルギーとの大小関係に基づいて、エネルギー変化ΔE1-をもたらす1番目のニューロンの状態の更新を許容するか否かを判定する。 Whether the transition possibility determination unit 21b14 allows the update of the state of the first neuron that causes the energy change ΔE 1 based on the magnitude relationship between the energy change ΔE 1- or the positive value ΔE max and the thermal excitation energy. Judge whether or not.

図6は、遷移可否決定部の一例を示す図である。
遷移可否決定部21b13は、符号反転部40、加算器41、乱数発生回路42、選択法則適用部43、乗算器44、比較回路45を有する。
FIG. 6 is a diagram showing an example of a transition possibility determination unit.
The transition possibility determination unit 21b13 includes a code inversion unit 40, an adder 41, a random number generation circuit 42, a selection rule application unit 43, a multiplier 44, and a comparison circuit 45.

符号反転部40は、ΔE変更部21b11が出力するエネルギー変化ΔE1+または正の値ΔEmaxに-1を掛けて符合を反転させる。
加算器41は、符号反転部40の出力値に、後述するオフセット生成回路23が生成するオフセット値offを加える。
The code inversion unit 40 inverts the sign by multiplying the energy change ΔE 1+ or the positive value ΔE max output by the ΔE change unit 21b11 by -1.
The adder 41 adds the offset value off generated by the offset generation circuit 23, which will be described later, to the output value of the code inversion unit 40.

乱数発生回路42は、0以上、1以下の一様乱数rを発生する。
選択法則適用部43は、シミュレーテッド・アニーリングを行うための選択法則(メトロポリス法またはギブス法)に基づいた値を出力する。
The random number generation circuit 42 generates a uniform random number r of 0 or more and 1 or less.
The selection law application unit 43 outputs a value based on the selection law (metropolis method or Gibbs method) for performing simulated annealing.

シミュレーテッド・アニーリングが行われる場合、あるエネルギー変化ΔEを引き起こす状態遷移の許容確率A(ΔE,T)を以下の式(3)のように決めれば、時刻(反復回数)無限大の極限で状態が最適解に到達することが証明されている。 When simulated annealing is performed, if the permissible probability A (ΔE, T) of the state transition that causes a certain energy change ΔE is determined by the following equation (3), the state is in the limit of infinite time (number of iterations). Has been proven to reach the optimal solution.

Figure 0007093009000003
Figure 0007093009000003

式(3)においてTは、前述の温度パラメータTである。
式(3)で表される許容確率A(ΔE,T)を用いた場合、十分な反復後に定常状態に達したとすると、各状態の占有確率は熱力学における熱平衡状態に対するボルツマン分布にしたがう。そして、高い温度から徐々に下げていくとエネルギーの低い状態の占有確率が増加するため、十分温度が下がるとエネルギーの低い状態が得られるはずである。この様子が材料を焼き鈍したときの状態変化とよく似ているため、この方法はシミュレーテッド・アニーリングと呼ばれるのである。このとき、エネルギーが上がる状態遷移が確率的に起こることは、物理学における熱励起に相当する。
In equation (3), T is the temperature parameter T described above.
When the permissible probability A (ΔE, T) expressed by the equation (3) is used and the steady state is reached after sufficient repetition, the occupancy probability of each state follows the Boltzmann distribution with respect to the thermal equilibrium state in thermodynamics. Then, since the occupancy probability of the low energy state increases as the temperature is gradually lowered from the high temperature, the low energy state should be obtained when the temperature is sufficiently lowered. This method is called simulated annealing because this is very similar to the state change when the material is annealed. At this time, the probabilistic state transition in which the energy rises corresponds to thermal excitation in physics.

許容確率A(ΔE,T)でエネルギー変化ΔEを引き起こす状態遷移を許容することを示すフラグ情報(=1)を出力する回路は、式(3)のf(-ΔE/T)と、一様乱数rとの比較結果に基づいた値を出力する比較器によって実現できる。 The circuit that outputs the flag information (= 1) indicating that the state transition that causes the energy change ΔE with the permissible probability A (ΔE, T) is allowed is uniform with f (−ΔE / T) in the equation (3). This can be realized by a comparator that outputs a value based on the comparison result with the random number r.

ただ、次のような変形を行っても同じ機能が実現できる。2つの数に同じ単調増加関数を作用させても大小関係は変化しない。したがって比較器の2つの入力に同じ単調増加関数を作用させても比較器の出力は変わらない。たとえば、f(-ΔE/T)に作用させる単調増加関数としてf(-ΔE/T)の逆関数f-1(-ΔE/T)、一様乱数rに作用させる単調増加関数としてf-1(-ΔE/T)の-ΔE/Tをrとしたf-1(r)を用いることができる。その場合、上記の比較器と同様の機能を有する回路は、-ΔE/Tがf-1(r)より大きいとき1を出力する回路でよいことがわかる。さらに温度パラメータTが正であることから、その回路は、-ΔEがT・f-1(r)より大きいとき1を出力する回路でよい。 However, the same function can be realized by making the following transformations. Even if the same monotonic increase function is applied to two numbers, the magnitude relationship does not change. Therefore, even if the same monotonic increasing function is applied to the two inputs of the comparator, the output of the comparator does not change. For example, the inverse function f -1 (-ΔE / T) of f (-ΔE / T) as a monotonic increase function acting on f (-ΔE / T), and f -1 as a monotonic increase function acting on a uniform random number r. It is possible to use f -1 (r) in which −ΔE / T of (−ΔE / T) is r. In that case, it can be seen that the circuit having the same function as the above-mentioned comparator may be a circuit that outputs 1 when −ΔE / T is larger than f -1 (r). Further, since the temperature parameter T is positive, the circuit may be a circuit that outputs 1 when −ΔE is larger than T · f -1 (r).

図6の選択法則適用部43は、入力される一様乱数rを上記のf-1(r)の値に変換する変換テーブルを用いて、f-1(r)の値を出力する。メトロポリス法が適用される場合、f-1(r)は、log(r)である。変換テーブルは、たとえば、RAM(Random Access Memory)、フラッシュメモリなどのメモリに記憶されている。 The selection rule application unit 43 of FIG. 6 outputs the value of f -1 (r) by using the conversion table that converts the input uniform random number r into the value of f -1 (r) described above. When the metropolis method is applied, f -1 (r) is log (r). The conversion table is stored in a memory such as a RAM (Random Access Memory) or a flash memory.

乗算器44は、制御部14から供給される温度パラメータTと、f-1(r)との積(T・f-1(r))を出力する。T・f-1(r)は、熱励起エネルギーに相当する。
比較回路45は、加算器41による加算結果と、T・f-1(r)とを比較し、加算結果が、T・f-1(r)より大きい場合、フラグ情報FLG1+として1を出力し、T・f-1(r)より小さい場合、フラグ情報FLG1+として0を出力する。
The multiplier 44 outputs the product (T · f -1 (r)) of the temperature parameter T supplied from the control unit 14 and f -1 (r). T · f -1 (r) corresponds to the thermal excitation energy.
The comparison circuit 45 compares the addition result by the adder 41 with T · f -1 (r), and if the addition result is larger than T · f -1 (r), outputs 1 as flag information FLG 1+ . If it is smaller than T · f -1 (r), 0 is output as flag information FLG 1+ .

遷移可否決定部21b14についても遷移可否決定部21b13と同様の回路構成となる。
イジング装置21a1~21aNのうち、イジング装置21a1以外についても、イジング装置21a1と同様の構成を有し、2~N番目のニューロンに対して同様の処理を行う。
The transition possibility determination unit 21b14 has the same circuit configuration as the transition possibility determination unit 21b13.
Of the Ising devices 21a1 to 21aN, the elements other than the Ising device 21a1 have the same configuration as the Ising device 21a1 and perform the same processing on the 2nd to Nth neurons.

たとえば、イジング装置21aNの状態遷移判定回路21bNは、ΔE変更部21bN1,21bN2、遷移可否決定部21bN3,21bN4を有する。
ΔE変更部21bN1は、変数xが+2変化することにより上限値を超える場合、エネルギー変化ΔEN+を所定の正の値ΔEmaxに変更する。
For example, the state transition determination circuit 21bN of the Ising device 21aN has a ΔE changing unit 21bN1,21bN2 and a transition possibility determination unit 21bN3,21bN4.
The ΔE change unit 21bN1 changes the energy change ΔE N + to a predetermined positive value ΔE max when the variable x N changes by + 2 n and exceeds the upper limit value.

ΔE変更部21bN2は、変数xが-2変化することにより下限値を下回る場合、エネルギー変化ΔEN-を所定の正の値ΔEmaxに変更する。
遷移可否決定部21bN3は、エネルギー変化ΔEN+または正の値ΔEmaxと、熱励起エネルギーとの大小関係に基づいて、エネルギー変化ΔEN+をもたらすN番目のニューロンの状態の更新を許容するか否かを判定する。
The ΔE change unit 21bN2 changes the energy change ΔE N− to a predetermined positive value ΔE max when the variable x N changes by -2 n and falls below the lower limit.
Whether or not the transition possibility determination unit 21bN3 allows the update of the state of the Nth neuron that causes the energy change ΔEN + based on the magnitude relationship between the energy change ΔEN + or the positive value ΔE max and the thermal excitation energy. Is determined.

遷移可否決定部21bN4は、エネルギー変化ΔEN-または正の値ΔEmaxと、熱励起エネルギーとの大小関係に基づいて、エネルギー変化ΔEN-をもたらすN番目のニューロンの状態の更新を許容するか否かを判定する。 Whether the transition possibility determination unit 21bN4 allows the update of the state of the Nth neuron that causes the energy change ΔE N− based on the magnitude relationship between the energy change ΔE N− or the positive value ΔE max and the thermal excitation energy. Judge whether or not.

更新ニューロン選択回路22は、図1に示した更新ニューロン選択回路12と同様に、イジング装置21a1~21aNのそれぞれが出力する判定結果(フラグ情報)に基づいて、更新を許容するニューロンを1つ選択するとともに、状態変化方向DRを選択する。そして、更新ニューロン選択回路22は選択した更新を許容するニューロンの識別情報IDと、状態変化方向DRを出力する。第2の実施の形態の最適化装置20では、更新ニューロン選択回路22は、さらに、選択した更新を許容するニューロンについてのフラグ情報FLGについても出力する。 Similar to the update neuron selection circuit 12 shown in FIG. 1, the update neuron selection circuit 22 selects one neuron that allows update based on the determination result (flag information) output by each of the Ising devices 21a1 to 21aN. At the same time, select the state change direction DR. Then, the update neuron selection circuit 22 outputs the identification information ID of the neuron that allows the selected update and the state change direction DR. In the optimization device 20 of the second embodiment, the renewal neuron selection circuit 22 also outputs the flag information FLG for the selected renewal-allowing neuron.

第2の実施の形態の最適化装置20は、オフセット値offを生成するオフセット生成回路23を有する。オフセット生成回路23は、更新ニューロン選択回路22から供給されるフラグ情報FLGが、状態遷移を許容しないことを示すとき(つまり状態遷移が生じないとき)、オフセット値offを増加していく。一方、オフセット生成回路23は、フラグ情報FLGが、状態遷移を許容することを示すとき(つまり状態遷移が生じるとき)には、オフセット値offを0にリセットする。オフセット値offが大きくなると状態遷移が許容されやすくなり、現在の状態が局所解にある場合、その局所解からの脱出が促進される。 The optimization device 20 of the second embodiment has an offset generation circuit 23 that generates an offset value off. The offset generation circuit 23 increases the offset value off when the flag information FLG supplied from the update neuron selection circuit 22 indicates that the state transition is not allowed (that is, when the state transition does not occur). On the other hand, the offset generation circuit 23 resets the offset value off to 0 when the flag information FLG indicates that the state transition is allowed (that is, when the state transition occurs). When the offset value off becomes large, the state transition is easily allowed, and when the current state is in the local solution, the escape from the local solution is promoted.

以下、第2の実施の形態の最適化装置20の動作例を示す。
図7は、第2の実施の形態の最適化装置の動作の一例の流れを示すフローチャートである。
Hereinafter, an operation example of the optimization device 20 according to the second embodiment will be shown.
FIG. 7 is a flowchart showing a flow of an example of the operation of the optimization device according to the second embodiment.

まず、制御部14は、制御装置15から受けた重み係数Wij、ローカルフィールドhの初期値、温度パラメータTの初期値、制限情報LMTを、イジング装置21a1~21aNに設定する(ステップS20)。第2の実施の形態の最適化装置20において、制限情報LMTは、正の値ΔEmaxと、各変数xの定義域(上限値と下限値)を含む。 First, the control unit 14 sets the weighting coefficient Wij received from the control device 15, the initial value of the local field hi, the initial value of the temperature parameter T, and the limit information LMT in the rising devices 21a1 to 21aN (step S20). .. In the optimization device 20 of the second embodiment, the limit information LMT includes a positive value ΔE max and a domain (upper limit value and lower limit value) of each variable xi .

ステップS21,S22の処理は、図2に示したステップS2,S3の処理と同じである。
ステップS22の処理後、状態遷移判定回路21b1~21bNのそれぞれは、更新する場合に定義域外となる変数xについてのエネルギー変化ΔEi+またはエネルギー変化ΔEi-を正の値ΔEmaxに変更する(ステップS23)。
The processing of steps S21 and S22 is the same as the processing of steps S2 and S3 shown in FIG.
After the processing of step S22, each of the state transition determination circuits 21b1 to 21bN changes the energy change ΔE i + or the energy change ΔE i− for the variable x i that is out of the definition range when updating to a positive value ΔE max (. Step S23).

そして、状態遷移判定回路21b1~21bNのそれぞれは、エネルギー変化ΔEi+,ΔEi-をもたらす各ニューロンの状態の更新をそれぞれ許容するか否かを判定する(ステップS24)。ステップS24の処理には、前述のオフセット値offの加算処理なども含まれる。 Then, each of the state transition determination circuits 21b1 to 21bN determines whether or not to allow the update of the state of each neuron that causes the energy changes ΔE i + and ΔE i- (step S24). The process of step S24 also includes the above-mentioned addition process of the offset value off.

以降のステップS25~S30の処理は、図2に示したステップS5~S10の処理と同じである。
以上のような第2の実施の形態の最適化装置20では、第1の実施の形態の最適化装置10と同様の効果が得られる。また、最適化装置20は、更新する場合に定義域外となる変数xについてのエネルギー変化ΔEi+またはエネルギー変化ΔEi-を、正の値ΔEmaxに変更することで、変数xが定義域外となる更新が抑制される。
Subsequent processes of steps S25 to S30 are the same as the processes of steps S5 to S10 shown in FIG.
In the optimization device 20 of the second embodiment as described above, the same effect as that of the optimization device 10 of the first embodiment can be obtained. Further, the optimization device 20 changes the energy change ΔE i + or the energy change ΔE i− for the variable x i that is out of the definition range when updating to a positive value ΔE max , so that the variable x i is out of the definition range. Update is suppressed.

(第3の実施の形態)
図8は、第3の実施の形態の最適化装置の一例を示す図である。図8において、図1、図3に示した最適化装置10,20の要素と同じ要素については同一符号が付されている。
(Third embodiment)
FIG. 8 is a diagram showing an example of the optimization device according to the third embodiment. In FIG. 8, the same elements as those of the optimization devices 10 and 20 shown in FIGS. 1 and 3 are designated by the same reference numerals.

第3の実施の形態の最適化装置50において、イジング装置51a1の状態遷移判定回路51b1は、遷移可否決定部51b11,51b12、定義域確認部51b13,51b14を有する。 In the optimization device 50 of the third embodiment, the state transition determination circuit 51b1 of the Ising device 51a1 has a transition possibility determination unit 51b11, 51b12 and a domain confirmation unit 51b13, 51b14.

遷移可否決定部51b11は、エネルギー変化ΔE1+と、熱励起エネルギーとの大小関係に基づいて、エネルギー変化ΔE1+をもたらす1番目のニューロンの状態の更新を許容するか否かを判定する。 The transition possibility determination unit 51b11 determines whether or not to allow the update of the state of the first neuron that causes the energy change ΔE 1+ based on the magnitude relationship between the energy change ΔE 1+ and the thermal excitation energy.

遷移可否決定部51b12は、エネルギー変化ΔE1-と、熱励起エネルギーとの大小関係に基づいて、エネルギー変化ΔE1-をもたらす1番目のニューロンの状態の更新を許容するか否かを判定する。 The transition possibility determination unit 51b12 determines whether or not to allow the update of the state of the first neuron that causes the energy change ΔE 1 based on the magnitude relationship between the energy change ΔE 1- and the thermal excitation energy.

遷移可否決定部51b11,51b12の回路構成は、図6に示した遷移可否決定部21b13の回路構成と同じである。
定義域確認部51b13は、変数xが+2変化することにより上限値を超える場合、更新を許容するか否かの判定結果を示すフラグ情報を0(更新を許容しないことを示す)にする。
The circuit configuration of the transition possibility determination units 51b11 and 51b12 is the same as the circuit configuration of the transition possibility determination unit 21b13 shown in FIG.
The domain confirmation unit 51b13 sets the flag information indicating the determination result of whether to allow the update to 0 (indicates that the update is not allowed) when the variable x 1 changes by + 2 n and exceeds the upper limit value. ..

定義域確認部51b14は、変数xが-2変化することにより下限値を下回る場合、更新を許容するか否かの判定結果を示すフラグ情報を0にする。
図9は、1つ目の定義域確認部の一例を示す図である。図9では、定義域確認部51b13の例が示されている。
When the variable x 1 changes by -2 n and falls below the lower limit, the domain confirmation unit 51b14 sets the flag information indicating the determination result of whether to allow the update to 0.
FIG. 9 is a diagram showing an example of the first domain confirmation unit. FIG. 9 shows an example of the domain confirmation unit 51b13.

定義域確認部51b13は、2加算部60、比較回路61、AND(論理積)回路62を有する。
加算部60は、状態更新回路13から供給される現在の変数xに2を加算する。
The domain confirmation unit 51b13 has a 2n addition unit 60, a comparison circuit 61, and an AND (logical product) circuit 62.
The 2n addition unit 60 adds 2n to the current variable x1 supplied from the state update circuit 13.

比較回路61は、制限情報LMTに含まれる変数xの上限値x1maxと、2加算部60における加算結果とを比較する。そして、比較回路61は、加算結果が上限値x1maxを超える場合には0を出力し、それ以外の場合には1を出力する。 The comparison circuit 61 compares the upper limit value x 1max of the variable x 1 included in the restriction information LMT with the addition result in the 2n addition unit 60. Then, the comparison circuit 61 outputs 0 when the addition result exceeds the upper limit value x 1max , and outputs 1 in other cases.

AND回路62の一方の入力端子には、遷移可否決定部51b11が出力するフラグ情報FLG1aが入力され、他方の入力端子には、比較回路61の出力が入力される。そして、AND回路62は、比較回路61の出力が1の場合には、フラグ情報FLG1aの値(0または1)を出力し、比較回路61の出力が0の場合には、フラグ情報FLG1aの値によらず0を出力する。 The flag information FLG 1a output by the transition possibility determination unit 51b11 is input to one input terminal of the AND circuit 62, and the output of the comparison circuit 61 is input to the other input terminal. Then, the AND circuit 62 outputs the value (0 or 1) of the flag information FLG 1a when the output of the comparison circuit 61 is 1, and the flag information FLG 1a when the output of the comparison circuit 61 is 0. 0 is output regardless of the value of.

図10は、2つ目の定義域確認部の一例を示す図である。図10では、定義域確認部51b14の例が示されている。
定義域確認部51b14は、2減算部63、比較回路64、AND回路65を有する。
FIG. 10 is a diagram showing an example of the second domain confirmation unit. FIG. 10 shows an example of the domain confirmation unit 51b14.
The domain confirmation unit 51b14 has a 2n subtraction unit 63, a comparison circuit 64, and an AND circuit 65.

減算部63は、状態更新回路13から供給される現在の変数xから2を減算する。
比較回路64は、制限情報LMTに含まれる変数xの下限値x1minと、2減算部63における減算結果とを比較する。そして、比較回路64は、減算結果が下限値x1minを下回る場合には0を出力し、それ以外の場合には1を出力する。
The 2n subtraction unit 63 subtracts 2n from the current variable x1 supplied from the state update circuit 13.
The comparison circuit 64 compares the lower limit value x 1 min of the variable x 1 included in the restriction information LMT with the subtraction result in the 2n subtraction unit 63. Then, the comparison circuit 64 outputs 0 when the subtraction result is less than the lower limit value x 1 min , and outputs 1 in other cases.

AND回路65の一方の入力端子には、遷移可否決定部51b12が出力するフラグ情報FLG1bが入力され、他方の入力端子には、比較回路64の出力が入力される。そして、AND回路65は、比較回路64の出力が1の場合には、フラグ情報FLG1bの値(0または1)を出力し、比較回路64の出力が0の場合には、フラグ情報FLG1bの値によらず0を出力する。 The flag information FLG 1b output by the transition possibility determination unit 51b12 is input to one input terminal of the AND circuit 65, and the output of the comparison circuit 64 is input to the other input terminal. Then, the AND circuit 65 outputs the value (0 or 1) of the flag information FLG 1b when the output of the comparison circuit 64 is 1, and the flag information FLG 1b when the output of the comparison circuit 64 is 0. 0 is output regardless of the value of.

イジング装置51a1~51aNのうち、イジング装置51a1以外についても、イジング装置51a1と同様の構成を有し、2~N番目のニューロンに対して同様の処理を行う。 Of the Ising devices 51a1 to 51aN, the elements other than the Ising device 51a1 have the same configuration as the Ising device 51a1 and perform the same processing on the 2nd to Nth neurons.

たとえば、イジング装置51aNの状態遷移判定回路51bNは、遷移可否決定部51bN1,51bN2、定義域確認部51bN3,51bN4を有する。
遷移可否決定部51bN1は、エネルギー変化ΔEN+と、熱励起エネルギーとの大小関係に基づいて、エネルギー変化ΔEN+をもたらすN番目のニューロンの状態の更新を許容するか否かを判定する。
For example, the state transition determination circuit 51bN of the Ising device 51aN has transition possibility determination units 51bN1, 51bN2 and a domain confirmation unit 51bN3, 51bN4.
The transition possibility determination unit 51bN1 determines whether or not to allow the update of the state of the Nth neuron that causes the energy change ΔEN + based on the magnitude relationship between the energy change ΔEN + and the thermal excitation energy.

遷移可否決定部51bN2は、エネルギー変化ΔEN-と、熱励起エネルギーとの大小関係に基づいて、エネルギー変化ΔEN-をもたらすN番目のニューロンの状態の更新を許容するか否かを判定する。 The transition possibility determination unit 51bN2 determines whether or not to allow the update of the state of the Nth neuron that causes the energy change ΔE N− based on the magnitude relationship between the energy change ΔE N− and the thermal excitation energy.

定義域確認部51bN3は、変数xが+2変化することにより上限値を超える場合、更新を許容するか否かの判定結果を示すフラグ情報を0にする。
定義域確認部51bN4は、変数xが-2変化することにより下限値を下回る場合、更新を許容するか否かの判定結果を示すフラグ情報を0にする。
When the upper limit value is exceeded by the variable x N changing by +2 n , the domain confirmation unit 51bN3 sets the flag information indicating the determination result of whether or not to allow the update to 0.
When the variable x N changes by -2 n and falls below the lower limit, the domain confirmation unit 51bN4 sets the flag information indicating the determination result of whether to allow the update to 0.

以下、第3の実施の形態の最適化装置50の動作例を示す。
図11は、第3の実施の形態の最適化装置の動作の一例の流れを示すフローチャートである。
Hereinafter, an operation example of the optimization device 50 according to the third embodiment will be shown.
FIG. 11 is a flowchart showing a flow of an example of the operation of the optimization device according to the third embodiment.

まず、制御部14は、制御装置15から受けた重み係数Wij、ローカルフィールドhの初期値、温度パラメータTの初期値、制限情報LMTを、イジング装置51a1~51aNに設定する(ステップS40)。第3の実施の形態の最適化装置50において、制限情報LMTは、各変数xの定義域(上限値と下限値)を含む。 First, the control unit 14 sets the weighting coefficient Wij received from the control device 15, the initial value of the local field hi, the initial value of the temperature parameter T, and the limit information LMT in the singing devices 51a1 to 51aN (step S40). .. In the optimization device 50 of the third embodiment, the restriction information LMT includes a domain (upper limit value and lower limit value) of each variable xi .

ステップS41,S42の処理は、図2に示したステップS2,S3の処理と同じである。
ステップS42の処理後、状態遷移判定回路51b1~51bNのそれぞれは、エネルギー変化ΔEi+,ΔEi-をもたらす各ニューロンの状態の更新をそれぞれ許容するか否かを判定する(ステップS43)。ステップS43の処理には、前述のオフセット値offの加算処理なども含まれる。
The processing of steps S41 and S42 is the same as the processing of steps S2 and S3 shown in FIG.
After the processing of step S42, each of the state transition determination circuits 51b1 to 51bN determines whether or not to allow the update of the state of each neuron that causes the energy changes ΔE i + and ΔE i- (step S43). The process of step S43 also includes the above-mentioned addition process of the offset value off.

その後、状態遷移判定回路51b1~51bNのそれぞれは、更新する場合に定義域外となる変数xについてのフラグ情報を0にする(ステップS44)。
以降のステップS45~S50の処理は、図2に示したステップS5~S10の処理と同じである。
After that, each of the state transition determination circuits 51b1 to 51bN sets the flag information for the variable xi , which is out of the definition range when updating, to 0 (step S44).
Subsequent processes of steps S45 to S50 are the same as the processes of steps S5 to S10 shown in FIG.

以上のような第3の実施の形態の最適化装置50では、第1の実施の形態の最適化装置10と同様の効果が得られる。また、最適化装置50は、更新する場合に定義域外となる変数xについてのフラグ情報を0にすることで、変数xが定義域外となる更新が確実に抑制される。 In the optimization device 50 of the third embodiment as described above, the same effect as that of the optimization device 10 of the first embodiment can be obtained. Further, the optimization device 50 sets the flag information for the variable x i that is out of the definition range to 0 when updating, so that the update that the variable x i is out of the definition range is surely suppressed.

(第4の実施の形態)
図12は、第4の実施の形態の最適化装置の一例を示す図である。図12において、図1、図3、図8に示した最適化装置10,20,50の要素と同じ要素については同一符号が付されている。
(Fourth Embodiment)
FIG. 12 is a diagram showing an example of the optimization device according to the fourth embodiment. In FIG. 12, the same elements as those of the optimization devices 10, 20, and 50 shown in FIGS. 1, 3, and 8 are designated by the same reference numerals.

第4の実施の形態の最適化装置70は、算出回路71b1~71bNや状態更新回路72に供給するシフト量n1~nNを保持するシフト量保持部73a1~73aNを有する。シフト量n1~nNは、N個のニューロンのそれぞれの状態の変化幅を決める値であり、0以上の値である。たとえば、1番目のニューロンの状態の変化幅は±2n1、N番目のニューロンの状態の変化幅は±2nNと表せる。シフト量n1~nNはそれぞれ異なっていてもよい。 The optimization device 70 of the fourth embodiment has shift amount holding units 73a1 to 73aN for holding shift amounts n1 to nN supplied to the calculation circuits 71b1 to 71bN and the state update circuit 72. The shift amounts n1 to nN are values that determine the change width of each state of the N neurons, and are values of 0 or more. For example, the change width of the state of the first neuron can be expressed as ± 2 n1 , and the change width of the state of the Nth neuron can be expressed as ± 2 nN . The shift amounts n1 to nN may be different from each other.

シフト量保持部73a1~73aNは、たとえば、レジスタやSRAMなどである。
イジング装置71a1~71aNの算出回路71b1~71bNに含まれるローカルフィールド更新部71b11~71bN1のそれぞれには、シフト量n1~nNが供給される。そして、ローカルフィールド更新部71b11~71bN1のそれぞれは、状態が更新されたニューロンについてのシフト量を用いて、ローカルフィールドを更新する。
The shift amount holding units 73a1 to 73aN are, for example, registers, SRAMs, and the like.
The shift amounts n1 to nN are supplied to each of the local field update units 71b11 to 71bN1 included in the calculation circuits 71b1 to 71bN of the Ising devices 71a1 to 71aN. Then, each of the local field update units 71b11 to 71bN1 updates the local field by using the shift amount for the neuron whose state has been updated.

図13は、ローカルフィールド更新部においてシフト動作が行われる部分の例を示す図である。図13では、ローカルフィールド更新部71b11~71bN1のうち、i番目のニューロンについてのローカルフィールドを更新するローカルフィールド更新部71bi1の一部が示されている。 FIG. 13 is a diagram showing an example of a portion where the shift operation is performed in the local field update unit. FIG. 13 shows a part of the local field update unit 71bi1 that updates the local field for the i-th neuron among the local field update units 71b11 to 71bN1.

ローカルフィールド更新部71bi1は、不一致回路80、選択回路81、シフト演算回路82を有する。
不一致回路80は、i番目のニューロンの識別情報ID(=i)と、状態が更新されたニューロンの識別情報ID(=j)とが不一致の場合に、1を出力し、一致している場合に0を出力する。
The local field update unit 71bi1 has a mismatch circuit 80, a selection circuit 81, and a shift calculation circuit 82.
The mismatch circuit 80 outputs 1 when the identification information ID (= i) of the i-th neuron and the identification information ID (= j) of the neuron whose state has been updated do not match, and when they match. Outputs 0 to.

たとえば、不一致回路80は、i番目のニューロンとj番目のニューロンの識別情報IDを1ビットずつ比較し、全てのビットが一致している場合に0を出力し、それ以外の場合には1を出力する。 For example, the mismatch circuit 80 compares the identification information IDs of the i-th neuron and the j-th neuron bit by bit, outputs 0 if all the bits match, and outputs 1 otherwise. Output.

図13には、不一致回路80の回路例が示されている。不一致回路80は、k個のExOR(排他的論理和)回路80a1,80a2,…,80akと、複数のOR(論理和)回路(たとえば、OR回路80b1~80bm,80c)を有する。 FIG. 13 shows a circuit example of the mismatch circuit 80. The mismatch circuit 80 has k ExOR (exclusive OR) circuits 80a1, 80a2, ..., 80ak and a plurality of OR (logical sum) circuits (for example, OR circuits 80b1 to 80bm, 80c).

ExOR回路80a1~80akは、それぞれkビットからなるi番目のニューロンとj番目のニューロンの識別情報IDを1ビットずつ比較し、両者が一致していれば0を出力し、異なっていれば1を出力する。たとえば、ExOR回路80a1は、i番目のニューロンとj番目のニューロンのそれぞれの識別情報IDの最下位ビット(iとj)同士を比較し、両者が一致していれば0を出力し、異なっていれば1を出力する。ExOR回路80akは、i番目のニューロンとj番目のニューロンのそれぞれの識別情報IDの最上位ビット(iとj)同士を比較し、両者が一致していれば0を出力し、異なっていれば1を出力する。 The ExOR circuits 80a1 to 80ak compare the identification information IDs of the i-th neuron and the j-th neuron, each consisting of k bits, one bit at a time, and output 0 if they match, and 1 if they do not match. Output. For example, the ExOR circuit 80a1 compares the least significant bits (i 1 and j 1 ) of the identification information IDs of the i-th neuron and the j-th neuron, and outputs 0 if they match. If they are different, 1 is output. The ExOR circuit 80ak compares the most significant bits (ik and jk) of the identification information IDs of the i -th neuron and the j -th neuron, and outputs 0 if they match, and is different. If so, 1 is output.

OR回路80b1~80bmは、ExOR回路80a1~80akの出力を2つずつ受け、両者の論理和を出力する。たとえば、OR回路80b1は、ExOR回路80a1,80a2の出力を受け、両者の論理和を出力する。 The OR circuits 80b1 to 80bm receive two outputs of the ExOR circuits 80a1 to 80ak and output the logical sum of the two. For example, the OR circuit 80b1 receives the output of the ExOR circuits 80a1 and 80a2, and outputs the logical sum of the two.

図示が省略されているが、OR回路80b1~80bmの出力は、2つずつ次の段の複数のOR回路の何れかに入力され、またその段の複数のOR回路の出力が2つずつ、次の段の複数のOR回路の何れかに入力される、という処理がkの値に応じて繰り返される。そして、最後段のOR回路80cの出力が、不一致回路80の出力となる。 Although not shown, the outputs of the OR circuits 80b1 to 80bm are input to any of the plurality of OR circuits in the next stage by two, and the outputs of the plurality of OR circuits in that stage are two by two. The process of being input to any of the plurality of OR circuits in the next stage is repeated according to the value of k. Then, the output of the OR circuit 80c at the last stage becomes the output of the mismatch circuit 80.

選択回路81は、不一致回路80の出力が1の場合に、重み係数Wijを選択して出力し、不一致回路80の出力が0の場合に、0を選択して出力する。
シフト演算回路82は、選択回路81の出力が0の場合には0を出力し、選択回路81の出力が重み係数Wijの場合には、重み係数Wijをnjビット分、左シフトした値(Wij*(1<<nj)=2njij)を出力する。状態変化方向DRに応じて、2njijに対し1または-1を掛けたものが、ローカルフィールドhの変化分となる。
The selection circuit 81 selects and outputs the weighting coefficient Wij when the output of the mismatch circuit 80 is 1, and selects and outputs 0 when the output of the mismatch circuit 80 is 0.
The shift calculation circuit 82 outputs 0 when the output of the selection circuit 81 is 0, and when the output of the selection circuit 81 is the weighting coefficient Wij , the weighting coefficient Wij is left-shifted by nj bits. (W ij * (1 << nj) = 2 nj W ij ) is output. The change in the local field h i is obtained by multiplying 2 nj Wij by 1 or -1 according to the state change direction DR.

図12において、イジング装置71a1~71aNの算出回路71b1~71bNに含まれるエネルギー変化算出部71b12~71bN2のそれぞれには、シフト量n1~nNのうち何れか1つが供給される。たとえば、エネルギー変化算出部71b12は、シフト量n1を受け、式(2)より、ΔE1+=-2n1、ΔE1-=2n1を算出する。エネルギー変化算出部71bN2は、シフト量nNを受け、式(2)より、ΔEN+=-2nN、ΔEN-=2nNを算出する。 In FIG. 12, any one of the shift amounts n1 to nN is supplied to each of the energy change calculation units 71b12 to 71bN2 included in the calculation circuits 71b1 to 71bN of the Ising devices 71a1 to 71aN. For example, the energy change calculation unit 71b12 receives the shift amount n1 and calculates ΔE 1 + = -2 n1 h 1 and ΔE 1- = 2 n1 h 1 from the equation (2). The energy change calculation unit 71bN2 receives the shift amount nN and calculates ΔE N + = -2 nN h N and ΔE N − = 2 nN h N from the equation (2).

状態遷移判定回路71c1~71cNは、第2の実施の形態の最適化装置20の状態遷移判定回路21b1~21bNまたは第3の実施の形態の最適化装置50の状態遷移判定回路51b1~51bNとほぼ同じである。ただ、ΔE変更部21b11,21b12~21bN1,21bN2や、定義域確認部51b13,51b14~51bN3,51bN4では、前述のように現在のニューロンの状態に対して、2の加算または減算が行われる(図4、図5、図9、図10参照)。このため、状態遷移判定回路71c1~71cNのそれぞれには、シフト量nとして、シフト量n1~nNのうちの何れか1つが供給される。 The state transition determination circuits 71c1 to 71cN are substantially the same as the state transition determination circuits 21b1 to 21bN of the optimization device 20 of the second embodiment or the state transition determination circuits 51b1 to 51bN of the optimization device 50 of the third embodiment. It is the same. However, in the ΔE changing unit 21b11,21b12 to 21bN1,21bN2 and the domain confirmation unit 51b13, 51b14 to 51bN3, 51bN4, addition or subtraction of 2n is performed with respect to the current neuron state as described above ( See FIGS. 4, 5, 9, and 10). Therefore, any one of the shift amounts n1 to nN is supplied as the shift amount n to each of the state transition determination circuits 71c1 to 71cN.

状態更新回路72には、シフト量n1~nNが供給され、更新ニューロン選択回路22が出力した識別情報IDに対応するシフト量を1つ選択する。そして、状態更新回路72は、選択したシフト量(以下ではnsとする)と、状態変化方向DRに基づいて、識別情報IDで表されるニューロンの状態を、正または負方向に2ns、変化させる。 The shift amounts n1 to nN are supplied to the state update circuit 72, and one shift amount corresponding to the identification information ID output by the update neuron selection circuit 22 is selected. Then, the state update circuit 72 changes the state of the neuron represented by the identification information ID by 2 ns in the positive or negative direction based on the selected shift amount (hereinafter referred to as ns) and the state change direction DR. Let me.

制御部74は、制御部14と同様の機能を有するとともに、シフト量保持部73a1~73aNに、シフト量n1~nNを設定する。制御部74は、ニューロンの状態の更新処理の際にシフト量n1~nNを変化させてもよい。これにより最適解への収束速度を制御することができる。たとえば、制御部74は、全ニューロンの状態が所定回数の更新処理を行っても変化しない場合(現在の状態が局所解にある場合)、シフト量n1~nNを大きくすることで、エネルギー変化の絶対値が大きくなり、局所解からの脱出が促進される。これにより、収束速度を加速させることができる。 The control unit 74 has the same function as the control unit 14, and sets the shift amount n1 to nN in the shift amount holding units 73a1 to 73aN. The control unit 74 may change the shift amount n1 to nN at the time of updating the state of the neuron. This makes it possible to control the convergence speed to the optimum solution. For example, when the state of all neurons does not change even after performing a predetermined number of update processes (when the current state is in the local solution), the control unit 74 increases the shift amount n1 to nN to change the energy. The absolute value increases and escape from the local solution is promoted. This makes it possible to accelerate the convergence speed.

以下、第4の実施の形態の最適化装置70の動作例を示す。
図14は、第4の実施の形態の最適化装置の動作の一例の流れを示すフローチャートである。
Hereinafter, an operation example of the optimization device 70 according to the fourth embodiment will be shown.
FIG. 14 is a flowchart showing a flow of an example of the operation of the optimization device according to the fourth embodiment.

まず、制御部74は、制御装置15から受けた重み係数Wij、ローカルフィールドhの初期値、温度パラメータTの初期値、制限情報LMTをイジング装置71a1~71aNに対して設定する。また、制御部74は、制御装置15から受けたシフト量n1~nNを、シフト量保持部73a1~73aNに対して設定する(ステップS60)。その後のステップS61~S69の処理は、設定されたシフト量n1~nNが用いられる点以外、図2に示したステップS2~S10と同じである。なお、制御部74は、たとえば、ステップS68の処理後などに、シフト量n1~nNの大きさを変更してもよい。 First, the control unit 74 sets the weighting coefficient Wij received from the control device 15, the initial value of the local field hi, the initial value of the temperature parameter T, and the limit information LMT for the singing devices 71a1 to 71aN. Further, the control unit 74 sets the shift amounts n1 to nN received from the control device 15 with respect to the shift amount holding units 73a1 to 73aN (step S60). Subsequent processing in steps S61 to S69 is the same as in steps S2 to S10 shown in FIG. 2, except that the set shift amounts n1 to nN are used. The control unit 74 may change the magnitude of the shift amounts n1 to nN, for example, after the processing of step S68.

以上のような第4の実施の形態の最適化装置70では、第1の実施の形態の最適化装置10と同様の効果が得られる。また、最適化装置70では、制御部74がN個のニューロンのそれぞれについてのシフト量n1~nNを、個々に設定するため、状態の変化幅をニューロンごとに変えることができる。また、制御部74は、ニューロンの状態の更新処理の際にシフト量n1~nNを変化させることもできるようになり、最適解への収束速度を制御することができる。 In the optimization device 70 of the fourth embodiment as described above, the same effect as that of the optimization device 10 of the first embodiment can be obtained. Further, in the optimization device 70, since the control unit 74 individually sets the shift amounts n1 to nN for each of the N neurons, the change width of the state can be changed for each neuron. Further, the control unit 74 can also change the shift amounts n1 to nN during the process of updating the state of the neuron, and can control the convergence speed to the optimum solution.

ところで、上記の第1乃至第4の実施の形態の最適化装置10,20,50,70において制御部14,74の機能は、たとえば、PCなどの制御装置内のプロセッサが制御プログラムを実行することで実現してもよい。 By the way, in the optimization devices 10, 20, 50, 70 of the first to fourth embodiments described above, the functions of the control units 14, 74 are such that a processor in a control device such as a PC executes a control program. It may be realized by.

図15は、制御装置のハードウェア例を示す図である。
制御装置90は、CPU91、RAM92、HDD(Hard Disk Drive)93、画像信号処理部94、入力信号処理部95、媒体リーダ96、通信インタフェース97及びインタフェース98を有する。上記ユニットは、バスに接続されている。
FIG. 15 is a diagram showing a hardware example of the control device.
The control device 90 includes a CPU 91, a RAM 92, an HDD (Hard Disk Drive) 93, an image signal processing unit 94, an input signal processing unit 95, a medium reader 96, a communication interface 97, and an interface 98. The above unit is connected to the bus.

CPU91は、プログラムの命令を実行する演算回路を含むプロセッサである。CPU91は、HDD93に記憶されたプログラムやデータの少なくとも一部をRAM92にロードし、プログラムを実行する。なお、CPU91は複数のプロセッサコアを備えてもよく、制御装置90は複数のプロセッサを備えてもよく、最適化装置98aの制御を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。 The CPU 91 is a processor including an arithmetic circuit that executes a program instruction. The CPU 91 loads at least a part of the programs and data stored in the HDD 93 into the RAM 92 and executes the program. The CPU 91 may include a plurality of processor cores, the control device 90 may include a plurality of processors, and the control of the optimization device 98a may be executed in parallel by using the plurality of processors or the processor cores. ..

RAM92は、CPU91が実行するプログラムやCPU91が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、制御装置90は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。 The RAM 92 is a volatile semiconductor memory that temporarily stores a program executed by the CPU 91 and data used by the CPU 91 for calculation. The control device 90 may include a type of memory other than the RAM, or may include a plurality of memories.

HDD93は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、及び、データを記憶する不揮発性の記憶装置である。プログラムには、たとえば、重み係数や制限情報LMTなどの設定や温度パラメータTの制御を行う機能を制御装置90に実行させる制御プログラムが含まれる。なお、制御装置90は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。 The HDD 93 is a non-volatile storage device that stores software programs such as an OS (Operating System), middleware, and application software, and data. The program includes, for example, a control program that causes the control device 90 to execute a function of setting a weighting coefficient, limit information LMT, and controlling the temperature parameter T. The control device 90 may be provided with other types of storage devices such as a flash memory and an SSD (Solid State Drive), or may be provided with a plurality of non-volatile storage devices.

画像信号処理部94は、CPU91からの命令にしたがって、制御装置90に接続されたディスプレイ94aに画像(たとえば、最適化問題の計算結果を表す画像)を出力する。ディスプレイ94aとしては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ(PDP:Plasma Display Panel)、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなどを用いることができる。 The image signal processing unit 94 outputs an image (for example, an image showing the calculation result of the optimization problem) to the display 94a connected to the control device 90 according to the command from the CPU 91. As the display 94a, a CRT (Cathode Ray Tube) display, a liquid crystal display (LCD: Liquid Crystal Display), a plasma display (PDP: Plasma Display Panel), an organic EL (OEL: Organic Electro-Luminescence) display, or the like can be used. ..

入力信号処理部95は制御装置90に接続された入力デバイス95aから入力信号を取得し、CPU91に出力する。入力デバイス95aとしては、マウスやタッチパネルやタッチパッドやトラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、制御装置90に、複数の種類の入力デバイスが接続されていてもよい。 The input signal processing unit 95 acquires an input signal from the input device 95a connected to the control device 90 and outputs the input signal to the CPU 91. As the input device 95a, a pointing device such as a mouse, a touch panel, a touch pad, a trackball, a keyboard, a remote controller, a button switch, or the like can be used. Further, a plurality of types of input devices may be connected to the control device 90.

媒体リーダ96は、記録媒体96aに記録されたプログラムやデータを読み取る読み取り装置である。記録媒体96aとして、たとえば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。 The medium reader 96 is a reading device that reads programs and data recorded on the recording medium 96a. As the recording medium 96a, for example, a magnetic disk, an optical disk, a magneto-optical disk (MO: Magneto-Optical disk), a semiconductor memory, or the like can be used. The magnetic disk includes a flexible disk (FD) and an HDD. Optical discs include CDs (Compact Discs) and DVDs (Digital Versatile Discs).

媒体リーダ96は、たとえば、記録媒体96aから読み取ったプログラムやデータを、RAM92やHDD93などの他の記録媒体にコピーする。読み取られたプログラムは、たとえば、CPU91によって実行される。なお、記録媒体96aは、可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体96aやHDD93を、コンピュータ読み取り可能な記録媒体ということがある。 The medium reader 96 copies, for example, a program or data read from the recording medium 96a to another recording medium such as the RAM 92 or the HDD 93. The read program is executed by, for example, the CPU 91. The recording medium 96a may be a portable recording medium and may be used for distribution of programs and data. Further, the recording medium 96a or HDD 93 may be referred to as a computer-readable recording medium.

通信インタフェース97は、ネットワーク97aに接続され、ネットワーク97aを介して他の情報処理装置と通信を行うインタフェースである。通信インタフェース97は、スイッチなどの通信装置とケーブルで接続される有線通信インタフェースでもよいし、基地局と無線リンクで接続される無線通信インタフェースでもよい。 The communication interface 97 is an interface that is connected to the network 97a and communicates with other information processing devices via the network 97a. The communication interface 97 may be a wired communication interface connected to a communication device such as a switch by a cable, or may be a wireless communication interface connected to a base station by a wireless link.

インタフェース98は、最適化装置98aと通信を行うインタフェースである。最適化装置98aは、たとえば、第1乃至第4の実施の形態の最適化装置10,20,50,70から制御部14,74を除いたものである。 The interface 98 is an interface that communicates with the optimization device 98a. The optimization device 98a is, for example, the optimization devices 10, 20, 50, 70 of the first to fourth embodiments, excluding the control units 14, 74.

図16は、制御装置による最適化装置の制御方法の一例の流れを示すフローチャートである。
制御装置90は、制御部74は、最適化装置98aに対して、重み係数Wij、ローカルフィールドhの初期値、温度パラメータTの初期値、制限情報LMTの設定を行う。また、制御装置90は、最適化装置98aが図12に示したようなシフト量保持部73a1~73aNを含む場合、シフト量n1~nNの設定を行う(ステップS70)。
FIG. 16 is a flowchart showing a flow of an example of a control method of the optimization device by the control device.
In the control device 90, the control unit 74 sets the weight coefficient Wij , the initial value of the local field hi , the initial value of the temperature parameter T, and the limit information LMT for the optimization device 98a. Further, when the optimization device 98a includes the shift amount holding units 73a1 to 73aN as shown in FIG. 12, the control device 90 sets the shift amount n1 to nN (step S70).

その後、制御装置90は、たとえば、最適化装置98aが前述の更新処理を行うたびに送信する信号を受信し、更新処理が所定回数N1、繰り返されたか否かを判定する(ステップS71)。更新処理が所定回数N1、繰り返されていない場合には、ステップS71の処理が繰り返される。 After that, the control device 90 receives, for example, a signal transmitted each time the optimization device 98a performs the above-mentioned update process, and determines whether or not the update process has been repeated a predetermined number of times N1 (step S71). If the update process is not repeated a predetermined number of times N1, the process of step S71 is repeated.

更新処理が所定回数N1、繰り返された場合、制御装置90は、温度パラメータTの変更回数(温度変更回数)が、所定回数N2に達したか否かを判定する(ステップS72)。 When the update process is repeated a predetermined number of times N1, the control device 90 determines whether or not the number of times the temperature parameter T is changed (the number of times the temperature is changed) reaches the predetermined number of times N2 (step S72).

温度変更回数が所定回数N2に達していない場合、制御装置90は、温度パラメータTを変更する(温度を下げる)(ステップS73)。ステップS73の処理では、制御装置90は、前回送信した値よりも小さい温度パラメータTの値を、最適化装置98aに送信する。所定回数N1,N2、温度パラメータTの値の変更の仕方(一度に値をどのくらい小さくするかなど)は、アニーリング条件に基づいて決定される。ステップS73の処理後、ステップS71からの処理が繰り返される。なお、制御装置90は、たとえば、ステップS73の処理後などに、シフト量n1~nNの大きさを変更してもよい。 When the number of temperature changes has not reached the predetermined number of times N2, the control device 90 changes the temperature parameter T (lowers the temperature) (step S73). In the process of step S73, the control device 90 transmits a value of the temperature parameter T smaller than the value previously transmitted to the optimization device 98a. How to change the values of the temperature parameter T, N1 and N2 a predetermined number of times (how small the values are to be reduced at one time, etc.) is determined based on the annealing conditions. After the process of step S73, the process from step S71 is repeated. The control device 90 may change the magnitude of the shift amounts n1 to nN, for example, after the processing of step S73.

温度変更回数が所定回数N2に達している場合、制御装置90は、そのときの各ニューロンの状態(変数x(i=1~N))を、たとえば、図1に示した状態更新回路13内の記憶部から、最適化問題の計算結果として取得する(ステップS74)。 When the number of temperature changes reaches a predetermined number of times N2, the control device 90 changes the state (variable x i (i = 1 to N)) of each neuron at that time, for example, the state update circuit 13 shown in FIG. It is acquired as the calculation result of the optimization problem from the storage unit in (step S74).

その後、制御装置90は、受信した計算結果を、たとえば、図15に示したディスプレイ94aに表示し(ステップS75)、最適化装置98aの制御を終える。
なお、前述のように、上記の制御装置90の処理内容は、コンピュータにプログラムを実行させることで実現できる。
After that, the control device 90 displays the received calculation result on, for example, the display 94a shown in FIG. 15 (step S75), and ends the control of the optimization device 98a.
As described above, the processing content of the control device 90 can be realized by causing a computer to execute a program.

プログラムは、コンピュータ読み取り可能な記録媒体(たとえば、記録媒体96a)に記録しておくことができる。記録媒体として、たとえば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、FD及びHDDが含まれる。光ディスクには、CD、CD-R(Recordable)/RW(Rewritable)、DVD及びDVD-R/RWが含まれる。プログラムは、可搬型の記録媒体に記録されて配布されることがある。その場合、可搬型の記録媒体から他の記録媒体(たとえば、HDD93)にプログラムをコピーして実行してもよい。 The program can be recorded on a computer-readable recording medium (eg, recording medium 96a). As the recording medium, for example, a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like can be used. Magnetic disks include FDs and HDDs. The optical disc includes a CD, a CD-R (Recordable) / RW (Rewritable), a DVD, and a DVD-R / RW. The program may be recorded and distributed on portable recording media. In that case, the program may be copied from the portable recording medium to another recording medium (for example, HDD93) and executed.

以上、実施の形態に基づき、本発明の最適化装置、最適化装置の制御方法及び最適化装置の制御プログラムの一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。 Although the optimization device of the present invention, the control method of the optimization device, and one viewpoint of the control program of the optimization device have been described above based on the embodiment, these are only examples and are limited to the above description. It's not something.

10 最適化装置
11a1~11aN イジング装置
11b1~11bN 算出回路
11b11~11bN1 レジスタ
11b12~11bN2 ローカルフィールド更新部
11b13~11bN3 エネルギー変化算出部
11c1~11cN 状態遷移判定回路
12 更新ニューロン選択回路
13 状態更新回路
14 制御部
20 制御装置
10 Optimization device 11a1 to 11aN Rising device 11b1 to 11bN Calculation circuit 11b11 to 11bN1 Register 11b12 to 11bN2 Local field update unit 11b13 to 11bN3 Energy change calculation unit 11c1 to 11cN State transition determination circuit 12 Update neuron selection circuit 13 State update circuit 14 Part 20 Control device

Claims (7)

計算対象の問題を変換したイジングモデルに含まれる複数のスピンに対応し、それぞれm値(mは3以上の正の整数)の変数を用いて状態が表される複数のニューロンのうち、状態が更新された第1のニューロンの状態変化方向と、前記第1のニューロンと第2のニューロンとの間の相互作用の大きさを示す重み係数と、に基づいて、前記第2のニューロンの状態が、正負両方向に2(nは0以上の整数)変化することによる前記イジングモデルの2つのエネルギー変化を算出する算出回路と、
乱数と温度パラメータとに基づいて決定される熱励起エネルギーと、前記2つのエネルギー変化との大小関係に基づいて、前記2つのエネルギー変化をもたらす前記第2のニューロンの状態の更新をそれぞれ許容するか否かを判定し、更新を許容するか否かの判定結果を出力するとともに、前記第2のニューロンの状態が上限値を超えるまたは下限値を下回る更新を制限する状態遷移判定回路と、
をそれぞれが有し、互いに異なる前記第2のニューロンについての前記判定結果をそれぞれ出力する複数のイジング装置と、
前記複数のイジング装置のそれぞれが出力する前記判定結果に基づいて、更新を許容する前記第2のニューロンを1つ選択するとともに、前記状態変化方向を選択する更新ニューロン選択回路と、
前記更新ニューロン選択回路が選択した前記第2のニューロンの状態を、前記状態変化方向に基づいて更新する状態更新回路と、
を有する最適化装置。
Of the multiple neurons whose state is represented using variables of m value (m is a positive integer of 3 or more) corresponding to multiple spins included in the Ising model that transforms the problem to be calculated, the state is The state of the second neuron is based on the updated direction of state change of the first neuron and the weighting coefficient indicating the magnitude of the interaction between the first neuron and the second neuron. , A calculation circuit that calculates the two energy changes of the Ising model by changing 2 n (n is an integer of 0 or more) in both positive and negative directions.
Whether to allow the update of the state of the second neuron that causes the two energy changes based on the magnitude relationship between the thermal excitation energy determined based on the random number and the temperature parameter and the two energy changes, respectively. A state transition determination circuit that determines whether or not to allow the update, outputs the determination result of whether or not to allow the update, and restricts the update when the state of the second neuron exceeds the upper limit value or falls below the lower limit value.
And a plurality of Ising devices, each of which has and outputs the determination result for the second neuron different from each other.
Based on the determination result output by each of the plurality of Ising devices, a renewal neuron selection circuit that selects one of the second neurons that allow renewal and selects the state change direction, and a renewal neuron selection circuit.
A state update circuit that updates the state of the second neuron selected by the update neuron selection circuit based on the state change direction, and a state update circuit.
Optimizer with.
前記状態遷移判定回路は、前記第2のニューロンの状態が、正または負方向に前記2変化することにより前記上限値を超える、または前記下限値を下回る場合、前記2つのエネルギー変化のうち、前記上限値を超える、または前記下限値を下回る前記第2のニューロンの状態の変化による第1のエネルギー変化を、所定の正の値に変更した上で、前記第1のエネルギー変化をもたらす前記第2のニューロンの状態の更新を許容するか否かを判定する、
請求項1に記載の最適化装置。
In the state transition determination circuit, when the state of the second neuron exceeds the upper limit value or falls below the lower limit value by changing the state of the second neuron in the positive or negative direction by the 2 n , among the two energy changes. The first energy change due to a change in the state of the second neuron that exceeds the upper limit value or falls below the lower limit value is changed to a predetermined positive value, and then the first energy change is brought about. Determining whether to allow the state update of 2 neurons,
The optimization device according to claim 1.
前記状態遷移判定回路は、前記第2のニューロンの状態が、正または負方向に前記2変化することにより前記上限値を超える、または前記下限値を下回る場合、前記2つのエネルギー変化をもたらす前記第2のニューロンの状態の更新をそれぞれ許容するか否かの前記判定結果のうち、前記上限値を超える、または前記下限値を下回る前記第2のニューロンの状態の変化による更新を許容するか否かの第1の判定結果を、更新を許容しないことを示す値に変更する、
請求項1に記載の最適化装置。
The state transition determination circuit causes the two energy changes when the state of the second neuron exceeds the upper limit value or falls below the lower limit value by changing the state of the second neuron in the positive or negative direction by the 2 n . Among the determination results of whether or not to allow the update of the state of the second neuron, whether or not to allow the update due to the change in the state of the second neuron that exceeds the upper limit value or falls below the lower limit value. The first judgment result is changed to a value indicating that the update is not allowed.
The optimization device according to claim 1.
前記算出回路は、前記第1のニューロンの状態が、正または負方向に前記2変化したときに、所定のビット幅をもつ前記重み係数を、前記nのビット数分、左シフトした値を用いて、前記2つのエネルギー変化を算出する、
請求項1乃至3の何れか一項に記載の最適化装置。
In the calculation circuit, when the state of the first neuron changes by 2 n in the positive or negative direction, the weighting coefficient having a predetermined bit width is left-shifted by the number of n bits. Use to calculate the two energy changes,
The optimization device according to any one of claims 1 to 3.
前記複数のニューロンのそれぞれについての前記nの値を、個々に設定する制御部を有する、
請求項1乃至4の何れか一項に記載の最適化装置。
It has a control unit that individually sets the value of n for each of the plurality of neurons.
The optimization device according to any one of claims 1 to 4.
計算対象の問題を変換したイジングモデルに含まれる複数のスピンに対応し、それぞれm値(mは3以上の正の整数)の変数を用いて状態が表される複数のニューロンのうち、状態が更新された第1のニューロンの状態変化方向と、前記第1のニューロンと第2のニューロンとの間の相互作用の大きさを示す重み係数と、に基づいて、前記第2のニューロンの状態が、正負両方向に2(nは0以上の整数)変化することによる前記イジングモデルの2つのエネルギー変化を算出する算出回路と、
乱数と温度パラメータとに基づいて決定される熱励起エネルギーと、前記2つのエネルギー変化との大小関係に基づいて、前記2つのエネルギー変化をもたらす前記第2のニューロンの状態の更新をそれぞれ許容するか否かを判定し、更新を許容するか否かの判定結果を出力するとともに、前記第2のニューロンの状態が上限値を超えるまたは下限値を下回る更新を制限する状態遷移判定回路と、
をそれぞれが有し、互いに異なる前記第2のニューロンについての前記判定結果をそれぞれ出力する複数のイジング装置と、
前記複数のイジング装置のそれぞれが出力する前記判定結果に基づいて、更新を許容する前記第2のニューロンを1つ選択するとともに、前記状態変化方向を選択する更新ニューロン選択回路と、
前記更新ニューロン選択回路が選択した前記第2のニューロンの状態を、前記状態変化方向に基づいて更新する状態更新回路と、
を有する最適化装置に対して、
制御装置が、前記重み係数、前記上限値及び前記下限値を設定し、
前記制御装置が、前記温度パラメータの大きさを制御する、
最適化装置の制御方法。
Of the multiple neurons whose state is represented using variables of m value (m is a positive integer of 3 or more) corresponding to multiple spins included in the Ising model that transforms the problem to be calculated, the state is The state of the second neuron is based on the updated direction of state change of the first neuron and the weighting coefficient indicating the magnitude of the interaction between the first neuron and the second neuron. , A calculation circuit that calculates the two energy changes of the Ising model by changing 2 n (n is an integer of 0 or more) in both positive and negative directions.
Whether to allow the update of the state of the second neuron that causes the two energy changes based on the magnitude relationship between the thermal excitation energy determined based on the random number and the temperature parameter and the two energy changes, respectively. A state transition determination circuit that determines whether or not to allow the update, outputs the determination result of whether or not to allow the update, and restricts the update when the state of the second neuron exceeds the upper limit value or falls below the lower limit value.
And a plurality of Ising devices, each of which has and outputs the determination result for the second neuron different from each other.
Based on the determination result output by each of the plurality of Ising devices, a renewal neuron selection circuit that selects one of the second neurons that allow renewal and selects the state change direction, and a renewal neuron selection circuit.
A state update circuit that updates the state of the second neuron selected by the update neuron selection circuit based on the state change direction, and a state update circuit.
For optimizers that have
The control device sets the weighting factor, the upper limit value, and the lower limit value.
The control device controls the magnitude of the temperature parameter.
How to control the optimizer.
計算対象の問題を変換したイジングモデルに含まれる複数のスピンに対応し、それぞれm値(mは3以上の正の整数)の変数を用いて状態が表される複数のニューロンのうち、状態が更新された第1のニューロンの状態変化方向と、前記第1のニューロンと第2のニューロンとの間の相互作用の大きさを示す重み係数と、に基づいて、前記第2のニューロンの状態が、正負両方向に2(nは0以上の整数)変化することによる前記イジングモデルの2つのエネルギー変化を算出する算出回路と、
乱数と温度パラメータとに基づいて決定される熱励起エネルギーと、前記2つのエネルギー変化との大小関係に基づいて、前記2つのエネルギー変化をもたらす前記第2のニューロンの状態の更新をそれぞれ許容するか否かを判定し、更新を許容するか否かの判定結果を出力するとともに、前記第2のニューロンの状態が上限値を超えるまたは下限値を下回る更新を制限する状態遷移判定回路と、
をそれぞれが有し、互いに異なる前記第2のニューロンについての前記判定結果をそれぞれ出力する複数のイジング装置と、
前記複数のイジング装置のそれぞれが出力する前記判定結果に基づいて、更新を許容する前記第2のニューロンを1つ選択するとともに、前記状態変化方向を選択する更新ニューロン選択回路と、
前記更新ニューロン選択回路が選択した前記第2のニューロンの状態を、前記状態変化方向に基づいて更新する状態更新回路と、
を有する最適化装置に対して、
前記重み係数、前記上限値及び前記下限値を設定し、
前記温度パラメータの大きさを制御する、
処理をコンピュータに実行させる最適化装置の制御プログラム。
Of the multiple neurons whose state is represented using variables of m value (m is a positive integer of 3 or more) corresponding to multiple spins included in the Ising model that transforms the problem to be calculated, the state is The state of the second neuron is based on the updated direction of state change of the first neuron and the weighting coefficient indicating the magnitude of the interaction between the first neuron and the second neuron. , A calculation circuit that calculates the two energy changes of the Ising model by changing 2 n (n is an integer of 0 or more) in both positive and negative directions.
Whether to allow the update of the state of the second neuron that causes the two energy changes based on the magnitude relationship between the thermal excitation energy determined based on the random number and the temperature parameter and the two energy changes, respectively. A state transition determination circuit that determines whether or not to allow the update, outputs the determination result of whether or not to allow the update, and restricts the update when the state of the second neuron exceeds the upper limit value or falls below the lower limit value.
And a plurality of Ising devices, each of which has and outputs the determination result for the second neuron different from each other.
Based on the determination result output by each of the plurality of Ising devices, a renewal neuron selection circuit that selects one of the second neurons that allow renewal and selects the state change direction, and a renewal neuron selection circuit.
A state update circuit that updates the state of the second neuron selected by the update neuron selection circuit based on the state change direction, and a state update circuit.
For optimizers that have
The weighting coefficient, the upper limit value and the lower limit value are set, and the weighting coefficient, the upper limit value and the lower limit value are set.
Controlling the magnitude of the temperature parameter,
A control program for an optimizer that causes a computer to perform processing.
JP2018161212A 2018-08-30 2018-08-30 Optimization device, optimization device control method, and optimization device control program Active JP7093009B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018161212A JP7093009B2 (en) 2018-08-30 2018-08-30 Optimization device, optimization device control method, and optimization device control program
US16/521,680 US11645496B2 (en) 2018-08-30 2019-07-25 Optimization apparatus and optimization apparatus control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018161212A JP7093009B2 (en) 2018-08-30 2018-08-30 Optimization device, optimization device control method, and optimization device control program

Publications (2)

Publication Number Publication Date
JP2020035179A JP2020035179A (en) 2020-03-05
JP7093009B2 true JP7093009B2 (en) 2022-06-29

Family

ID=69641430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018161212A Active JP7093009B2 (en) 2018-08-30 2018-08-30 Optimization device, optimization device control method, and optimization device control program

Country Status (2)

Country Link
US (1) US11645496B2 (en)
JP (1) JP7093009B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7206476B2 (en) * 2018-09-14 2023-01-18 富士通株式会社 Optimization device, optimization device control method, and optimization device control program
JP7137064B2 (en) * 2018-10-19 2022-09-14 富士通株式会社 Optimization device and control method for optimization device
JP7491032B2 (en) * 2020-04-13 2024-05-28 富士通株式会社 Optimization device, optimization method, and optimization program
JP2021168096A (en) * 2020-04-13 2021-10-21 富士通株式会社 Sampling device, sampling method, and sampling program
JP7528517B2 (en) 2020-04-24 2024-08-06 富士通株式会社 Optimization device, optimization method, and optimization program
JP7326235B2 (en) * 2020-08-13 2023-08-15 株式会社東芝 Information processing system
JP7472062B2 (en) 2021-03-08 2024-04-22 株式会社東芝 Calculation device, calculation method and program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016051314A (en) 2014-08-29 2016-04-11 株式会社日立製作所 Semiconductor device

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08287033A (en) * 1995-04-11 1996-11-01 Nippon Telegr & Teleph Corp <Ntt> Discrete type multilevel state neural network equipment
JP4552024B2 (en) 2004-09-02 2010-09-29 株式会社国際電気通信基礎技術研究所 Image analysis apparatus, image analysis program, and image analysis method
WO2015156126A1 (en) * 2014-04-11 2015-10-15 大学共同利用機関法人情報・システム研究機構 Quantum computing device for ising model, quantum parallel computing device for ising model, and quantum computing method for ising model
JP6476292B2 (en) * 2015-06-09 2019-02-27 株式会社日立製作所 Information processing apparatus and control method thereof
JP6691297B2 (en) * 2016-07-13 2020-04-28 富士通株式会社 Information processing apparatus, Ising apparatus, and control method of information processing apparatus
JP6773970B2 (en) 2016-09-09 2020-10-21 富士通株式会社 Information processing device, Ising device and control method of information processing device
JP6465092B2 (en) * 2016-10-14 2019-02-06 富士通株式会社 Optimization device and control method of optimization device
JP7071638B2 (en) * 2018-07-31 2022-05-19 富士通株式会社 Optimization device, optimization device control method, and optimization device control program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016051314A (en) 2014-08-29 2016-04-11 株式会社日立製作所 Semiconductor device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
松田 聖,量子化された慎重なニューロンとゆらぎ,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会 The Institute of Electronics,Information and Communication Engineers,1992年05月27日,第92巻, 第59号,pp.33-40

Also Published As

Publication number Publication date
US20200074279A1 (en) 2020-03-05
US11645496B2 (en) 2023-05-09
JP2020035179A (en) 2020-03-05

Similar Documents

Publication Publication Date Title
JP7093009B2 (en) Optimization device, optimization device control method, and optimization device control program
JP7071638B2 (en) Optimization device, optimization device control method, and optimization device control program
JP7206476B2 (en) Optimization device, optimization device control method, and optimization device control program
JP7100254B2 (en) Optimization system, optimization system control method and optimization system control program
JP7007585B2 (en) Optimization device, optimization device control method, and optimization device control program
JP6773970B2 (en) Information processing device, Ising device and control method of information processing device
CN113283046B (en) Optimizing apparatus, optimizing method, and recording medium
JP2017097585A (en) Learning device, program, and learning method
JP7137064B2 (en) Optimization device and control method for optimization device
US20210065087A1 (en) Information processing apparatus, combination optimization method, and computer-readable recording medium recording combination optimization program
JP7181454B2 (en) Optimization device, optimization device control method, and optimization device control program
JP2021168096A (en) Sampling device, sampling method, and sampling program
JP7111966B2 (en) Optimization device and control method for optimization device
JP2021111270A (en) Optimization device, temperature setting method for optimization device, and temperature setting program for optimization device
JP2022072685A (en) Evaluation function generation program, evaluation function generation method, optimization method and optimization device
JP2021131723A (en) Information processing method, information processing device and program
JP2022161128A (en) Program, data processing method, and data processing apparatus
JP2023028347A (en) Program, data processing method and data processing device
CN117634597A (en) Storage medium, data processing apparatus, and data processing method
CN115577824A (en) Data processing apparatus, computer-readable recording medium storing program, and method
CN117786275A (en) Data processing apparatus and data processing method
JP2022184426A (en) Data processing device, data processing method, and program
TW202405687A (en) Modeling method of neural network and simulation method
JP2021124946A (en) Learning device, learning method, and program
CN118260153A (en) Temperature adjustment program, data processing apparatus, and data processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210513

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20210524

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20210524

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220506

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220517

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220530

R150 Certificate of patent or registration of utility model

Ref document number: 7093009

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150