JPWO2017017807A1 - Information processing apparatus and method - Google Patents

Information processing apparatus and method Download PDF

Info

Publication number
JPWO2017017807A1
JPWO2017017807A1 JP2017530537A JP2017530537A JPWO2017017807A1 JP WO2017017807 A1 JPWO2017017807 A1 JP WO2017017807A1 JP 2017530537 A JP2017530537 A JP 2017530537A JP 2017530537 A JP2017530537 A JP 2017530537A JP WO2017017807 A1 JPWO2017017807 A1 JP WO2017017807A1
Authority
JP
Japan
Prior art keywords
spin
value
ising
information processing
ising model
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.)
Granted
Application number
JP2017530537A
Other languages
Japanese (ja)
Other versions
JP6496410B2 (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2017017807A1 publication Critical patent/JPWO2017017807A1/en
Application granted granted Critical
Publication of JP6496410B2 publication Critical patent/JP6496410B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/04Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body
    • H01L27/10Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including a plurality of individual components in a repetitive configuration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Power Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mram Or Spin Memory Techniques (AREA)
  • Multi Processors (AREA)
  • Hall/Mr Elements (AREA)

Abstract

【課題】
有用性及び信頼性の高い情報処理装置及び情報処理方法を提案する。
【解決手段】
問題の解をイジングモデルの基底状態として求める情報処理装置及び当該情報処理装置において実行される情報処理方法であって、情報処理装置に、イジングモデルにおける各スピン間の相互作用を模擬するイジングチップと、イジングモデルの一部又は全部のスピンにそれぞれ対応させてイジングチップに設けられ、それぞれ対応するスピンの値を取得する複数の第1のスピン値観測部と、イジングチップを制御する情報処理部とを設け、情報処理部が、問題をイジングモデルに変換し、問題をイジングモデルに変換する際に得られた制約条件と、各第1のスピン値観測部によりそれぞれ取得されたイジングモデルの基底状態探索時における対応する各スピンの値とに基づいて、イジングモデルが問題の性質を正しく反映しているか否かを検証するようにした。
【Task】
An information processing apparatus and an information processing method with high usability and reliability are proposed.
[Solution]
An information processing apparatus for obtaining a solution of a problem as a ground state of an Ising model and an information processing method executed in the information processing apparatus, the information processing apparatus comprising: A plurality of first spin value observation units that are provided in the Ising chip so as to correspond to some or all of the spins of the Ising model, respectively, and that acquire the corresponding spin values; an information processing unit that controls the Ising chip; And the information processing unit converts the problem into an Ising model, the constraint condition obtained when the problem is converted into an Ising model, and the ground state of the Ising model respectively acquired by each first spin value observation unit Whether or not the Ising model correctly reflects the nature of the problem, based on the value of each corresponding spin during the search. It was set to testify.

Description

本発明は、情報処理装置及び方法に関し、特に、問題の解をイジングモデルの基底状態として求める情報処理装置に適用して好適なものである。   The present invention relates to an information processing apparatus and method, and is particularly suitable for application to an information processing apparatus that obtains a solution of a problem as a ground state of an Ising model.

イジングモデルは磁性体の振舞いを説明するための統計力学のモデルである。イジングモデルは+1/−1(ないしは、0/1、上/下)の2値をとるスピンと、スピン間の相互作用を示す相互作用係数、及び、スピン毎にある外部磁場係数で定義される。イジングモデルは与えられたスピン配列、相互作用係数、及び、外部磁場係数から、その時のエネルギーを計算することができる。   The Ising model is a statistical mechanics model for explaining the behavior of magnetic materials. The Ising model is defined by a spin taking a binary value of + 1 / -1 (or 0/1, up / down), an interaction coefficient indicating an interaction between the spins, and an external magnetic field coefficient for each spin. . The Ising model can calculate the energy at that time from a given spin arrangement, interaction coefficient, and external magnetic field coefficient.

イジングモデルの基底状態探索とは、イジングモデルのエネルギー関数を最小化するスピンの配列を求める最適化問題である。トポロジが非平面グラフであるイジングモデルの基底状態を求めることはNP困難問題であることが知られている。   The ground state search of the Ising model is an optimization problem for obtaining an array of spins that minimizes the energy function of the Ising model. It is known that obtaining the ground state of an Ising model whose topology is a non-planar graph is an NP-hard problem.

イジングモデルの基底状態探索は、NP困難なグラフ問題として知られている最大カット問題とも対応している。このようなグラフ問題は、ソーシャルネットワークにおけるコミュニティの検出や、画像処理におけるセグメンテーションなど、幅広い応用を持っている。そのため、イジングモデルの基底状態探索を行うソルバがあれば、このような様々な問題に適用することができる。   The ground state search of the Ising model also corresponds to the maximum cut problem known as the NP-hard graph problem. Such graph problems have a wide range of applications such as community detection in social networks and segmentation in image processing. Therefore, if there is a solver that performs the ground state search of the Ising model, it can be applied to such various problems.

イジングモデルに含まれるスピンの取り得る状態の組み合わせは莫大な数にのぼるため、基底状態を求めるにあたってそのすべてを探索することは実質的に不可能である。このため、基底状態を効率よく求めるには、探索するスピンの組み合わせを絞り込む必要がある。しかしながら、絞り込みによって局所解を選んでしまい、近似的な基底状態しか得られなくなるといった弊害も起こるため、探索の過程で見つかった局所解を避けることでよりよい解を得られる手法が必要である。   Since there are an enormous number of possible combinations of spins included in the Ising model, it is virtually impossible to search for all of them in obtaining the ground state. For this reason, in order to obtain the ground state efficiently, it is necessary to narrow down the combinations of spins to be searched. However, since a local solution is selected by narrowing down and only an approximate ground state can be obtained, there is a need for a method that can obtain a better solution by avoiding the local solution found in the search process.

このような手法として、超電導素子を用いた量子的なゆらぎを活用して基底状態探索を行う方法が提案されている。このような装置として、例えば特許文献1に記載の装置がある。   As such a method, a method of performing a ground state search utilizing quantum fluctuations using a superconducting element has been proposed. As such an apparatus, there is an apparatus described in Patent Document 1, for example.

また、シミュレーテッドアニーリングのように、一時的に解の悪化を許容するヒューリスティクスを用いて、良い解を求める方法もある。このような方法を用いる場合、例えば非特許文献1に示されるようなハードウェアを用いることで、高速に基底状態探索を行うことができる。   There is also a method for obtaining a good solution using heuristics that allow the deterioration of the solution temporarily, such as simulated annealing. When such a method is used, ground state search can be performed at high speed by using hardware as shown in Non-Patent Document 1, for example.

国際公開第2012/118064号International Publication No. 2012/118064

Michael G. Wrighton, Andre M. DeHon, Hardware-Assisted SimulatedAnnealing with Application for Fast FPGA Placement, FPGA '03 Proceedings of the2003 ACM/SIGDA eleventh international symposium on Field programmable gatearrays, Pages 33 - 42Michael G. Wrighton, Andre M. DeHon, Hardware-Assisted Simulated Annealing with Application for Fast FPGA Placement, FPGA '03 Proceedings of the2003 ACM / SIGDA eleventh international symposium on Field programmable gatearrays, Pages 33-42

特許文献1及び非特許文献1に記載の装置を用いて問題を解く場合、解きたい問題をイジングモデルの基底状態探索に変換する処理が必要となるが、従来、このような変換はプログラムにより行われている。この際、かかる変換により得られたイジングモデルが元の問題の性質を正しく反映していないと、このイジングモデルの基底状態探索を行っても、元の問題の正しい解を得ることはできない。   When solving a problem using the devices described in Patent Document 1 and Non-Patent Document 1, it is necessary to convert the problem to be solved into a ground state search of the Ising model. Conventionally, such conversion is performed by a program. It has been broken. At this time, if the Ising model obtained by such conversion does not correctly reflect the nature of the original problem, even if a ground state search of the Ising model is performed, a correct solution of the original problem cannot be obtained.

一方、基底状態探索を行うハードウェアはランダムな挙動をするので、最終結果だけ見ても、かかる変換により得られたイジングモデルが元の問題の性質を正しく反映しているか否かを判断することは困難である。   On the other hand, since the hardware that performs ground state search behaves randomly, it is necessary to determine whether the Ising model obtained by such conversion correctly reflects the nature of the original problem even if only the final result is seen. It is difficult.

本発明は以上の点を考慮してなされたもので、イジングモデルが元の問題の性質を正しく反映しているか否かを容易に判断可能な有用性及び信頼性の高い情報処理装置及び判定方法を提供しようとするものである。   The present invention has been made in view of the above points, and has a useful and reliable information processing apparatus and determination method that can easily determine whether or not the Ising model correctly reflects the nature of the original problem. Is to provide.

かかる課題を解決するため本発明においては、問題の解をイジングモデルの基底状態として求める情報処理装置において、前記問題を前記イジングモデルに変換する情報処理部と、前記イジングモデルにおける各スピン間の相互作用を模擬するイジングチップと、前記イジングモデルの一部又は全部の前記スピンにそれぞれ対応させて前記イジングチップに設けられ、それぞれ対応する前記スピンの値を取得する複数の第1のスピン値観測部とを設け、前記情報処理部が、前記問題を前記イジングモデルに変換する際に得られた当該イジングモデルの各前記スピンが満たすべき制約条件と、各前記第1のスピン値観測部によりそれぞれ取得された前記イジングモデルの基底状態探索時における対応する各前記スピンの値とに基づいて、前記イジングモデルが前記問題の性質を正しく反映しているか否かを検証するようにした。   In order to solve such a problem, in the present invention, in an information processing apparatus that obtains a solution of a problem as a ground state of an Ising model, an information processing unit that converts the problem into the Ising model, and a mutual relationship between each spin in the Ising model An Ising chip that simulates an action, and a plurality of first spin value observation units that are provided in the Ising chip so as to respectively correspond to some or all of the spins of the Ising model and acquire the corresponding spin values The information processing unit obtains the constraint condition that each spin of the Ising model obtained when the problem is converted into the Ising model, and the first spin value observation unit, respectively. And the corresponding spin values at the time of ground state search of the Ising model. Ring model was made to verify whether or not correctly reflect the nature of the problem.

また本発明においては、問題の解をイジングモデルの基底状態として求める情報処理装置において実行される情報処理方法であって、前記情報処理装置は、前記イジングモデルにおける各スピン間の相互作用を模擬するイジングチップと、前記イジングモデルの一部又は全部の前記スピンにそれぞれ対応させて前記イジングチップに設けられ、それぞれ対応する前記スピンの値を取得する複数の第1のスピン値観測部と前記イジングチップを制御する情報処理部とを有し、前記情報処理部が、前記問題を前記イジングモデルに変換する第1のステップと、前記情報処理部が、前記問題を前記イジングモデルに変換する際に得られた当該イジングモデルの各前記スピンが満たすべき制約条件と、各前記第1のスピン値観測部によりそれぞれ取得された前記イジングモデルの基底状態探索時における対応する各前記スピンの値とに基づいて、前記イジングモデルが前記問題の性質を正しく反映しているか否かを検証する第2のステップとを設けるようにした。   According to the present invention, there is provided an information processing method executed in an information processing apparatus that obtains a solution to a problem as a ground state of an Ising model, wherein the information processing apparatus simulates an interaction between spins in the Ising model. An Ising chip, a plurality of first spin value observing units that are provided in the Ising chip so as to correspond to some or all of the spins of the Ising model, and that respectively acquire the corresponding spin values, and the Ising chip A first step of converting the problem into the Ising model; and when the information processing unit converts the problem into the Ising model. Obtained by each of the spins of the Ising model and the first spin value observation unit. And a second step of verifying whether or not the Ising model correctly reflects the nature of the problem based on the corresponding spin values in the ground state search of the Ising model. I made it.

本発明の情報処理装置及び情報処理方法によれば、情報処理部の検証結果に基づいてユーザがそのイジングモデルが元の問題の性質を正しく反映しているか否かを容易に判断することができる。   According to the information processing apparatus and the information processing method of the present invention, the user can easily determine whether the Ising model correctly reflects the nature of the original problem based on the verification result of the information processing unit. .

本発明によれば、有用性及び信頼性の高い情報処理装置を実現できる。   According to the present invention, an information processing apparatus with high usability and reliability can be realized.

第1及び第2の実施の形態による情報処理装置の全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the information processing apparatus by 1st and 2nd embodiment. イジングチップモジュールの構成を示すブロック図である。It is a block diagram which shows the structure of an Ising chip module. 第1の実施の形態によるイジングチップの構成を示すブロック図である。It is a block diagram which shows the structure of the Ising chip by 1st Embodiment. スピンアレイの説明に供する概念図である。It is a conceptual diagram with which it uses for description of a spin array. スピンアレイの説明に供する概念図である。It is a conceptual diagram with which it uses for description of a spin array. スピンアレイの説明に供する概念図である。It is a conceptual diagram with which it uses for description of a spin array. スピンユニットの構成を示すブロック図である。It is a block diagram which shows the structure of a spin unit. スピンユニットの構成を示すブロック図である。It is a block diagram which shows the structure of a spin unit. イジングチップ上のスピンユニットの配置例を示すブロック図である。It is a block diagram which shows the example of arrangement | positioning of the spin unit on an Ising chip. 制約条件の説明に供する概念図である。It is a conceptual diagram with which it uses for description of a constraint condition. 制約条件の説明に供する概念図である。It is a conceptual diagram with which it uses for description of a constraint condition. 第1の実施の形態によるスピンアレイの説明に供するブロック図である。It is a block diagram with which it uses for description of the spin array by 1st Embodiment. 第1のスピン値観測部の説明に供するブロック図である。It is a block diagram with which it uses for description of a 1st spin value observation part. 第1の観測結果の説明に供する図表である。It is a chart used for description of the first observation result. 第1の処理情報の説明に供する図表である。It is a chart with which explanation of the 1st processing information is provided. 第1の処理結果の説明に供する図表である。It is a chart with which explanation of the 1st processing result is provided. (A)及び(B)は、判定処理の説明に供するグラフである。(A) And (B) is a graph with which it uses for description of a determination process. (A)及び(B)は、判定処理の説明に供するグラフである。(A) And (B) is a graph with which it uses for description of a determination process. 判定処理の説明に供する図表である。It is a chart with which explanation processing is explained. 第1の実施の形態による基底状態探索処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the ground state search process by 1st Embodiment. 第2の実施の形態によるイジングチップの構成を示すブロック図である。It is a block diagram which shows the structure of the Ising chip by 2nd Embodiment. 第2の実施の形態によるスピンアレイの説明に供するブロック図である。It is a block diagram with which it uses for description of the spin array by 2nd Embodiment. 第2の観測結果の説明に供する図表である。It is a chart used for description of the second observation result. 第2の処理情報の説明に供する図表である。It is a chart with which it uses for description of 2nd process information. 第2の処理結果の説明に供する図表である。It is a chart provided for description of the second processing result. 第2の実施の形態による基底状態探索処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the ground state search process by 2nd Embodiment.

以下図面について、本発明の一実施の形態を詳述する。   Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.

(1)第1の実施の形態
(1−1)イジングモデルの定義
イジングモデルは強磁性体の振る舞いを説明するときなどに用いられる統計力学のモデルである。イジングモデルは+1又は1の2値の状態をとるスピンと、スピン間の相互作用の強さを表す相互作用係数と、各スピンに働く外部磁場の強さを表す外部磁場係数で定義される。
(1) First Embodiment (1-1) Definition of Ising Model The Ising model is a model of statistical mechanics used when explaining the behavior of a ferromagnetic material. The Ising model is defined by a spin that takes a binary state of +1 or 1, an interaction coefficient that represents the strength of the interaction between the spins, and an external magnetic field coefficient that represents the strength of the external magnetic field acting on each spin.

イジングモデルのエネルギー関数は、次式
で定義される。(1)式において、σはスピン全体を表し、σ,σはそれぞれi番目とj番目のスピンの値を表す。また<i,j>は全てのスピンのiとjの組を表しており、Ji,jはi番目とj番目のスピンの間の相互作用係数、hはi番目のスピンに対する外部磁場係数を表す。
The energy function of the Ising model is
Defined by In the equation (1), σ represents the entire spin, and σ i and σ j represent the values of the i-th and j-th spins, respectively. <I, j> represents a set of i and j of all spins, J i, j is an interaction coefficient between the i-th and j-th spins, and h i is an external magnetic field for the i-th spin. Represents a coefficient.

ところで、イジングモデルは一般的に無向グラフで表現される相互作用を有している。上述した(1)式において、相互作用を表わす項として、Ji,j×σi×σjがあるが、これはi番目スピンからj番目スピンへの相互作用を示している。この場合、一般的なイジングモデルではi番目スピンからj番目スピンへの相互作用と、j番目スピンからi番目スピンへの相互作用を区別することはない。つまり、Ji,jとJj,iは同一である。しかし、本実施の形態では、このイジングモデルを有向グラフに拡張し、i番目スピンからj番目スピンへの相互作用と、j番目スピンからi番目スピンへの相互作用を非対称にすることを実現している。これにより、モデルの表現能力が高まり、多くの問題をより小規模のモデルで表現することが可能になる。   By the way, the Ising model generally has an interaction expressed by an undirected graph. In the above-described equation (1), Ji, j × σi × σj is a term representing an interaction, and this indicates an interaction from the i-th spin to the j-th spin. In this case, the general Ising model does not distinguish between the interaction from the i-th spin to the j-th spin and the interaction from the j-th spin to the i-th spin. That is, Ji, j and Jj, i are the same. However, in the present embodiment, this Ising model is extended to a directed graph, and the interaction from the i-th spin to the j-th spin and the interaction from the j-th spin to the i-th spin are made asymmetric. Yes. As a result, the ability to express the model increases, and many problems can be expressed with a smaller model.

イジングモデルの基底状態を求めることは、(1)式で表されるイジングモデルのエネルギーが最小となるようなスピンの値の組み合せを求める、組合せ最適化問題を解くことに相当する。   Obtaining the ground state of the Ising model is equivalent to solving a combinatorial optimization problem that seeks a combination of spin values that minimizes the energy of the Ising model represented by equation (1).

例えば、グラフの最大カット問題や巡回セールスマン問題などの最適化問題をイジングモデルの基底状態探索に変換することが可能である。このとき、元の問題を変換して作ったイジングモデルの基底状態を求めた後、スピン値の値を元の問題に逆変換することで元の問題を解くことができる。イジングモデルの基底状態探索を高速に行う装置を用いることで、従来の計算機では時間のかかる最適化問題を高速に解くことができる。   For example, an optimization problem such as a maximum cut problem of a graph or a traveling salesman problem can be converted into a ground state search of an Ising model. At this time, after obtaining the ground state of the Ising model created by converting the original problem, the original problem can be solved by inversely converting the spin value to the original problem. By using a device that performs the ground state search of the Ising model at high speed, the conventional computer can solve the time-consuming optimization problem at high speed.

(1−2)本実施の形態による情報処理システムの構成
(1−2−1)情報処理システムの全体構成
図1は、上述のように問題をイジングモデルに変換し、変換したイジングモデルの基底状態を探索することによりかかる問題の解を求め得るようになされた本実施の形態による情報処理装置1の概略構成を示す。
(1-2) Configuration of Information Processing System According to this Embodiment (1-2-1) Overall Configuration of Information Processing System FIG. 1 shows the basis of the converted Ising model after converting the problem into an Ising model as described above. A schematic configuration of the information processing apparatus 1 according to the present embodiment, which is configured to obtain a solution to such a problem by searching for a state, is shown.

この情報処理装置1は、パーソナルコンピュータやワークステーション又はサーバなどから構成され、例えばPCI ExpressやQPIなどから構成されるシステムバス2を介して相互に接続されたCPU(Central Processing Unit)3、メモリ4、記憶装置5及び複数のイジングチップモジュール6を備える。   The information processing apparatus 1 includes a personal computer, a workstation, a server, or the like. For example, a CPU (Central Processing Unit) 3 and a memory 4 that are connected to each other via a system bus 2 including PCI Express, QPI, and the like. A storage device 5 and a plurality of Ising chip modules 6.

CPU3は、情報処理装置1全体の動作制御を司るプロセッサである。またメモリ4は、例えば揮発性の半導体メモリから構成され、各種プログラムを記憶するために利用される。記憶装置5は、例えばハードディスク装置やSSD(Solid State Drive)などから構成され、プログラムやデータを長期間保持するために利用される。   The CPU 3 is a processor that controls the operation of the entire information processing apparatus 1. The memory 4 is composed of, for example, a volatile semiconductor memory, and is used for storing various programs. The storage device 5 is composed of, for example, a hard disk device or an SSD (Solid State Drive), and is used for holding programs and data for a long period of time.

本実施の形態の場合、記憶装置5には、ユーザから与えられた本情報処理装置1が解くべき問題の問題データ7が格納され、メモリ4には、問題変換プログラム8及びイジングチップ制御プログラム9が格納される。問題変換プログラム8は、かかる問題をイジングモデル形式の問題に変換するプログラムである。またイジングチップ制御プログラム9は、かかるイジングモデル形式の問題をイジングチップモジュール6において解くための各種制御を行うプログラムである。またメモリ4には、問題変換プログラム8により変換されたイジングモデル形式の問題であるイジングモデル10が格納されるほか、後述する観測結果検証プログラム11、制約条件12及び観測結果13も格納される。   In the case of the present embodiment, the storage device 5 stores problem data 7 of a problem to be solved by the information processing apparatus 1 given by a user, and the memory 4 stores a problem conversion program 8 and an Ising chip control program 9. Is stored. The problem conversion program 8 is a program for converting such a problem into an Ising model format problem. The Ising chip control program 9 is a program for performing various controls for solving the problem of the Ising model format in the Ising chip module 6. Further, the memory 4 stores an Ising model 10 which is a problem in the Ising model format converted by the problem conversion program 8, and also stores an observation result verification program 11, a constraint condition 12, and an observation result 13, which will be described later.

イジングチップモジュール6は、図2に示すように、インタフェース20、モジュールコントローラ21、相互作用クロック生成部22、乱数発生器23及びイジングチップ24を備えて構成される。   As shown in FIG. 2, the Ising chip module 6 includes an interface 20, a module controller 21, an interaction clock generation unit 22, a random number generator 23, and an Ising chip 24.

モジュールコントローラ21は、情報処理装置1のCPU3(図1)及びイジングチップ24間におけるコマンドやデータの橋渡しを行う機能と、CPU3から指示に応じて相互作用クロック生成部22及び乱数発生器23を制御する機能とを有するプロセッサである。モジュールコントローラ21は、インタフェース20及びシステムバス2(図1)を介してCPU3との間でコマンドや情報の送受を行う。   The module controller 21 bridges commands and data between the CPU 3 (FIG. 1) and the Ising chip 24 of the information processing apparatus 1 and controls the interaction clock generator 22 and the random number generator 23 according to instructions from the CPU 3. A processor having a function to The module controller 21 sends and receives commands and information to and from the CPU 3 via the interface 20 and the system bus 2 (FIG. 1).

相互作用クロック生成部22は、後述する相互作用クロックを生成するクロック生成器である。相互作用クロック生成部22により生成された相互作用クロックが後述のようにイジングチップ24に与えられ、この相互作用クロックに同期してイジングチップ24において基底状態探索が実行される。   The interaction clock generator 22 is a clock generator that generates an interaction clock described later. The interaction clock generated by the interaction clock generation unit 22 is given to the Ising chip 24 as described later, and a ground state search is executed in the Ising chip 24 in synchronization with the interaction clock.

また乱数発生器23は、イジングチップ24において実行される基底状態探索が局所解に陥るのを防止するためのランダムなビット列である乱数を発生させる。乱数発生器23により発生された乱数はイジングチップ24に与えられる。   The random number generator 23 generates a random number that is a random bit string for preventing the ground state search executed in the Ising chip 24 from falling into a local solution. The random number generated by the random number generator 23 is given to the Ising chip 24.

イジングチップ24は、イジングモデルにおけるスピン間の相互作用を模擬する専用のハードウェアである。イジングチップ24は、情報処理装置1のCPU3(図1)からシステムバス2(図1)を介してイジングチップモジュール6に与えられたイジングモデルのデータ(後述する各スピンの値、各スピンの外部磁場係数及び各スピン間の相互作用係数のデータであり、以下、適宜、これをイジングモデルデータと呼ぶ)をモジュールコントローラ21を介して受け取り、受け取ったイジングモデルデータに基づくイジングモデルの基底状態探索処理を実行する。そしてイジングチップ24は、かかる基底状態探索処理の処理結果をモジュールコントローラ21を介してCPU3に通知する。   The Ising chip 24 is dedicated hardware that simulates the interaction between spins in the Ising model. The Ising chip 24 receives Ising model data (the value of each spin described later, the external of each spin) given to the Ising chip module 6 from the CPU 3 (FIG. 1) of the information processing apparatus 1 via the system bus 2 (FIG. 1). Data on the magnetic field coefficient and the interaction coefficient between the spins, which will be referred to as Ising model data as appropriate hereinafter) are received via the module controller 21, and an Ising model ground state search process based on the received Ising model data Execute. Then, the Ising chip 24 notifies the CPU 3 of the result of the ground state search process via the module controller 21.

(1−2−2)イジングチップの構成
図3は、イジングチップ24の概略構成を示す。この図3に示すように、イジングチップ24は、スピンアレイ30、I/O(Input/output)アドレスデコーダ31、I/Oドライバ32、相互作用アドレスデコーダ33、コントローラ34及びチップメモリ35を備えて構成される。本実施の形態では、イジングチップ24は現在広く用いられているCMOS(Complementary Metal-Oxide Semiconductor)集積回路として実装されていることを想定して説明するが、他の固体素子でも実現可能である。
(1-2-2) Configuration of Ising Chip FIG. 3 shows a schematic configuration of the Ising chip 24. As shown in FIG. 3, the Ising chip 24 includes a spin array 30, an input / output (I / O) address decoder 31, an I / O driver 32, an interaction address decoder 33, a controller 34, and a chip memory 35. Composed. In the present embodiment, the Ising chip 24 is described as being implemented as a CMOS (Complementary Metal-Oxide Semiconductor) integrated circuit that is widely used at present, but it can also be realized by other solid-state elements.

スピンアレイ30は、SRAMとしての機能とイジングモデルの基底状態探索を行う相互作用回路としての機能を併せ持つ。I/Oアドレスデコーダ31及びI/Oドライバ32は、スピンアレイ30をSRAM(Static Random Access Memory)として用いる際のインタフェースである。   The spin array 30 has both a function as an SRAM and a function as an interaction circuit for performing a ground state search of the Ising model. The I / O address decoder 31 and the I / O driver 32 are interfaces when the spin array 30 is used as an SRAM (Static Random Access Memory).

I/Oアドレスデコーダ31は、アドレスバス36を介して読み書きを行うアドレスを授受する。またI/Oドライバ32は、データバス37を介してスピンアレイ30に読み込み又は書き込みするビット列を授受し、R/W(Read/Write)制御線38の信号に従って、読み取り動作と書き込み動作を切り替えることができる。I/Oアドレスデコーダ31及びI/Oドライバ32は、いずれもI/Oクロック線39を介してイジングチップモジュール6内の図示しないクロック発生器から与えられるI/Oクロックに同期して動作する。   The I / O address decoder 31 sends and receives addresses for reading and writing via the address bus 36. The I / O driver 32 exchanges a bit string to be read or written to the spin array 30 via the data bus 37, and switches between a read operation and a write operation according to a signal of an R / W (Read / Write) control line 38. Can do. Both the I / O address decoder 31 and the I / O driver 32 operate in synchronization with an I / O clock provided from a clock generator (not shown) in the Ising chip module 6 via the I / O clock line 39.

相互作用アドレスデコーダ33は、情報処理装置1のCPU3(図1)からモジュールコントローラ21を介して相互作用アドレス線40を通じて与えられる相互作用アドレスを入力し、スピンアレイ30を相互作用回路として用いる際の、相互作用の対象となるスピンを選択する。また、相互作用アドレスデコーダ33及びスピンアレイ30は、相互作用クロック生成部22(図2)から相互作用クロック線41を介して与えられる相互作用クロックに同期して動作し、相互作用クロック1周期につき1回の相互作用動作を行う。また、スピンアレイ30は、乱数発生器23(図2)から出力された乱数パルスを乱数注入線42を通して入力する。   The interaction address decoder 33 receives an interaction address given through the interaction address line 40 from the CPU 3 (FIG. 1) of the information processing apparatus 1 via the module controller 21 and uses the spin array 30 as an interaction circuit. Select the spin that is the target of the interaction. The interaction address decoder 33 and the spin array 30 operate in synchronization with the interaction clock provided from the interaction clock generator 22 (FIG. 2) via the interaction clock line 41, and each interaction clock cycle. Perform one interaction action. Also, the spin array 30 inputs the random number pulse output from the random number generator 23 (FIG. 2) through the random number injection line 42.

コントローラ34は、後述するイジングモデル検証機能に関連する各種演算や各種制御処理を実行するプロセッサである。またチップメモリ35は、後述するようにスピンアレイ30の内部で対応するスピンユニット50(図4〜図8)が保持するスピンの値の観測結果でなる第1の観測結果43と、後述のように情報処理装置1のCPU3(図1)から与えられた第1の処理情報44と、第1の観測結果43に対して行った第1の処理情報44に基づく処理の処理結果でなる第1の処理結果45とを格納するために用いられる。   The controller 34 is a processor that executes various calculations and various control processes related to the Ising model verification function described later. Further, the chip memory 35 has a first observation result 43 that is an observation result of a spin value held by the corresponding spin unit 50 (FIGS. 4 to 8) in the spin array 30 as will be described later, and will be described later. The first processing information 44 given from the CPU 3 (FIG. 1) of the information processing apparatus 1 and the processing result of the processing based on the first processing information 44 performed on the first observation result 43. Is used to store the processing result 45 of

(1−2−3)スピンアレイの構成
スピンアレイ30は、1個のスピンσ並びにそれに付随する相互作用係数Ji,j及び外部磁場係数hの保持と、基底状態探索演算とを実現するスピンユニットを基本構成単位として、スピンユニットを多数個並べた構成を有する。
(1-2-3) Configuration of Spin Array The spin array 30 realizes one spin σ i , its associated interaction coefficient J i, j and external magnetic field coefficient h i , and ground state search calculation The spin unit is a basic structural unit, and a large number of spin units are arranged.

図4は、スピンユニット50を複数並べることで、3次元格子状のトポロジを持つイジングモデルを構成する例を示す。図4の例は、3(X軸方向)×3(Y軸方向)×2(Z軸方向)の大きさの3次元格子である。座標軸の定義は図示した通り、図面右方向をX軸、図面下方向をY軸、図面奥行き方向をZ軸としているが、この座標軸は実施の形態の説明上便宜的に必要なだけであり、本発明とは関係しない。3次元格子以外のトポロジ、例えばツリー状のトポロジなどを利用する場合には、座標軸とは別にツリーの段数等で表現することになる。図4の3次元格子状のトポロジにおいて、スピン間の相互作用をグラフとしてとらえると、最大で次数5のスピン(頂点)が必要となる。なお、外部磁場係数の接続も含めて考えると、最大で次数6が必要となる。   FIG. 4 shows an example in which an Ising model having a three-dimensional lattice topology is configured by arranging a plurality of spin units 50. The example of FIG. 4 is a three-dimensional lattice having a size of 3 (X-axis direction) × 3 (Y-axis direction) × 2 (Z-axis direction). As shown in the figure, the definition of the coordinate axis is the X-axis in the right direction of the drawing, the Y-axis in the downward direction of the drawing, and the Z-axis in the depth direction of the drawing, but this coordinate axis is only necessary for convenience of description of the embodiment. It is not related to the present invention. When using a topology other than a three-dimensional lattice, for example, a tree-like topology, it is expressed by the number of stages of the tree separately from the coordinate axes. In the three-dimensional lattice topology of FIG. 4, when the interaction between spins is viewed as a graph, a spin (vertex) of degree 5 at the maximum is required. In consideration of the connection of the external magnetic field coefficient, the maximum order 6 is required.

図4に示す1個のスピンユニット50には、隣接するスピン(例えば隣接するスピンが5個の場合σ,σ,σ,σ,σ)の値が入力される。このためスピンユニット50は、これら入力する隣接するスピンの値を保持するためのメモリセルを有している。またスピンユニット50は、かかるスピンの値に加え、外部磁場係数と、上述した隣接するスピンとの相互作用係数(隣接する5スピンとの相互作用係数Jj,i,Jk,i,Jl,i,Jm,i,Jn,i)とをそれぞれ保持するメモリセルをも有している。The value of adjacent spins (for example, σ j , σ k , σ l , σ m , σ n when there are five adjacent spins) is input to one spin unit 50 shown in FIG. For this reason, the spin unit 50 has a memory cell for holding these input adjacent spin values. In addition to the value of the spin, the spin unit 50 has an interaction coefficient between the external magnetic field coefficient and the adjacent spin described above (interaction coefficients J j, i , J k, i , J l with the adjacent five spins). , I , J m, i , J n, i ), respectively.

1個のスピンユニットをi番目スピンσと考えた時に、このスピンユニット50が保持する相互作用係数であるJj,i、Jk,i、Jl,i、Jm,i、Jn,iは、隣接するj番目、k番目、l番目、m番目、n番目のスピンσ、σ、σ、σ、σから、i番目スピンσへの相互作用を決めるものである。このことは、図5において、スピンユニット50に含まれている相互作用係数が対応する矢印(相互作用)が、図示されているスピンユニット50の外部のスピンから、スピンユニット50の内部のスピンに向かっていることに対応している。J j, i , J k, i , J l, i , J m, i , J n , which are interaction coefficients held by this spin unit 50 when one spin unit is considered as the i-th spin σ i. , I determine the interaction from the adjacent j-th, k-th, l-th, m-th and n-th spins σ j , σ k , σ l , σ m , σ n to the i-th spin σ i . It is. This is because, in FIG. 5, the arrow (interaction) corresponding to the interaction coefficient included in the spin unit 50 changes from a spin outside the illustrated spin unit 50 to a spin inside the spin unit 50. Corresponding to the heading.

(1−2−4)スピンユニットの構成
スピンユニット50の構成について、図7及び図8を用いて説明する。スピンユニット50は2つの側面をもっており、便宜上、図7及び図8に分けて説明するが、1個のスピンユニット50は図7及び図8の構成の双方を含む。図7はスピンユニット50間の相互作用を実現するための回路を示し、図8はスピンユニット50が有するメモリセルN,IS0,IS1,IU0,IU1,IL0,IL1,IR0,IR1,ID0,ID1,IF0,IF1にイジングチップ24外からアクセスするためのインタフェースであるビット線51とワード線52とに注目してスピンユニット50の構成を図示したものである。
(1-2-4) Configuration of Spin Unit The configuration of the spin unit 50 will be described with reference to FIGS. The spin unit 50 has two side surfaces, and will be described separately in FIGS. 7 and 8 for convenience. However, one spin unit 50 includes both the configurations of FIGS. 7 and 8. FIG. 7 shows a circuit for realizing the interaction between the spin units 50, and FIG. 8 shows the memory cells N, IS0, IS1, IU0, IU1, IL0, IL1, IR0, IR1, ID0, ID1 of the spin unit 50. , IF 0, IF 1 from the outside of the Ising chip 24, focusing on the bit line 51 and the word line 52, the configuration of the spin unit 50 is illustrated.

スピンユニット50は、イジングモデルのスピンσ、相互作用係数Jj,i〜Jn,i及び外部磁場係数hを保持するために、複数の1ビットのメモリセルN,IS0,IS1,IU0,IU1,IL0,IL1,IR0,IR1,ID0,ID1,IF0,IF1を備えている。なお、メモリセルIS0及びIS1、メモリセルIU0及びIU1、メモリセルIL0及びIL1、メモリセルIR0及びIR1、メモリセルID0及びID1、並びに、メモリセルIF0及びIF1は、それぞれ2個1組で役割を果たすものであるため、適宜、これらをそれぞれまとめてメモリセル対ISx,IUx,ILx,IRx,IDx又はIFxと略記する(図5参照)。The spin unit 50 includes a plurality of 1-bit memory cells N, IS0, IS1, and IU0 in order to retain the Ising model spin σ i , interaction coefficients J j, i to J n, i, and external magnetic field coefficient h i. , IU1, IL0, IL1, IR0, IR1, ID0, ID1, IF0, and IF1. Note that the memory cells IS0 and IS1, the memory cells IU0 and IU1, the memory cells IL0 and IL1, the memory cells IR0 and IR1, the memory cells ID0 and ID1, and the memory cells IF0 and IF1 each play a role. Therefore, they are collectively abbreviated as memory cell pairs ISx, IUx, ILx, IRx, IDx or IFx as appropriate (see FIG. 5).

ここで、スピンユニット50はi番目のスピンを表現するものとして説明を行う。メモリセルNはスピンを表現するためのメモリセルであり、スピンの値を保持する。スピンの値はイジングモデルでは+1/−1(+1を上、−1を下とも表現する)であるが、これをメモリセルが保持可能な2値である0/1に対応させる。例えば、+1を1、−1を0に対応させる。   Here, the description will be made assuming that the spin unit 50 represents the i-th spin. The memory cell N is a memory cell for expressing spin, and holds a spin value. In the Ising model, the spin value is + 1 / −1 (+1 is also expressed as “up” and −1 is expressed as “bottom”), but this corresponds to 0/1, which is a binary value that the memory cell can hold. For example, +1 corresponds to 1 and −1 corresponds to 0.

図5を用いて、スピンユニット50が有するメモリセル対ISx,IUx,ILx,IRx,IDx及びIFxと、図4に示したイジングモデルのトポロジとの対応関係を示す。メモリセル対ISxは外部磁場係数を記憶する。また、メモリセル対IUx,ILx,IRx,IDx及びIFxは、それぞれ相互作用係数を記憶する。具体的に、メモリセル対IUxは上側のスピン(Y軸方向で−1)、メモリセル対ILxは左側のスピン(X軸方向で−1)、メモリセル対IRxは右側のスピン(X軸方向で+1)、メモリセル対IDxは下側のスピン(Y軸方向で+1)、メモリセル対IFxは奥行き方向に接続するスピン(Z軸方向で+1ないしは−1)との相互作用係数をそれぞれ記憶する。   The correspondence relationship between the memory cell pairs ISx, IUx, ILx, IRx, IDx, and IFx included in the spin unit 50 and the topology of the Ising model shown in FIG. 4 will be described with reference to FIG. The memory cell pair ISx stores an external magnetic field coefficient. The memory cell pairs IUx, ILx, IRx, IDx, and IFx each store an interaction coefficient. Specifically, the memory cell pair IUx is the upper spin (−1 in the Y-axis direction), the memory cell pair ILx is the left spin (−1 in the X-axis direction), and the memory cell pair IRx is the right spin (X-axis direction). +1), the memory cell pair IDx stores the lower side spin (+1 in the Y-axis direction), and the memory cell pair IFx stores the interaction coefficient with the spin connected in the depth direction (+1 or -1 in the Z-axis direction). To do.

また、イジングモデルを有向グラフとして捉えた場合に、あるスピンから見ると他のスピンが自スピンに及ぼす影響の係数を持つことになる。自スピンが他のスピンに与える影響の係数は、それぞれの他のスピンに属する。すなわち、このスピンユニット50は最大で5個のスピンと接続される。本実施の形態のイジングチップ24では、外部磁場係数及び相互作用係数として+1/0/−1の3値に対応する。そのため、外部磁場係数及び相互作用係数を表わすためには、それぞれ2ビットのメモリセルが必要となる。   In addition, when the Ising model is regarded as a directed graph, when viewed from a certain spin, it has a coefficient of the influence of other spins on the own spin. The coefficient of influence of the own spin on other spins belongs to each other spin. That is, the spin unit 50 is connected to a maximum of 5 spins. In the Ising chip 24 of the present embodiment, the external magnetic field coefficient and the interaction coefficient correspond to three values of + 1/0 / -1. Therefore, in order to represent the external magnetic field coefficient and the interaction coefficient, a 2-bit memory cell is required.

メモリセル対ISx,IUx,ILx,IRx,IDx及びIFxは、末尾の数字が0と1の2つのメモリセル(例えばメモリセル対ISxの場合にはメモリセルIS0及びIS1)の組合せで、+1/0/−1の3値を表現する。例えば、メモリセル対ISxの場合には、メモリセルIS1で+1/−1を表現し、メモリセルIS1が保持する値が1の時は+1、メモリセルIS1が保持する値が0の時には−1を表す。   The memory cell pairs ISx, IUx, ILx, IRx, IDx, and IFx are combinations of two memory cells with the last digits 0 and 1 (for example, memory cells IS0 and IS1 in the case of the memory cell pair ISx), + 1 / 3 values of 0 / -1 are expressed. For example, in the case of the memory cell pair ISx, + 1 / −1 is expressed by the memory cell IS1, +1 when the value held by the memory cell IS1 is 1, and −1 when the value held by the memory cell IS1 is 0. Represents.

これに加えて、メモリセルIS0が保持する値が0の時には外部磁場係数を0と見なし、メモリセルIS0が保持する値が1の時にはメモリセルIS1が保持する値で決まる+1/−1のいずれかを外部磁場係数とする。外部磁場係数が0の時は外部磁場係数をディセーブルしていると考えれば、メモリセルIS0に保持された値は外部磁場係数のイネーブルビットであると言うことができる(IS0=1の時に、外部磁場係数がイネーブルされる)。相互作用係数を記憶するメモリセル対IUx,ILx,IRx,IDx及びIFxも同様に係数とビットの値とを対応させている。   In addition to this, when the value held by the memory cell IS0 is 0, the external magnetic field coefficient is regarded as 0, and when the value held by the memory cell IS0 is 1, any of + 1 / −1 determined by the value held by the memory cell IS1. Is the external magnetic field coefficient. If it is considered that the external magnetic field coefficient is disabled when the external magnetic field coefficient is 0, it can be said that the value held in the memory cell IS0 is an enable bit of the external magnetic field coefficient (when IS0 = 1). External magnetic field coefficient is enabled). Similarly, the memory cell pair IUx, ILx, IRx, IDx, and IFx that store the interaction coefficient associates the coefficient with the bit value.

スピンユニット50内のメモリセルN,IS0,IS1,IU0,IU1,IL0,IL1,IR0,IR1,ID0,ID1,IF0及びIF1は、それぞれイジングチップ13の外部からリード/ライト可能でなければならない。そのために、図8に示すように、スピンユニット50はビット線51とワード線52とをそれぞれ有している。   The memory cells N, IS0, IS1, IU0, IU1, IL0, IL1, IR0, IR1, ID0, ID1, IF0, and IF1 in the spin unit 50 must be readable / writable from the outside of the Ising chip 13, respectively. Therefore, as shown in FIG. 8, the spin unit 50 has a bit line 51 and a word line 52, respectively.

そしてイジングチップ13では、図9に示すように、スピンユニット50が半導体基板上にタイル状に並べられてビット線51とワード線52とが接続されており、I/Oアドレスデコーダ31とI/Oドライバ32でこれらのスピンユニット50を駆動、制御又は読み出しすることにより、一般的なSRAM(Static Random Access Memory)と同様にスピンユニット50内のメモリセルをイジングチップ24のSRAM互換インタフェース(図3参照)でリード/ライトすることができるようになされている。   In the Ising chip 13, as shown in FIG. 9, the spin units 50 are tiled on the semiconductor substrate and the bit lines 51 and the word lines 52 are connected, and the I / O address decoder 31 and the I / O By driving, controlling, or reading these spin units 50 with the O driver 32, the memory cells in the spin unit 50 are connected to the SRAM compatible interface of the Ising chip 24 (FIG. 3) in the same manner as a general SRAM (Static Random Access Memory). Read / write).

なお図9上で表現されているスピンユニット50(NxyzというようにX軸、Y軸及びZ軸上の位置によって符号を付与している)が、3次元格子のトポロジでどの頂点に対応するかを図6に示す。3×3×2の3次元格子頂点を2次元平面上に配置するために、X軸方向の格子頂点配列の間隔にZ軸方向の格子頂点配列の各格子頂点を挿入するように配置している。すなわち、図9の2次元平面上でのY軸方向(図面下側がY軸の正方向)にはNx0z,Nx1z,Nx2zというように配置されるが、X軸方向(図面右側がX軸の正方向)にはN0y0,N0y1,N1y0,N1y1,N2y0,N2y1というように、Z軸方向座標が0と1のスピンユニット50が交互に配置される。   It should be noted that the spin unit 50 represented in FIG. 9 (which is given a sign by a position on the X, Y, and Z axes such as Nxyz) corresponds to which vertex in the topology of the three-dimensional lattice. Is shown in FIG. In order to arrange 3 × 3 × 2 3D lattice vertices on a 2D plane, it is arranged so that each lattice vertex of the lattice vertex array in the Z axis direction is inserted in the interval of the lattice vertex array in the X axis direction. Yes. In other words, Nx0z, Nx1z, and Nx2z are arranged in the Y-axis direction (the lower side in the drawing is the positive direction of the Y-axis) on the two-dimensional plane in FIG. In the direction), spin units 50 whose Z-axis direction coordinates are 0 and 1 are alternately arranged, such as N0y0, N0y1, N1y0, N1y1, N2y0, and N2y1.

またスピンユニット50は同時に更新を行うために、相互作用を計算して次のスピンの状態を決定するための回路を、スピンユニット50毎に独立して持っている。図7では、スピンユニット50は、外部とのインタフェースとして、信号線EN,NU,NL,NR,ND,NF,ON及びRNDを有する。信号線ENは、当該スピンユニット50のスピンの更新を許可する切替え信号を入力するインタフェースである。この切替え信号でセレクタ53を制御することで、メモリセルNに保持されたスピンの値を、後述の多数決論理回路54からOR回路55を介してセレクタ53に与えられる値に更新することができる。   In addition, the spin unit 50 has an independent circuit for calculating the interaction and determining the next spin state in order to perform the update at the same time. In FIG. 7, the spin unit 50 includes signal lines EN, NU, NL, NR, ND, NF, ON, and RND as interfaces with the outside. The signal line EN is an interface for inputting a switching signal permitting the spin update of the spin unit 50. By controlling the selector 53 with this switching signal, the spin value held in the memory cell N can be updated to a value given to the selector 53 from the majority logic circuit 54 described later via the OR circuit 55.

信号線ONは、当該スピンユニット50のスピンの値を他のスピンユニット50(図4のトポロジで隣接するユニット)に出力するインタフェースである。信号線NU,NL,NR,ND及びNFは、それぞれ他のスピンユニット50(図4のトポロジで隣接するユニット)が保持するスピンの値を入力するためのインタフェースである。信号線NUは上側のスピン(Y軸方向で−1)、信号線NLは左側のスピン(X軸方向で−1)、信号線NRは右側のスピン(X軸方向で+1)、信号線NDは下側のスピン(Y軸方向で+1)、信号線NFは奥行き方向に接続するスピン(Z軸方向で+1ないしは−1)からの入力である。   The signal line ON is an interface that outputs the spin value of the spin unit 50 to another spin unit 50 (unit adjacent in the topology of FIG. 4). The signal lines NU, NL, NR, ND, and NF are interfaces for inputting spin values held by other spin units 50 (adjacent units in the topology of FIG. 4). The signal line NU is the upper spin (-1 in the Y axis direction), the signal line NL is the left spin (-1 in the X axis direction), the signal line NR is the right spin (+1 in the X axis direction), and the signal line ND. Is input from the lower spin (+1 in the Y-axis direction), and the signal line NF is input from the spin (+1 or -1 in the Z-axis direction) connected in the depth direction.

スピンユニット50では隣接スピンとの間でエネルギーを最小化するようにスピンの次状態を決定するが、それは隣接スピンと相互作用係数の積、及び、外部磁場係数を見たときに、正の値と負の値のどちらが支配的か判断することと等価である。例えば、i番目スピンσに、スピンσ,σ,σ,σ及びσが隣接しているとして、スピンσの次状態は以下のように決まる。The spin unit 50 determines the next state of the spin so as to minimize the energy between the adjacent spins, which is a positive value when looking at the product of the adjacent spins and the interaction coefficient and the external magnetic field coefficient. Is equivalent to determining which is the dominant or negative value. For example, the i-th spin sigma i, as a spin σ j, σ k, σ l , the sigma m and sigma n are adjacent, next state of the spin sigma i is determined as follows.

まず、隣接スピンの値はσ=+1,σ=−1,σ=+1,σ=−1,σ=+1とし、相互作用係数はJj,i=+1,Jk,i=+1,Jl,i=+1,Jm,i=−1,Jn,i=−1、外部磁場係数h=+1とする。このとき、相互作用係数と隣接スピンの積、及び、外部磁場係数をそれぞれ並べると、σ×Jj,i=+1,σ×Jk,i=−1,σ×Jl,i=+1,σ×Jm,i=+1,σ×Jn,i=−1,h=+1となる。外部磁場係数は、常に値が+1のスピンとの相互作用係数と読み替えて良い。First, adjacent spin values are σ j = + 1, σ k = −1, σ l = + 1, σ m = −1, σ n = + 1, and interaction coefficients are J j, i = + 1, J k, i = + 1, J l, i = + 1, J m, i = -1, J n, i = -1, the external magnetic field coefficient h i = + 1. At this time, when the product of the interaction coefficient and the adjacent spin and the external magnetic field coefficient are arranged, σ j × J j, i = + 1, σ k × J k, i = −1, σ l × J l, i = + 1, σ m × J m, i = + 1, σ n × J n, i = -1, h i = + 1. The external magnetic field coefficient may always be read as an interaction coefficient with a spin having a value of +1.

ここで、i番目のスピンと隣接スピンとの間での局所的なエネルギーは、前述した係数にそれぞれi番目スピンの値を乗じて、さらに符号を反転させたものになる。例えば、j番目スピンとの間での局所的なエネルギーは、i番目スピンを+1とした時には−1、i番目スピンを−1としたときには+1となるので、i番目スピンを+1にするほうが、ここでの局所的なエネルギーを小さくする方向に働く。   Here, the local energy between the i-th spin and the adjacent spin is obtained by multiplying the above-described coefficient by the value of the i-th spin and further inverting the sign. For example, the local energy with respect to the j-th spin is −1 when the i-th spin is +1, and +1 when the i-th spin is −1. It works in the direction to reduce the local energy here.

このような局所的なエネルギーを全ての隣接スピン間と外部磁場係数について考えたときに、i番目スピンを+1/−1のどちらにしたほうがエネルギーを小さくできるかを計算する。これは、先程示した相互作用係数及び隣接スピンの積と、外部磁場係数とをそれぞれ並べたものにおいて、+1と−1のどちらが多いか数えれば良い。先程の例では、+1が4個、−1が2個である。仮に、i番目スピンを+1とすると、エネルギーの総和は−2、i番目スピンを−1とするとエネルギーの総和は+2になる。よって、+1の個数が多い時にはi番目スピンの次状態を+1とし、−1の個数が多い時にはi番目スピンの次状態を−1にするという多数決で、エネルギーを最小化するi番目スピンの次状態を決定することができる。   When such local energy is considered between all adjacent spins and the external magnetic field coefficient, it is calculated which energy can be reduced by setting the i-th spin to + 1 / −1. This can be done by counting which of +1 and -1 is greater in the product of the interaction coefficient and adjacent spin shown above and the external magnetic field coefficient. In the previous example, +1 is four and -1 is two. If the i-th spin is +1, the energy sum is -2, and if the i-th spin is -1, the energy sum is +2. Therefore, when the number of +1 is large, the next state of the i-th spin is set to +1, and when the number of −1 is large, the next state of the i-th spin is set to −1. The state can be determined.

図7に示した論理回路56は、上述の相互作用を行うための回路である。まず、隣接スピンの状態と、相互作用係数の+1/−1を示すメモリセルIU1,IL1,IR1,ID1,IF1が保持する値との排他的論理和の否定(XNOR)をXNOR回路57で求める。これにより、その相互作用だけを見た時にエネルギーを最小化するスピンの次状態を計算することができる(+1は1、−1は0にエンコードされているものとする)。   The logic circuit 56 shown in FIG. 7 is a circuit for performing the above-described interaction. First, the XNOR circuit 57 obtains the exclusive OR (XNOR) of the state of the adjacent spin and the value held by the memory cells IU1, IL1, IR1, ID1, and IF1 indicating the interaction coefficient + 1 / −1. . This makes it possible to calculate the next state of the spin that minimizes the energy when only the interaction is seen (assuming that +1 is encoded as 1 and -1 is encoded as 0).

もし、相互作用係数が+1/−1だけであれば、XNOR回路57の出力のうち+1/−1のどちらが多いかを多数決論理回路54において多数決論理で判定すればスピンの次状態を決定することができる。外部磁場係数に関しては、常に状態+1のスピンとの相互作用係数に相当するものと考えれば、単に外部磁場係数の値がスピンの次状態を決定する多数決論理回路54に入力すべき値となる。   If the interaction coefficient is only + 1 / −1, the next state of the spin can be determined by determining by the majority logic the majority logic circuit 54 which of the outputs of the XNOR circuit 57 is + 1 / −1. Can do. Assuming that the external magnetic field coefficient always corresponds to the interaction coefficient with the spin of state +1, the value of the external magnetic field coefficient is simply a value to be input to the majority logic circuit 54 that determines the next state of the spin.

次に、係数0の実現方法について考える。n入力の多数決論理f(I1,I2,I3,……,In)があるとき、以下の命題は真であると言える。まず、入力I1,I2,I3,……,Inの複製I’1,I’2,I’3,……,I’nがあるとする(任意のkについて、Ik=I’kである)。このとき、f(I1,I2,I3,……,In)の出力は、複製もあわせて入力したf(I1,I2,I3,……,In,I’1,I’2,I’3,……,I’n)と等しい。つまり、各入力変数をそれぞれ2個ずつ入れても、出力は不変である。さらに、入力I1,I2,I3,……,Inの他に、もう一つの入力Ixと、その反転!Ixがあるとする。このとき、f(I1,I2,I3,……,In,Ix,!Ix)の出力は、f(I1,I2,I3,……,In)と等しい。つまり、入力変数とその反転を入力すると、多数決においてその入力変数の影響をキャンセルするように働く。多数決論理のこの性質を利用して係数0を実現する。   Next, a method for realizing the coefficient 0 will be considered. When there is an n-input majority logic f (I1, I2, I3,..., In), the following proposition can be said to be true. First, assume that there are duplicates I′1, I′2, I′3,..., I′n of inputs I1, I2, I3,..., (Ik = I′k for an arbitrary k. ). At this time, the output of f (I1, I2, I3,..., In) is the same as the input of f (I1, I2, I3,..., In, I′1, I′2, I′3. , ..., I'n). In other words, even if two input variables are entered, the output remains unchanged. In addition to the inputs I1, I2, I3,..., In, another input Ix and its inverse! Suppose Ix exists. At this time, the output of f (I1, I2, I3,..., In, Ix,! Ix) is equal to f (I1, I2, I3,..., In). In other words, when an input variable and its inversion are input, it works to cancel the influence of the input variable in the majority vote. The coefficient 0 is realized by utilizing this property of the majority logic.

具体的には、図7に示すように、XOR回路58を利用して、係数のイネーブルを決めるビット(ビットセルIS0,IU0,IL0,IR0,ID0及びIF0にそれぞれ保持されたビット)の値により、多数決論理回路54に、先に述べたスピン次状態の候補となる値の複製か、その反転を同時に入力する。例えば、メモリセルIS0が保持するビットの値が0の場合、メモリセルIS1が保持するビットの値と、メモリセルIS1が保持するビットの値を反転させた値が同時に多数決論理回路54に入力されるので、外部磁場係数の影響は無い(外部磁場係数が0に相当する)ことになる。また、メモリセルIS0が保持するビットの値が1の場合には、メモリセルIS1が保持するビットの値と、その値と同じ値(複製)が同時に多数決論理回路54に入力されることになる。   Specifically, as shown in FIG. 7, by using the XOR circuit 58, the value of the bit (bits held in the bit cells IS0, IU0, IL0, IR0, ID0, and IF0, respectively) that determines the enablement of the coefficient, The majority logic circuit 54 is simultaneously inputted with a copy of a value to be a candidate for the next spin state described above or its inversion. For example, when the bit value held by the memory cell IS0 is 0, the bit value held by the memory cell IS1 and the inverted value of the bit value held by the memory cell IS1 are simultaneously input to the majority logic circuit 54. Therefore, there is no influence of the external magnetic field coefficient (the external magnetic field coefficient corresponds to 0). When the value of the bit held by the memory cell IS0 is 1, the value of the bit held by the memory cell IS1 and the same value (duplicate) as that value are simultaneously input to the majority logic circuit 54. .

上述したスピン間の相互作用によるエネルギー最小化で、適用されたイジングモデルの基底状態探索を実現することができるが、これだけでは局所解に陥ってしまう可能性がある。基本的に、エネルギーを小さくする方向の動きしかないため、一旦局所解に陥るとそこから抜け出すことができず、大域最適解に到達しない。   Although the ground state search of the applied Ising model can be realized by the energy minimization due to the interaction between the spins described above, there is a possibility of falling into a local solution only by this. Basically, there is only movement in the direction of decreasing energy, so once it falls into a local solution, it cannot get out of it and does not reach the global optimal solution.

そこで本実施の形態においては、局所解から脱出するための手法として、スピンを表現するメモリセルNの値を確率的に反転されるために、スピンユニット50はインタフェースとしてRND線59を有する。そしてスピンユニット50には、乱数発生器23(図2)から乱数注入線42(図3)を介してスピンアレイ30(図3)に与えられた乱数パルスがこのRND線59を介して与えられ、この乱数パルスがOR回路55に入力することで、スピンの値が確率的に反転される。   Therefore, in the present embodiment, as a method for escaping from the local solution, the spin unit 50 has the RND line 59 as an interface in order to probabilistically invert the value of the memory cell N expressing the spin. The spin unit 50 is supplied with the random number pulse supplied from the random number generator 23 (FIG. 2) to the spin array 30 (FIG. 3) via the random number injection line 42 (FIG. 3) via the RND line 59. When this random number pulse is input to the OR circuit 55, the spin value is probabilistically inverted.

(1−3)イジングモデル検証機能
次に、本情報処理装置1に搭載されたイジングモデル検証機能について説明する。これに際し、まず、問題をイジングモデルに変換する際に生成される制約条件について説明する。
(1-3) Ising Model Verification Function Next, the Ising model verification function installed in the information processing apparatus 1 will be described. In this case, first, the constraint conditions generated when the problem is converted into an Ising model will be described.

図10は、問題変換プログラム8(図1)による問題変換の一例を示す。この例は、巡回セールスマン問題をイジングモデルに変換する場合を示している。巡回セールスマン問題は、都市の接続関係を表すグラフ60と、各都市間の距離とが入力として与えられる。これをイジングモデルに変換するには、N個の都市数に対してN個のスピンにマッピングする。FIG. 10 shows an example of problem conversion by the problem conversion program 8 (FIG. 1). In this example, the traveling salesman problem is converted into an Ising model. In the traveling salesman problem, a graph 60 representing a connection relation between cities and a distance between the cities are given as inputs. In order to convert this into an Ising model, N number of cities are mapped to N 2 spins.

かかるマッピング後のイジングモデル61において、列方向に並ぶN個のスピンは訪問する都市に対応し、+1の値をとるスピンの位置で訪問する都市を表す。例えば、ある列の上から2番目のスピンが+1でそれ以外のスピンが全て−1ならば、この列では2番目の都市に訪問することを意味する。   In the Ising model 61 after mapping, N spins arranged in the column direction correspond to the visited city, and represent the visited city at the position of the spin having a value of +1. For example, if the second spin from the top of a column is +1 and all other spins are -1, this means that the second city is visited in this column.

またイジングモデル61において、行方向に並ぶN個のスピンは都市の訪問順に対応し、+1の値をとるスピンの位置で、その都市が何番目に訪問されるかを表す。例えば、ある行の3列目のスピンが+1でそれ以外のスピンが全て−1ならば、この行では3番目の都市が訪問されたことを意味する。   In the Ising model 61, the N spins arranged in the row direction correspond to the order of city visits, and indicate the number of the city visited at the position of the spin having a value of +1. For example, if the spin in the third column of a row is +1 and all other spins are -1, it means that the third city has been visited in this row.

このようなマッピングを行うことで、変換後のイジングモデルの基底状態を求めれば、元の巡回セールスマン問題に対応する解が得られる。ここで、変換後のイジングモデル61に着目すると、1行につき+1の値を取るスピンは1つだけであり、1列につき+1の値を取るスピンは1つだけ、という制約条件が存在する。   By performing such mapping, if the ground state of the Ising model after conversion is obtained, a solution corresponding to the original traveling salesman problem can be obtained. Here, focusing on the Ising model 61 after conversion, there is a constraint that only one spin takes a value of +1 per row and only one spin takes a value of +1 per column.

また図11は、問題変換プログラム8による別の問題変換の例を示す。この例は、複雑な接続関係をもつイジングモデル62から、より単純な格子状の接続関係をもつイジングモデル63への変換を行う例である。   FIG. 11 shows another example of problem conversion by the problem conversion program 8. In this example, the Ising model 62 having a complicated connection relationship is converted to the Ising model 63 having a simpler lattice-like connection relationship.

イジングチップ24(図2)において表現可能なイジングモデルは、ハードウェアによる実装を容易にするため、格子状などの比較的単純な形状をもつイジングモデルに限られる場合がある。そのような場合に、図11で示したようなイジングモデルの形状の変換を行う。この変換においては、イジングモデル62における1つのスピン(図11においてa,b,c,dと表記)を変換後のイジングモデル63においては複数のスピンで表現する。図11では、変換前後で対応するスピンを同じアルファベットで表している。   The Ising model that can be expressed in the Ising chip 24 (FIG. 2) may be limited to an Ising model having a relatively simple shape such as a lattice shape in order to facilitate mounting by hardware. In such a case, the shape of the Ising model as shown in FIG. 11 is converted. In this conversion, one spin in the Ising model 62 (denoted as a, b, c, and d in FIG. 11) is expressed by a plurality of spins in the converted Ising model 63. In FIG. 11, the corresponding spins before and after conversion are represented by the same alphabet.

この変換において、イジングモデル63内の同一のアルファベットで表されたスピンは、元のイジングモデル62では単一のスピンであったため、全て同じ値を取る必要がある。従って、この例でもイジングモデル63において、特定のスピンのグループ(以下、これをスピングループと呼ぶ)が全て同じ値をとらなければならないという制約条件が存在する。   In this conversion, the spins represented by the same alphabet in the Ising model 63 are single spins in the original Ising model 62, and therefore all must have the same value. Therefore, in this example as well, there is a constraint that all the specific spin groups (hereinafter referred to as “spin groups”) must have the same value in the Ising model 63.

このように問題をイジングモデルに変換した場合、そのイジングモデルの基底状態について何らかの制約条件が存在することがある。そこで、本情報処理装置1には、解くべき問題から変換されたイジングモデルの基底状態探索時における当該イジングモデルのスピンの値(スピン値)を観測し、これらのスピンの値が制約条件を満たしているか否かに基づいて、問題変換プログラム8による問題からイジングモデルへの変換に誤りがないか否か(変換後のイジングモデルが元の問題の性質を正しく反映しているか否か)を検証し、検証結果をユーザに提示するイジングモデル検証機能が搭載されている。   When the problem is converted into an Ising model in this way, there may be some constraints on the ground state of the Ising model. Therefore, the information processing apparatus 1 observes spin values (spin values) of the Ising model when searching the ground state of the Ising model converted from the problem to be solved, and these spin values satisfy the constraint condition. Whether or not there is no error in the conversion from the problem to the Ising model by the problem conversion program 8 (whether the converted Ising model correctly reflects the nature of the original problem) In addition, the Ising model verification function for presenting the verification result to the user is installed.

このようなイジングモデル検証機能を実現するための手段として、図12に示すように、イジングチップ24に搭載されたスピンアレイ30を構成するスピンユニット50のうちの一部には、そのスピンユニット50が保持するスピンの値(スピン値)を観測する第1のスピン値観測部70が設けられている。   As a means for realizing such an Ising model verification function, as shown in FIG. 12, a part of the spin units 50 constituting the spin array 30 mounted on the Ising chip 24 includes the spin unit 50. Is provided with a first spin value observation unit 70 for observing the spin value (spin value) held by.

実際上、第1のスピン値観測部70は、図13に示すように、インターバル保持部71、書込み先保持部72、長さ保持部73、書込みカウンタ74及び処理部75を備えて構成される。処理部75は、CPU及びメモリを含んでなるマイクロコンピュータ構成を有し、その第1のスピン値観測部70が設けられたスピンユニット50のメモリセルN(図7)からそのときメモリセルNが保持するスピンのスピン値を読み出し、読み出したスピン値をチップメモリ35に書き込む機能を有する。   In practice, the first spin value observation unit 70 includes an interval holding unit 71, a write destination holding unit 72, a length holding unit 73, a write counter 74, and a processing unit 75, as shown in FIG. . The processing unit 75 has a microcomputer configuration including a CPU and a memory. From the memory cell N (FIG. 7) of the spin unit 50 in which the first spin value observation unit 70 is provided, the memory cell N is then changed. It has a function of reading the spin value of the spin to be held and writing the read spin value into the chip memory 35.

またインターバル保持部71、書込み先保持部72及び長さ保持部73は、情報処理装置1のCPU3(図1)の制御のもとにイジングチップ24のコントローラ34(図3)によりその第1のスピン値観測部70に設定されたインターバル、書込み先又は長さといったスピン値の観測条件をそれぞれ保持する機能を有する機能部である。   The interval holding unit 71, the write destination holding unit 72, and the length holding unit 73 are first controlled by the controller 34 (FIG. 3) of the Ising chip 24 under the control of the CPU 3 (FIG. 1) of the information processing apparatus 1. This is a functional unit having a function of holding observation conditions for spin values such as an interval, a write destination, or a length set in the spin value observation unit 70.

ここで「インターバル」は、処理部75が対応するスピンユニット50のメモリセルNからスピン値を読み出す間隔を表す。例えば、インターバルの値が「0」の場合、処理部75は、相互作用クロックの1クロックごとにスピン値を読み出し、インターバルの値が「4」の場合、処理部75は、スピン値を読み出してから4クロック待って次のスピン値を読み出す(つまり5クロックに1度の割合でスピン値を読み出す)。   Here, “interval” represents an interval at which the processing unit 75 reads the spin value from the memory cell N of the corresponding spin unit 50. For example, when the interval value is “0”, the processing unit 75 reads the spin value every clock of the interaction clock, and when the interval value is “4”, the processing unit 75 reads the spin value. The next spin value is read after waiting for 4 clocks (that is, the spin value is read once every 5 clocks).

また「書込み先」は、処理部75が対応するスピンユニット50のメモリセルNから読み出したスピン値の書込み先を表す。すなわち本実施の形態の場合、各第1のスピン値観測部70に対して、スピンセルNから読み出したスピン値を書き込むための領域として、チップメモリ35内の所定大きさの記憶領域(スピン値を数〜数十程度書き込める程度の記憶領域)ARが割り当てられるが、「書込み先」は、その記憶領域ARの先頭アドレスを表す。   “Write destination” represents the write destination of the spin value read from the memory cell N of the spin unit 50 to which the processing unit 75 corresponds. That is, in the case of the present embodiment, as a region for writing the spin value read from the spin cell N to each first spin value observation unit 70, a storage region (spin value of a predetermined size) in the chip memory 35. A storage area AR that can be written to several to several tens) is allocated, and “write destination” represents the head address of the storage area AR.

さらに記憶領域ARは1つのスピン値を格納するための複数の小領域SARに区分して管理されるが、「長さ」は、その第1のスピン値観測部70に割り当てられた記憶領域ARを構成する小領域SARの数を表す。   Furthermore, the storage area AR is managed by being divided into a plurality of small areas SAR for storing one spin value, and the “length” is the storage area AR assigned to the first spin value observation unit 70. Represents the number of the small areas SAR that constitute.

書込みカウンタ74は、その第1のスピン値観測部70に対応付けられたかかる記憶領域ARのうちの処理部75がスピン値を書き込むべき小領域SARの先頭からのオフセット数をカウントするために利用される。処理部75は、スピン値をチップメモリ35内の自己に割り当てられた記憶領域ARに書き込む際、当該記憶領域AR内の書込みカウンタ74のカウンタ値に対応する小領域SARにそのスピン値を書き込み、その後、書込みカウンタ74のカウンタ値をインクリメントする。そして処理部75は、書込みカウンタ74のカウンタ値が上述の「長さ」を超えた場合にはカウント値を「0」にリセットする。これにより、第1のスピン値観測部70に割り当てられた記憶領域ARの各小領域SAR内にスピン値が上書きされながら循環的に順次格納されていくことになる。   The write counter 74 is used by the processing unit 75 in the storage area AR associated with the first spin value observation unit 70 to count the number of offsets from the beginning of the small area SAR to which the spin value is to be written. Is done. When the processing unit 75 writes the spin value in the storage area AR assigned to itself in the chip memory 35, the processing unit 75 writes the spin value in the small area SAR corresponding to the counter value of the write counter 74 in the storage area AR. Thereafter, the counter value of the write counter 74 is incremented. The processing unit 75 resets the count value to “0” when the counter value of the write counter 74 exceeds the “length” described above. As a result, spin values are sequentially and cyclically stored while being overwritten in each small area SAR of the storage area AR assigned to the first spin value observation unit 70.

このように本実施の形態においては、第1のスピン値観測部70によるスピン値の観測は、単に対応するスピンユニット50のメモリセルNに格納されたスピン値を読み出すことにより行われる。このとき、第1のスピン値観測部70が設けられたスピンユニット50のスピン値を保持するメモリセルNの構成として、相互作用動作と同時にスピン値を読み出すことができるよう、一般的に用いられるマルチポートSRAMの構成を適用することができる。   Thus, in the present embodiment, the spin value observation by the first spin value observation unit 70 is performed by simply reading the spin value stored in the memory cell N of the corresponding spin unit 50. At this time, the configuration of the memory cell N that holds the spin value of the spin unit 50 provided with the first spin value observation unit 70 is generally used so that the spin value can be read simultaneously with the interaction operation. A multi-port SRAM configuration can be applied.

図14〜図16は、イジングチップ24のチップメモリ35(図3)に保持される第1の観測結果43(図14)、第1の処理情報44(図15)、及び第1の処理結果45(図16)をそれぞれ示す。   14 to 16 show the first observation result 43 (FIG. 14), the first processing information 44 (FIG. 15), and the first processing result held in the chip memory 35 (FIG. 3) of the Ising chip 24. 45 (FIG. 16) respectively.

第1の観測結果43は、図12について上述したようにイジングチップ24のスピンアレイ30の一部のスピンユニット50に設けられた各第1のスピン値観測部70によりチップメモリ35にそれぞれ書き込まれた対応する各スピンの値の観測結果であり、図14に示すように、観測結果(図14の1行)ごとに時刻43A、スピンID43B及び値(スピン値)43Cの各情報をそれぞれ含む。   The first observation result 43 is written in the chip memory 35 by each first spin value observation unit 70 provided in a part of the spin units 50 of the spin array 30 of the Ising chip 24 as described above with reference to FIG. FIG. 14 shows the observation results of the corresponding spin values, and each information of time 43A, spin ID 43B and value (spin value) 43C is included for each observation result (one line in FIG. 14).

このうち時刻43Aは、観測を行った時刻(ここでは、計算開始から経過した相互作用クロックのクロック数)を表し、スピンID43Bは、観測対象のスピンに付与されたスピンIDを表す。また値43Cは、対応するスピンのそのときのスピン値を表す。   Of these, time 43A represents the time of observation (here, the number of interaction clocks elapsed since the start of calculation), and spin ID 43B represents the spin ID assigned to the spin to be observed. The value 43C represents the current spin value of the corresponding spin.

従って、図14の例の場合、例えば、時刻「100」におけるスピンIDが「1」、「3」、「5」及び「6」の各スピンのスピン値が「+1」であり、同時刻におけるスピンIDが「2」及び「4」の各スピンのスピン値が「−1」であったことが示されている。   Accordingly, in the example of FIG. 14, for example, the spin values of the spin IDs “1”, “3”, “5”, and “6” at time “100” are “+1”, and It is indicated that the spin value of each spin with the spin ID “2” and “4” was “−1”.

第1の処理情報44は、上述の制約条件に基づく判定処理の内容を表す情報である。情報処理装置1のCPU3(図1)は、問題データ7(図1)をイジングモデルに変換する際に得られたそのイジングモデルに関する制約条件に基づいて、そのイジングモデルの対応するスピンの値がその制約条件を満たすか否かを判定するための判定処理を生成する。そしてCPU3は、そのイジングモデルをイジングチップモジュール6のイジングチップ24にマッピングする際に、生成した判定処理の内容を第1の処理情報44として、そのイジングチップモジュール6内のモジュールコントローラ21(図2)に送信する。かくしてモジュールコントローラ21は、この第1の処理情報44をチップメモリ35(図3)に格納して管理する。   The first processing information 44 is information representing the contents of the determination processing based on the above-described constraint conditions. The CPU 3 (FIG. 1) of the information processing apparatus 1 determines the spin value corresponding to the Ising model based on the constraint condition regarding the Ising model obtained when the problem data 7 (FIG. 1) is converted into the Ising model. A determination process for determining whether or not the constraint condition is satisfied is generated. When the CPU 3 maps the Ising model to the Ising chip 24 of the Ising chip module 6, the content of the generated determination processing is used as the first processing information 44, and the module controller 21 in the Ising chip module 6 (FIG. 2). ). Thus, the module controller 21 stores and manages the first processing information 44 in the chip memory 35 (FIG. 3).

第1の処理情報44は、図15に示すように、処理ID44A、処理種別44B、条件44C及び対象スピン44Dの各情報を含む。処理ID44Aは、かかる制約条件に基づき生成された各判定処理にそれぞれ付与された識別子を表し、処理種別44Bは、対応する判定処理の処理内容を表す。また条件44Cは、対応する判定処理における判定条件の内容を表し、対象スピン44Dは、その判定処理の対象とすべきスピン(以下、これを対象スピンと呼ぶ)のスピンID(イジングチップ24にマッピングされたイジングモデルにおける対象スピンのスピンID)を表す。   As shown in FIG. 15, the first process information 44 includes information on a process ID 44A, a process type 44B, a condition 44C, and a target spin 44D. The process ID 44A represents an identifier assigned to each determination process generated based on the constraint condition, and the process type 44B represents the process content of the corresponding determination process. The condition 44C represents the content of the determination condition in the corresponding determination process, and the target spin 44D is the spin ID (hereinafter referred to as the target spin) that is to be the target of the determination process (mapped to the Ising chip 24). Represents the spin ID of the target spin in the Ising model.

従って、図15の例の場合、例えば、処理IDが「1」の判定処理は、イジングモデルにおける「1,3,5,……」というスピンIDの各スピンから構成されるスピングループ内のこれらスピンの値が「すべて同値」であるか否かの「条件判定」であることが示されている。   Therefore, in the case of the example of FIG. 15, for example, the determination process with the process ID “1” is performed in these spin groups configured by the spins with the spin ID “1, 3, 5,. It is shown that it is a “condition determination” as to whether or not the spin values are “all equal”.

第1の処理結果45は、第1の処理情報44に基づきイジングチップ24のコントローラ34(図3)が実行した各判定処理の処理結果を表す。コントローラ34は、情報処理装置1のCPU3から通知されたインターバルの経過後、チップメモリ35(図3)に蓄積されている第1の観測結果43に対して第1の処理情報44で規定された各判定処理を実行する。図15の例では、「対象スピン」として指定された各スピンの値がすべて同値であるか否かを判定することがコントローラ34の処理内容となる。従って、この場合、コントローラ34は、同じ時刻に観測された対象とする各スピンの値を第1の観測結果43からそれぞれ読み出し、読み出した各スピンの値がすべて同じであるか否かを判定し、その判定結果をチップメモリ35に第1の処理結果45として格納する。   The first processing result 45 represents the processing result of each determination process executed by the controller 34 (FIG. 3) of the Ising chip 24 based on the first processing information 44. The controller 34 is defined by the first processing information 44 for the first observation result 43 stored in the chip memory 35 (FIG. 3) after the interval notified from the CPU 3 of the information processing apparatus 1 has elapsed. Each determination process is executed. In the example of FIG. 15, the processing content of the controller 34 is to determine whether or not the values of the spins designated as “target spins” are all the same value. Accordingly, in this case, the controller 34 reads out the values of each target spin observed at the same time from the first observation result 43, and determines whether or not all the values of each read spin are the same. The determination result is stored in the chip memory 35 as the first processing result 45.

第1の処理結果45は、図16に示すように、処理ID45A、判定処理の対象となった時刻45B及びその判定処理の結果45Cの情報を含む。第1の処理情報44が図15の例の場合、対象とする各スピンの値がすべて同値であったときには「1」、そうでないときには「0」がその判定処理の結果45Cとしてチップメモリ35に格納される。   As shown in FIG. 16, the first process result 45 includes information of a process ID 45A, a time 45B subjected to the determination process, and a result 45C of the determination process. When the first processing information 44 is the example of FIG. 15, “1” is stored in the chip memory 35 as a result 45 C of the determination processing when the values of all the target spins are the same, and “0” otherwise. Stored.

従って、図16の例の場合、例えば、時刻「100」に収集した対応するスピンの値に基づいて実行した処理IDが「1」の判定処理(図15を参照)の結果は「1」であり(つまり対象とする各スピンの時刻「100」における値がすべて同値であった)、時刻「100」に収集した対応するスピンの値に基づいて実行した処理IDが「2」の判定処理の結果は「0」であった(つまり対象とする各スピンの時刻「100」における値がすべて同値でなかった)ことが示されている。   Therefore, in the example of FIG. 16, for example, the result of the determination process (see FIG. 15) with the process ID “1” executed based on the value of the corresponding spin collected at time “100” is “1”. Yes (that is, all values at the time “100” of each target spin are the same value), and the process ID executed based on the value of the corresponding spin collected at the time “100” is “2” It is shown that the result was “0” (that is, all values at the time “100” of each target spin were not the same value).

図17(A)及び(B)は、図15の処理IDが「1」及び「2」の2つの判定処理の処理結果を時系列にプロットした例を示す。図16では、これら2つの判定処理について、時刻「100」のときの結果しか例示していないが、横軸に時刻をとり、縦軸に結果をとって処理IDが「1」及び「2」の2つの判定処理の結果を時系列にプロットした場合、この図17(A)及び(B)に示すようなグラフが得られる。なお図17(A)は、図15及び図16における処理IDが「1」の判定処理に対応し、図17(B)は、図15及び図16における処理IDが「2」の判定処理に対応している。   FIGS. 17A and 17B show examples in which the processing results of the two determination processes with the process IDs “1” and “2” in FIG. 15 are plotted in time series. In FIG. 16, only the results at the time “100” are illustrated for these two determination processes, but the process IDs are “1” and “2” with the time on the horizontal axis and the results on the vertical axis. When the results of the two determination processes are plotted in time series, graphs as shown in FIGS. 17A and 17B are obtained. 17A corresponds to the determination process with the process ID “1” in FIGS. 15 and 16, and FIG. 17B corresponds to the determination process with the process ID “2” in FIGS. 15 and 16. It corresponds.

本実施の形態の場合、情報処理装置1のCPU3(図3)は、イジングチップ24のチップメモリ35に格納された第1の処理結果45を基底状態探索の実行中に定期的に収集して観測結果13(図1)としてメモリ4(図1)に格納し、これらの観測結果13に基づいてイジングモデルに誤りがないか否かの検証を行う。例えば、CPU3は、収集した観測結果13に基づいて、図15の判定処理ごとに、一定期間内にイジングモデルの対応するスピンの値が制約条件に基づく制約を満たしている確率を時系列に沿って順次算出する。またCPU3は、一定期間内で処理結果が「1」となる確率の移動平均を算出し、この算出結果に基づいてイジングモデルに誤りがないか否かを検証する。   In the case of the present embodiment, the CPU 3 (FIG. 3) of the information processing apparatus 1 periodically collects the first processing result 45 stored in the chip memory 35 of the Ising chip 24 during the execution of the ground state search. The observation result 13 (FIG. 1) is stored in the memory 4 (FIG. 1), and based on these observation results 13, whether or not there is an error in the Ising model is verified. For example, based on the collected observation results 13, the CPU 3 sets the probability that the spin value corresponding to the Ising model satisfies the constraint based on the constraint condition within a certain period of time according to the determination process of FIG. To calculate sequentially. Further, the CPU 3 calculates the moving average of the probability that the processing result is “1” within a certain period, and verifies whether there is no error in the Ising model based on the calculation result.

ここで、イジングチップ24を用いたイジングモデルの基底状態探索においては、計算開始直後にはスピンの値を頻繁に反転させる(図2の乱数発生器23が発生する乱数パルスの発生頻度を高くする)ことで局所解からの脱出を促し、その後、時間が経過するにつれてスピンの値を反転させる確率を下げる(図2の乱数発生器23が発生する乱数パルスの発生頻度を低減させる)ことで基底状態に向かい易くする。このため計算開始直後にはスピンの値がランダムに反転してしまうため、イジングモデルのスピンの値が制約条件を満たさない可能性が高い。   Here, in the ground state search of the Ising model using the Ising chip 24, the spin value is frequently inverted immediately after the calculation is started (the generation frequency of the random number pulse generated by the random number generator 23 in FIG. 2 is increased). ) To prompt the escape from the local solution, and then lower the probability of inverting the spin value over time (reducing the frequency of random number pulses generated by the random number generator 23 of FIG. 2). Make it easier to get to the state. For this reason, since the spin value is inverted at random immediately after the start of calculation, there is a high possibility that the spin value of the Ising model does not satisfy the constraint condition.

一方、問題を変換することにより得られたイジングモデルが正常状態にある場合には、計算終了に近い時点ではそのイジングモデルの各スピンの値が制約条件を満たしている確率が高まっていくことが期待される。この場合、情報処理装置1のCPU3により算出される上述の移動平均は、図18(A)に示すように単調に増加し、最終的に1に収束する。   On the other hand, if the Ising model obtained by transforming the problem is in a normal state, the probability that each spin value of the Ising model satisfies the constraint condition will increase at the time close to the end of the calculation. Be expected. In this case, the above-mentioned moving average calculated by the CPU 3 of the information processing apparatus 1 monotonously increases and finally converges to 1 as shown in FIG.

これに対して、図18(B)に示すように、かかる移動平均が十分高くならない、又は、時間経過に伴って増加しない場合には、イジングモデルが正しく元の問題の性質を反映していないと考えることができる。   On the other hand, as shown in FIG. 18B, if the moving average is not sufficiently high or does not increase with time, the Ising model does not correctly reflect the nature of the original problem. Can be considered.

そこで、CPU3は、イジングチップ24によるイジングモデルの基底状態探索中に、上述の判定処理(図15において処理IDが付与された判定処理)ごとに、処理結果が「1」となる確率の移動平均を順次算出する。そしてCPU3は、かかる移動平均の値が予め「1」近くに設定された所定の第1の閾値SHを最終的に上回った判定処理については、イジングモデルにおける対応するスピングループが制約条件を満たしていると判断し、かかる移動平均の値が第1の閾値SHを最終的に上回らなかった判定処理については、イジングモデルにおける対応するスピングループが制約条件を満たしていないと判断して、これらの判断結果をそのイジングモデルの検証結果として図示しない表示装置に表示させる。   Therefore, during the ground state search of the Ising model by the Ising chip 24, the CPU 3 performs a moving average of the probability that the processing result is “1” for each of the above-described determination processing (the determination processing given the processing ID in FIG. 15). Are calculated sequentially. Then, the CPU 3 determines that the moving average value finally exceeds the predetermined first threshold value SH set in advance near “1”, the corresponding spin group in the Ising model satisfies the constraint condition. With respect to the determination process in which the moving average value does not finally exceed the first threshold value SH, it is determined that the corresponding spin group in the Ising model does not satisfy the constraint condition, and these determinations are made. The result is displayed as a verification result of the Ising model on a display device (not shown).

具体的に、CPU3は、制約条件を満たすスピングループを構成するスピンについては「○」、制約条件を満たさないスピングループを構成するスピンについては「×」をそれぞれ対応付けた図19に示すような表を検証結果として表示装置に表示させる。かくしてユーザは、表示装置に表示された検証結果に基づいて、そのときイジングチップ24にマッピングされているイジングモデルが元の問題の性質を正しく反映しているか否かを判断することができる。   Specifically, the CPU 3 associates “◯” with respect to the spins constituting the spin group satisfying the constraint condition and “x” with respect to the spins constituting the spin group not satisfying the constraint condition as shown in FIG. The table is displayed on the display device as the verification result. Thus, based on the verification result displayed on the display device, the user can determine whether or not the Ising model currently mapped to the Ising chip 24 correctly reflects the nature of the original problem.

(1−4)基底状態探索処理
図20は、本情報処理装置1において、ユーザから与えられた問題データ7(図1)に基づく問題の解をイジングモデルの基底状態として求める際のCPU3の処理の流れを示す。この処理は、ユーザが情報処理装置1を操作して、記憶装置5に格納されている問題データ7を指定し、その解を求めるべき旨の指示を情報処理装置1に与えることにより開始される。
(1-4) Ground State Search Processing FIG. 20 shows the processing of the CPU 3 when the information processing apparatus 1 obtains the solution of the problem based on the problem data 7 (FIG. 1) given by the user as the ground state of the Ising model. Shows the flow. This process is started when the user operates the information processing device 1 to specify the problem data 7 stored in the storage device 5 and gives an instruction to the information processing device 1 to obtain the solution. .

実際上、情報処理装置1のCPU3は、かかる指示が与えられるとこの基底状態探索処理を開始し、まず記憶装置5に格納されているユーザから与えられた問題データ7を取り込む(SP1)。またCPU3は、この後、問題変換プログラム8(図1)を実行することにより、記憶装置5に格納した問題データ7をイジングモデルに変換する。この際、CPU3は、かかる変換により生成したイジングモデルにおいてスピンが満たすべき制約条件を生成する(SP2)。   In practice, the CPU 3 of the information processing apparatus 1 starts this ground state search process when such an instruction is given, and first takes in the problem data 7 given by the user stored in the storage device 5 (SP1). Thereafter, the CPU 3 executes the problem conversion program 8 (FIG. 1) to convert the problem data 7 stored in the storage device 5 into an Ising model. At this time, the CPU 3 generates a constraint condition that the spin should satisfy in the Ising model generated by the conversion (SP2).

続いて、CPU3は、イジングチップ制御プログラム9(図1)を実行し、ステップSP2で生成したイジングモデルをイジングチップモジュール6内のイジングチップ24(図2)にマッピングした後(SP3)、そのイジングチップ24にそのイジングモデルの基底状態の探索処理を実行させる(SP4)。   Subsequently, the CPU 3 executes the Ising chip control program 9 (FIG. 1), maps the Ising model generated in step SP2 to the Ising chip 24 (FIG. 2) in the Ising chip module 6 (SP3), and then the Ising The chip 24 is caused to execute a ground state search process of the Ising model (SP4).

次いで、CPU3は、やがて所定回数の相互作用を実行し終えることにより、かかるイジングチップ24におけるかかるイジングモデルの基底状態探索が完了すると、そのイジングチップ24からそのイジングモデルのそのときの各スピンの値(つまりそのイジングモデルの基底状態のときの各スピンの値)を取得し、この後、問題変換プログラム8を実行することにより、取得した各スピンの値に基づいて、そのとき得られたそのイジングモデルの基底状態を元の問題の解に変換する(SP5)。   Next, when the ground state search of the Ising model in the Ising chip 24 is completed by completing the predetermined number of interactions, the CPU 3 eventually completes the value of each spin of the Ising model from the Ising chip 24. (That is, the value of each spin in the ground state of the Ising model) is acquired, and then the problem conversion program 8 is executed, so that the Ising obtained at that time is based on the acquired value of each spin. The ground state of the model is converted into the original problem solution (SP5).

そしてCPU3は、このようにして得られた元の問題の解を情報処理装置1の図示しない表示装置に表示させ(SP6)、この後、後述するステップSP9の処理が終了するのを待って、この基底状態探索処理を終了する。   Then, the CPU 3 displays the solution of the original problem thus obtained on a display device (not shown) of the information processing apparatus 1 (SP6), and then waits for the process of step SP9 to be described later to end, This ground state search process is terminated.

一方、CPU3は、ステップSP3〜ステップSP6の処理と並行して、ステップSP7〜ステップSP8の処理を実行することにより、かかるイジングモデルが元の問題の性質を正しく反映しているか否かを検証する。   On the other hand, the CPU 3 verifies whether or not the Ising model correctly reflects the nature of the original problem by executing the processing of step SP7 to step SP8 in parallel with the processing of step SP3 to step SP6. .

実際上、CPU3は、イジングチップ制御プログラム9に基づいて、ステップSP2で得られたイジングモデルをイジングチップ24にマッピングする際、これと併せてそのイジングモデルの生成時に得られた制約条件に基づく上述の第1の処理情報44と、図13について上述したそのイジングチップ24内の各第1のスピン値観測部70(図12)に設定すべき既定の第1の観測条件(インターバル、書込み先及び長さ)とをそのイジングチップ24のコントローラ34に送信する(SP7)。   In practice, when the CPU 3 maps the Ising model obtained in step SP2 to the Ising chip 24 based on the Ising chip control program 9, the CPU 3 also combines the above and based on the constraints obtained when generating the Ising model. First processing information 44 and predetermined first observation conditions (intervals, write destinations, and the like) to be set in each first spin value observation unit 70 (FIG. 12) in the Ising chip 24 described above with reference to FIG. Length) is transmitted to the controller 34 of the Ising chip 24 (SP7).

かくして、かかる制約条件及び第1の観測条件を受信したイジングチップ24では、コントローラ34により、第1の処理情報44がチップメモリ35に格納されると共に、第1の観測条件がスピンアレイ30(図12)内の各第1のスピン値観測部70(図12)にそれぞれ設定され、この結果、この後実行されるイジングモデルの基底状態探索時に、この第1の観測条件に従った対応するスピンの値の観測がこれら第1のスピン値観測部70によりそれぞれ行われる。また、これと並行して、これら第1のスピン値観測部70による対応するスピンの値の観測結果でなる第1の観測結果43(図14)に基づく図15について上述した判定処理がコントローラ34により逐次実行され、その処理結果が第1の処理結果45として逐次チップメモリ35に格納される。   Thus, in the Ising chip 24 that has received the constraint condition and the first observation condition, the controller 34 stores the first processing information 44 in the chip memory 35 and the first observation condition is the spin array 30 (FIG. 12) are set in each of the first spin value observation units 70 (FIG. 12). As a result, when the ground state search of the Ising model to be executed later is performed, the corresponding spins according to the first observation conditions are set. Are observed by the first spin value observation unit 70. In parallel with this, the determination processing described above with reference to FIG. 15 based on the first observation result 43 (FIG. 14) that is the observation result of the corresponding spin value by the first spin value observation unit 70 is performed by the controller 34. The processing result is sequentially stored in the chip memory 35 as the first processing result 45.

そしてCPU3は、イジングチップ24においてイジングモデルの基底状態探索が実行されている間、観測結果検証プログラム11に基づいて、上述のチップメモリ35に格納された第1の処理結果45を定期的に読み出し、これを観測結果13としてメモリ4に格納すると共に、この観測結果13に基づいて、そのときイジングチップ24にマッピングされているイジングモデルが元の問題の性質を正しく反映しているか否かの図17〜図19について上述した検証処理を行う(SP8)。   The CPU 3 periodically reads out the first processing result 45 stored in the above-described chip memory 35 based on the observation result verification program 11 while the Ising model ground state search is executed in the Ising chip 24. This is stored in the memory 4 as the observation result 13 and, based on the observation result 13, whether or not the Ising model currently mapped to the Ising chip 24 correctly reflects the nature of the original problem. The verification process described above with reference to FIGS. 17 to 19 is performed (SP8).

そしてCPU3は、かかる検証処理が終了すると、観測結果検証プログラム11に基づいて、ステップSP8の検証処理の処理結果を情報処理装置1の表示装置に表示させ(SP9)、この後、ステップSP6の処理が終了するのを待って、この基底状態探索処理を終了する。   When the verification process is completed, the CPU 3 displays the result of the verification process in step SP8 on the display device of the information processing apparatus 1 based on the observation result verification program 11 (SP9), and then the process in step SP6. The ground state search process is terminated after waiting for the process to end.

(1−5)本実施の形態の効果
以上のように本実施の形態の情報処理装置1では、イジングモデルの基底状態の探索途中における各スピンの値を観測し、これらスピンの値が制約条件を満たすか否かに基づいてそのイジングモデルが元の問題の性質を正しく反映しているか否かを検証し、その検証結果を表示する。従って、本実施の形態によれば、表示された検証結果に基づいてユーザがそのイジングモデルが元の問題の性質を正しく反映しているか否かを容易に判断することができ、かくして有用性及び信頼性の高い情報処理装置を構築することができる。
(1-5) Effects of this Embodiment As described above, the information processing apparatus 1 according to this embodiment observes the value of each spin during the search of the ground state of the Ising model, and the value of these spins is a constraint condition. Whether or not the Ising model correctly reflects the nature of the original problem based on whether or not the condition is satisfied, and displays the verification result. Therefore, according to the present embodiment, based on the displayed verification result, the user can easily determine whether or not the Ising model correctly reflects the nature of the original problem, and thus the utility and A highly reliable information processing apparatus can be constructed.

(2)第2の実施の形態
(2−1)乱数発生頻度制御機能
イジングモデルの基底状態探索を行う場合、局所解を脱出するためにスピン値を反転させる確率を適切にコントロールすることが重要である。通常、基底状態探索では、初期時には、局所解を脱出し、解空間の広い範囲を探索できるようにスピン値を反転させる反転確率(具体的には、図2の乱数発生器23における乱数パルスの発生頻度)を高めに設定し、その後、徐々にかかる反転確率を下げる(乱数発生器23における乱数パルスの発生頻度を下げる)ことで基底状態に収束し易くしている。
(2) Second Embodiment (2-1) Random Number Generation Frequency Control Function When performing the ground state search of the Ising model, it is important to appropriately control the probability of inverting the spin value in order to escape the local solution It is. Normally, in the ground state search, at the initial stage, the inversion probability (specifically, the random number pulse of the random number generator 23 in FIG. 2) is reversed so that the local value can be escaped and the wide range of the solution space can be searched. The frequency of occurrence is set high, and then the inversion probability is gradually lowered (the frequency of random number pulses generated in the random number generator 23 is lowered) to facilitate convergence to the ground state.

このとき、反転確率を下げるのが早すぎると、解空間を探索できる範囲が狭まってしまい、解精度の低下につながるという問題があり、反転確率を下げるのが遅すぎると、基底状態精度は高まるものの、基底状態探索に要する時間が増加するという問題がある。一方で、反転確率を下げる適切な早さは問題ごとに異なり、事前に求めることは難しいという問題もある。   At this time, if the inversion probability is lowered too early, the range in which the solution space can be searched is narrowed, leading to a decrease in solution accuracy. If the inversion probability is lowered too late, the ground state accuracy is increased. However, there is a problem that the time required for ground state search increases. On the other hand, the appropriate speed to lower the inversion probability varies from problem to problem, and there is also a problem that it is difficult to obtain in advance.

そこで、本実施の形態においては、基底状態探索時におけるイジングモデルのスピンの値を観測し、ごとに、一定時間内に値が「+1」又は「−1」(以下においては、「+1」とする)となる確率を継続的に算出し、この確率の平均値が一定値に収束した場合(正確には、今回算出した当該平均値と、前回算出した当該平均値との差分が予め設定された所定の第2の閾値を下回った場合)にスピンが平衡状態に達したと判断して、乱数パルスの発生頻度を下げるように乱数発生器23(図2)を制御する。   Therefore, in the present embodiment, the spin value of the Ising model at the time of ground state search is observed, and each time the value is “+1” or “−1” (“+1” in the following) within a certain time. If the average value of this probability converges to a certain value (exactly, the difference between the average value calculated this time and the average value calculated last time is set in advance) 2), the random number generator 23 (FIG. 2) is controlled so as to reduce the frequency of generation of random number pulses.

以下、このように乱数発生器23における乱数パルスの発生頻度を制御する機能(以下、これを乱数発生頻度制御機能と呼ぶ)を備えた本実施の形態による情報処理装置80(図1)について、図1及び図21〜図26を参照して説明する。なお、図21〜図26においては、図1〜図20との対応部分に同一符号を付し、その詳細については説明を省略する。   Hereinafter, regarding the information processing apparatus 80 (FIG. 1) according to the present embodiment having the function of controlling the generation frequency of the random number pulse in the random number generator 23 (hereinafter referred to as the random number generation frequency control function) as described above. This will be described with reference to FIGS. 1 and 21 to 26. In FIG. 21 to FIG. 26, the same reference numerals are given to corresponding parts to those in FIG. 1 to FIG.

(2−2)本実施の形態による情報処理装置の構成
図1において、80は全体として第2の実施の形態による情報処理装置を示す。この情報処理装置80は、第1の実施の形態について上述したイジングモデル検証機能に加えて、かかる乱数発生頻度制御機能が搭載されている点が第1の実施の形態による情報処理装置1と相違する。
(2-2) Configuration of Information Processing Device According to this Embodiment In FIG. 1, reference numeral 80 denotes an information processing device according to the second embodiment as a whole. The information processing apparatus 80 is different from the information processing apparatus 1 according to the first embodiment in that the random number generation frequency control function is mounted in addition to the Ising model verification function described above with respect to the first embodiment. To do.

実際上、本実施の形態の情報処理装置80の場合、イジングチップ制御プログラム81は、問題変換プログラム8により問題を変換することにより得られたイジングモデルをイジングチップモジュール82内のイジングチップにマッピングする際、上述の制約条件及び第1の観測条件に加えて、スピンの値が「+1」となる確率を監視する際の条件(以下、これを監視条件と呼ぶ)と、その際のスピンの観測条件(以下、これを第2の観測条件と呼ぶ)とをそのイジングチップモジュール82に送信する。   In practice, in the case of the information processing apparatus 80 of the present embodiment, the Ising chip control program 81 maps the Ising model obtained by converting the problem by the problem conversion program 8 to the Ising chip in the Ising chip module 82. In this case, in addition to the constraint condition and the first observation condition described above, the condition for monitoring the probability that the spin value is “+1” (hereinafter referred to as the monitoring condition) and the observation of the spin at that time A condition (hereinafter referred to as a second observation condition) is transmitted to the Ising chip module 82.

具体的に、イジングチップ制御プログラム81は、かかる監視条件として、観測対象とするスピンと、そのスピンの値が「+1」となる確率を計算する時間間隔とをイジングチップ90(図21)に送信する。またイジングチップ制御プログラム81は、かかる第2の観測条件として、第2のスピン値観測部に設定すべき上述のインターバル、書込み先及び長さをイジングチップモジュール82に送信する。   Specifically, the Ising chip control program 81 transmits to the Ising chip 90 (FIG. 21), as such monitoring conditions, a spin to be observed and a time interval for calculating a probability that the value of the spin is “+1”. To do. Further, the Ising chip control program 81 transmits the above-described interval, writing destination, and length to be set in the second spin value observation unit to the Ising chip module 82 as the second observation condition.

イジングチップモジュール82は、その内部に設けられたイジングチップ90(図21)の構成が異なる点を除いて第1の実施の形態のイジングチップモジュール6と同様の構成を有する。また本実施の形態のイジングチップ90は、図21に示すように、スピンアレイ91の構成が異なる点と、チップメモリ35に第1の観測結果43、第1の処理情報44及び第1の処理結果45に加えて、第2の観測結果92、第2の処理情報93及び第2の処理結果94が格納される点と、コントローラ95がイジングモデル検証機能に関する処理機能に加えて、上述の乱数発生頻度制御機能に関連する処理機能を備えている点とを除いて第1の実施の形態のイジングチップ24(図3)と同様の構成を有する。   The Ising chip module 82 has the same configuration as the Ising chip module 6 of the first embodiment except that the configuration of the Ising chip 90 (FIG. 21) provided therein is different. Further, as shown in FIG. 21, the Ising chip 90 of the present embodiment is different from the configuration of the spin array 91 in that the first observation result 43, the first processing information 44, and the first processing are stored in the chip memory 35. In addition to the result 45, the second observation result 92, the second processing information 93, and the second processing result 94 are stored. In addition to the processing function related to the Ising model verification function, the controller 95 adds the above random number. The configuration is the same as that of the Ising chip 24 (FIG. 3) of the first embodiment except that a processing function related to the occurrence frequency control function is provided.

この場合、本実施の形態のスピンアレイ91は、図22に示すように、第1のスピン値観測部70が設けられていないスピンユニット50のうちの一部又は全部のスピンユニットに第2のスピン値観測部100が設けられている点が第1の実施の形態のスピンアレイ30(図3)と相違する。この第2のスピン値観測部100は、乱数発生頻度制御機能のために、対応するスピンユニット50が保持するスピンの値を観測するためのものであり、第1のスピン値観測部70と同様の構成を有する。   In this case, as shown in FIG. 22, the spin array 91 of the present embodiment includes a second or all of the spin units 50 in which the first spin value observation unit 70 is not provided. The point where the spin value observation unit 100 is provided is different from the spin array 30 (FIG. 3) of the first embodiment. The second spin value observation unit 100 is for observing the spin value held by the corresponding spin unit 50 for the random number generation frequency control function, and is the same as the first spin value observation unit 70. It has the composition of.

そしてイジングチップ90のコントローラ95(図21)は、情報処理装置1のCPU3から第2の観測条件が与えられた場合、その第2の観測条件に含まれるインターバル、書込み先及び長さを第2のスピン値観測部100に設定する。かくして第2のスピン値観測部100は、基底状態探索時、第1のスピン値観測部70と同様にして、対応するスピンユニット50のメモリセルNに格納されたスピンの値を第2の観測条件として設定されたインターバルで取得し、取得したスピンの値を第2の観測結果としてチップメモリ35内の第2の観測条件として設定された書込み先に書き込む。   Then, when the second observation condition is given from the CPU 3 of the information processing apparatus 1, the controller 95 (FIG. 21) of the Ising chip 90 sets the interval, the write destination, and the length included in the second observation condition to the second value. Are set in the spin value observation unit 100. Thus, in the ground state search, the second spin value observation unit 100 performs the second observation of the spin value stored in the memory cell N of the corresponding spin unit 50 in the same manner as the first spin value observation unit 70. Acquired at an interval set as a condition, and writes the acquired spin value as a second observation result in a write destination set as a second observation condition in the chip memory 35.

一方、図23〜図25は、イジングチップ90のチップメモリ35に保持される第2の観測結果92(図23)、第2の処理情報93(図24)及び第2の処理結果94(図25)をそれぞれ示す。   23 to 25 show the second observation result 92 (FIG. 23), the second processing information 93 (FIG. 24), and the second processing result 94 (FIG. 23) held in the chip memory 35 of the Ising chip 90. 25) respectively.

第2の観測結果92は、上述のように第2のスピン値観測部100によりチップメモリ35にそれぞれ書き込まれたスピンの値の観測結果であり、図23に示すように、観測結果(図23の1行)ごとに時刻92A、スピンID92B及び値(スピン値)92Cの各情報をそれぞれ含む。時刻92A、スピンID92B及び値92Cの内容は図14について上述した第1の観測結果43と同様であるため、ここでの説明は省略する。   The second observation result 92 is an observation result of the spin values respectively written in the chip memory 35 by the second spin value observation unit 100 as described above. As shown in FIG. Each line) includes information on time 92A, spin ID 92B, and value (spin value) 92C. Since the contents of the time 92A, the spin ID 92B, and the value 92C are the same as those of the first observation result 43 described above with reference to FIG. 14, the description thereof is omitted here.

また第2の処理情報93は、上述の監視条件を表す情報である。コントローラ95は、情報処理装置1のCPU3から与えられた監視条件を第2の処理情報93としてチップメモリ35に格納して管理する。この第2の処理情報93は、図24に示すように、処理ID93A、処理種別93B、時間間隔93C及び対象スピン93Dの各情報を含む。処理ID93A、処理種別93B及び対象スピンの内容は、図15について上述した第1の処理情報44と同様であるため、ここでの説明は省略する。なお図24における処理種別の「分布計算」とは、スピンの値が「+1」となる確率を求める処理を表す。また時間間隔は、かかる確率を計算すべき間隔を表す。   The second processing information 93 is information representing the above monitoring condition. The controller 95 stores and manages the monitoring condition given from the CPU 3 of the information processing apparatus 1 in the chip memory 35 as the second processing information 93. As shown in FIG. 24, the second processing information 93 includes information on a processing ID 93A, a processing type 93B, a time interval 93C, and a target spin 93D. The contents of the process ID 93A, the process type 93B, and the target spin are the same as those of the first process information 44 described above with reference to FIG. Note that the “distribution calculation” of the processing type in FIG. 24 represents processing for obtaining the probability that the spin value is “+1”. The time interval represents an interval for calculating the probability.

第2の処理結果94は、第2の処理情報93に基づきコントローラ95が実行した各処理の処理結果である。コントローラ95は、情報処理装置80のCPU3から通知されたインターバル経過後、チップメモリ35に蓄積されている第2の観測結果92に対して第2の処理情報93で規定された各処理を実行する。図24の例では、時間間隔として指定された期間(相互作用クロックの「100」クロック分の期間)の観測結果から、対象とするスピンの値が「+1」となる確率を求めることがコントローラ95の処理内容となる。従って、この場合、コントローラ95は、1つのスピンについて上述の期間内の観測結果(スピンの値)を第2の観測結果92からすべて読み出し、読み出した各スピンの値が「+1」となる確率を計算して、その計算結果をチップメモリ35に第2の処理結果94として格納する。   The second processing result 94 is a processing result of each processing executed by the controller 95 based on the second processing information 93. The controller 95 executes each process defined by the second process information 93 on the second observation result 92 stored in the chip memory 35 after the interval notified from the CPU 3 of the information processing apparatus 80 has elapsed. . In the example of FIG. 24, the controller 95 obtains the probability that the value of the target spin is “+1” from the observation result of the period specified as the time interval (period of “100” clock of the interaction clock). It becomes processing contents. Therefore, in this case, the controller 95 reads all the observation results (spin values) within the above-described period for one spin from the second observation result 92, and determines the probability that the value of each read spin is “+1”. The calculation result is stored in the chip memory 35 as the second processing result 94.

第2の処理結果94は、図25に示すように、スピンID94A、処理の対象となった時刻94B及びその処理の結果94Cの情報を含む。図25の例の場合、時刻94Bは監視条件として指定された時間間隔の開始時刻を表し、結果は、対応する時間間隔における上述の計算結果(対応するスピンの値が「+1」となる確率)を表す。   As shown in FIG. 25, the second processing result 94 includes information on the spin ID 94A, the time 94B that is the processing target, and the processing result 94C. In the case of the example in FIG. 25, the time 94B represents the start time of the time interval specified as the monitoring condition, and the result is the above-described calculation result in the corresponding time interval (probability that the corresponding spin value is “+1”). Represents.

従って、図25の例の場合、スピンIDが「1」のスピンについては、時刻「100」から指定された時間間隔内の第2の観測結果92に基づいて計算したその値が「+1」となる確率が「0.45」であり、同様に計算した時刻「200」、時刻「300」、時刻「400」、時刻「500」から当該時間間隔内の第2の観測結果92に基づいて計算したかかる確率がそれぞれ「0.38」、「0.34」、「0.33」、「0.33」であったことが示されている。   Therefore, in the example of FIG. 25, for the spin with the spin ID “1”, the value calculated based on the second observation result 92 within the time interval specified from the time “100” is “+1”. The probability of “0.45” is calculated based on the second observation result 92 within the time interval from the similarly calculated time “200”, time “300”, time “400”, and time “500”. It is indicated that the probabilities were “0.38”, “0.34”, “0.33”, and “0.33”, respectively.

図26は、本情報処理装置80において、ユーザから与えられた問題データ7(図1)に基づく問題の解をイジングモデルの基底状態として求める際のCPU3の処理の流れを示す。この処理は、ユーザが情報処理装置80を操作して、記憶装置5に格納されている問題データ7を指定し、その解を求めるべき旨の指示を情報処理装置80に与えることにより開始される。   FIG. 26 shows the processing flow of the CPU 3 when the information processing apparatus 80 obtains the solution of the problem based on the problem data 7 (FIG. 1) given by the user as the ground state of the Ising model. This process is started when the user operates the information processing device 80 to specify the problem data 7 stored in the storage device 5 and gives an instruction to the information processing device 80 to obtain the solution. .

実際上、情報処理装置80のCPU3は、かかる指示が与えられるとこの基底状態探索処理を開始し、まず、記憶装置5に格納されているユーザから与えられた問題データ7を取り込む(SP10)。またCPU3は、問題変換プログラム8(図1)を実行することにより、記憶装置5に格納した問題データ7をイジングモデルに変換する。この際、CPU3は、かかる変換により生成したイジングモデルにおいてスピンが満たすべき制約条件を生成する(SP11)。   In practice, the CPU 3 of the information processing device 80 starts this ground state search process when such an instruction is given, and first takes in the problem data 7 given by the user stored in the storage device 5 (SP10). Further, the CPU 3 converts the problem data 7 stored in the storage device 5 into an Ising model by executing the problem conversion program 8 (FIG. 1). At this time, the CPU 3 generates a constraint condition that the spin should satisfy in the Ising model generated by the conversion (SP11).

この後、CPU3は、ステップSP12〜ステップSP17の処理をイジングチップ制御プログラム81(図1)に基づいて実行する。すなわちCPU3は、まず、ステップSP112で生成したイジングモデルをイジングチップモジュール82(図1)内のイジングチップ90(図21)にマッピングする(SP12)。   Thereafter, the CPU 3 executes the processing of step SP12 to step SP17 based on the Ising chip control program 81 (FIG. 1). That is, the CPU 3 first maps the Ising model generated in step SP112 to the Ising chip 90 (FIG. 21) in the Ising chip module 82 (FIG. 1) (SP12).

続いて、CPU3は、予め指定された上述の監視条件及び第2の観測条件をかかるイジングチップ90に送信する(SP13)。かくして、かかる監視条件及び第2の観測条件を受信したイジングチップ90では、コントローラ95により第2の観測条件がスピンアレイ91(図21)内の各第2のスピン値観測部100(図22)にそれぞれ設定される。   Subsequently, the CPU 3 transmits the monitoring condition and the second observation condition specified in advance to the Ising chip 90 (SP13). Thus, in the Ising chip 90 that has received the monitoring condition and the second observation condition, the second observation condition is set by the controller 95 to each second spin value observation unit 100 (FIG. 22) in the spin array 91 (FIG. 21). Respectively.

次いで、CPU3は、イジングチップモジュール82のモジュールコントローラ21(図2)を介して相互作用クロック生成部22(図2)を制御することにより、相互作用クロック生成部22に相互作用クロックの生成を開始させると共に、当該モジュールコントローラ21を介して乱数発生器23(図2)に乱数パルスの発生頻度として初期値を設定することにより、乱数発生器23に乱数パルスの発生を開始させる(SP14)。これにより相互作用クロック生成部22により生成された相互作用クロックがイジングチップ90に与えられ、この相互作用クロックに同期して、イジングチップ90において、イジングモデルにおけるスピン間の相互作用動作が開始される。また、乱数発生器23において発生された乱数パルスもイジングチップ90に与えられ、この乱数パルスに基づいてイジングチップ90内の各スピンの値が確率的に反転される。   Next, the CPU 3 controls the interaction clock generator 22 (FIG. 2) via the module controller 21 (FIG. 2) of the Ising chip module 82 to start generation of the interaction clock in the interaction clock generator 22. At the same time, by setting an initial value as a random pulse generation frequency in the random number generator 23 (FIG. 2) via the module controller 21, the random number generator 23 is caused to start generating random pulses (SP14). As a result, the interaction clock generated by the interaction clock generation unit 22 is given to the Ising chip 90, and the Ising chip 90 starts an interaction operation between spins in the Ising model in synchronization with the interaction clock. . A random number pulse generated by the random number generator 23 is also given to the Ising chip 90, and the value of each spin in the Ising chip 90 is probabilistically inverted based on the random number pulse.

そしてCPU3は、この後、イジングチップ90にマッピングしたイジングモデルの各スピンの値が平衡状態となるのを待ち受ける(SP15)。   Thereafter, the CPU 3 waits for the spin values of the Ising model mapped to the Ising chip 90 to reach an equilibrium state (SP15).

このとき、かかるイジングチップ90のコントローラ95(図21)は、ステップSP13でCPU3から与えられた監視条件に基づいて、対応する各スピンの値が一定時間内に「+1」となる確率をそれぞれ算出すると共に、当該確率の平均値を算出し、今回算出した当該平均値と、前回算出した当該平均値との差分を算出する処理を、当該監視条件において指定された時間間隔で断続的に実行する。そしてコントローラ95は、かかる差分が上述の第2の閾値を下回った場合に、スピンが平衡状態に達したと判断して、その旨をCPU3に通知する。   At this time, the controller 95 (FIG. 21) of the Ising chip 90 calculates the probability that the value of each corresponding spin will be “+1” within a certain time based on the monitoring condition given from the CPU 3 in step SP13. In addition, the average value of the probability is calculated, and the process of calculating the difference between the average value calculated this time and the average value calculated last time is intermittently executed at the time interval specified in the monitoring condition. . When the difference falls below the second threshold, the controller 95 determines that the spin has reached an equilibrium state and notifies the CPU 3 accordingly.

CPU3は、かかる通知が与えられると、イジングチップモジュール82(図1)のモジュールコントローラ21(図2)を介して乱数発生器23(図2)を制御することにより、乱数パルスの発生頻度を所定値だけ低減させ(SP16)、低減後の発生頻度が予め規定された最終的な発生頻度に到達したか否かを判断する(SP17)。   When such notification is given, the CPU 3 controls the random number generator 23 (FIG. 2) via the module controller 21 (FIG. 2) of the Ising chip module 82 (FIG. 1), thereby determining the frequency of random pulse generation. The value is reduced by a value (SP16), and it is determined whether or not the occurrence frequency after the reduction has reached a predetermined final occurrence frequency (SP17).

そしてCPU3は、この判断で否定結果を得るとステップSP15に戻り、この後、ステップSP17で肯定結果を得るまでステップSP15〜ステップSP17の処理を繰り返す。そしてCPU3は、やがて乱数パルスの発生頻度が最終的な発生頻度に到達することによりステップSP17で肯定結果を得ると、そのイジングチップ90からそのイジングモデルのそのときの各スピンの値(つまりそのイジングモデルの基底状態のときの各スピンの値)を取得し、この後、問題変換プログラム8を実行することにより、取得した各スピンの値に基づいて、そのとき得られたそのイジングモデルの基底状態を元の問題の解に変換する(SP18)。   If the CPU 3 obtains a negative result in this determination, it returns to step SP15, and thereafter repeats the processing of step SP15 to step SP17 until an affirmative result is obtained in step SP17. Then, when the CPU 3 eventually obtains a positive result in step SP17 when the generation frequency of the random number pulse reaches the final generation frequency, the value of each spin of the Ising model (that is, the Ising model) from the Ising chip 90 is obtained. The value of each spin in the model ground state) is obtained, and then the problem transformation program 8 is executed to obtain the ground state of the Ising model obtained at that time based on the value of each spin obtained. Is converted to the solution of the original problem (SP18).

そしてCPU3は、このようにして得られた元の問題の解を情報処理装置1の図示しない表示装置に表示させ(SP19)、この後、後述するステップSP22の処理が終了するのを待って、この基底状態探索処理を終了する。   The CPU 3 displays the solution of the original problem thus obtained on a display device (not shown) of the information processing apparatus 1 (SP19), and then waits for the processing of step SP22 to be described later to end. This ground state search process is terminated.

一方、CPU3は、ステップSP12〜ステップSP19の処理と並行して、ステップSP20〜ステップSP22の処理を実行することにより、かかるイジングモデルが元の問題の性質を正しく反映しているか否かを検証する。このステップSP20〜ステップSP22の処理内容は、図20について上述した第1の実施の形態のステップSP7〜ステップSP9と同様であるため、ここでの説明は省略する。   On the other hand, the CPU 3 verifies whether or not the Ising model correctly reflects the nature of the original problem by executing the processing of step SP20 to step SP22 in parallel with the processing of step SP12 to step SP19. . Since the processing contents of step SP20 to step SP22 are the same as those of step SP7 to step SP9 of the first embodiment described above with reference to FIG. 20, description thereof is omitted here.

そしてCPU3は、この後、ステップSP19の処理が終了するのを待って、この基底状態探索処理を終了する。   Thereafter, the CPU 3 waits for the process of step SP19 to end, and ends this ground state search process.

(2−3)本実施の形態の効果
以上のように本実施の形態の情報処理装置80では、イジングモデルの基底状態の探索途中における各スピンの値を観測し、これらスピンごとにその値が一定期間内に「+1」となる確率をそれぞれ断続的に算出すると共に、算出したスピンごとの当該確率の平均値を断続的に算出し、今回算出した当該平均値と、前回算出した当該平均値との差分が第2の閾値を下回った場合に、スピンが平衡状態に達したと判断して、乱数パルスの発生頻度を下げるように乱数発生器23を制御する。
(2-3) Effect of this Embodiment As described above, the information processing apparatus 80 of this embodiment observes the value of each spin during the search of the ground state of the Ising model, and the value is determined for each spin. The probability of becoming “+1” within a certain period is calculated intermittently, and the average value of the probability for each calculated spin is calculated intermittently. The average value calculated this time and the average value calculated last time Is less than the second threshold, it is determined that the spin has reached an equilibrium state, and the random number generator 23 is controlled so as to reduce the frequency of random number pulses.

従って、本実施の形態によれば、乱数発生器23により発生させる乱数パルスの発生頻度の切替えタイミングを事前に算出することなく、基底状態探索の進行状況を反映しながらかかる切替えタイミングをコントロールできるため、不必要に長い相互作用を行うことなく、高い精度の解を得ることができ、かくして第1の実施の形態の情報処理装置1と比べてより一層と有用性及び信頼性の高い情報処理装置を構築することができる。   Therefore, according to the present embodiment, the switching timing can be controlled while reflecting the progress of the ground state search without previously calculating the switching timing of the generation frequency of the random number pulse generated by the random number generator 23. An information processing apparatus that can obtain a highly accurate solution without performing an unnecessarily long interaction, and thus is more useful and reliable than the information processing apparatus 1 of the first embodiment. Can be built.

(3)他の実施の形態
なお上述の第1及び第2の実施の形態においては、情報処理装置1,80のCPU3がイジングチップ24,90のコントローラ34,95を介して第1及び又は第2のスピン値観測部70,100に第1又は第2の観測条件(インターバル、書込み先及び長さ)を設定するようにした場合について述べたが、本発明はこれに限らず、これら第1又は第2の観測条件の各値が予め固定値として各第1及び第2のスピン値観測部70,100にそれぞれ設定されているようにしても良い。
(3) Other Embodiments In the first and second embodiments described above, the CPU 3 of the information processing apparatuses 1 and 80 performs the first and / or first via the controllers 34 and 95 of the Ising chips 24 and 90. Although the case where the first or second observation condition (interval, write destination and length) is set in the spin value observation units 70 and 100 of 2 has been described, the present invention is not limited to this, and the first Alternatively, each value of the second observation condition may be set in advance in each of the first and second spin value observation units 70 and 100 as a fixed value.

また上述の第1及び第2の実施の形態においては、第1及び又は第2のスピン値観測部70,100の処理部75をCPU及びメモリを含んでなるマイクロコンピュータ構成を有し、CPUがメモリに格納されたソフトウェアを実行することにより処理部75全体として、第1又は第2の観測条件に従って対応するスピンの値を観測(取得)するようにした場合について述べたが、本発明はこれに限らず、例えば処理部75を論理回路として構成するようにしても良い。   In the first and second embodiments described above, the processing unit 75 of the first and / or second spin value observation units 70 and 100 has a microcomputer configuration including a CPU and a memory. The case where the processing unit 75 as a whole observes (acquires) the corresponding spin value according to the first or second observation condition by executing the software stored in the memory has been described. For example, the processing unit 75 may be configured as a logic circuit.

さらに上述の実施の形態においては、イジングチップ24,90を制御する機能と、問題をイジングモデルに変換する機能と、問題をイジングモデルに変換する際に得られた当該イジングモデルの各スピンが満たすべき制約条件と、各第1のスピン値観測部70によりそれぞれ取得されたイジングモデルの基底状態探索時における対応する各スピンの値とに基づいて、イジングモデルが問題の性質を正しく反映しているか否かを検証する機能と、各第2のスピン値観測部100によりそれぞれ取得されたイジングモデルの基底状態探索時における対応する各スピンの値に基づいて、スピンごとに、所定の第2の時間内における当該スピンの値が所定値となる確率を継続的に算出し、算出結果に基づいて、乱数発生器における乱数パルスの発生頻度を制御する機能とを有する情報処理部を、情報処理装置1,80のCPU3と、イジングチップ24,90内のコントローラ34,95とで構成するようにした場合について述べたが、本発明はこれに限らず、これらの機能をCPU3及びコントローラ34,95のいずれか一方に集約して持たせるようにしても良い。ただし、第1及び第2の実施の形態のようにこれらの機能をCPU3及びコントローラ34,95に分けて持たせることにより、これらCPU3及びコントローラ34,95の負荷を分散させることができる。   Further, in the above-described embodiment, the function of controlling the Ising chips 24 and 90, the function of converting a problem into an Ising model, and each spin of the Ising model obtained when the problem is converted into an Ising model are satisfied. Whether the Ising model correctly reflects the nature of the problem based on the power constraints and the corresponding spin values in the ground state search of the Ising model respectively acquired by the first spin value observation units 70 A predetermined second time for each spin based on the function of verifying whether or not and the value of each corresponding spin in the ground state search of the Ising model respectively acquired by each second spin value observation unit 100 The probability that the value of the spin in the inside will be a predetermined value is continuously calculated, and based on the calculation result, the random number generator generates a random number pulse. The case where the information processing unit having the function of controlling the degree is configured by the CPU 3 of the information processing devices 1 and 80 and the controllers 34 and 95 in the Ising chips 24 and 90 has been described. However, the present invention is not limited to this, and these functions may be integrated in one of the CPU 3 and the controllers 34 and 95. However, by providing these functions separately for the CPU 3 and the controllers 34 and 95 as in the first and second embodiments, the load on the CPU 3 and the controllers 34 and 95 can be distributed.

さらに上述の第2実施の形態においては、第1のスピン値観測部70が対応付けて設けられていないスピンに対応させて第2のスピン値観測部100を設けるようにした場合について述べたが、本発明はこれに限らず、同じ1つのスピンに対応させて第1及び第2のスピン値観測部70,100を設けるようにしても良い。さらには、観測対象の各スピンにそれぞれ対応させてそれぞれ1つのスピン値観測部を設け、このスピン値観測部により第1及び第2の観測条件に従って対応するスピンの値を観測(取得)するようにしても良い。   Further, in the second embodiment described above, the case has been described in which the second spin value observation unit 100 is provided corresponding to the spins that are not provided in association with the first spin value observation unit 70. The present invention is not limited to this, and the first and second spin value observation units 70 and 100 may be provided corresponding to the same single spin. Furthermore, one spin value observation unit is provided corresponding to each spin to be observed, and the spin value observation unit observes (acquires) the value of the corresponding spin according to the first and second observation conditions. Anyway.

本発明は、問題の解をイジングモデルの基底状態として求める情報処理装置に適用することができる。   The present invention can be applied to an information processing apparatus that obtains a solution of a problem as a ground state of an Ising model.

1,80……情報処理装置、3……CPU、6,82……イジングチップモジュール、8……問題変換プログラム、9,81……イジングチップ制御プログラム、11……観測結果検証プログラム、12……制約条件、22……相互作用クロック生成部、23……乱数発生器、24,90……イジングチップ、30,91……スピンアレイ、34,95……コントローラ、35……チップメモリ、43,92……観測結果、44,93……処理情報、45,94……処理結果、50……スピンユニット、70,100……スピン値観測部、71……インターバル保持部、72……書込み先保持部、73……長さ保持部、74……書込みカウンタ、75……処理部。   DESCRIPTION OF SYMBOLS 1,80 ... Information processing apparatus, 3 ... CPU, 6,82 ... Ising chip module, 8 ... Problem conversion program, 9, 81 ... Ising chip control program, 11 ... Observation result verification program, 12 ... ... constraints, 22 ... interaction clock generation unit, 23 ... random number generator, 24, 90 ... Ising chip, 30, 91 ... spin array, 34, 95 ... controller, 35 ... chip memory, 43 , 92... Observation results, 44, 93... Processing information, 45, 94... Processing results, 50... Spin unit, 70, 100... Spin value observation section, 71. First holding unit, 73... Length holding unit, 74... Writing counter, 75.

Claims (10)

問題の解をイジングモデルの基底状態として求める情報処理装置において、
前記問題を前記イジングモデルに変換する情報処理部と、
前記イジングモデルにおける各スピン間の相互作用を模擬するイジングチップと、
前記イジングモデルの一部又は全部の前記スピンにそれぞれ対応させて前記イジングチップに設けられ、それぞれ対応する前記スピンの値を取得する複数の第1のスピン値観測部と
を備え、
前記情報処理部は、
前記問題を前記イジングモデルに変換する際に得られた当該イジングモデルの各前記スピンが満たすべき制約条件と、各前記第1のスピン値観測部によりそれぞれ取得された前記イジングモデルの基底状態探索時における対応する各前記スピンの値とに基づいて、前記イジングモデルが前記問題の性質を正しく反映しているか否かを検証する
ことを特徴とする情報処理装置。
In an information processing device that obtains the solution of the problem as the ground state of the Ising model,
An information processing unit for converting the problem into the Ising model;
An Ising chip that simulates the interaction between spins in the Ising model;
A plurality of first spin value observation units that are provided in the Ising chip so as to respectively correspond to some or all of the spins of the Ising model, and that respectively obtain the corresponding spin values;
The information processing unit
At the time of searching the ground state of the Ising model acquired by each of the first spin value observation units, the constraint condition that each spin of the Ising model obtained when converting the problem into the Ising model An information processing apparatus that verifies whether or not the Ising model correctly reflects the nature of the problem on the basis of the corresponding spin values in FIG.
前記情報処理部は、
前記第1のスピン値観測部により取得された各前記スピンの値に基づいて、対応する前記スピンの値が前記制約条件を満たすか否かを判定し、
判定結果に基づいて、対応する前記スピンの値が所定の第1の時間内に前記制約条件を満たす割合を時系列に沿って順次算出し、
当該割合が収束するか否かに基づいて、前記イジングモデルが前記問題の性質を正しく反映しているか否かを検証する
ことを特徴とする請求項1に記載の情報処理装置。
The information processing unit
Based on the value of each spin acquired by the first spin value observation unit, it is determined whether or not the corresponding spin value satisfies the constraint condition,
Based on the determination result, sequentially calculate the ratio of the corresponding spin value satisfying the constraint condition within a predetermined first time along a time series,
The information processing apparatus according to claim 1, wherein the information processing apparatus verifies whether the Ising model correctly reflects the nature of the problem based on whether the ratio converges.
前記情報処理部は、
前記イジングチップを制御する制御部と、
前記イジングチップ内に設けられたコントローラとを備え、
前記制御部は、
前記問題を前記イジングモデルに変換すると共に、対応する前記スピンの値が前記制約条件を満たすか否かを判定する判定処理の処理内容を表す第1の処理情報を前記コントローラに送信し、
前記コントローラは、
前記イジングモデルの基底状態探索時に、前記第1のスピン値観測部により取得される対応する前記スピンの値と、前記第1の処理情報とに基づいて、当該スピンの値が前記制約条件を満たすか否かを判定し、
前記制御部は、
前記コントローラの判定結果に基づいて、対応する前記スピンの値が前記第1の時間内に前記制約条件を満たす割合を時系列に沿って順次算出し、
当該割合が収束するか否かに基づいて、前記イジングモデルが前記問題の性質を正しく反映しているか否かを検証する
ことを特徴とする請求項2に記載の情報処理装置。
The information processing unit
A control unit for controlling the Ising chip;
A controller provided in the Ising chip,
The controller is
Converting the problem into the Ising model, and transmitting to the controller first processing information representing processing contents of a determination process for determining whether or not the corresponding spin value satisfies the constraint condition;
The controller is
Based on the corresponding spin value acquired by the first spin value observation unit and the first processing information during the ground state search of the Ising model, the spin value satisfies the constraint condition. Whether or not
The controller is
Based on the determination result of the controller, the ratio of the corresponding spin value to satisfy the constraint condition within the first time sequentially calculated in time series,
The information processing apparatus according to claim 2, wherein whether or not the Ising model correctly reflects the nature of the problem is verified based on whether or not the ratio converges.
乱数パルスを発生する乱数発生器と、
前記イジングモデルの一部又は全部のスピンにそれぞれ対応させて前記イジングチップに設けられ、それぞれ対応する前記スピンの値を取得する複数の第2のスピン値観測部と
をさらに備え、
前記情報処理部は、
各前記第2のスピン値観測部によりそれぞれ取得された前記イジングモデルの基底状態探索時における対応する各前記スピンの値に基づいて前記スピンが平衡状態に達したか否かを断続的に判断し、前記スピンが平衡状態に達したと判断した場合に、前記乱数発生器における前記乱数パルスの発生頻度を制御する
ことを特徴とする請求項1に記載の情報処理装置。
A random number generator for generating a random number pulse;
A plurality of second spin value observation units provided on the Ising chip respectively corresponding to a part or all of the spins of the Ising model, each for acquiring the corresponding spin value;
The information processing unit
It is intermittently determined whether or not the spin has reached an equilibrium state based on the value of each corresponding spin at the time of ground state search of the Ising model acquired by each of the second spin value observation units. 2. The information processing apparatus according to claim 1, wherein when it is determined that the spin has reached an equilibrium state, the generation frequency of the random number pulse in the random number generator is controlled.
前記情報処理部は、
前記スピンごとに、一定時間内に当該スピンの値が所定値となる確率を断続的に算出すると共に、算出した前記スピンごとの当該確率の平均値を断続的に算出し、今回算出した当該平均値と、前回算出した当該平均値との差分が予め定められた第2の閾値を下回った場合に前記スピンが平衡状態に達したと判断する
ことを特徴とする請求項4に記載の情報処理装置。
The information processing unit
For each of the spins, the probability that the value of the spin becomes a predetermined value within a predetermined time is calculated intermittently, the average value of the calculated probability for each spin is calculated intermittently, and the average calculated this time 5. The information processing according to claim 4, wherein the spin is determined to have reached an equilibrium state when a difference between the value and a previously calculated average value falls below a predetermined second threshold value. apparatus.
問題の解をイジングモデルの基底状態として求める情報処理装置において実行される情報処理方法であって、
前記情報処理装置は、
前記イジングモデルにおける各スピン間の相互作用を模擬するイジングチップと、
前記イジングモデルの一部又は全部の前記スピンにそれぞれ対応させて前記イジングチップに設けられ、それぞれ対応する前記スピンの値を取得する複数の第1のスピン値観測部と
前記イジングチップを制御する情報処理部と
を有し、
前記情報処理部が、前記問題を前記イジングモデルに変換する第1のステップと、
前記情報処理部が、前記問題を前記イジングモデルに変換する際に得られた当該イジングモデルの各前記スピンが満たすべき制約条件と、各前記第1のスピン値観測部によりそれぞれ取得された前記イジングモデルの基底状態探索時における対応する各前記スピンの値とに基づいて、前記イジングモデルが前記問題の性質を正しく反映しているか否かを検証する第2のステップと
を備えることを特徴とする情報処理方法。
An information processing method executed in an information processing apparatus for obtaining a solution of a problem as a ground state of an Ising model,
The information processing apparatus includes:
An Ising chip that simulates the interaction between spins in the Ising model;
A plurality of first spin value observation units that are provided in the Ising chip so as to correspond to some or all of the spins of the Ising model, respectively, and that control the Ising chip. A processing unit, and
A first step in which the information processing unit converts the problem into the Ising model;
The information processing unit obtains a constraint condition to be satisfied by each spin of the Ising model obtained when the problem is converted into the Ising model, and the Ising acquired by each of the first spin value observation units. And a second step of verifying whether or not the Ising model correctly reflects the nature of the problem based on the corresponding spin values at the time of searching the ground state of the model. Information processing method.
前記第2のステップにおいて、前記情報処理部は、
前記第1のスピン値観測部により取得された各前記スピンの値に基づいて、対応する前記スピンの値が前記制約条件を満たすか否かを判定し、
判定結果に基づいて、対応する前記スピンの値が所定の第1の時間内に前記制約条件を満たす割合を時系列に沿って順次算出し、
当該割合が収束するか否かに基づいて、前記イジングモデルが前記問題の性質を正しく反映しているか否かを検証する
ことを特徴とする請求項6に記載の情報処理方法。
In the second step, the information processing unit
Based on the value of each spin acquired by the first spin value observation unit, it is determined whether or not the corresponding spin value satisfies the constraint condition,
Based on the determination result, sequentially calculate the ratio of the corresponding spin value satisfying the constraint condition within a predetermined first time along a time series,
The information processing method according to claim 6, wherein whether or not the Ising model correctly reflects the nature of the problem is verified based on whether or not the ratio converges.
前記情報処理部は、
前記イジングチップを制御する制御部と、
前記イジングチップ内に設けられたコントローラとを有し、
前記第2のステップでは、
前記制御部が、前記問題を前記イジングモデルに変換すると共に、対応する前記スピンの値が前記制約条件を満たすか否かを判定する判定処理の処理内容を表す第1の処理情報を前記コントローラに送信し、
前記コントローラが、前記イジングモデルの基底状態探索時に、前記第1のスピン値観測部により取得される対応する前記スピンの値と、前記第1の処理情報とに基づいて、当該スピンの値が前記制約条件を満たすか否かを判定し、
前記制御部が、前記コントローラの判定結果に基づいて、対応する前記スピンの値が前記第1の時間内に前記制約条件を満たす割合を時系列に沿って順次算出し、当該割合が収束するか否かに基づいて、前記イジングモデルが前記問題の性質を正しく反映しているか否かを検証する
ことを特徴とする請求項7に記載の情報処理方法。
The information processing unit
A control unit for controlling the Ising chip;
A controller provided in the Ising chip,
In the second step,
The control unit converts the problem into the Ising model, and sends to the controller first processing information indicating processing contents of a determination processing for determining whether or not the corresponding spin value satisfies the constraint condition. Send
When the controller searches for the ground state of the Ising model, the spin value is calculated based on the corresponding spin value acquired by the first spin value observation unit and the first processing information. Determine whether the constraint conditions are met,
Based on the determination result of the controller, the control unit sequentially calculates the ratio of the corresponding spin value satisfying the constraint condition within the first time along the time series, and whether the ratio converges The information processing method according to claim 7, wherein whether or not the Ising model correctly reflects the nature of the problem is verified based on whether or not the information is correct.
前記情報処理装置は、
乱数パルスを発生する乱数発生器と、
前記イジングモデルの一部又は全部のスピンにそれぞれ対応させて前記イジングチップに設けられ、それぞれ対応する前記スピンの値を取得する複数の第2のスピン値観測部と
をさらに有し、
前記第2のステップにおいて、前記情報処理部は、
各前記第2のスピン値観測部によりそれぞれ取得された前記イジングモデルの基底状態探索時における対応する各前記スピンの値に基づいて前記スピンが平衡状態に達したか否かを断続的に判断し、前記スピンが平衡状態に達したと判断した場合に、前記乱数発生器における前記乱数パルスの発生頻度を制御する
ことを特徴とする請求項6に記載の情報処理方法。
The information processing apparatus includes:
A random number generator for generating a random number pulse;
A plurality of second spin value observation units provided in the Ising chip in correspondence with some or all of the spins of the Ising model, respectively, for obtaining the corresponding spin values;
In the second step, the information processing unit
It is intermittently determined whether or not the spin has reached an equilibrium state based on the value of each corresponding spin at the time of ground state search of the Ising model acquired by each of the second spin value observation units. The information processing method according to claim 6, wherein, when it is determined that the spin has reached an equilibrium state, the generation frequency of the random number pulse in the random number generator is controlled.
前記第2のステップにおいて、前記情報処理部は、
前記スピンごとに、一定時間内に当該スピンの値が所定値となる確率を断続的に算出すると共に、算出した前記スピンごとの当該確率の平均値を断続的に算出し、今回算出した当該平均値と、前回算出した当該平均値との差分が予め定められた第2の閾値を下回った場合に前記スピンが平衡状態に達したと判断する
ことを特徴とする請求項9に記載の情報処理方法。
In the second step, the information processing unit
For each of the spins, the probability that the value of the spin becomes a predetermined value within a predetermined time is calculated intermittently, the average value of the calculated probability for each spin is calculated intermittently, and the average calculated this time 10. The information processing according to claim 9, wherein when the difference between the value and the previously calculated average value falls below a predetermined second threshold, it is determined that the spin has reached an equilibrium state. Method.
JP2017530537A 2015-07-29 2015-07-29 Information processing apparatus and method Active JP6496410B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/071485 WO2017017807A1 (en) 2015-07-29 2015-07-29 Information processing device and method

Publications (2)

Publication Number Publication Date
JPWO2017017807A1 true JPWO2017017807A1 (en) 2018-06-28
JP6496410B2 JP6496410B2 (en) 2019-04-03

Family

ID=57885404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017530537A Active JP6496410B2 (en) 2015-07-29 2015-07-29 Information processing apparatus and method

Country Status (2)

Country Link
JP (1) JP6496410B2 (en)
WO (1) WO2017017807A1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6935356B2 (en) * 2018-03-30 2021-09-15 株式会社日立製作所 Semiconductor devices, information processing systems, and information processing methods
JP6954245B2 (en) * 2018-09-13 2021-10-27 Jfeスチール株式会社 Processing order creation device and processing order creation method
JP7187972B2 (en) 2018-10-24 2022-12-13 富士通株式会社 Apparatus, method and program
CA3130883A1 (en) * 2019-02-22 2020-08-27 Kabushiki Kaisha Toshiba Information processing system, method for processing information and program
JP7185140B2 (en) 2019-04-11 2022-12-07 富士通株式会社 Optimization device and control method for optimization device
JP7323777B2 (en) 2019-06-18 2023-08-09 富士通株式会社 Optimization device and optimization method
JP2021131723A (en) 2020-02-19 2021-09-09 富士通株式会社 Information processing method, information processing device and program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140229705A1 (en) * 2004-12-23 2014-08-14 D-Wave Systems Inc. Analog processor comprising quantum devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140229705A1 (en) * 2004-12-23 2014-08-14 D-Wave Systems Inc. Analog processor comprising quantum devices

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
石井信: "カオスコンピュータ−カオスを利用する情報処理", COMPUTER TODAY, vol. 第16巻,第4号, JPN6015040337, 1 July 1999 (1999-07-01), JP, pages 22 - 29 *

Also Published As

Publication number Publication date
WO2017017807A1 (en) 2017-02-02
JP6496410B2 (en) 2019-04-03

Similar Documents

Publication Publication Date Title
JP6496410B2 (en) Information processing apparatus and method
JP5922203B2 (en) Semiconductor device
US9804827B2 (en) Information processing system and management apparatus
JP5865456B1 (en) Semiconductor device
JP5864684B1 (en) Semiconductor device
JP6605610B2 (en) Semiconductor device
EP3757899A1 (en) Neural architecture for self supervised event learning and anomaly detection
JP6503072B2 (en) Semiconductor system and calculation method
US10896241B2 (en) Information processing device and control method therefor
US10191880B2 (en) Semiconductor device and information processing device using the topology of an ising model
US20200293425A1 (en) Determining diagnostic coverage for memory using redundant execution
US9946513B2 (en) Semiconductor device and information processing system
JP6935356B2 (en) Semiconductor devices, information processing systems, and information processing methods
JP5894645B1 (en) Semiconductor device and quality control method thereof
JP6207584B2 (en) Information processing system and management apparatus
US9466346B2 (en) Semiconductor device and information processing device
US20230237342A1 (en) Adaptive lookahead for planning and learning
US9666252B2 (en) Semiconductor device for calculating an interaction model
Blanco-Pillado et al. A new parallel simulation technique
JP6207583B2 (en) Semiconductor device and information processing method
US10665280B2 (en) Information processing apparatus and semiconductor integrated circuit device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180119

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190308

R150 Certificate of patent or registration of utility model

Ref document number: 6496410

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150