JP7444804B2 - 制御方法およびサンプリング装置 - Google Patents

制御方法およびサンプリング装置 Download PDF

Info

Publication number
JP7444804B2
JP7444804B2 JP2021022168A JP2021022168A JP7444804B2 JP 7444804 B2 JP7444804 B2 JP 7444804B2 JP 2021022168 A JP2021022168 A JP 2021022168A JP 2021022168 A JP2021022168 A JP 2021022168A JP 7444804 B2 JP7444804 B2 JP 7444804B2
Authority
JP
Japan
Prior art keywords
spin
interaction
group
variable
auxiliary
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
JP2021022168A
Other languages
English (en)
Other versions
JP2022124418A (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
Priority to JP2021022168A priority Critical patent/JP7444804B2/ja
Publication of JP2022124418A publication Critical patent/JP2022124418A/ja
Application granted granted Critical
Publication of JP7444804B2 publication Critical patent/JP7444804B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Description

本発明は、制御方法およびサンプリング装置に関する。非制限的な具体的な分野としては、2次式として表される相互作用関係を含むイジングモデルのボルツマン分布を対象として、マルコフ連鎖モンテカルロ法に基づいて、スピンの次状態をサンプリングするように情報処理装置を動作させる制御方法等に関する。
特許文献1には、「相互作用モデルの解を求めるための基本構成単位となる構成要素をアレイ状に配置した半導体装置を提供する。」、「相互作用モデルの1つのノードの状態を示す値を記憶する第1のメモリセルと、1つのノードに接続された他のノードからの相互作用を示す相互作用係数を記憶する第2のメモリセルと、第1のメモリセルの値を固定するためのフラグを記憶する第3のメモリセルと、他のノードの状態を示す値及び前記相互作用係数に基づいて、前記1つのノードの次状態を示す値を決定する第1の演算回路と、フラグの値に応じて前記次状態を示す値を第1のメモリセルに記録するか否かを決定する第2の演算回路と、を有するユニットを複数備える。」と記載されている。
非特許文献1、非特許文献2には、イジングモデルのボルツマン分布に対して、補助変数の多変量正規分布を掛け合わせることでサンプリングの実行しやすい確率分布関数を構成する方法である Gaussian integral trick に関して記載されている。
特開2016-51313号公報
J. Martens and I. Sutskever:"Parallelizable Sampling of Markov Random Fields", Conference on Artificial Intelligence and Statistics (2010). Y. Zhang, Z. Ghahramani, A. J. Storkey and C. A. Sutton:"Continuous Relaxations for Discrete Hamiltonian Monte Carlo", Advances in Neural Information Processing Systems (2012).
物理現象や社会現象の多くは、相互作用モデルによって表現することができる。この相互作用モデルは、モデルを構成する複数のノードと、ノード間の相互作用、さらに必要であればノード毎のバイアス(重み付け)で定義される。物理学や社会科学の分野においては種々のモデルが提案されているが、いずれも相互作用モデルの一形態として解釈することができる。
相互作用モデルの一つとしてイジングモデル(Ising Model)がある。イジングモデルとは、結晶を構成する原子の電子スピン(以下、単に「スピン」という)の集団的振る舞いを計算するシンプルなモデルであり、磁性体の説明に用いられる統計力学のモデルである。また、イジングモデルと等価なモデルとしてボルツマンマシン(Boltzmann Machine)があり、機械学習モデルとして利用される。
イジングモデルによる物理シミュレーションやボルツマンマシンの学習及び推論では、それらをエネルギー関数にもつボルツマン分布からのサンプリングが必要である。そのようなサンプリングを行う方法として、マルコフ連鎖モンテカルロ法によるものがある。マルコフ連鎖モンテカルロ法では、状態間を確率的に遷移させることで所望の確率分布を定常分布として実現する。
現実の物理現象や社会現象をイジングモデルに落とし込むと、スピン(ノードに対応する)間の相互作用は、密構造すなわち各スピンがその他の多くのスピンと結合した構造となる。そのため、マルコフ連鎖モンテカルロ法において、各スピンについて確率的な処理を同時に行うことはできず、処理の高速化が困難になるという課題がある。
本発明は、上記の課題に鑑みてなされたもので、イジングモデル及びボルツマンマシンのボルツマン分布からのサンプリングを効率良く行うことが可能な、制御方法およびサンプリング装置を提供することを目的とする。
上記目的を達成するための本発明の一の側面は、
スピン間の相互作用関係を含むイジングモデルのボルツマン分布を対象として、マルコフ連鎖モンテカルロ法に基づくスピンの次状態のサンプリングを行うように情報処理装置を動作させる制御方法であって、
前記イジングモデルに対するサンプリングを、N個(Nは自然数)の前記スピンσ=1~Nのうちの任意の数)からなるスピン群σと、各々の前記スピンσの向きを規定する連続変数として、前記N個の補助変数x=1~N)からなる第1補助変数群xおよび前記N個の補助変数y=1~N)からなる第2補助変数群yと、を備え、前記スピンσに対して全ての前記第1補助変数群xと全ての前記第2補助変数群yとが結線され相互作用関係を有する完全3部グラフ構造による相互作用モデルでのサンプリングにより代替し、
前記相互作用モデルの前記相互作用関係の値が、元の前記イジングモデルの相互作用関係及びその最小固有値で前記情報処理装置のメモリに設定され、
前記相互作用モデルにおいて状態遷移を行う際に、前記スピン群σ、前記第1補助変数群x、および前記第2補助変数群yの3つの変数群のうちの1つの群の全変数を一斉更新するように前記情報処理装置を動作させる、
制御方法として実現される。
上記目的を達成するための本発明の他の一の側面は、
スピン間の相互作用関係を含むイジングモデルのボルツマン分布を対象として、マルコフ連鎖モンテカルロ法に基づくスピンの次状態のサンプリングを行うために、
前記イジングモデルに対する統計量として、N個(Nは自然数)のスピンσ=1~Nのうちの任意の数)からなるスピン群σと、各々の前記スピンσの向きを規定する連続変数として、前記N個の補助変数x=1~N)からなる第1補助変数群xおよび前記N個の補助変数y=1~N)からなる第2補助変数群yと、を備え、前記スピンσに対して全ての前記第1補助変数群xと全ての前記第2補助変数群yとが結線され相互作用関係を有する完全3部グラフ構造による相互作用モデルでの遷移確率P(σ,σ’)を算出する算出部と、
前記算出部により算出された、前記スピン群σ、前記第1補助変数群x、および前記第2補助変数群yの3つの変数群のうちの1つの群の全変数を一斉更新する制御を行う変数制御部と、
を備えるサンプリング装置として実現される。
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄、及び図面により明らかにされる。
本発明によれば、イジングモデルのサンプリングを、並列処理により実行することができ、イジングモデルのボルツマン分布からのサンプリングを効率良く行うことができる。上記以外の課題、構成および効果は、以下の発明を実施するための形態の説明により明らかにされる。
イジングモデルにおけるエネルギーランドスケープの概念を説明する特性グラフである。 イジングモデルのスピン間の相互作用関係を完全グラフとして表したグラフ図である。 サンプリングを実行する相互作用モデルにおけるスピン群と補助変数群の相互作用関係を完全3部グラフとして表したグラフ図である。 本実施の形態における情報処理装置の概略的な構成を示すブロック図である。 図4中の演算部の詳細な構成を説明するブロック図である。 図4の情報処理装置が備える主な機能を示す機能ブロック図である。 図6に示すサンプリング処理を説明するフローチャートである。 演算装置の詳細な構成例を示すブロック図である。 一つのユニットの回路構成例を示すブロック図である。
以下、実施の形態を図面に基づいて詳細に説明する。なお、以下の説明において、同一のまたは類似する構成に共通の符号を付して重複した説明を省略することがある。また同一あるいは同様の機能を有する要素が複数ある場合に同一の符号に異なる添字を付して説明することがある。また複数の要素を区別する必要がない場合は添字を省略して説明することがある。
本発明を適用した実施形態としての情報処理装置は、概して、元のイジングモデルに対するサンプリングを、スピンと補助変数を接続した完全3部グラフ構造の相互作用関係を持つ相互作用モデルに対するサンプリングで代替し、相互作用モデルのエネルギー関数を記憶し、エネルギー関数とスピンと補助変数の情報に基づきマルコフ連鎖モンテカルロ法に従ってスピン及び補助変数を更新し、スピンの状態をサンプリングする装置である。
まず、イジングモデル(Ising Model)について説明する。イジングモデルは、磁性体の振舞いの説明に用いられる統計力学のモデルである。イジングモデルは、+1又は-1の2値をとるスピンσ(以下、「2値スピン」と称する場合がある)の状態及び当該スピン間での相互作用を示す相互作用係数を用いて定義される。イジングモデルのエネルギー関数H(σ)(一般にハミルトニアンと呼ばれる)は、次式で表わされる。
Figure 0007444804000001
かかる式1中、σはスピンの値を示すベクトル、hは当該スピンに働く外部磁場係数のベクトル、Jは相互作用係数(すなわち2つのスピン間で作用する力)を示す行列、σおよびhに添えられたTは転置を示す符号である。また、式1の右辺は、スピン間の相互作用に起因するエネルギーの総和を表す。
ここで、サンプリングの対象とするスピンの数がN個(Nは自然数)の場合、以下のように定義することができる。すなわち、上記の式1において、任意のi番目(i=1~Nのうちの任意の整数)のスピンの値をσ、任意のj番目(j=1~Nのうちi以外の整数)のスピンの値をσ、かかるi番目のスピンとj番目のスピンとの間の相互作用係数の行列をJi,j、i番目のスピンに働く外部磁場係数をhiと、各々表すことができる。また、上記の相互作用係数の行列(J)において、対角成分Ji、i(i=1~N)は0である。
以下、iとjを特に明記しない場合でも、式1および下記の種々の式は、上記iおよびjを含めることができることに留意されたい。
また、一般に、イジングモデルは無向グラフとして表現され、i番目のスピンからj番目のスピンへの相互作用と、j番目のスピンからi番目のスピンへの相互作用と、を区別することはなく、Ji,j=Jj,iである。
イジングモデルは、機械学習分野における人工ニューラルネットワークの一つであるボルツマンマシンと等価である。ボルツマンマシンでは、しばしば上記の2値スピンの値は(上述の+1/-1ではなく)、1/0の2値が使用される。このように、イジングモデル及びイジングモデルと等価なモデルは、物理学や機械学習などの諸分野で応用されている。
イジングモデルによる物理シミュレーションやボルツマンマシンの学習及び推論では、次の式2で表されるボルツマン分布p(σ)に従うスピンの統計量(スピンの値の分散値、確率、期待値など)の計算が行われる。
Figure 0007444804000002
式2において、Zσは分配関数とよばれる規格化因子であり、次の式3で表される。
Figure 0007444804000003
マルコフ連鎖モンテカルロ法(Markov Chain Monte Carlo methods、以下、「MCMC法」と略称する場合がある)は、所望の定常分布に収束するマルコフ鎖を構成する方法である。本実施形態では、かかるMCMC法に基づく動作を例えば電子計算機(本発明の情報処理装置)に実行させて、上記の式2に示すようなボルツマン分布p(σ)に基づいたサンプリングを行う。
図1は、イジングモデルのエネルギーランドスケープの概念を説明するためのグラフである。図1中、グラフの横軸は、スピンの向きないし配列を示し、縦軸は、系の全エネルギーを示す。確率的な遷移では、スピンは、現在の状態σから、該状態σの近傍のある状態σ’への確率的な遷移を繰り返す。スピン状態(スピンの値)が状態σから状態σ’に遷移する確率のことを、以下、遷移確率P(σ,σ’)と称する。
イジングモデルのボルツマン分布に対してMCMC法を適用する場合、遷移確率P(この例ではスピン状態の遷移確率P(σ,σ’))を求めるために、一般に、メトロポリス法(Metropolis method)、あるいは熱浴法(ギブスサンプリング)が用いられる。メトロポリス法(メトロポリス・ヘイスティングス法と呼ばれることもある)における遷移確率P(σ,σ’)の算出式を式4に示す。
Figure 0007444804000004
概して、メトロポリス法を用いた場合、上記電子計算機(情報処理装置)の動作の概要としては、N個のスピン(スピン群)における各々の初期状態(現状態)が設定されるとともに、各々のスピンの次状態候補を式4に従って算出し、かかる次状態候補の算出を繰り返し、適宜の時期に算出結果を出力(画面表示や印刷など)することになる。
いずれの方法を用いる場合でも、イジングモデルのボルツマン分布に対してMCMC法を適用する場合、N個のスピン(スピン群)の現状態(σ)に続いて出現する次状態(σ’)の統計値(確率あるいは期待値)を、予め規定された算術式に従って算出する。
以下に説明する本実施の形態では、メトロポリス法による上述の式4に基づき、スピンの値を確率的に決定する構成を前提とする。
なお、相互作用関係のない(すなわち互いに影響を及ぼさない)複数のスピン(例えば、結線を伴わない、言い換えると隣接しないスピン同士)については、式4に基づく状態遷移を同時に適用することが可能である。そのため、例えば、特許文献1に記載されているように、式4に基づく確率的処理を実現する回路を複数個用意し、非隣接の複数のスピンの値を並列して更新することで、MCMC法によるサンプリングを高速で行うことができる。
図2は、スピンの数を6とした場合における、イジングモデルの全スピン間の相互作用関係を表した完全グラフ(全結合グラフ)であり、図2中、個々のスピンに「1」~「6」の数字を付して示している。
現実の物理現象や社会現象をイジングモデルに落とし込もうとすると、スピン間の相互作用関係は、図2に示すような密構造(すなわち、個々のスピン(例えばスピン1)が他の多くのスピン(この例ではスピン2~6)と隣接する(結線を伴う)構造)となり、互いに影響を与えあう関係になる。そのため、各スピンの確率的な処理を同時に行うことはできず、MCMC法に基づく処理の高速化を図ることは困難である。
逆に言えば、こうした密の相互作用関係を持つイジングモデルに対して、MCMC法の要求する理論的背景を満たしつつ複数のスピン(図2に示す例ではスピン1~スピン6)を同時に更新することができれば、並列処理によるMCMC法を用いた処理を高速化することができる。
上述のような観点に基づき、本発明者らが鋭意研究の末に案出した本実施の形態では、元のイジングモデルのボルツマン分布に対するサンプリングを代替できる完全3部グラフの相互作用モデルを利用して、情報処理装置によるサンプリングの制御を実行する。以下、かかるサンプリングの方法、ひいては本発明における情報処理装置の制御方法について説明する。
非特許文献1、非特許文献2に記載されているように、ボルツマン分布に補助変数の多変量正規分布を掛け合わせて、MCMC法を実行すべき確率分布関数を代替する(いわば「すり替える」)方法は、Gaussian integral trickと呼ばれている。本実施の形態では、Gaussian integral trickを拡張して、補助変数群v∈(-∞, ∞)(i=1~N)の多変量正規分布と補助変数群si∈[-1, 1] (i=1~N)からなる確率分布関数を掛け合わせた、次の式5および式6で表される確率分布関数を考える。
Figure 0007444804000005
Figure 0007444804000006
式6において、行列Wは、正定値行列であり、より詳細には、行列J(式1を参照)の最小固有値-λと、正の定数εと、単位行列Iとを用いてW=J+(λ+ε)Iで定義される正定値行列である。また、規格化因子である分配関数Z(適宜、式3を参照)は、次の式7で表される関数である。
Figure 0007444804000007
式7に示すように、分配関数Zは、有限値をとるので、定義することが可能である。
そして、上述した式5に基づいてスピンの現在状態σのみに依存する統計量を計算すると、次の式8のように表される。
Figure 0007444804000008
式8は、スピンの現在状態σにのみ注目した場合、式5に対してサンプリングをした結果と式2に対してサンプリングした結果とが一致することを示している。したがって、スピンの現在状態σにのみ注目する場合には、式2に対するMCMC法を実行する代わりに、式5に対してMCMC法を実行してもよい。
さらに、式5に対して補助変数x=s+v、補助変数y=s-vとすると、次の式9のように表される。
Figure 0007444804000009
ここで|x+y|≦2(i=1~N)である。また、確率分布に寄与しない定数項は無視している。
式9は、スピンの現在状態σ、補助変数x、yに対する相互作用モデルのエネルギー関数を示している。さらに、この相互作用モデルの相互作用関係は、図3に示した完全3部グラフで表現される。図3に示すグラフでは、複数(図2に関連して6個)のスピンの現在状態を「スピン群σ」とし、各スピンに対する補助変数xの集合(この例では6個)を補助変数群xとし、各スピンに対する補助変数yの集合(同様に6個)を補助変数群yとして定義する。いわば、本来は一つのスピンに適用されるべきσ、x、yを、複数個(すなわち群)に適用するように代替(上述した「すり替え」)を行う。
上述の前提において、スピン群(の現在状態σ)及び2つの補助変数群(x、y)の内部には相互作用がない。したがって、図3に示す相互作用モデルのボルツマン分布に対してMCMC法に基づく動作を実行するとき、スピン群σ、補助変数群x、補助変数群yは、それぞれ値を一斉更新することが可能であり、かかる並列処理により、MCMC法を用いた処理を効率よく遂行することができる。
以上より、本実施形態では式2の代わりに、式9をエネルギー関数にもつボルツマン分布に対してMCMC法を用いた処理及びスピンのサンプリングを行う。
続いて、MCMC法に基づいたスピンσと補助変数x、yの更新方法を説明する。本実施の形態では、スピンσに対してはメトロポリス法を、補助変数x、yに対しては熱浴法を用いる。
まず、任意の一つのスピンσの更新(次状態への状態遷移)について考える。スピンσの向きを反転させた場合のエネルギーの差分ΔHは、次の式10から求めることができる。
Figure 0007444804000010
前述したように、メトロポリス法において状態遷移の受理確率(遷移確率)は、式4で表される。従って、一様乱数u(0<u≦1)を用いると、状態遷移が受理される条件は、次の式11で表すことができる。
Figure 0007444804000011
ここで、状態遷移後にスピンの値σが+1となる場合を考える。まず、状態遷移前のスピンの値σが+1であれば、式11からln(u)>-ΔHが成り立つ場合、すなわち次の式12が成り立つときに、条件を満たす。
Figure 0007444804000012
同様に、状態遷移前におけるスピンの値σが-1であれば、ln(u)≦-ΔHが成り立つ場合、すなわち次の式13が成り立つときに、状態遷移後にスピンの値σが+1となる。
Figure 0007444804000013
ゆえに、状態遷移前の値σに依らず、次の式14を満たす場合には、状態遷移後にスピンの値σが=+1となることがわかる。
Figure 0007444804000014
結局、メトロポリス法に従った(次状態への)状態遷移を実行するには、スピンの値σの次状態を、以下の式15に従って更新すればよい。なお、式15において、符号関数sgn(x)は、x≧0ならば+1、x<0ならば-1を返す関数である。また、式15中に示す「←」の符号は、次状態(式15ではスピンの値σの次状態)を示す矢印符号であり、この点、後述する式18および式19中に示す「←」の符号も同様である。
Figure 0007444804000015
次に、補助変数xの更新について考える。σ, yが与えられたときに、xの条件付き累積分布関数F(x|σ,y)は、以下の式16で表すことができる。
Figure 0007444804000016
式16において、αは、以下の式17で定義される。
Figure 0007444804000017
逆関数法に基づく熱浴法に従えば、一様乱数u(0<u≦1)として、F(x|σ、y)=uをxについて解くことにより、xの更新すべき値が求められる。すなわち、以下の式18に従って補助変数xを更新すればよい。
Figure 0007444804000018
また、補助変数yの更新についても同様に、σ, xが与えられたときに、以下の式19に従って更新すればよい。
Figure 0007444804000019
ただし、式19において、α’は、以下の式20で定義される。
Figure 0007444804000020
図4は、上述した式15、式17、及び式19に示したサンプリング方法を実施するための、情報処理装置の構成例である。図4に示す情報処理装置10は、本発明の「サンプリング装置」に対応する装置であって、プロセッサ11、主記憶部12、補助記憶部13、操作入力部14、出力部15、通信部16、一つ以上の演算部20、及びこれら各部を通信可能に接続するシステムバス5を備える。
情報処理装置10は、例えば、その一部または全部がクラウドシステム(Cloud System)により提供されるクラウドサーバ(Cloud Server)のような仮想的な情報処理資源を用いて実現されるものであってもよい。また、情報処理装置10は、例えば、互いに協調して動作する、通信可能に接続された複数の情報処理装置によって実現されるものであってもよい。
プロセッサ11は、情報処理装置10の全体(上記各部)の制御を司る役割を担うものであり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)を用いて構成される。本発明(サンプリング装置)との関係では、プロセッサ11は、後述するN個の変数メモリ901内に格納ないし更新される変数(スピン群σ、第1補助変数群x、および第2補助変数群yの3つの変数群のうちの1つの群の全変数)を一斉更新する制御を行う「変数制御部」としての役割を担う。
主記憶部12および補助記憶部13は、主としてプロセッサ11および後述する演算部20により実行されるプログラム、使用される各種データ等を記憶する装置(ハードウエア記憶媒体)である。
このうち、主記憶部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は、主記憶部12よりも大きなデータ記憶容量を有する種々の記憶媒体、例えば、ハードディスクドライブ(Hard Disk Drive)、フラッシュメモリ(Flash Memory)、SSD(Solid State Drive)、CD(Compact Disc)あるいはDVD(Digital Versatile Disc)等の光学式記憶装置などである。
なお、補助記憶部13に格納されているプログラムやデータは、随時、主記憶部12に読み込まれる。
本発明との関係において、主記憶部12あるいは補助記憶部13は、後述する「変数メモリ」、「相互作用係数メモリ」、「外部磁場係数メモリ」などの種々のメモリとしての機能を担うこともできる。また、補助記憶部13は、情報処理装置10によるサンプリングの結果(後述するN個の変数メモリ901内の値)を蓄積し、任意の時期に出力する「出力部」の一部として機能することもできる。
操作入力部14は、ユーザから情報の入力を受け付けるユーザインターフェースであり、例えば、キーボード、マウス、カードリーダ、タッチパネル等である。
出力部15は、ユーザに情報を提供するユーザインターフェースであり、例えば、各種情報を可視化するLCD(Liquid Crystal Display)あるいはグラフィックカードなどの表示装置、スピーカなどの音声出力装置、プリンタなどの印字装置等である。かかる出力部15は、情報処理装置10によるサンプリングの結果を、指定されたタイミング(例えば、上記のユーザインターフェースを用いて予め設定された時間間隔毎)で出力する役割を担う。
通信部16は、他の装置と通信する通信インターフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール、USB(Universal Serial Interface)モジュール、シリアル通信モジュール等である。本発明との関係では、通信部16も上述した「出力部」の役割を担うことができる。
本実施の形態の情報処理装置10において、演算部20は、上述したサンプリングに関する処理を実行する装置(ハードウエア・デバイス)である。演算部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により実現される機能を、例えば、プロセッサ(CPU、GPU等)にプログラムを実行させることにより仮想的に実現してもよく、この場合、図4に点線で模式的に示すように、当該処理が呼び出される毎に実行される(起動する動作を行う)ことになる。
図5は、演算部20がGPUなどのハードウェア資源で構成される場合の動作原理を説明する図であり、演算部20を構成する回路の一具体例を示すブロック図である。
同図に示すように、演算部20は、相互作用係数メモリ511、外部磁場係数メモリ512、スピンメモリ513、第一補助変数メモリ514、第二補助変数メモリ515、積和演算装置516、数学関数演算装置517を含む。
本発明との関係において、演算部20は「算出部」に、積和演算装置516は「積和演算部)」に、数学関数演算装置517は「数学関数演算部」に、それぞれ対応する。
かかる構成の演算部20は、上記「算出部」として機能する際に、上述した式15、式17、及び式19に相当する機能を実現する。以下、図5を参照して、演算部20の動作原理について説明する。なお、以下の説明において、演算部20が取り扱うスピンの数をNで表す。
演算部20の相互作用係数メモリ511には、相互作用行列W(式15を参照)を表す情報が格納される。相互作用行列は、一般に対称行列であり、かかる対称性を利用することにより、相互作用係数メモリ511の使用量を削減ないし最小限化することができる。
外部磁場係数メモリ512には、ベクトルh(式15を参照)を表す情報が格納される。
スピンメモリ513には、前述した完全3部グラフのスピンσの各スピンの状態を示すN次元ベクトルの情報が格納される。第一補助変数メモリ514と第二補助変数メモリ515には、それぞれ、前述した完全3部グラフの補助変数xと補助変数yの状態を示すN次元ベクトルの情報が格納される(図3参照)。
図5に示すように、演算部20には、信号TS及び信号SRが入力される。演算部20の数学関数演算装置517は、かかる信号TS及び信号SRと、上述した外部磁場係数メモリ512から読み出されたデータ(ベクトルhを表す情報)と、後述する積和演算装置516の出力データ(演算値)とを入力し、これら入力データに基づいて、信号SPを出力する。
上記のうち、信号TSは、整数1~3に対応した3値を周期的に繰り返す信号であり、式15、式17、及び式19のどの演算を実行するかを指定する。言い換えると、信号TSは、上述した3つの値(スピンσ、補助変数x、補助変数y)のうちの何れの値を更新するかを指定する信号である。非制限的な一具体例では、信号TSは、式15の演算を実行する場合は整数1、式17の演算を実行する場合は整数2、および、式19の演算を実行する場合は整数3を出力する。
信号SRは、各要素が互いに独立な乱数であるN次元ベクトル(すなわち演算部20が取り扱うスピンの数分の次元のベクトル)を表す信号である。
前述のとおり、相互作用行列Wの非対角要素は、行列J(適宜、式1を参照)により、対角要素は行列Jの最小固有値により設定される。かかる最小固有値の計算は、演算部20の外部、例えばプロセッサ11(図4を参照)で行ってもよく、あるいは、図5中に示す演算部20内の積和演算装置516で算出してもよく、いずれの場合でも比較的容易(迅速)に行うことができる。最小固有値は、例えば、べき乗法などの一般に知られたアルゴリズムを用いて効率的に算出することが可能であり、この場合、行列・ベクトル積を繰り返し実行することになるため、積和演算装置516を活用するとよい。
図5に示すように、本実施の形態における積和演算装置516は、相互作用係数メモリ511から読み出された値、スピンメモリ513から読み出された値、第一補助変数メモリ514から読み出された値、第二補助変数メモリ515から読み出された値、および信号TS(いずれか一の値の更新を許可する信号)を入力する。そして、積和演算装置516は、これら5つの入力に基づく値を算出し、該算出値を数学関数演算装置517に出力する。
より具体的には、上述した式15、式17、及び式19(式19に関連する式20も参照)は、行列Wとベクトルの積和演算をそれぞれ含んでいる。したがって、積和演算装置516は、上述した各々のメモリ(511、513、514、515)から読み出された値を、信号TSにより指定された式(式15、式17、あるいは式19)に適用して演算を実行し、かかる演算の算出値を数学関数演算装置517に出力する。
さらに、式15、式17(関連する式18も参照)、及び式19は、積和演算の出力や一様乱数u(0<u≦1)などのスカラーに対する指数関数、対数関数、符号関数などの数学関数を含んでいる。本実施の形態では、これらの数学関数についての演算が数学関数演算装置517によって実行される。
より具体的には、数学関数演算装置517は、積和演算装置516による演算の出力値(積和演算の出力)、N次元ベクトル(演算部20が取り扱うスピンの数分の次元のベクトル)を表す信号SR、および外部磁場係数メモリ512から読み出されたベクトルhの情報(式15を参照)を、信号TSにより指定された式(式15,式17,あるいは式19)に適用して演算を実行し、かかる演算の算出値を信号SPとして出力する。かかる構成によれば、数学関数演算装置517から出力される出力値(信号SP)は、上述したMCMC法に従って更新されたスピン(σ)または補助変数(x、y)の値となる。本実施の形態では、数学関数演算装置517から出力される出力値(信号SP)は、図6等で後述するスピン値読出部615に出力される。
加えて、式15、式17、及び式19が、変数の添え字i(i=1~N)に対して独立であることから、演算部20による演算は、添え字iについて独立に実行可能である。他の観点からは、図4および図5で説明したような演算部20を情報処理装置10に複数設け、かかる複数の演算部20によって(例えば式15、式17、および式19に従った演算を)並列的に実行することにより、MCMC法に基づく動作(処理)の高速化が実現する。
次に、情報処理装置10のさらなる詳細ひいては変形例等について説明する。
図6は、情報処理装置10が備える主な機能(ソフトウェア構成)を示している。同図に示すように、情報処理装置10は、記憶部600、モデル係数設定部611、固有値計算部612、変数値初期化部613、相互作用演算実行部614、及びスピン値読出部615を備える。
これらの機能は、図4で上述したプロセッサ11が、主記憶部12に格納されているプログラムを読み出して実行することにより、もしくは、演算部20が備えるハードウェアにより実現される。なお、情報処理装置10は、上記の機能に加えて、例えば、オペレーティングシステム、ファイルシステム、デバイスドライバ、DBMS(DataBase Management System)等の他の機能を備えていてもよい。
図6に示す各部(各機能)のうち、記憶部600は、イジング形式問題データ601、及び演算装置制御プログラム602を、図4で上述した主記憶部12または補助記憶部13に記憶する。
ここで、イジング形式問題データ601は、磁性体モデルや機械学習モデルを所定の記述形式(例えば、公知のプログラミング言語)で記載または入力したデータである。かかるイジング形式問題データ601は、例えば、ユーザがユーザインターフェース(入力装置、出力装置、通信装置等)を介して作成し、情報処理装置10の上述した記憶媒体に格納ないし設定することができる。
一方、演算装置制御プログラム602は、相互作用演算実行部614が演算部20を制御する際に実行する、もしくは相互作用演算実行部614が個々の演算部20にロードして演算部20に実行させるプログラムである。
モデル係数設定部611は、イジング形式問題データ601に基づくイジングモデルの相互作用行列Wを相互作用係数メモリ511に、外部磁場係数を表すベクトルhを外部磁場係数メモリ512に、それぞれ設定する(適宜、図8も参照)。
変数値初期化部613は、演算部20のスピンメモリ513、第一補助変数メモリ514、及び第二補助変数メモリ515に格納されている値を初期化する設定を行う。例えば、スピンの値(σ)を50%の確率で+1または-1に初期化し、補助変数の値(x、y)を-1~+1の一様乱数に初期化するように、それぞれ設定する。
相互作用演算実行部614は、上述した式15、式17、及び式19に従った演算、すなわち相互作用モデルに対してMCMC法に従った状態更新のための演算(以下、「相互作用演算」と称する)を行う。
スピン値読出部615は、相互作用演算実行部614によって一定回数(予め定められた所定回数)のモンテカルロステップ(MCステップ)が実行された場合に、スピンメモリ513に格納されているスピンの値を読み出し、該読み出されたスピンの値を出力部15や通信部16に出力することで、サンプリングを実行する(適宜、図8も参照)。
図7は、イジングモデルのボルツマン分布に対するサンプリングに際し情報処理装置10が行うサンプリング処理を説明するフローチャートである。以下、図1、図4および図7に示すフローチャート(処理ステップS711~S717)を参照して、サンプリング処理の手順の一例について説明する。図7に示すサンプリング処理は、例えば、図4で上述した操作入力部14を介してユーザからの指示等を受け付けることにより開始される。
サンプリング処理の実行にあたり、まず、モデル係数設定部611が、相互作用係数メモリ511および外部磁場係数メモリ512に、各々の値(モデル係数)を設定する(ステップS711)。なお、これらメモリ511,512のモデル係数の値は、ユーザインターフェース(例えば、操作入力部14、出力部15、通信装置16等により実現される)を介してユーザが設定または編集することもできる。
続くステップS712では、固有値計算部612が、相互作用係数メモリ511に格納された行列Jの最小固有値を計算して、相互作用行列Wの対角要素を算出(決定)し、該決定された対角要素(対角成分)を相互作用係数メモリ511に格納(設定)する。前述の通り、この計算は、演算部20内またはプロセッサ11で実行されることができる。
続いて、変数値初期化部613が、スピンメモリ513、第一補助変数メモリ514、及び第二補助変数メモリ515に格納されている値を初期化する(ステップS713)。
続いて、相互作用演算実行部614が、式15、式17、及び式19に基づき相互作用演算を実行することにより、スピンメモリ513、第一補助変数メモリ514、及び第二補助変数メモリ515の値を更新する(ステップS714)。
続いて、相互作用演算実行部614は、サンプリング実行条件が成立したか否か(例えば、相互作用演算を既定の回数だけ実行したか否か)を判定する(ステップS715)。サンプリング実行条件が成立したと相互作用演算実行部614が判定した場合(ステップS715:YES)、処理はステップS716に進む。一方、サンプリング実行条件が成立しない(ここでは相互作用演算の実行回数が未だ規定回数に達していない)と相互作用演算実行部614が判定した場合(ステップS715:NO)、処理はステップS714に戻る。
続いて、スピン値読出部615が、スピンメモリ513に格納されているスピンの値を読み出して、サンプリングの結果として記憶する(ステップS716)。かかるサンプリングの結果は、図4の補助記憶部13に記憶(データ格納)される。
続いて、スピン値読出部615は、既定の回数のサンプリングを実行したか否かを判定することにより、処理を終了させるか否かを判断する(ステップS717)。かかる判定の結果、未だ既定の回数のサンプリングが実行されていない場合(ステップS717:NO)、処理を続行すべく、ステップS714の処理に戻る。一方、既定の回数サンプリングが実行されていた場合(ステップS717:YES)、サンプリング処理を終了させるものと判断し、上述した一連の処理(ステップS711~S717)を終える。
図8は、演算部20のより詳細な構成例を示すブロック図であり、SRAMの技術を本実施例の演算部20に適用した場合の回路構成例を示すブロック図である。
図8に示す例では、演算部20は、図5で上述した相互作用係数メモリ511および外部磁場係数メモリ512の他に、アレイユニット802、相互作用ドライバ803、SRAMインターフェース804、およびコントローラ805を備える。
上記各ブロックのうち、まずはアレイユニット802の構成を概説する。アレイユニット802は、任意の一のスピンに関する値の演算および記憶を行うための演算プロセッサおよびメモリを有するユニット801(適宜、図9を参照)がマトリクス状に複数個(詳細にはN行(スピンの数)×3列(係数の数)=3N個)配列された構成を備える。このようなアレイユニット802の構成は、半導体製造技術(例えばSRAMの技術)を応用して製造することができる。
図9は、図8のアレイユニット802をなす複数(この例では3N個)のユニットのうちの一個のユニット801における回路構成の一例を示すブロック図である。図9に示すように、ユニット801には、一つのスピン(σ)または補助変数xまたは補助変数yのうちのいずれか一つを記憶する変数メモリ901と、変数メモリ901の値を更新するための構成(積和演算装置516および数学関数演算装置517)を備える。図9に示すようなユニット801の回路構成は、SRAMの回路構成を応用して作成することができる。なお、積和演算装置516、数学関数演算装置517、および図9に示す回路の動作等の詳細については後述する。
図8の構成例の説明に戻る。図8中、相互作用ドライバ803は、図5で上述した信号TSを出力する主体となるハードウェア(いわば信号生成部)であり、一具体例では、3N個のユニット801(各々のプロセッサ)に対して一度に同一の信号TSを出力する。相互作用ドライバ803のさらなる詳細は後述する。
また、本実施の形態において、図5および図8に示す相互作用係数メモリ511に格納されるデータは、図6で上述したモデル係数設定部611(図8も参照)によって設定される。すなわち、相互作用係数メモリ511には、イジング形式問題データ601(適宜、図6を参照)に基づくイジングモデルの相互作用行列Wが格納される。
図8に示す構成例では、この相互作用係数メモリ511は、演算部20全体の回路規模を縮小するために、全てのユニット801で共通に用いられる。したがって、相互作用係数メモリ511は、アレイユニット802の全てのユニット801に係数Wを供給するが、図8ではそのための信号線の図示を省略している。なお、原理的には、相互作用係数メモリ511は、各ユニット801が個々に備える構成としてもよい。
相互作用ドライバ803は、図5で説明した信号TS、すなわち3つの値(スピンσ、補助変数x、補助変数y)のうちの何れの値を更新するかを指定する信号TSを出力する。詳細には、図8に示す構成例では、相互作用ドライバ803は、信号TSとして、スピン(σ)の群及び補助変数(x、y)の三つの群から一つの群を指定(選択)し、該選択された一つの群の更新を許可する信号TSを送出する。そして、相互作用ドライバ803から送出された信号TSは、アレイユニット802の各ユニット801に入力される。かかる信号TSの入力により、特定の一つの群(すなわち、スピンσの群、または補助変数xの群、あるいは補助変数yの群のうちの何れかの群)のみが、アレイユニット802内で一斉に更新される。
総じて、相互作用ドライバ803は、本発明の「選択信号供給部」に対応する。すなわち、相互作用ドライバ803は、アレイユニット802内に格納されたN個の変数(すなわち各々のユニット801の変数メモリ901に記憶された変数の値)を一斉更新する際に、スピン群σおよび補助変数群x、yのうちの一つの群を選択(指定)して各々(N個)の変数メモリ901内の値の更新方法を選択する信号TSを、アレイユニット802に供給する。
かかる動作を行う本実施の形態の情報処理装置10(サンプリング装置)によれば、イジングモデルのボルツマン分布のサンプリングを、並列処理により効率的に実行することができる。
図8および図9に参照されるように、演算部20のSRAMインターフェース804は、アレイユニット802の各々のユニット801の各ブロック(すなわち積和演算装置516、数学関数演算装置517、および上述した変数メモリ901)に接続され、かかるユニット801に対して、データの書き込みおよび読み出しを行う。また、SRAMインターフェース804は、アレイユニット802により演算されたスピンの値を信号SPとしてスピン値読出部615に出力する。かくして、アレイユニット802での処理終了後に、SRAMインターフェース804によって読み出されたスピンの値は、スピン値読出部615に送られる。スピン値読出部615は、SRAMインターフェース804から入力されたスピンの値を適宜記憶(蓄積)および表示部等の外部装置に出力することによって、サンプリングの結果を出力する。
演算部20のコントローラ805は、相互作用演算実行部614の指示により、演算部20の初期化や処理の終了報告を行う。
次に、一つのユニット801の回路構成例を、主に図9を参照して説明する。上述のように、個々のユニット801は、スピンσ、補助変数x、補助変数yのいずれか一つを記憶する変数メモリ901を備える。また、ユニット801は、変数メモリ901の値を更新するための構成(演算部ないし演算プロセッサ)として、積和演算装置516および数学関数演算装置517を備える。
このうち、積和演算装置516は、上述したSRAMインターフェース804から供給される変数ベクトル(すなわち(x、y)、(σ、y)、(σ、y)のいずれか)、および相互作用係数Wの値を入力し、かかる入力値に基づく積和演算を実行し、当該演算結果の値を数学関数演算装置517に供給する。
一方、数学関数演算装置517は、積和演算装置516から供給される演算結果の値、上述したN次元ベクトルを表す信号SR、および(外部磁場係数メモリ512から供給される)ベクトルh(式15を参照)を表す情報を入力し、かかる入力に基づく数学関数演算を実行し、当該演算結果の値を変数メモリ901に供給する。
より具体的には、一のユニット801の積和演算装置516には、変数メモリ901が属している群(現在格納している一の群)以外のスピン群及び変数群の値(上述した変数ベクトル)が入力される。これらの変数ベクトルは、他のユニット801の変数メモリ901からSRAMインターフェース804が読み出すことによって、生成(すなわち当該一のユニット801の積和演算装置516に供給)される。また、一のユニット801の積和演算装置516には、相互作用係数メモリ511(適宜、図8を参照)に格納されている相互作用係数Wの値が入力される。
一方、数学関数演算装置517には、上述した積和演算装置516による演算結果(出力値)、外部磁場係数メモリ512(適宜、図8を参照)に格納されているベクトルhの値、及び、(各要素が互いに独立な乱数であるN次元ベクトルを表す)信号SRが入力される。また、変数メモリ901がスピン群の値(σ)を格納(記憶)している場合は、変数メモリ901の記憶している変数(σ)も、(例えばSRAMインターフェース804を通じて)数学関数演算装置517に入力される(図9中に点線で示す矢印を参照)。
かかる構成とすることにより、上述した式15、式17、または式19に基づいて変数の次状態を出力し、変数メモリ901に格納し、さらにはSRAMインターフェース804およびスピン値読出部615などを通じて、イジングモデルのボルツマン分布のサンプリング結果(例えば、N個のスピンの各々の状態が遷移してゆく様子)を適宜に出力することができる。
以上、詳細に説明したように、本実施形態の情報処理装置10によれば、イジングモデルのボルツマン分布のサンプリングを効率よく行うことができる。加えて、上述した情報処理装置10(演算部20を含む)は、簡素な構成で実現できることから、安価かつ容易に製造することができる。
以上、一実施形態について詳述したが、本発明は上記の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、上記実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能部、処理部、処理手段等は、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、上記の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。例えば、実際には殆ど全ての構成が相互に接続されていると考えてもよい。
また、以上に説明した情報処理装置10の各種機能部、各種処理部、各種データベースの配置形態は一例に過ぎない。各種機能部、各種処理部、各種データベースの配置形態は、情報処理装置10が備えるハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態に変更し得る。
また、前述した各種のデータを格納するデータベースの構成(スキーマ(Schema)等)は、リソースの効率的な利用、処理効率向上、アクセス効率向上、検索効率向上等の観点から柔軟に変更し得る。
サンプリング方法及び情報処理装置に利用することが可能である。
10 情報処理装置(サンプリング装置)
11 プロセッサ(変数制御部)
12 主記憶装置
13 補助記憶部
14 操作入力部
15 出力部
16 通信部
20 演算部(算出部)
511 相互作用係数メモリ
512 外部磁場係数メモリ
513 スピンメモリ
514 第一補助変数メモリ
515 第二補助変数メモリ
516 積和演算装置(積和演算部)
517 数学関数演算装置(数学関数演算部)
600 記憶部
601 イジング形式問題データ
602 演算装置制御プログラム
611 モデル係数設定部
612 固有値計算部
613 変数値初期化部
614 相互作用演算実行部
615 スピン値読出部
801 (3N個の)ユニット
802 アレイユニット
803 相互作用ドライバ(変数制御部)
804 SRAMインターフェース
805 コントローラ
W 相互作用モデルの相互作用係数
h イジングモデルの外部磁場係数

Claims (7)

  1. スピン間の相互作用関係を含むイジングモデルのボルツマン分布を対象として、マルコフ連鎖モンテカルロ法に基づくスピンの状態のサンプリングを行うように情報処理装置を動作させる制御方法であって、
    前記イジングモデルに対するサンプリングを、N個(Nは自然数)の前記スピンσ=1~Nのうちの任意の数)からなるスピン群σと、各々の前記スピンσの向きを規定する連続変数として、前記N個の補助変数x=1~N)からなる第1補助変数群xおよび前記N個の補助変数y=1~N)からなる第2補助変数群yと、を備え、前記スピンσに対して全ての前記第1補助変数群xと全ての前記第2補助変数群yとが結線され相互作用関係を有する完全3部グラフ構造による相互作用モデルでのサンプリングにより代替し、
    前記相互作用モデルの前記相互作用関係の値が、元の前記イジングモデルの相互作用関係及びその最小固有値で前記情報処理装置のメモリに設定され、
    前記相互作用モデルにおいて状態遷移を行う際に、前記スピン群σ、前記第1補助変数群x、および前記第2補助変数群yの3つの変数群のうちの1つの群の全変数を一斉更新するように前記情報処理装置を動作させる、
    制御方法。
  2. スピン間の相互作用関係を含むイジングモデルのボルツマン分布を対象として、マルコフ連鎖モンテカルロ法に基づくスピンの状態のサンプリングを行うために、
    前記イジングモデルに対する統計量として、N個(Nは自然数)の前記スピンσ=1~Nのうちの任意の数)からなるスピン群σと、各々の前記スピンσの向きを規定する連続変数として、前記N個の補助変数x=1~N)からなる第1補助変数群xおよび前記N個の補助変数y=1~N)からなる第2補助変数群yと、を備え、前記スピンσに対して全ての前記第1補助変数群xと全ての前記第2補助変数群yとが結線され相互作用関係を有する完全3部グラフ構造による相互作用モデルでの遷移確率P(σ,σ’)を算出する算出部と、
    前記算出部により算出された、前記スピン群σ、前記第1補助変数群x、および前記第2補助変数群yの3つの変数群のうちの1つの群の全変数を一斉更新する制御を行う変数制御部と、
    を備えるサンプリング装置。
  3. 請求項2に記載のサンプリング装置において、
    前記算出部により算出される、前記スピンの値、該スピンに係る第1および第2補助変数の3つの変数のうちの何れか一つの前記変数の値を格納するN個の変数メモリと、
    前記N個の変数メモリに同一の信号(TS)を供給する選択信号供給部と、を備え、
    前記変数制御部は、前記全変数を一斉更新する際に、前記スピン群σおよび前記補助変数群x、yのうちの一つの群を選んで前記N個の前記変数メモリ内の値の更新方法を選択する信号(TS)を選択信号供給部から出力させる制御を行う、
    サンプリング装置。
  4. 請求項3に記載のサンプリング装置において、
    前記イジングモデルの相互作用関係を規定する相互作用係数Jとその最小固有値-λより規定される相互作用モデルの相互作用係数Wを格納する相互作用係数メモリと、
    前記イジングモデルの外部磁場係数hを格納する外部磁場係数メモリと、を備え、
    前記算出部は、前記相互作用係数メモリ、前記外部磁場係数メモリ、および前記N個の変数メモリに格納された値を用いて、N個の前記スピンの次状態を算出する、
    サンプリング装置。
  5. 請求項4に記載のサンプリング装置において、
    前記相互作用係数Jは、対称行列であり、
    前記相互作用係数Wは、前記相互作用係数Jと該相互作用係数Jの最小固有値に基づいて定められる、
    サンプリング装置。
  6. 請求項5に記載の情報処理装置において、
    前記算出部は、前記スピン及び補助変数の値、前記相互作用係数W、を変数として積和演算を実行する積和演算部を備える、
    サンプリング装置。
  7. 請求項6に記載の情報処理装置において、
    前記算出部は、対応する前記変数メモリに格納される値の次状態を演算する数学関数演算部を含む、
    サンプリング装置。
JP2021022168A 2021-02-15 2021-02-15 制御方法およびサンプリング装置 Active JP7444804B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021022168A JP7444804B2 (ja) 2021-02-15 2021-02-15 制御方法およびサンプリング装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021022168A JP7444804B2 (ja) 2021-02-15 2021-02-15 制御方法およびサンプリング装置

Publications (2)

Publication Number Publication Date
JP2022124418A JP2022124418A (ja) 2022-08-25
JP7444804B2 true JP7444804B2 (ja) 2024-03-06

Family

ID=82941459

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021022168A Active JP7444804B2 (ja) 2021-02-15 2021-02-15 制御方法およびサンプリング装置

Country Status (1)

Country Link
JP (1) JP7444804B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020202312A1 (ja) 2019-03-29 2020-10-08 株式会社日立製作所 情報処理装置、演算装置、及び情報処理方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020202312A1 (ja) 2019-03-29 2020-10-08 株式会社日立製作所 情報処理装置、演算装置、及び情報処理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
James Martens and Ilya Sutskever,Parallelizable Sampling of Markov Random Fields,Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics,2010年05月15日,volume 9,pages 517-552,http://proceedings.mlr.press/v9/martens10a.htm

Also Published As

Publication number Publication date
JP2022124418A (ja) 2022-08-25

Similar Documents

Publication Publication Date Title
JP6874219B2 (ja) 情報処理装置、演算装置、及び情報処理方法
JP7007520B2 (ja) 情報処理装置、演算装置、及び情報処理方法
JP2021520546A (ja) 量子計算のための方法及びシステム
JP6925546B1 (ja) 演算システム、情報処理装置、および最適解探索処理方法
CN115169565B (zh) 一种小分子化学体系的哈密顿量模拟方法和装置
JP6895415B2 (ja) 計算装置、計算プログラム、記録媒体及び計算方法
JP7444804B2 (ja) 制御方法およびサンプリング装置
US11574030B1 (en) Solving optimization problems using a hybrid computer system
JP7457325B2 (ja) 最適化装置、評価装置、それらの方法、およびプログラム
JP7357795B2 (ja) 情報処理方法および情報処理システム
JP7398401B2 (ja) 最適化方法、情報処理装置及びそれを用いたシステム
JP7470019B2 (ja) 情報処理システム
JP7341804B2 (ja) 情報処理装置および情報処理方法
JP2022048780A (ja) 計算装置、計算方法およびプログラム
JP2024049148A (ja) 情報処理方法、及び情報処理装置
JP7425210B2 (ja) 情報処理システムおよび最適解探索処理方法
Moreno et al. Study and Application of Quantum Optimization Algo-rithms
US20230267170A1 (en) Information processing system, information processing method, and non-transitory computer-readable recording medium for information processing program
US20220343202A1 (en) Arithmetic circuit, arithmetic device, information processing apparatus, and method for searching for ground state of ising model
JP7361175B2 (ja) 計算装置、計算プログラム、記録媒体及び計算方法
US20230153376A1 (en) Optimization method, information processing device, and information processing system
WO2022249785A1 (ja) 求解装置、求解方法およびプログラム
JP2024508076A (ja) 量子回路シミュレーション方法、装置、コンピュータ機器及びプログラム
JP2024507393A (ja) 量子回路の作成方法と装置及びコンピュータ機器とプログラム
CN117859138A (zh) 用于量子计算生成联合概率分布的系统和方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230203

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240214

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240222

R150 Certificate of patent or registration of utility model

Ref document number: 7444804

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150