JP7007520B2 - 情報処理装置、演算装置、及び情報処理方法 - Google Patents

情報処理装置、演算装置、及び情報処理方法 Download PDF

Info

Publication number
JP7007520B2
JP7007520B2 JP2021511692A JP2021511692A JP7007520B2 JP 7007520 B2 JP7007520 B2 JP 7007520B2 JP 2021511692 A JP2021511692 A JP 2021511692A JP 2021511692 A JP2021511692 A JP 2021511692A JP 7007520 B2 JP7007520 B2 JP 7007520B2
Authority
JP
Japan
Prior art keywords
spin
group
information processing
interaction
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
JP2021511692A
Other languages
English (en)
Other versions
JPWO2020202312A1 (ja
JP7007520B6 (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 JPWO2020202312A1 publication Critical patent/JPWO2020202312A1/ja
Publication of JP7007520B2 publication Critical patent/JP7007520B2/ja
Application granted granted Critical
Publication of JP7007520B6 publication Critical patent/JP7007520B6/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
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/60Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/20Models of quantum computing, e.g. quantum circuits or universal quantum computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/40Physical realisations or architectures of quantum processors or components for manipulating qubits, e.g. qubit coupling or qubit control
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10NELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10N50/00Galvanomagnetic devices
    • H10N50/10Magnetoresistive devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Probability & Statistics with Applications (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、情報処理装置、演算装置、及び情報処理方法に関する。
特許文献1には、「相互作用モデルの解を求めるための基本構成単位となる構成要素をアレイ状に配置した半導体装置を提供する。」、「相互作用モデルの1つのノードの状態を示す値を記憶する第1のメモリセルと、1つのノードに接続された他のノードからの相互作用を示す相互作用係数を記憶する第2のメモリセルと、第1のメモリセルの値を固定するためのフラグを記憶する第3のメモリセルと、他のノードの状態を示す値及び前記相互作用係数に基づいて、前記1つのノードの次状態を示す値を決定する第1の演算回路と、フラグの値に応じて前記次状態を示す値を第1のメモリセルに記録するか否かを決定する第2の演算回路と、を有するユニットを複数備える。」と記載されている。
非特許文献1には、量子アニーリング(断熱量子計算)(adiabatic quantum optimization)におけるマイナーエンベッディング(minor-embedding in adiabatic quantum optimization)に関して記載されている。
特開2016-51313号公報
Choi, V. (2008). Minor-embedding in adiabatic quantum computation: I. The parameter setting problem. Quantum Information Processing, 7(5), 193-209.
物理現象や社会現象の多くは相互作用モデルによって表現することができる。相互作用モデルは、モデルを構成する複数のノードと、ノード間の相互作用、さらに必要であればノード毎のバイアスで定義される。物理学や社会科学の分野においては種々のモデルが提案されているが、いずれも相互作用モデルの一形態として解釈することができる。
相互作用モデルの一つとしてイジングモデル(Ising Model)がある。イジングモデルの基底状態の探索は、イジングモデルのエネルギー関数を最小化するスピン配列を求める最適化問題である。イジングモデルの基底状態を探索する方法として、マルコフ連鎖モンテカルロ法(以下、MCMC(Markov chain Monte Carlo methods)と称する。)によるものがある。MCMCでは、状態間を確率的に遷移させつつ状態のサンプリングを行うことで所望の統計量を推定する。
ここでいわゆる組合せ最適化問題をイジングモデルの基底状態の探索問題に変換すると、スピン間の相互作用は密構造(個々のスピンが他のすべてのスピンと隣接する構造)となる。そのため、各スピンについて確率的な処理を同時に行うことはできず、例えば、半導体装置を用いてイジングモデルの基底状態の探索を行おうとすると処理の高速化が困難になるという課題がある。
本発明は、こうした背景に鑑みてなされたもので、イジングモデルの基底状態の探索を効率よく行うことが可能な、情報処理装置及び情報処理方法を提供することを目的とする。
上記目的を達成するための本発明の一つは、情報処理装置であって、イジングモデルの相互作用関係をN個の第1スピン群の各スピンとN個の第2スピン群の各スピンとを接続した完全2部グラフとして表し、前記第1スピン群のi番目のスピンと前記第2スピン群のj(=i)番目のスピンとが基底状態において同値となるように前記第1スピン群のi番目のスピンと前記第2スピン群のj番目のスピンとの間の相互作用を設定したエネルギー関数を記憶する記憶部と、前記エネルギー関数と前記スピン固有の情報に基づき前記イジングモデルの基底状態を探索する基底状態探索部と、を備える。
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄、及び図面により明らかにされる。
本発明によれば、イジングモデルの基底状態の探索を効率よく行うことができる。上記した以外の課題、構成および効果は、以下の発明を実施するための形態の説明により明らかにされる。
イジングモデルのエネルギーランドスケープの概念図である。 イジングモデルのスピン間の相互作用関係を完全グラフとして表したグラフ図である。 イジングモデルのスピン間の相互作用関係を完全2部グラフとして表したグラフ図である。 情報処理装置の概略的な構成を示すブロック図である。 演算回路のブロック図である。 情報処理装置が備える主な機能を示す機能ブロック図である。 基底状態探索処理を説明するフローチャートである。
以下、実施の形態を図面に基づいて詳細に説明する。尚、以下の説明において、同一の又は類似する構成に共通の符号を付して重複した説明を省略することがある。また同一あるいは同様の機能を有する要素が複数ある場合に同一の符号に異なる添字を付して説明することがある。また複数の要素を区別する必要がない場合は添字を省略して説明することがある。
まずイジングモデル(Ising Model)について説明する。イジングモデルは磁性体の振舞いの説明に用いられる統計力学のモデルである。イジングモデルは、+1/-1(「0/1」や「上/下」等でもよい)の2値をとるスピンの状態、及び上記スピン間の相互作用を示す相互作用係数を用いて定義される。イジングモデルのエネルギー関数H(σ)(一般にハミルトニアンと呼ばれる)は次式で表わされる。
Figure 0007007520000001
式1において、σはi番目のスピンの値、Ji,jはi番目とj番目のスピンの間の相互作用係数、hiはi番目のスピンに働く外部磁場係数を表す。これらをまとめて表す行列Jとベクトルhを導入する。行列Jはi行j列の要素がJi、jで対角成分が0である。また、ベクトルhはi番目の要素がhである。
イジングモデルのスピン間の接続関係をグラフG=(V,E)と表す。V={v,...,v}は頂点集合で,各頂点v上にイジングモデルのスピンσがあると捉える。
式1の右辺は、スピン間の相互作用に起因するエネルギーの総和である。一般にイジングモデルは無向グラフとして表現され、i番目のスピンからj番目のスピンへの相互作用と、j番目のスピンからi番目のスピンへの相互作用とを区別することはない。そのため、式1ではi<jを満たすσ、σの組合せについて相互作用の影響を求めている。
イジングモデルの基底状態の探索はイジングモデルのエネルギー関数を最小化するスピン配列を求める最適化問題である。本実施形態では、イジングモデルの基底状態の探索をマルコフ連鎖モンテカルロ法(以降、MCMC(Markov chain Monte Carlo methods)と呼ぶ)により行う。
図1はイジングモデルのエネルギーランドスケープの概念図である。グラフの横軸はスピン配列、縦軸は系の全エネルギーである。確率的な遷移では、現在の状態σから、状態σの近傍のある状態σ’への確率的な遷移を繰り返す。状態σから状態σ’に遷移する確率のことを、以下、遷移確率P(σ,σ’)と称する。遷移確率P(σ,σ’)の例としてメトロポリス法(Metropolis method)によるものや熱浴法によるものがある。メトロポリス法における遷移確率P(σ,σ’)の算出式を次に示す。
Figure 0007007520000002
式2において、Tは一般に温度と呼ばれるパラメータであり、状態間の遷移のし易さを表す。
近傍の状態σ’を生成する方法としては、現在の状態σから一つのスピンの値を変更する方法が一般的である。変更するスピンを一つずつ順番に変えていくことで、スピン全体が取り得る状態について探索を行う。例えば、図1の場合、状態Aから一つのスピンが反転すると状態Bとなり、更に一つのスピンが反転すると状態Cとなる。
温度Tを大きな値から徐々に減少させつつMCMCを実行するとき、エネルギーが最も低い状態に漸近的に収束する。これを利用して最小化問題の最適解または近似解を求める手法として、シミュレーティッド・アニーリング(以下、SA(simulated Annealing)と称する。)がある。
イジングモデルに対してMCMCやSAを適用する場合、式2に基づきスピンの値を確率的に決定する。ここで非隣接の複数のスピンについては式2に基づく状態遷移を同時に適用することが可能である。そのため、例えば、特許文献1に記載されているように、式2に基づく確率的処理を実現する回路を複数用意し、非隣接の複数のスピンの値を並列して更新することで、MCMCやSAの処理の高速化を図ることが可能である。
図2は、スピンの数を6とした場合における、イジングモデルの全スピン間の相互作用関係を表した完全グラフ(全結合グラフ)である。組合せ最適化問題をイジングモデルの基底状態の探索問題に変換すると、スピン間の相互作用関係は同図に示すような密構造(個々のスピンが他の全てのスピンと隣接する構造)となる。そのため、各スピンの確率的な処理を同時に行うことはできず、MCMCやSAの処理の高速化を図ることは困難である。逆に言えば、こうした密の相互作用関係を持つイジングモデルに対して、MCMCの要求する理論的背景を満たしつつ複数のスピンを同時に更新することができれば、MCMCやSAの処理の高速化を図ることが可能であり、ひいては組合せ最適化問題を効率よく解くことが可能になる。こうした観点に基づき、本実施形態では、イジングモデルの相互作用関係を完全2部グラフに変換する方法により基底状態を求める。以下、この方法について説明する。
図3はイジングモデルの相互作用関係を完全2部グラフとして表した図である。図2に示すような完全グラフは、完全2部グラフに変換することが可能である。本例ではスピンの数を6としている。同図に示す左列のスピン群(以下、第1スピン群と称する。)のi番目のスピンと右列のスピン群(以下、第2スピン群と称する。)のj番目のスピンと間には完全グラフ同様に相互作用Ji,jが働く。また、完全2部グラフでは、右列と左列の対応するスピンの間に、図中太線で示す相互作用を導入する。以下、第1スピン群のi番目のスピンと第2スピン群のi番目のスピン間の相互作用係数をwiと表記する。
非特許文献1(Choi, V. (2008). Minor-embedding in adiabatic quantum computation: I. The parameter setting problem. Quantum Information Processing, 7(5), 193-209.)に記載されているように、相互作用wiを充分に大きい値に設定すると、同図に示すイジングモデルの基底状態において、第1スピン群のi番目のスピンの値と第2スピン群のi番目のスピンの値は同値となる。たとえば、非特許文献1は、相互作用係数wiが次の式3を満たすならば、基底状態において第1スピン群と第2スピン群の値が同値になることを与えている。
Figure 0007007520000003
また、次の式4を満たす値も条件を満たすことが示せる。ただしλは行列Jの最小固有値である。なお、λは-J(行列Jの符号を反転させたもの)の最大固有値と言うことも可能である。
Figure 0007007520000004
集合Cは頂点集合の任意の部分集合で良い。たとえば、式5の定め方が考えられる。
Figure 0007007520000005
基底状態において第1スピン群及び第2スピン群が同値と仮定する。第1スピン群及び第2スピン群の夫々のスピンの総数をNとし、基底状態における第1スピン群および第2スピン群のi番目のスピンの値をS(i=1~N)とする。このとき、基底状態におけるイジングモデルのエネルギーHは、式6で表すことができる。
Figure 0007007520000006
式6の右辺第2項のwは、第1スピン群のi番目のスピンと第2スピン群のj(=i)番目のスピンとの間の相互作用係数であり、S、・・・、Sに依らない定数である。つまり値S、・・・、Sは、次に示す式7の解である。
Figure 0007007520000007
故にスピンS、・・・、Sは、完全グラフで表したイジングモデルによる式1を最小化するσ、・・・、σと捉えることができる。つまり図3に示す完全2部グラフで表したモデルの基底状態における各列のスピン配列は、図2に示す完全グラフ(全結合グラフ)で表したイジングモデルの基底状態と等しい。また図3に示すグラフは2部グラフであるので第1スピン群の隣接するスピン間には相互作用がなく、また第2スピン群の隣接するスピン間についても同様に相互作用がない。従って、図3に示すモデルに対してMCMCを実行するとき、各群のスピンは同時に値を更新することが可能であり、基底状態の探索を効率よく行うことができる。
続いて、メトロポリス法によりスピンを更新する場合を考える。以下の説明では、第1スピン群(左列)の各スピンの値をσ 、・・・、σ と表し、同様に第2スピン群(右列)の各スピンの値をσ 、・・・、σ と表す。ここで第2スピン群のi番目のスピンの値σ を反転させたときのエネルギーHの差分ΔHは式8から求めることができる。
Figure 0007007520000008
前述したように、メトロポリス法において温度Tにおける状態遷移の受理確率(遷移確率)は式2で表される。従って、一様乱数u(0<u≦1)を用いると、状態遷移が受理される条件は次式で表すことができる。
Figure 0007007520000009
ここで状態遷移後に第2スピン群のスピンの値σ が+1となる場合を考える。まず状態遷移前の第2スピン群のスピンの値σ が+1ならば、ΔH>-T・ln(u)、つまり式8から、次式が成り立つときに条件を満たす。
Figure 0007007520000010
同様に、状態遷移前の第2スピン群のスピンの値σ が-1ならばΔH≦-T・ln(u)、つまり式8から、次式11が成り立つときに状態遷移後に第2スピン群のスピンの値σ が+1となる。
Figure 0007007520000011
故に状態遷移前の第2スピン群のスピンの値σ に依らず、次式12を満たせば状態遷移後に第2スピン群のスピンの値σ が=+1となることがわかる。
Figure 0007007520000012
結局、メトロポリス法に従った状態遷移を実行するには、第2スピン群のスピンの値σ の次状態を次式から求めればよい。尚、次式13における関数sign(x)は、x≧0ならば+1、x<0ならば-1を返す関数である。
Figure 0007007520000013
ここで式13は、第2スピン群のある1つのスピンに着目し、このスピンの次状態をメトロポリス法に従って決定するための式である。また第1スピン群のスピンのi番目と第2スピン群のスピンのj番目の間に働く相互作用Ji、jが充分に大きければ、第2スピン群の複数のスピンの値σ に対して同時に式13を適用することが可能である。従って、複数のスピンを同時に更新する場合は次式14から第2スピン群の各スピンの次状態を求めればよい。ただし、式14に示す関数signは引数に与えられたベクトルの各要素に対して符号を与えるものとする。
Figure 0007007520000014
尚、以上では、第2スピン群のスピンの更新則について述べたが,第1スピン群のスピンについても同様であり、次の更新則を得ることができる。
Figure 0007007520000015
図4は、式14及び式15に基づきイジングモデルの基底状態の探索を行う情報処理装置の一例である。同図に示すように、この情報処理装置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及び式15に相当する機能を実現する。以下、同図とともに演算装置20の動作原理について説明する。尚、以下の説明において、演算回路500が取り扱うスピンの数をNで表す。
同図に示すように、演算回路500は、相互作用係数メモリ511、外部磁場係数メモリ512、第1スピンメモリ513a、第2スピンメモリ513b、第1セレクタ514a、第2セレクタ514b、積和演算装置515、ベクトル乗算器516、加算器517、比較器518、及び否定(NOT)回路519を含む。
相互作用係数メモリ511には、行列Jを表す情報(以下、隣接行列と称する。)が格納される。隣接行列は一般に対称行列であり、この対称性を用いてメモリ511の使用量を削減することができる。外部磁場係数メモリ512には、ベクトルhを表す情報が格納される。
第1スピンメモリ513aには、前述した完全2部グラフの第1スピン群の各スピンの状態を示すN次元ベクトルの情報が格納される。第2スピンメモリ513bは、前述した完全2部グラフの第2スピン群の各スピンの状態を示すN次元ベクトルの情報が格納される(図3参照)。
同図に示すように、演算回路500には、信号EN、信号SW、及び信号SRが入力される。比較器518は信号SPを出力する。
信号ENは、H(high)とL(low)の値を周期的に繰り返す信号である。信号ENがH(high)のとき、第1セレクタ514aは第1スピンメモリ513aの値を出力し、第2セレクタ514bは第2スピンメモリ513bの値を出力する。また信号ENがL(low)のとき、第1セレクタ514aは第2スピンメモリ513bの値を出力し、第2セレクタ514bは第1スピンメモリ513aの値を出力する。尚、第1セレクタ514a及び第2セレクタ514bは、上記とは逆位相(逆論理)の信号ENにより上記のように動作するものであってもよい。
信号SWは、N要素のベクトル(N次元ベクトル)を表す信号である。
積和演算装置515には、相互作用係数メモリ511に格納されている隣接行列(相互作用係数Ji,j)の値、信号SW、及び第1セレクタ514aの出力が入力される。ここで第1セレクタ514aの出力であるN次元ベクトルをx、信号SWの表すN次元ベクトルをw=(w、・・・、w)と表すとき、積和演算装置515は、y=(J+diag(w、・・・、w))xなるN次元ベクトルyを出力する。また、加算器517は入力2ベクトルの和、つまり(J+diag(w、・・・、w))x+hを出力する。
前述の通り、値wiは式4に基づいて計算する。この計算は演算装置20の外部、たとえばプロセッサ11で行ってもよい。また、演算装置20内で計算も容易である。行列Jの最大固有値が式4の計算に必要であり、最大固有値は(原点シフト付き)べき乗法と呼ばれる一般に知られたアルゴリズムで効率的に計算可能である。これは行列・ベクトル積を繰り返し実行するものであり、積和演算装置515を活用できる。
信号SRは、各要素が互いに独立な乱数であるN次元ベクトルを表す。本例では各要素は温度Tと乱数-ln(u)/2を掛け合わせたものである。但しuは一様乱数(0<u≦1)である。
ベクトル乗算器516には、第2セレクタ514bから出力されるN次元ベクトルと、N次元の信号SRとが入力される。ベクトル乗算器516は、夫々の1番目の要素の積、2番目の要素の積、というように、対応する要素ごとの積を計算して出力する。従って、ベクトル乗算器516の出力信号もN次元ベクトルである。
比較器518には、積和演算装置515から出力されるN次元ベクトルと、ベクトル乗算器516から出力されるN次元ベクトルとが入力される。比較器518は、入力された各N次元ベクトルの対応する要素同士を比較し、比較した結果(要素同士の大小関係)を出力する。例えば、比較器518は、比較器518の2入力信号において、1番目の要素を比較したとき、積和演算装置515の信号の方が大きい場合は1を、小さい場合は-1を、比較器518の1番目の要素に設定する。
比較器518から出力される信号SPは、前述したMCMCに基づくスピンの次状態である。信号SPの情報は、信号ENがH(High)であれば第1スピンメモリ513aに、信号ENがL(Low)であれば第2スピンメモリ513bに書き込まれる。
図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に、外部磁場係数を表すベクトルhを外部磁場係数メモリ512に設定する。
スピン値初期化部614は、演算装置20の第1スピンメモリ512a及び第2スピンメモリ512bに格納されている各スピンの値を初期化する。スピン値初期化部614は、例えば、完全2部グラフにおける第1スピン群の各スピンの値σ 、・・・σ 、及び第2スピン群の各スピンの値σ 、・・・、σ をいずれも50%の確率で「1」か「-1」に設定する。
温度設定部615は、相互作用演算実行部616がイジングモデルの基底状態の探索を行う際に用いる、式14及び式15における温度Tの値を設定する。
相互作用演算実行部616は、温度設定部615により設定された温度Tごとに、式14及び式15に従ってイジングモデルの基底状態を探索する演算(以下、相互作用演算と称する。)を行う。相互作用演算に際し、相互作用演算実行部616は、例えば、温度Tを高いほうから低いほうに向けて変化させる。
スピン値読出部617は、相互作用演算実行部616によるイジングモデルの基底状態の探索が終了すると、第1スピンメモリ513a又は第2スピンメモリ513bに格納されているスピンの値を読み出し、読み出した値を出力装置15や通信装置16に出力する。
図7は、イジングモデルの基底状態の探索に際し情報処理装置10が行う処理(以下、基底状態探索処理S700と称する。)を説明するフローチャートである。以下、同図とともに基底状態探索処理S700について説明する。尚、以下において、符号の前に付している「S」の文字は処理ステップの意味である。基底状態探索処理S700は、例えば、入力装置14を介してユーザからの指示等を受け付けることにより開始される。
同図に示すように、まずモデル変換部611が、問題データ601をイジング形式問題データ602に変換する(S711)。記憶部600が既にイジング形式問題データ602を記憶している場合は当該処理S711は省略される。S711の処理と、S712以降の処理とは、夫々を異なる装置で実行するようにしてもよい。またS711の処理と、S712以降の処理とを異なるタイミングで実行するようにしてもよい(例えば、S711の処理を事前に行っておくことが考えられる。)。
続いて、モデル係数設定部612が、相互作用係数メモリ511および外部磁場係数メモリ512に値を設定する(S712)。メモリの値は、ユーザインタフェース(例えば、入力装置14、出力装置15、通信装置16等により実現される。)を介してユーザが設定又は編集することもできる。
続いて、固有値計算部613が、相互作用係数メモリ511に格納された隣接行列Jの最小固有値を計算して、信号SWの値を決定する。前述の通り、この計算は演算装置20内またはプロセッサ11で実行してもよい(S713)。
続いて、スピン値初期化部614が、第1スピンメモリ513a及び第2スピンメモリ513bに格納されている各スピンの値を初期化する(S714)。
続いて、温度設定部615が、式12及び式13の温度T(k=1,2,3、・・・)を設定する(S715)。尚、上記の添字kは設定される温度Tの種類を表す。
続いて、相互作用演算実行部616が、式12及び式13に基づき相互作用演算を実行することにより次状態を生成する(S716)。
続いて、相互作用演算実行部616は、停止条件が成立したか否か(例えば、温度Tが予め設定された最低温度に達したか否か)を判定する(S717)。停止条件が成立したと相互作用演算実行部616が判定した場合(S717:YES)、処理はS718に進む。一方、停止条件が成立しないと相互作用演算実行部616が判定した場合(S717:NO)、処理はS716に戻る。
S718では、スピン値読出部617が、第1スピンメモリ513a及び第2スピンメモリ513bに格納されているスピンの値を読み出して出力する。以上で基底状態探索処理S700は終了する。
以上、詳細に説明したように、本実施形態の情報処理装置10によれば、イジングモデルの基底状態の探索を効率よく行うことができる。そのため、組合せ最適化問題を効率よく解くことができる。尚、情報処理装置10(演算装置20を含む)は、シンプルな構成であるので安価かつ容易に製造することができる。
以上、一実施形態について詳述したが、本発明は上記の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また上記実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また上記の各構成、機能部、処理部、処理手段等は、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また上記の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。例えば、実際には殆ど全ての構成が相互に接続されていると考えてもよい。
また以上に説明した情報処理装置10の各種機能部、各種処理部、各種データベースの配置形態は一例に過ぎない。各種機能部、各種処理部、各種データベースの配置形態は、情報処理装置10が備えるハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態に変更し得る。
また前述した各種のデータを格納するデータベースの構成(スキーマ(Schema)等)は、リソースの効率的な利用、処理効率向上、アクセス効率向上、検索効率向上等の観点から柔軟に変更し得る。
情報処理装置、演算装置、及び情報処理方法に利用することが可能である。
10 情報処理装置、11 プロセッサ、12 主記憶装置、20 演算装置、511 相互作用係数メモリ、512 外部磁場係数メモリ、513a 第1スピンメモリ、513b 第2スピンメモリ、514a 第1セレクタ、514b 第2セレクタ、515 積和演算装置、516 ベクトル乗算器、517 加算器、518 比較器、519 否定(NOT)回路、600 記憶部、601 問題データ、602 イジング形式問題データ、603 演算装置制御プログラム、611 モデル変換部、612 モデル係数設定部、613 固有値計算部、614 スピン値初期化部、615 温度設定部、616 相互作用演算実行部、617 スピン値読出部

Claims (11)

  1. スピンの数をN個としたイジングモデルの相互作用関係をN個の第1スピン群の各スピンとN個の第2スピン群の各スピンとを接続した完全2部グラフとして表し、前記第1スピン群のi番目のスピンと前記第2スピン群のi番目のスピンとが基底状態において同値となるように前記第1スピン群のi番目のスピンと前記第2スピン群のj番目のスピンとの間の相互作用を設定したエネルギー関数を記憶する記憶部と、
    前記エネルギー関数と前記スピン固有の情報に基づき前記イジングモデルの基底状態を探索する基底状態探索部と、
    を備える、情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    前記第1スピン群及び前記第2スピン群の夫々のスピンの総数をNとし、前記第1スピン群のi番目のスピンと第2スピン群のj番目のスピンと間の相互作用係数をJi,jとし、前記第1スピン群のスピンのi番目と前記第2スピン群のスピンのi番目との間の相互作用係数をwとし、
    前記相互作用係数wiはi行j列の要素がJi で対角成分が0である行列の最小固有値λおよびスピン配列の任意の部分集合Cで与えられる次式
    Figure 0007007520000016
    を満たすように設定される、
    情報処理装置。
  3. 請求項2に記載の情報処理装置であって、
    前記基底状態探索部は、
    シミュレーティッド・アニーリング法(simulated Annealing Method)のアルゴリズムに従って前記イジングモデルの基底状態を探索し、
    前記探索において、状態間の遷移のし易さを表すパラメータである温度Tにおける状態遷移の受理確率(遷移確率)P(σ,σ’)をメトロポリス法(Metropolis method)に基づき次式から求め、
    Figure 0007007520000017
    前記第1スピン群の各スピンの値をσ 、・・・、σ と表し、前記第2スピン群の各スピンの値をσ 、・・・、σ と表した場合に、
    第2スピン群のi番目のスピンの値σ を反転させたときのエネルギーHの差分ΔHを次式から求め、
    Figure 0007007520000018
    第1スピン群のi番目のスピンの値σ を反転させたときの前記エネルギーHの差分ΔHを次式から求め、
    Figure 0007007520000019
    u(0<u≦1)を一様乱数とした場合に前記状態遷移が受理される条件を次式に基づき判定する、
    Figure 0007007520000020
    情報処理装置。
  4. 請求項3に記載の情報処理装置であって、
    前記基底状態探索部は、
    前記第2スピン群の次状態を次式により求め、
    Figure 0007007520000021
    前記第1スピン群の次状態を次式により求める、
    Figure 0007007520000022
    情報処理装置。
  5. 請求項4に記載の情報処理装置であって、
    前記相互作用係数Ji,jを記憶する相互作用係数メモリと、
    部磁場係数hを記憶する外部磁場係数メモリと、
    前記第1スピン群の各スピンの値σ 、・・・、σ を記憶する第1スピンメモリと、
    前記第2スピン群の各スピンの値σ 、・・・、σ を記憶する第2スピンメモリと、
    前記第1スピンメモリの値又は前記第2スピンメモリの値、前記相互作用係数メモリの値、前記外部磁場係数メモリの値、及びN次元ベクトルw=(w、・・・、w)を表す信号が入力される積和演算装置と、
    前記第1スピンメモリの値又は前記第2スピンメモリの値、及び各要素が互いに独立な乱数であるN次元ベクトルが入力されるベクトル乗算器と、
    前記積和演算装置から出力されるN次元ベクトルと、前記ベクトル乗算器から出力されるN次元ベクトルとが入力され、入力された各N次元ベクトルの対応する要素同士を比較し、要素同士の大小関係を出力する比較器と、
    を有する一つ以上の演算装置を備える、
    情報処理装置。
  6. 請求項5に記載の前記演算装置であって、
    前記相互作用係数メモリと、前記外部磁場係数メモリと、前記第1スピンメモリと、前記第2スピンメモリと、前記積和演算装置と、前記ベクトル乗算器と、前記比較器と、を備える、
    演算装置。
  7. 請求項6に記載の演算装置であって、
    CMOS(Complementary Metal Oxide Semiconductor)回路、FPGA(Field Programmable Gate Array)、及びASIC(Application Specific Integrated Circuit)のうちのいずれかにより実現される、
    演算装置。
  8. 情報処理装置が、
    スピンの数をN個としたイジングモデルの相互作用関係をN個の第1スピン群の各スピンとN個の第2スピン群の各スピンとを接続した完全2部グラフとして表わし、前記第1スピン群のi番目のスピンと前記第2スピン群のi番目のスピンとが基底状態において同値となるように、前記第1スピン群のi番目のスピンと前記第2スピン群のj番目のスピンとの間の相互作用を設定したエネルギー関数を記憶するステップ、及び、
    前記エネルギー関数と前記スピン固有の情報に基づき前記イジングモデルの基底状態を探索するステップ、
    を実行する、
    情報処理方法。
  9. 請求項8に記載の情報処理方法であって、
    前記第1スピン群及び前記第2スピン群の夫々のスピンの総数をNとし、基底状態における前記第1スピン群のスピンのi番目の値をS(i=1~N)とし、基底状態における前記第2スピン群のスピンのj番目の値をS(j=1~N)とし、前記第1スピン群のi番目のスピンと第2スピン群のj番目のスピンと間の相互作用係数をJi,jとし、前記第1スピン群のスピンのi番目と前記第2スピン群のスピンのj(=i)番目との間の相互作用係数をwとし、
    前記相互作用係数wiはi行j列の要素がJi で対角成分が0である行列の最小固有値λおよび任意の集合Cで与えられる次式
    Figure 0007007520000023
    を満たすように設定される、
    情報処理方法。
  10. 請求項9に記載の情報処理方法であって、
    前記情報処理装置は、
    シミュレーティッド・アニーリング法(simulated Annealing Method)のアルゴリズムに従って前記イジングモデルの基底状態を探索し、
    前記探索において、状態間の遷移のし易さを表すパラメータである温度Tにおける状態遷移の受理確率(遷移確率)P(σ,σ’)をメトロポリス法(Metropolis method)に基づき次式から求め、
    Figure 0007007520000024
    前記第1スピン群の各スピンの値をσ 、・・・、σ と表し、前記第2スピン群の各スピンの値をσ 、・・・、σ と表した場合に、
    第2スピン群のi番目のスピンの値σ を反転させたときのエネルギーHの差分ΔHを次式から求め、
    Figure 0007007520000025
    第1スピン群のi番目のスピンの値σ を反転させたときの前記エネルギーHの差分ΔHを次式から求め、
    Figure 0007007520000026
    u(0<u≦1)を一様乱数とした場合に前記状態遷移が受理される条件を次式に基づき判定する、
    Figure 0007007520000027
    情報処理方法。
  11. 請求項10に記載の情報処理方法であって、
    前記情報処理装置は、
    前記第2スピン群の次状態を次式により求め、
    Figure 0007007520000028
    前記第1スピン群の次状態を次式により求める、
    Figure 0007007520000029
    情報処理方法。
JP2021511692A 2019-03-29 2019-03-29 情報処理装置、演算装置、及び情報処理方法 Active JP7007520B6 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/014172 WO2020202312A1 (ja) 2019-03-29 2019-03-29 情報処理装置、演算装置、及び情報処理方法

Publications (3)

Publication Number Publication Date
JPWO2020202312A1 JPWO2020202312A1 (ja) 2021-11-18
JP7007520B2 true JP7007520B2 (ja) 2022-01-24
JP7007520B6 JP7007520B6 (ja) 2023-12-14

Family

ID=72667295

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021511692A Active JP7007520B6 (ja) 2019-03-29 2019-03-29 情報処理装置、演算装置、及び情報処理方法

Country Status (3)

Country Link
US (1) US20220129780A1 (ja)
JP (1) JP7007520B6 (ja)
WO (1) WO2020202312A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7470019B2 (ja) 2020-11-25 2024-04-17 株式会社日立製作所 情報処理システム
JP7444804B2 (ja) 2021-02-15 2024-03-06 株式会社日立製作所 制御方法およびサンプリング装置
JP7398401B2 (ja) 2021-03-25 2023-12-14 株式会社日立製作所 最適化方法、情報処理装置及びそれを用いたシステム
CN114039354B (zh) * 2021-10-11 2023-05-30 南京邮电大学 一种多微电网完全分布式二次电压和能级容错控制系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160260013A1 (en) 2015-03-06 2016-09-08 Nokia Technologies Oy Method and apparatus for optimization

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160260013A1 (en) 2015-03-06 2016-09-08 Nokia Technologies Oy Method and apparatus for optimization

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHOI, Vicky,Minor-embedding in adiabatic quantum computation: II. Minor-universal graph design,arXiv [online],2010年01月19日,https://arxiv.org/pdf/1001.3116v2,[検索日 2019.05.22]

Also Published As

Publication number Publication date
JPWO2020202312A1 (ja) 2021-11-18
WO2020202312A1 (ja) 2020-10-08
US20220129780A1 (en) 2022-04-28
JP7007520B6 (ja) 2023-12-14

Similar Documents

Publication Publication Date Title
JP6874219B2 (ja) 情報処理装置、演算装置、及び情報処理方法
JP7007520B2 (ja) 情報処理装置、演算装置、及び情報処理方法
JP7186797B2 (ja) 量子計算のための方法及びシステム
JP6836529B2 (ja) 計算装置、計算プログラム、記録媒体及び計算方法
JP6925546B1 (ja) 演算システム、情報処理装置、および最適解探索処理方法
US20200090051A1 (en) Optimization problem operation method and apparatus
US20220012387A1 (en) Information processing device, information processing system, information processing method, and storage medium
JP6895415B2 (ja) 計算装置、計算プログラム、記録媒体及び計算方法
CN114528996B (zh) 一种目标体系试验态初始参数的确定方法、装置及介质
JP7357795B2 (ja) 情報処理方法および情報処理システム
US20220012306A1 (en) Information processing device, information processing system, information processing method, and storage medium
US11886780B2 (en) Optimization device, optimization device control method, and computer-readable recording medium recording optimization device control program
JP7398401B2 (ja) 最適化方法、情報処理装置及びそれを用いたシステム
WO2021084629A1 (ja) 演算回路、演算装置、情報処理装置およびイジングモデルの基底状態探索方法
JP7470019B2 (ja) 情報処理システム
JP7444804B2 (ja) 制御方法およびサンプリング装置
JP2022094510A (ja) 最適化プログラム、最適化方法及び情報処理装置
JP2022048780A (ja) 計算装置、計算方法およびプログラム
US20230267170A1 (en) Information processing system, information processing method, and non-transitory computer-readable recording medium for information processing program
JP2024049148A (ja) 情報処理方法、及び情報処理装置
US20230153376A1 (en) Optimization method, information processing device, and information processing system
JP2022158010A (ja) 情報処理システム、情報処理方法、及び情報処理プログラム
JP7425210B2 (ja) 情報処理システムおよび最適解探索処理方法
US20220012017A1 (en) Information processing device, information processing system, information processing method, and storage medium
CN117648185A (zh) 一种利用小内存设备求解大规模组合优化问题的方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210816

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210816

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211109

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220106

R150 Certificate of patent or registration of utility model

Ref document number: 7007520

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150