JP7357795B2 - 情報処理方法および情報処理システム - Google Patents

情報処理方法および情報処理システム Download PDF

Info

Publication number
JP7357795B2
JP7357795B2 JP2022539922A JP2022539922A JP7357795B2 JP 7357795 B2 JP7357795 B2 JP 7357795B2 JP 2022539922 A JP2022539922 A JP 2022539922A JP 2022539922 A JP2022539922 A JP 2022539922A JP 7357795 B2 JP7357795 B2 JP 7357795B2
Authority
JP
Japan
Prior art keywords
spin
information processing
interaction
processing system
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022539922A
Other languages
English (en)
Other versions
JPWO2022024324A1 (ja
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 JPWO2022024324A1 publication Critical patent/JPWO2022024324A1/ja
Application granted granted Critical
Publication of JP7357795B2 publication Critical patent/JP7357795B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Complex Calculations (AREA)

Description

本発明は、情報処理方法および情報処理システムに関する。
特許文献1には、2次相互作用をもつイジングモデルの相互作用関係を2部グラフに表すことで基底状態探索を効率良く行う方法に関して記載されている。
非特許文献1には、バイナリ変数に対する高次の相互作用を、補助変数を導入することで2次の相互作用に書き直す方法に関して記載されている。
WO19/216277
E. Boros and A. Gruber, "On quadratization of pseudo-Boolean functions", International Symposium on Artificial Intelligence and Mathematics (2012).
物理現象や社会現象の多くは相互作用モデルによって表現することができる。相互作用モデルは、モデルを構成する複数のノード、ノード間の相互作用、ノード毎のバイアスにより定義される。物理学や社会科学では様々な数理モデルが提案されているが、それらは相互作用モデルの一形態として解釈することができる。例えば、各ノードが±1のバイナリ値を有するイジングモデルが代表例である。
イジングモデルの基底状態の探索は、イジングモデルのエネルギー関数を最小化するスピン配列を求める最適化問題である。イジングモデルの基底状態を探索する方法として、マルコフ連鎖モンテカルロ法によるものがある。マルコフ連鎖モンテカルロ法では、状態間を確率的に遷移させつつ状態のサンプリングを行うことで所望の統計量を推定する。
組合せ最適化問題をイジングモデルの基底状態の探索問題に変換すると、しばしば、変数間の相互作用関係が密な(各変数が他の変数のほとんど全てと結合した)高次の相互作用(3次以上の多項式として表される相互作用関係)が現れる。このような高次の相互作用をもつイジングモデルの基底状態探索にはいくつかの方法があるがそれぞれに課題が存在する。
まず、相互作用が密結合であるために、各変数について確率的な処理を同時に行うことができず、処理の高速化が困難である。また、密な2次相互作用をもつイジングモデルに対しては各変数に対する確率的な処理を同時に行う方法が提案されているが、高次の相互作用を2次の相互作用へ変換するには多くの補助スピンが必要であり、さらに、相互作用係数が増大して基底状態探索が困難となる。
本発明は、こうした背景を鑑みてなされたもので、高次の相互作用をもつイジングモデルの基底状態探索を効率良く行うことが可能な、情報処理システム及び情報処理方法を提供することを目的とする。
本発明の好ましい一側面は、情報処理システムを利用して、相互作用モデルの基底状態の探索を行う情報処理方法である。この方法では、前記相互作用モデルは、D次(Dは3以上の自然数)の多項式として表される相互作用関係を含む。また、前記相互作用関係を、それぞれN個のスピン(Nは自然数)を有するD個のスピン群により構成されたD部グラフ構造の相互作用関係に対応させる。また、第1~第Dスピン群のi番目のスピン(i=1~N)が基底状態において同じ値となるように、前記第1~第Dスピン群のi番目のスピンのすべての間に重みwを設定する。また、基底状態の探索を行うためにスピンの状態遷移を行う際に、前記第1~第Dスピン群のうち一つのスピン群のみを更新するように前記情報処理システムを動作させる。
本発明の好ましい他の一側面は、N個×D群のスピンの値(Nは自然数、Dは3以上の自然数)を夫々格納するN×D個のスピンメモリと、第1~第Dスピン群の一つのみを選択する選択信号ENを供給する供給線と、前記第1~第Dスピン群のi番目のスピン(i=1~N)の間に働く2次相互作用である重みwを格納する重みメモリと、前記第1~第Dスピン群の少なくともi,j,k番目のスピン(j,k=1~N)の間に働く3次以上の相互作用を示す相互作用係数Jを格納する相互作用係数メモリと、温度Tを供給する温度設定部と、前記選択信号ENが第dスピン群(d=1~D)を選択した場合、前記N×D個のスピンメモリから読み出した、第dスピン群のi番目のスピンの値と、第dスピン群以外のスピン群の複数のi番目のスピンの値を入力とし、前記重みw、前記相互作用係数J、および前記温度Tに基づいて、第dスピン群のi番目のスピンの値の次状態を計算する演算装置を有する、情報処理システムである。
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄、及び図面により明らかにされる。
本発明によれば、高次の相互作用をもつイジングモデルの基底状態の探索を効率良く行うことができる。上記以外の課題、構成及び効果は、以下の発明を実施するための形態の説明により明らかにされる。
イジングモデルのエネルギーランドスケープの概念図である。 イジングモデルの変数間の相互作用関係を完全グラフとして表したグラフ図である。 3次のイジングモデルにおいて、スピン間の相互作用関係を3部グラフとして表した図である。 情報処理システムの概略的な構成を示すブロック図である。 演算回路のブロック図である。 情報処理システムが備える主な機能を示す機能ブロック図である。 基底状態探索処理を説明するフローチャートである。 演算装置の詳細な構成例を示すブロック図である。 一つのユニットの回路構成例を示すブロック図である。
以下、実施の形態を図面にもとづいて詳細に説明する。尚、以下の説明において、同一の又は類似する構成に共通の符号を付して重複した説明を省略することがある。また同一あるいは同様の機能を有する要素が複数ある場合に同一の符号に異なる添字を付して説明することがある。また複数の要素を区別する必要がない場合は添字を省略して説明することがある。
実施例の一つの例である情報システムは、Nスピン(Nは自然数)をもつイジングモデルのd次(dは3以上の自然数)の相互作用関係を、それぞれNスピンを有したD個(Dは3以上の自然数)のスピン群により構成されたイジングモデルにおけるD部グラフ構造の相互作用関係に対応させ、前記第1~Dスピン群のi番目のスピン(i=1~N)が基底状態において同じ値となるように前記第1~dスピン群のi番目(i=1~N)のスピンのすべてペアの間に適当な2次相互作用を設定したエネルギー関数を記憶する記憶部と、前記エネルギー関数と前記スピン固有の情報にもとづき前記イジングモデルの基底状態を探索する基底状態探索部と、を備える。
まずイジングモデル(Ising Model)について説明する。イジングモデルは統計力学で磁性体を記述する格子モデルとして現れる。イジングモデルは、+1/-1や0/1などの2値をとる(イジング)スピンと呼ばれるバイナリ変数、及びスピン間の結合を表す相互作用係数を用いて定義される。D次の相互作用はスピンのd次の多項式で表現される。例えば、D=3次の相互作用は次式で表される。
Figure 0007357795000001
式1において、σi は i 番目の変数の値、Jijk はi、j、k番目のスピン間の相互作用係数を表す。一般にイジングモデルは無向グラフとして表現され、各相互作用項はそこに含まれるスピンの組で指定される。そのため、Jijkは添え字の入れ替えに対して値を変えず、2個以上の添え字が同じ値の場合には0であるような対称テンソルとなっている。式1ではi<j<kを満たすσi、σj、σの組み合わせについて相互作用の影響を求めている。
線形のバイアス項を含めた低次の相互作用は、例えば、値を1に固定したスピンを用いることで、より高次の相互作用の表式に書き直すことができる。そこで、以下では考えたいイジングモデルの相互作用の最大の次数をDとして、D次の相互作用項のみを考えることにする。このとき、イジングモデルのエネルギーは、スピン配列σを相互作用項に代入することで計算できる。
イジングモデルの基底状態の探索はイジングモデルのエネルギー関数を最小化するスピン配列を求める最適化問題である。本実施形態では、イジングモデルの基底状態の探索をマルコフ連鎖モンテカルロ法(以降、MCMC(Markov Chain Monte Carlo methods)と呼ぶ)により行う。
図1はイジングモデルのエネルギーランドスケープの概念図である。グラフの横軸はスピン配列、縦軸は系の全エネルギーである。確率的な遷移では、現在の状態σから、状態σの近傍のある状態σ’への確率的な遷移を繰り返す。状態σから状態σ’に遷移する確率のことを、以下、遷移確率P(σ,σ’)と称する。遷移確率P(σ,σ’)の例としてメトロポリス法(Metropolis method)によるものや熱浴法によるものがある。メトロポリス法における遷移確率P(σ,σ’)の算出式を次に示す。
Figure 0007357795000002
式2において、Tは一般に温度と呼ばれるパラメータであり、状態間の遷移のし易さを表す。
近傍の状態σ’を生成する方法としては、現在の状態σからひとつのスピンを変更する方法が一般的である。スピンをひとつずつ順番に変えていくことで、変数全体が取り得る状態について探索を行う。例えば、図1の場合、状態Aからひとつのスピンが反転すると状態Bとなり、更に一つの変数が反転すると状態Cとなる。
温度Tを大きな値から徐々に減少させつつMCMCを実行するとき、エネルギーが最も低い状態に漸近的に収束する。これを利用して最小化問題の最適解または近似解を求める手法として、シミュレーティッド・アニーリング(以下、SA(Simulated Annealing)と呼ぶ)がある。イジングモデルに対してMCMCやSAを適用する場合、式2にもとづきスピンの値を確率的に決定する。ここで結合しない複数のスピンについては式2にもとづく状態遷移を同時に適用することが可能である。そのため、結合しないスピンを並列して更新することで、MCMCやSAの処理の高速化を図ることが可能である。
図2は、イジングモデルの変数間の相互作用関係を完全グラフとして表したグラフ図であり、スピンの数を6とした場合における、イジングモデルの全スピン間の相互作用関係を表した完全グラフ(全結合グラフ)である。例えば、3次の相互作用の値は点線で結ばれる3つの変数の組から決定される。同様にD次の相互作用はD個の変数から決定される。
組合せ最適化問題をイジングモデルの基底状態の探索問題に変換すると、スピン間の相互作用関係は同図に示すような密結合となる。すなわち、個々の変数が他のほとんど全ての変数と結合する。そのため、各スピンの確率的な処理を同時に行うことはできず、MCMCやSAの処理の高速化を図ることは困難である。
逆に言えば、こうした密な相互作用関係を持つイジングモデルに対して、MCMCの要求する理論的背景を満たしつつ複数のスピンを同時に更新することができれば、MCMCやSAの処理の高速化を図ることが可能になる。実際、特許文献1では、2次相互作用をもつイジングモデルの相互作用関係を2部グラフに変換することで効率良く基底状態を求める方法が提案されている。高次の相互作用をもつイジングモデルに対しても、高次の相互作用を2次の相互作用をもつイジングモデルに変換することで特許文献1の方法が適用できるが、非特許文献1に記載されているようにそのような変換には多くの補助スピンが必要となり問題規模が大きくなる、また、相互作用係数が増大してSAによる基底状態探索が困難となるという課題が存在した。
こうした背景に鑑みて、本実施形態では、イジングモデルにおけるD次の相互作用関係をD部グラフに変換する方法により基底状態を求める。以下、この方法について説明する。例として、式1で表されるD=3の場合を示すが、D≧4でも同様な手続きが実施可能であり、修正が必要な箇所は説明する。
図3はD=3次の相互作用をもつイジングモデルの相互作用関係をD=3部グラフとして表した図である。図2に示すような完全グラフは、3部グラフに変換することが可能である。本例ではスピンの数を6としている。同図の左から順に第1スピン群、第2スピン群、第3スピン群と呼ぶ。第1スピン群のi番目のスピン、第2スピン群のj番目のスピン、第3スピン群のk番目のスピンの間には完全グラフ同様に相互作用Jijkが働く。第1~3スピン群のi番目(i=1~N)のスピンのすべてのペアの間に、図中太線で示す2次相互作用(重み)を導入する。以下、この2次相互作用の相互作用係数を-w(w≧0)とする。なお、図3では図面の制約上線が切断されているが、第1スピン群と第3スピン群の間にも、太線と細線で示す相互作用が働いている。すなわち第1~第3スピン群は円環状に接続されている。
相互作用係数wを充分に大きい値に設定すると、図3に示すイジングモデルの基底状態において、第1~3スピン群のi番目のスピン(変数)はすべて同じ値となる。wを次の式3を満たす値とすれば、基底状態において第1~3スピン群のi番目のスピンが同じ値になることが示せる。
Figure 0007357795000003
ここで、λ(x)は次の式4の行列M(x)の最大固有値である。
Figure 0007357795000004
ただし、x=±1(k=1~N)である。
基底状態において第1~3スピン群が同じ値と仮定する。第1~3スピン群のそれぞれのスピンの総数をNとし、基底状態における第1~3スピン群のi番目のスピンの値をs(i=1~N)とする。このとき、基底状態におけるイジングモデルのエネルギーHは、式5で表すことができる。
Figure 0007357795000005
つまり値s、・・・、sは、次に示す式6の解である。
Figure 0007357795000006
故にスピンs、・・・、sは、式1のイジングモデルのエネルギーを最小化するσ、・・・、σと捉えることができる。つまり、図3に示す3部グラフで表したモデルの基底状態における各列のスピン配列は、図2のように全結合の3次の相互作用をもつイジングモデルの基底状態と等しい。また図3に示すグラフは3部グラフであるので各スピン群の中でスピン間に結合を持たないので、MCMCを実行するときに各群のスピンは同時に値を更新することが可能であり、基底状態の探索を効率良く行うことができる。
以上の議論は、D=4の場合でも式3を次式7に、式4を次式8に置き換えることで同様に成立する。
Figure 0007357795000007
Figure 0007357795000008
式3や式7でwを評価しない場合でも、適当に十分大きなwをとれば任意のD次の相互作用に対して上の議論が成り立つ。
続いて、メトロポリス法によりスピンを更新する場合を考える。以下の説明では、第dスピン群(d=1~D)の各スピンの値をσ 、…、σ と表す。ここで第dスピン群のi番目のスピンの値σ を反転させたときのエネルギーHの差分ΔHは式9から求めることができる。
Figure 0007357795000009
ただし、d’=d+1 mod D=3、d”=d+2 mod D=3である。
前述したように、メトロポリス法において温度Tにおける状態遷移の受理確率(遷移確率)は式2で表される。従って、一様乱数u(0<u≦1)を用いると、状態遷移が受理される条件は次式で表すことができる。
Figure 0007357795000010
ここで状態遷移後に第dスピン群のスピンの値σ が+1となる場合を考える。まず状態遷移前の第dスピン群のスピンの値σ が+1ならば、ΔH>-T・ln(u)、つまり式9から、次式11が成り立つときに条件を満たす。
Figure 0007357795000011
同様に、状態遷移前の第dスピン群のスピンの値σ が-1ならばΔH≦-T・ln(u)、つまり式8から、次式12が成り立つときに状態遷移後に第dスピン群のスピンの値σ が+1となる。
Figure 0007357795000012
故に状態遷移前の第dスピン群のスピンの値σ に依らず、次式13を満たせば状態遷移後に第dスピン群のスピンの値σ が=+1となることがわかる。
Figure 0007357795000013
結局、メトロポリス法に従った状態遷移を実行するには、第dスピン群のスピンの値σ の次状態を次式から求めればよい。尚、次式14における関数sign(x)は、x≧0ならば+1、x<0ならば-1を返す関数である。
Figure 0007357795000014
ここで式14は、第dスピン群のある1つのスピンに着目し、このスピンの次状態をメトロポリス法に従って決定するための式である。また、式14は第dスピン群のスピンに関してi番目のスピンのみを含むので、第dスピン群の複数のスピンに対して式14は同時に適用することが可能である。
以上の議論は、式9~式14に含まれる3次の相互作用に関する和をD次の相互作用に関するものに置き換えることで、D次相互作用をもつイジングモデルにも適用できる。
図4は、式14にもとづいてイジングモデルの基底状態の探索を行う情報処理システムの一例である。同図に示すように、この情報処理システム10は、プロセッサ11、主記憶装置12、補助記憶装置13、入力装置14、出力装置15、通信装置16、一つ以上の演算装置20、及びこれらの装置を通信可能に接続するシステムバス5を備える。情報処理システム10は、例えば、その一部又は全部がクラウドシステム(Cloud System)により提供されるクラウドサーバ(Cloud Server)のような仮想的な情報処理資源を用いて実現されるものであってもよい。また情報処理システム10は、例えば、互いに協調して動作する、通信可能に接続された複数の情報処理システムによって実現されるものであってもよい。
プロセッサ11は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)を用いて構成されている。
主記憶装置12は、プログラムやデータを記憶する装置であり、例えば、ROM(Read
Only Memory)(SRAM(Static Random Access Memory)、NVRAM(Non Volatile RAM)、マスクROM(Mask Read Only Memory)、PROM(Programmable ROM)等)、RAM(Random Access Memory)(DRAM(Dynamic Random Access Memory)等)等である。
補助記憶装置13は、ハードディスクドライブ(Hard Disk Drive)、フラッシュメモリ(Flash Memory)、SSD(Solid State Drive)、光学式記憶装置(CD(Compact Disc)、DVD(Digital Versatile Disc)等)等である。補助記憶装置13に格納されているプログラムやデータは、随時、主記憶装置12に読み込まれる。
入力装置14は、ユーザから情報の入力を受け付けるユーザインタフェースであり、例えば、キーボード、マウス、カードリーダ、タッチパネル等である。
出力装置15は、ユーザに情報を提供するユーザインタフェースであり、例えば、各種情報を可視化する表示装置(LCD(Liquid Crystal Display)、グラフィックカード等)や音声出力装置(スピーカ)、印字装置等である。
通信装置16は、他の装置と通信する通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール、USB(Universal Serial Interface)モジュール、シリアル通信モジュール等である。
演算装置20は、イジングモデルの基底状態の探索に関する処理を実行する装置である。演算装置20は、例えば、GPU(Graphics Processing Unit)のように、情報処理システム10に装着する拡張カードの形態を取るものであってもよい。演算装置20は、例えば、CMOS(Complementary Metal Oxide Semiconductor)回路、FPGA(Field
Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)等のハードウェアによって構成される。演算装置20は、制御装置、記憶装置、システムバス5に接続するためのインタフェース等を含み、システムバス5を介してプロセッサ11との間でコマンドや情報の送受を行う。演算装置20は、例えば、通信線を介して他の演算装置20と通信可能に接続され、他の演算装置20と協調して動作するものであってもよい。演算装置20により実現される機能を、例えば、プロセッサ(CPU、GPU等)にプログラムを実行させることにより実現してもよい。
図5は、演算装置20の動作原理を説明する図であり、演算装置20を構成する回路(以下、演算回路500と称する。)のブロック図である。演算回路500は式14に相当する機能を実現する。以下、同図とともに演算装置20の動作原理について説明する。尚、以下の説明において、演算回路500が取り扱うイジングモデルのスピンの数をN、相互作用の次数をDで表す。
図5に示すように、演算回路500は、相互作用係数メモリ511、第dスピンメモリ512.d(d=1~D)、第1セレクタ513、第2セレクタ514、テンソル積演算装置515、積演算装置516、比較器517を含む。
相互作用係数メモリ511には、相互作用係数Ji,j,kを表す情報が格納される(三次の場合)。相互作用係数Ji,j,kは添え字について一般に対称テンソルであり、この対称性を用いてメモリ511の使用量を削減することができる。
第dスピンメモリ512.d(d=1~D)には、前述したD部グラフの第dスピン群の各スピンの状態を示すN次元ベクトルの情報が格納される。例えば、図3で示した3部グラフで3次の相互作用を扱う場合には、D=3である。図3の例では、一つのスピン群は6つのスピンを含むため、3つのスピンメモリ512はそれぞれ6次元ベクトルの情報を格納する。
図5に示すように、演算回路500には、信号EN、信号SW、及び信号SRが入力される。比較器517は信号SPを出力する。
信号ENは、D個の離散値を周期的に出力する信号であり、更新するスピン群を指定する。信号値がdのとき(d=1~D)、第1セレクタ513は第d’スピンメモリ512.d’(d’≠d)の値を全て出力する。第2セレクタ514は第dスピンメモリ512.dの値を出力する。信号ENは、直接的にはメモリを制御するドライバで供給される。制御方式はドライバのハードウェアで構成してもよいし、間接的には上位の制御装置によって制御してもよい。
信号SWは、N要素のベクトル(N次元ベクトル)を表す信号である。信号SWは、スピン群の対応するスピンの結合(図3の太線で示す)の強さを規定する係数を表す。
テンソル積演算装置515には、相互作用係数メモリ511に格納されている相互作用係数Jの値、信号SW、及び第1セレクタ513の出力が入力される。テンソル積演算装置515は式12及び式13の左辺の値を出力する。
積演算装置516は、第2セレクタ514からのベクトルの入力に対して、SRの入力値をかけた値を出力する。したがって、出力信号もN次元ベクトルである。
前述の通り、式12及び式13の左辺の値wは式3あるいは式7にもとづいて計算する。この計算は演算装置20の外部、たとえばプロセッサ11で行ってもよい。また、演算装置20内で計算してもよい。
信号SRは、各要素が互いに独立な乱数であるN次元ベクトルを表す。本例では各要素は温度Tと乱数-ln(u)/2を掛け合わせたものである。但しuは一様乱数(0<u≦1)である。
比較器517には、テンソル積演算装置515から出力されるN次元ベクトルと、積演算装置516から出力されるN次元ベクトルとが入力される。比較器517は、入力された各N次元ベクトルの対応する要素同士を比較し、比較した結果(要素同士の大小関係)を出力する。例えば、比較器517は、比較器517の2入力信号において、N次元ベクトルの1番目の要素を比較したとき、積演算装置516の信号の方が大きい場合は1を、小さい場合は-1を、比較器517の1番目の要素に設定する。2番目の要素以降も同様であり、N番目の要素まで設定が繰り返される。
比較器517から出力される信号SPは、前述したMCMCにもとづくスピンの次状態である。信号SPの情報は、信号ENの信号値がdであれば第dスピンメモリ512.dに書き込まれる。
図6に情報処理システム10が備える主な機能(ソフトウェア構成)を示している。同図に示すように、情報処理システム10は、記憶部600、モデル変換部611、相互作用係数設定部612、固有値計算部613、スピン値初期化部614、温度設定部615、相互作用演算実行部616、及びスピン値読出部617を備える。これらの機能は、プロセッサ11が、主記憶装置12に格納されているプログラムを読み出して実行することにより、もしくは、演算装置20が備えるハードウェアにより実現される。尚、情報処理システム10は、上記の機能に加えて、例えば、オペレーティングシステム、ファイルシステム、デバイスドライバ、DBMS(DataBase Management System)等の他の機能を備えていてもよい。
上記機能のうち記憶部600は、問題データ601、イジング形式問題データ602、及び演算装置制御プログラム603を、主記憶装置12又は補助記憶装置13に記憶する。問題データ601は、例えば、組合せ最適化問題等を所定の記述形式で記述したデータである。問題データ601は、例えば、ユーザがユーザインタフェース(入力装置、出力装置、通信装置等)を介して設定する。イジング形式問題データ602は、モデル変換部611が、問題データ601をイジングモデル形式のデータに変換することにより生成されるデータである。演算装置制御プログラム603は、相互作用演算実行部616が演算装置20を制御する際に実行する、もしくは相互作用演算実行部616が個々の演算装置20にロードして演算装置20に実行させるプログラムである。
モデル変換部611は、問題データ601をイジングモデル形式のデータであるイジング形式問題データ602に変換する。モデル変換部611の機能は必ずしも情報処理システム10に実装されていなくてもよく、情報処理システム10が、他の情報処理装置等で生成されたイジング形式問題データ602を入力装置14や通信装置16を介して取り込むようにしてもよい。
相互作用係数設定部612は、イジング形式問題データ602にもとづくイジングモデルの相互作用関係を前述した対称テンソルJを相互作用係数メモリ511に設定する。
スピン値初期化部614は、演算装置20の第dスピンメモリ512.d(d=1~D)に格納されている各スピンの値を初期化する。例えば、各スピンの値をいずれも50%の確率で「1」か「-1」に設定する。
温度設定部615は、相互作用演算実行部616がイジングモデルの基底状態の探索を行う際に用いる、式14における温度Tの値を設定する。
相互作用演算実行部616は、温度設定部615により設定された温度Tごとに、式14に従ってイジングモデルの基底状態を探索する演算(以下、相互作用演算と称する。)を行う。相互作用演算に際し、相互作用演算実行部616は、例えば、温度Tを高いほうから低いほうに向けて変化させる。相互作用演算は、例えば後述する専用のハードウェアからなる演算装置20で行うことができる。
スピン値読出部617は、相互作用演算実行部616によるイジングモデルの基底状態の探索が終了すると、第dスピンメモリ512.dに格納されているスピンの値を読み出し、読み出した値を出力装置15や通信装置16に出力する。
図7は、イジングモデルの基底状態の探索に際し情報処理システム10が行う処理(以下、基底状態探索処理S700と称する。)を説明するフローチャートである。以下、同図とともに基底状態探索処理S700について説明する。尚、以下において、符号の前に付している「S」の文字は処理ステップの意味である。基底状態探索処理S700は、例えば、入力装置14を介してユーザからの指示等を受け付けることにより開始される。
同図に示すように、まずモデル変換部611が、問題データ601をイジング形式問題データ602に変換する(S711)。記憶部600が既にイジング形式問題データ602を記憶している場合、当該処理S711は省略される。S711の処理と、S712以降の処理とは、それぞれを異なる装置で実行するようにしてもよい。またS711の処理と、S712以降の処理とを異なるタイミングで実行するようにしてもよい(例えば、S711の処理を事前に行っておくことが考えられる)。
続いて、相互作用係数設定部612が、相互作用係数メモリ511に値を設定する(S712)。メモリの値は、ユーザインタフェース(例えば、入力装置14、出力装置15、通信装置16等により実現される。)を介してユーザが設定又は編集することもできる。
続いて、固有値計算部613が、相互作用係数メモリ511に格納された相互作用係数から、相互作用係数から構築される行列の最大固有値を計算して、信号SWの値を決定する。前述の通り、この計算は演算装置20内またはプロセッサ11で実行してもよい(S713)。
続いて、スピン値初期化部614が、第dスピンメモリ512.d(d=1~D)に格納されている各スピンの値を初期化する(S714)。
続いて、温度設定部615が、式14の温度Tα(α=1,2,3,・・・)を設定する(S715)。尚、上記の添字αは設定される温度Tの種類を表す。
続いて、相互作用演算実行部616が、式14にもとづき相互作用演算を実行することにより次状態を生成する(S716)。
続いて、相互作用演算実行部616は、停止条件が成立したか否か(例えば、温度Tが予め設定された最低温度に達したか否か)を判定する(S717)。停止条件が成立したと相互作用演算実行部616が判定した場合(S717:YES)、処理はS718に進む。一方、停止条件が成立しないと相互作用演算実行部616が判定した場合(S717:NO)、処理はS716に戻る。
S718では、スピン値読出部617が、第dスピンメモリ512.d(d=1~D)に格納されているスピンの値を読み出して出力する。以上で基底状態探索処理S700は終了する。
図8は、演算装置20の詳細な構成例を示すブロック図であり、SRAMの技術を本実施例の演算回路500に適用した場合の回路構成例を示すブロック図である。複数のユニット808がアレイユニット807を構成している。このような構成は半導体製造技術を応用して製造可能である。
図9は、一つのユニット808の回路構成例である。一つのユニット808には、一つの変数σ を記憶するスピンメモリ901と、後述するスピンメモリ901の値を更新するための構成が含まれる。すなわち、ユニット808はD×N個準備される。
図8の構成例を、一般化されている図5の構成も参照しつつ説明する。相互作用係数メモリ511に格納されるデータは、モデル係数設定部801から設定される。相互作用係数メモリ511には、D次対称テンソルJが格納されるが、回路規模を縮小するために全てのユニット808で共通に用いられる。よって、相互作用係数メモリ511は、全てのユニット808に係数Jを供給するが、図8ではそのための信号線は省略している。なお、原理的には相互作用係数メモリ511を、各ユニット808が個々に備えてもよい。
重みメモリ803には重み設定部805で設定された重みwが格納される。図8ではユニット808に信号SWを供給する信号線は省略している。
温度設定部615から供給される温度信号TEは、全てのユニット808に供給される。温度信号の機能や構成は、従来技術を踏襲するものである。ユニット808に信号TEを供給する信号線は省略している。
相互作用ドライバ809は、図5で説明したように、D個あるスピン群から一つを選び、更新を許可する信号を各ユニット808に入力する。これにより、特定の一つのスピン群のスピンのみが同時に更新される。
SRAMインタフェース806は、SRAMの回路構成を応用して作成されたユニット808の変数を格納するスピンメモリ901に対して書き込みおよび読み出しを行う。演算回路500での処理終了後に読み出された変数は、変数値読出部802に送られる。変数値読出部802は、読み出した変数を出力することにより、問題の解を得る。
コントローラ804は、相互作用演算実行部616の指示により、演算回路500の初期化や処理の終了報告を行う。
図9は、一つのユニット808の回路構成例を示す図である。一つのユニットには、σ のいずれか一つを記憶するスピンメモリ901が含まれる。
差分計算回路902は、例えばd群のi番目のスピンを更新する場合、d群以外の群に含まれるi番目のスピンの値が入力される。例えば、3次の問題において、d群を更新する場合、d群以外のd’群、d”群のスピンの値が入力される。また相互作用係数メモリ511に格納されている相互作用係数Jの値、信号SWが入力される。
これらの変数ベクトルは、他のユニット808のスピンメモリ901からSRAMインタフェース806が読み出して生成する。また、係数である対称テンソルJが入力される。また、重みwが入力される。差分計算回路902は、これらの入力に対して式12及び式13の左辺の値を出力する。
サンプリング回路903には、差分計算回路902の出力、信号EN、信号SW、信号TE、および、スピンメモリ901の記憶する変数が入力される。そして、式14に基づいて変数の次状態の候補をサンプリングする。
次状態決定回路904は、サンプリング回路903から出力される一つないしは複数の候補に基づいて、変数の次状態を決定する。次状態決定回路904では、たとえば、過剰緩和法に従う場合には、サンプリング回路903から複数の候補を得ると、スピンメモリ901の直前の状態と逆となる候補を選択して次状態を決定する。決定された次状態はスピンメモリ901に格納される。
以上では、差分計算回路902、サンプリング回路903、次状態決定回路904は、FPGA等のハードウェアを想定したが、例えばユニット内に配置したGPUによりソフトウェア実装が可能である。このようにアレイ状のユニット808を備えることにより、並列的な変数の更新が可能となる。以上、詳細に説明したように、本実施形態の情報処理システム10によれば、イジングモデルの基底状態の探索を効率よく行うことができる。そのため、組合せ最適化問題を効率よく解くことができる。尚、情報処理システム10(演算装置20を含む)は、シンプルな構成であるので安価かつ容易に製造することができる。
以上、一実施形態について詳述したが、本発明は上記の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また上記実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また上記の各構成、機能部、処理部、処理手段等は、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また上記の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。例えば、実際には殆ど全ての構成が相互に接続されていると考えてもよい。
また以上に説明した情報処理システム10の各種機能部、各種処理部、各種データベースの配置形態は一例に過ぎない。各種機能部、各種処理部、各種データベースの配置形態は、情報処理システム10が備えるハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態に変更し得る。
また前述した各種のデータを格納するデータベースの構成(スキーマ(Schema)等)は、リソースの効率的な利用、処理効率向上、アクセス効率向上、検索効率向上等の観点から柔軟に変更し得る。
情報処理装置、演算装置、及び情報処理方法に利用することが可能である。
10 情報処理システム、
11 プロセッサ、
12 主記憶装置、
13 補助記憶装置、
14 入力装置、
15 出力装置、
16 通信装置、
20 演算装置、
511 相互作用係数メモリ、
512.d 第dスピンメモリ(d=1~D)、
513 第1セレクタ、
514 第2セレクタ、
515 テンソル積演算装置、
516 積演算装置、
517 比較器、
519 否定(NOT)回路、
600 記憶部、
601 問題データ、
602 イジング形式問題データ、
603 演算装置制御プログラム、
611 モデル変換部、
612 相互作用係数設定部、
613 固有値計算部、
614 スピン値初期化部、
615 温度設定部、
616 相互作用演算実行部、
617 スピン値読出部

Claims (15)

  1. 情報処理システムを利用して、相互作用モデルの基底状態の探索を行う情報処理方法であって、
    前記相互作用モデルは、D次(Dは3以上の自然数)の多項式として表される相互作用関係を含み、
    前記相互作用関係を、それぞれN個のスピン(Nは自然数)を有するD個のスピン群により構成されたD部グラフ構造の相互作用関係に対応させ、
    第1~第Dスピン群のi番目のスピン(i=1~N)が基底状態において同じ値となるように、前記第1~第Dスピン群のi番目のスピンのすべての間に重みwを設定し、
    基底状態の探索を行うためにスピンの状態遷移を行う際に、前記第1~第Dスピン群のうち一つのスピン群のみを更新するように前記情報処理システムを動作させる、
    情報処理方法。
  2. 前記情報処理システムは、
    N個×D群のスピンの値を夫々格納するN×D個のスピンメモリと、
    前記第1~第Dスピン群の一つのみを選択する選択信号ENを供給する供給線と、を備え、
    前記選択信号ENが第dスピン群(d=1~D)を選択した場合、前記N×D個のスピンメモリから読み出した、第dスピン群のスピンの値と、第dスピン群以外の複数のスピンの値に基づいて、第dスピン群のスピンの値の次状態を計算する、
    請求項1記載の情報処理方法。
  3. 前記情報処理システムは、
    前記相互作用関係を規定する相互作用係数Jを格納する相互作用係数メモリと、
    前記重みwを格納する重みメモリと、
    温度Tを供給する温度設定部と、を備え、
    前記相互作用係数J、前記重みw、前記温度Tを用いて、前記次状態を計算する
    請求項2記載の情報処理方法。
  4. 前記相互作用係数Jは対称テンソルであり、
    前記重みwが満足すべき条件は前記相互作用係数Jに依存して定められ、前記Dの値により変化する、
    請求項3記載の情報処理方法。
  5. シミュレーティッド・アニーリング法(simulated Annealing Method)のアルゴリズムに従って前記相互作用モデルの基底状態を探索し、
    前記探索において、状態間の遷移のし易さを表すパラメータである前記温度Tにおける状態遷移の受理確率Pをメトロポリス法(Metropolis method)にもとづき求める、
    請求項3記載の情報処理方法。
  6. N個×D群のスピンの値(Nは自然数、Dは3以上の自然数)を夫々格納するN×D個のスピンメモリと、
    第1~第Dスピン群の一つのみを選択する選択信号ENを供給する供給線と、
    前記第1~第Dスピン群のi番目のスピン(i=1~N)の間に働く2次相互作用である重みwを格納する重みメモリと、
    前記第1~第Dスピン群の少なくともi,j,k番目のスピン(j,k=1~N)の間に働く3次以上の相互作用を示す相互作用係数Jを格納する相互作用係数メモリと、
    温度Tを供給する温度設定部と、
    前記選択信号ENが第dスピン群(d=1~D)を選択した場合、前記N×D個のスピンメモリから読み出した、第dスピン群のi番目のスピンの値と、第dスピン群以外のスピン群の複数のi番目のスピンの値を入力とし、前記重みw、前記相互作用係数J、および前記温度Tに基づいて、第dスピン群のi番目のスピンの値の次状態を計算する演算装置を有する、
    情報処理システム。
  7. 前記演算装置は、前記スピンメモリに対応して配置される、
    請求項6記載の情報処理システム。
  8. 前記重みwは、前記第1~第Dスピン群のi番目のスピンが基底状態において同じ値となるように設定される、
    請求項6記載の情報処理システム。
  9. 前記演算装置は、前記スピンの値σ、前記重みw、および前記相互作用係数Jを変数として積和演算を実行する、
    請求項6記載の情報処理システム。
  10. 前記演算装置は、前記第dスピン群以外のスピン群の複数のi番目のスピンの値の和を演算し、該和と前記重みwの積を演算する第1の演算を行うテンソル積演算装置を含む、
    請求項9記載の情報処理システム。
  11. 前記テンソル積演算装置は、前記第dスピン群以外の相異なるスピン群のj番目のスピンの値とk番目のスピンの値の積を演算し、該積と前記相互作用係数Jの積を演算する第2の演算を行う、
    請求項10記載の情報処理システム。
  12. 前記テンソル積演算装置は、前記第1の演算の結果から前記第2の演算の結果を差し引く、
    請求項11記載の情報処理システム。
  13. 前記演算装置は、前記第dスピン群のi番目のスピンの値と前記温度Tの積を演算することにより、遷移条件を演算する積演算装置を含む、
    請求項12記載の情報処理システム。
  14. 前記演算装置は、前記テンソル積演算装置の出力と前記積演算装置の出力を入力とし、前記第dスピン群のi番目のスピンの値を決定する比較器を含む、
    請求項13記載の情報処理システム。
  15. D次の多項式として表される相互作用関係を含む相互作用モデルの基底状態の探索を行う、
    請求項14記載の情報処理システム。
JP2022539922A 2020-07-30 2020-07-30 情報処理方法および情報処理システム Active JP7357795B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/029336 WO2022024324A1 (ja) 2020-07-30 2020-07-30 情報処理方法および情報処理システム

Publications (2)

Publication Number Publication Date
JPWO2022024324A1 JPWO2022024324A1 (ja) 2022-02-03
JP7357795B2 true JP7357795B2 (ja) 2023-10-06

Family

ID=80037821

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022539922A Active JP7357795B2 (ja) 2020-07-30 2020-07-30 情報処理方法および情報処理システム

Country Status (2)

Country Link
JP (1) JP7357795B2 (ja)
WO (1) WO2022024324A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018533106A (ja) 2015-08-13 2018-11-08 ディー−ウェイブ システムズ,インコーポレイテッド 量子装置間の高次相互作用を生成および使用するためのシステムおよび方法
WO2019216277A1 (ja) 2018-05-08 2019-11-14 株式会社日立製作所 情報処理装置、演算装置、及び情報処理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018533106A (ja) 2015-08-13 2018-11-08 ディー−ウェイブ システムズ,インコーポレイテッド 量子装置間の高次相互作用を生成および使用するためのシステムおよび方法
WO2019216277A1 (ja) 2018-05-08 2019-11-14 株式会社日立製作所 情報処理装置、演算装置、及び情報処理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
小柳義夫,計算科学の発展,In: 計算科学講座 第10巻 超多自由度系の新しい科学, 笹井理生編,初版1刷,東京: 共立出版株式会社,2010年11月30日,pp.19-73
田中宗,アニーリングマシンの現状と課題:動作原理から応用探索まで,2019年電子情報通信学会基礎・境界ソサイエティ/NOLTAソサイエティ大会講演論文集,一般社団法人電子情報通信学会,2019年08月27日,pp.SS-45-SS-46

Also Published As

Publication number Publication date
JPWO2022024324A1 (ja) 2022-02-03
WO2022024324A1 (ja) 2022-02-03

Similar Documents

Publication Publication Date Title
JP6874219B2 (ja) 情報処理装置、演算装置、及び情報処理方法
JP7186797B2 (ja) 量子計算のための方法及びシステム
JP7007520B2 (ja) 情報処理装置、演算装置、及び情報処理方法
JP6925546B1 (ja) 演算システム、情報処理装置、および最適解探索処理方法
WO2019208564A1 (ja) ニューラルネットワーク学習装置、ニューラルネットワーク学習方法、プログラム
JP7357795B2 (ja) 情報処理方法および情報処理システム
CN114492815B (zh) 一种基于量子化学计算目标体系能量的方法、装置及介质
CN114528996B (zh) 一种目标体系试验态初始参数的确定方法、装置及介质
US11886780B2 (en) Optimization device, optimization device control method, and computer-readable recording medium recording optimization device control program
JP7398401B2 (ja) 最適化方法、情報処理装置及びそれを用いたシステム
JP7470019B2 (ja) 情報処理システム
JP7457325B2 (ja) 最適化装置、評価装置、それらの方法、およびプログラム
JP7444804B2 (ja) 制御方法およびサンプリング装置
AU2020465147B2 (en) Information processing system and optimal solution search processing method
JP2022094510A (ja) 最適化プログラム、最適化方法及び情報処理装置
US20230153376A1 (en) Optimization method, information processing device, and information processing system
JP2024049148A (ja) 情報処理方法、及び情報処理装置
WO2021084629A1 (ja) 演算回路、演算装置、情報処理装置およびイジングモデルの基底状態探索方法
JP2022158010A (ja) 情報処理システム、情報処理方法、及び情報処理プログラム
US20230267170A1 (en) Information processing system, information processing method, and non-transitory computer-readable recording medium for information processing program
WO2023021666A1 (ja) 情報処理装置、量子回路生成方法および量子回路生成プログラム
US20220012017A1 (en) Information processing device, information processing system, information processing method, and storage medium
Bulling Advancing quantum many-body simulations with improved quantum cluster algorithms and modern software development

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220915

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: 20230919

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230926

R150 Certificate of patent or registration of utility model

Ref document number: 7357795

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150