IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

<>
  • 特開-情報処理装置並びに情報処理方法 図1
  • 特開-情報処理装置並びに情報処理方法 図2
  • 特開-情報処理装置並びに情報処理方法 図3
  • 特開-情報処理装置並びに情報処理方法 図4
  • 特開-情報処理装置並びに情報処理方法 図5
  • 特開-情報処理装置並びに情報処理方法 図6
  • 特開-情報処理装置並びに情報処理方法 図7
  • 特開-情報処理装置並びに情報処理方法 図8
  • 特開-情報処理装置並びに情報処理方法 図9
  • 特開-情報処理装置並びに情報処理方法 図10
  • 特開-情報処理装置並びに情報処理方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024162709
(43)【公開日】2024-11-21
(54)【発明の名称】情報処理装置並びに情報処理方法
(51)【国際特許分類】
   G06N 99/00 20190101AFI20241114BHJP
   G06F 18/2321 20230101ALI20241114BHJP
【FI】
G06N99/00 180
G06F18/2321
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023078529
(22)【出願日】2023-05-11
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール弁理士法人
(72)【発明者】
【氏名】杉田 悠介
(57)【要約】      (修正有)
【課題】最適解探索を効率行うための情報処理装置並びに情報処理方法を提供する。
【解決手段】バイナリ変数または連続変数に対する2次関数の目的関数をもつ混合2値2次計画問題を解くための情報処理装置であって、混合2値2次計画問題を設定するモデル設定部と、混合2値2次計画問題の変数を初期化する変数値初期化部と、混合2値2次計画問題における変数に基づいて状態更新に関わる量を計算する積和演算実行部と、状態更新に関わる量に基づいて変数の状態を更新する状態遷移制御部とを備える。積和演算実行部は、元の目的関数で定義される確率分布関数と、バイナリ変数を連続値緩和した目的関数で定義される確率分布関数をもとに、確率的な状態遷移において状態遷移の大きさの指標を、状態更新に関わる量として求め、状態遷移制御部は、状態更新に関わる量に基づいて状態遷移方法を切り替えながら変数を更新して最適解を探索する。
【選択図】図2
【特許請求の範囲】
【請求項1】
バイナリ変数または連続変数に対する2次関数の目的関数をもつ混合2値2次計画問題を解くための情報処理装置であって、
混合2値2次計画問題を設定するモデル設定部と、前記混合2値2次計画問題の変数を初期化する変数値初期化部と、前記混合2値2次計画問題における前記変数に基づいて状態更新に関わる量を計算する積和演算実行部と、前記状態更新に関わる量に基づいて変数の状態を更新する状態更新制御部とを備え、
前記積和演算実行部は、元の目的関数で定義される確率分布関数と、バイナリ変数を連続値緩和した目的関数で定義される確率分布関数をもとに、確率的な状態遷移において状態遷移の大きさの指標を、前記状態更新に関わる量として求め、
前記状態更新制御部は、前記状態更新に関わる量に基づいて状態遷移方法を切り替えながら前記変数を更新して最適解を探索することを特徴とする情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記混合2値2次計画問題の温度パラメータを制御する温度パラメータ制御部を備え、
前記変数値初期化部は、前記混合2値2次計画問題の温度パラメータを含めて初期化を行い、
前記状態更新制御部は、前記変数と前記温度パラメータを更新して最適解を探索することを特徴とする情報処理装置。
【請求項3】
請求項1に記載の情報処理装置であって、
前記積和演算実行部は、元の目的関数で定義される確率分布関数の統計量と、バイナリ変数を連続値緩和した目的関数で定義される確率分布関数の統計量をもとに前記状態更新に関わる量を求めることを特徴とする情報処理装置。
【請求項4】
請求項3に記載の情報処理装置であって、
前記積和演算実行部は、前記バイナリ変数とそれを連続値緩和した連続変数に対する確率分布関数の標準偏差を計算し、状態遷移に用いる確率分布関数を選択することを特徴とする情報処理装置。
【請求項5】
請求項4に記載の情報処理装置であって、
前記積和演算実行部は、前記確率的な状態遷移方法を、シミュレーティッド・アニーリングにより実行することを特徴とする情報処理装置。
【請求項6】
請求項5に記載の情報処理装置であって、
前記シミュレーティッド・アニーリングを実行するために乱数を用いることを特徴とする情報処理装置。
【請求項7】
請求項1に記載の情報処理装置であって、
前記目的関数は、エネルギー関数であって、エネルギー関数を計算するために、前記変数の値と、前記目的関数の係数の積和演算を前記積和演算実行部において実行することを特徴とする情報処理装置。
【請求項8】
計算機を用いてバイナリ変数または連続変数に対する2次関数の目的関数をもつ混合2値2次計画問題を解くための情報処理方法であって、
計算機は、混合2値2次計画問題を設定するモデル設定部と、演算部とを備え、
前記演算部は、前記混合2値2次計画問題の変数を初期化し、前記混合2値2次計画問題における前記変数に基づいて状態更新に関わる量を計算し、前記状態更新に関わる量に基づいて変数の状態を更新する処理を実行するとともに、
元の目的関数で定義される確率分布関数と、バイナリ変数を連続値緩和した目的関数で定義される確率分布関数をもとに、確率的な状態遷移において状態遷移の大きさの指標を、前記状態更新に関わる量として求め、
前記状態更新に関わる量に基づいて状態遷移方法を切り替えながら前記変数を更新して最適解を探索することを特徴とする情報処理方法。
【請求項9】
請求項8に記載の情報処理方法であって、
前記演算部は、前記混合2値2次計画問題の温度パラメータを制御する処理を実行するとともに、
前記混合2値2次計画問題の温度パラメータを含めて初期化を行い、
前記変数と前記温度パラメータを更新して最適解を探索することを特徴とする情報処理方法。
【請求項10】
請求項8に記載の情報処理方法であって、
元の目的関数で定義される確率分布関数の統計量と、バイナリ変数を連続値緩和した目的関数で定義される確率分布関数の統計量をもとに前記状態更新に関わる量を求めることを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置並びに情報処理方法に関する。
【背景技術】
【0002】
さまざまな物理現象や社会現象は相互作用モデルを用いて表現することができる。相互作用モデルは、モデルを構成する複数のノードと、ノード間の非線形係数(或いは、相互作用係数)、さらに必要であればノード毎に作用する線形係数(或いは、バイアス係数や外部磁場係数)で定義される。物理学や社会科学の分野においては、イジングモデルを始めとする種々のモデルが提案されているが、いずれも相互作用モデルの一形態として解釈することができる。
【0003】
この点に関連して特許文献1には、イジングモデルの基底状態探索問題を含む混合2値2次計画問題に対して、相互作用関係を完全2部グラフ構造に変換して、シミュレーティッド・アニーリングに基づく基底状態探索を高速化する方法に関して記載されている。
【0004】
また特許文献2には、イジングモデルの相互作用関係を完全2部グラフ構造に変換して、シミュレーティッド・アニーリングに基づく基底状態探索を高速化する方法に関して記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】WO2021/220445
【特許文献2】WO2019/216277
【発明の概要】
【発明が解決しようとする課題】
【0006】
相互作用モデルに関係づけられた指標を最小化または最大化するノード状態を求めることが社会課題の解決において重要である。例えば、ソーシャルネットワークのクリークを検知する問題や、金融分野のポートフォリオ最適化問題が挙げられる。これらはオペレーションズ・リサーチの分野では、制約無し2値2次最適化問題や混合2値2次計画問題に大別される。また、これらは2値変数を区間制約付きの連続変数に緩和することで、2次計画問題に帰着させることができる。
【0007】
然しながら、特許文献1、特許文献2を含めて、制約無し2値2次最適化問題や混合2値2次計画問題を2次計画問題に帰着して解く際に最適解への状態遷移を促す、ひいては最適解探索を効率良く実施するための工夫に関する提案はない。
【0008】
本発明は、上述の背景を鑑みてなされたもので、制約無し2値2次最適化問題や混合2値2次計画問題を2次計画問題に帰着して解く際に、最適解探索を効率良く行うための情報処理装置並びに情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
以上のことから本発明においては、「バイナリ変数または連続変数に対する2次関数の目的関数をもつ混合2値2次計画問題を解くための情報処理装置であって、混合2値2次計画問題を設定するモデル設定部と、混合2値2次計画問題の変数を初期化する変数値初期化部と、混合2値2次計画問題における変数に基づいて状態更新に関わる量を計算する積和演算実行部と、状態更新に関わる量に基づいて変数の状態を更新する状態更新制御部とを備え、積和演算実行部は、元の目的関数で定義される確率分布関数と、バイナリ変数を連続値緩和した目的関数で定義される確率分布関数をもとに、確率的な状態遷移において状態遷移の大きさの指標を、状態更新に関わる量として求め、状態更新制御部は、状態更新に関わる量に基づいて状態遷移方法を切り替えながら変数を更新して最適解を探索することを特徴とする情報処理装置。」としたものである。
【0010】
また本発明は、「計算機を用いてバイナリ変数または連続変数に対する2次関数の目的関数をもつ混合2値2次計画問題を解くための情報処理方法であって、計算機は、混合2値2次計画問題を設定するモデル設定部と、演算部とを備え、演算部は、混合2値2次計画問題の変数を初期化し、混合2値2次計画問題における変数に基づいて状態更新に関わる量を計算し、状態更新に関わる量に基づいて変数の状態を更新する処理を実行するとともに、元の目的関数で定義される確率分布関数と、バイナリ変数を連続値緩和した目的関数で定義される確率分布関数をもとに、確率的な状態遷移において状態遷移の大きさの指標を、状態更新に関わる量として求め、状態更新に関わる量に基づいて状態遷移方法を切り替えながら変数を更新して最適解を探索する」としたものである。
【発明の効果】
【0011】
本発明によれば、制約無し2値2次最適化問題や混合2値2次計画問題を2次計画問題に帰着して解く際に最適解の探索を効率良く実施することができる。上記以外の課題、構成、及び効果は、以下の発明を実施するための形態の説明により明らかにされる。
【図面の簡単な説明】
【0012】
図1】本発明の実施例に係る情報処理装置の基本的なハード構成例を示す図。
図2】情報処理装置10が備える主な機能(ソフトウェア構成)を示す図。
図3図2の処理部(21-26)により実行される基底状態探索の処理フロー。
図4】相互作用モデルのエネルギーランドスケープの概念を示す図。
図5】シミュレーティッド・アニーリングSAにおいて徐々に温度パラメータTを変えた場合の概念を示す図。
図6】相互作用モデルの変数間の相互作用関係を完全グラフとして表した図。
図7図3の処理ステップS14の詳細な処理フロー。
図8】バイナリ変数と連続変数による確率分布関数を示す図。
図9】ランダム・サンプリングを繰り返した場合に、状態空間における局所最適解の間をどのように移動するかを表した模式図。
図10】g/Tに対する標準偏差SDの値を示す図。
図11】基底状態探索処理と変数更新処理の全体処理内容を示す図。
【発明を実施するための形態】
【0013】
以下、実施の形態を図面に基づいて詳細に説明する。尚、以下の説明において、同一の又は類似する構成に共通の符号を付して重複した説明を省略することがある。また同一あるいは同様の機能を有する要素が複数ある場合に同一の符号に異なる添字を付して説明することがある。また複数の要素を区別する必要がない場合は添字を省略して説明することがある。
【実施例0014】
本発明の実施例に係る情報処理装置は、計算機を用いて実現される。図1は、本発明の実施例に係る情報処理装置の基本的なハード構成例を示している。
【0015】
図1において、情報処理装置10は、プロセッサ11、主記憶装置12、補助記憶装置13、入力装置14、出力装置15、通信装置16、1つ以上の演算装置20、及びこれらの装置を通信可能に接続するシステムバス5を備える。
【0016】
情報処理装置10は、例えば、その一部又は全部がクラウドシステム(Cloud System)により提供されるクラウドサーバ(Cloud Server)のような仮想的な情報処理資源を用いて実現されるものであってもよい。また情報処理装置10は、例えば、互いに協調して動作する、通信可能に接続された複数の情報処理装置によって実現されるものであってもよい。
【0017】
プロセッサ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に読み込まれる。
【0018】
入力装置14は、ユーザから情報の入力を受け付けるユーザインタフェースであり、例えば、キーボード、マウス、カードリーダ、タッチパネル等である。出力装置15は、ユーザに情報を提供するユーザインタフェースであり、例えば、各種情報を可視化する表示装置(LCD(Liquid Crystal Display)、グラフィックカード等)や音声出力装置(スピーカ)、印字装置等である。通信装置16は、他の装置と通信する通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール、USB(Universal Serial Interface)モジュール、シリアル通信モジュール等である。
【0019】
演算装置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等)にプログラムを実行させることにより実現してもよい。
【0020】
図2は、情報処理装置10が備える主な機能(ソフトウェア構成)を示している。ここでは図1のプロセッサ11あるいは、演算装置20が実行する処理機能を処理部(21-26)として記載している。これらの処理機能は、モデル設定部21、変数値初期化部22、温度パラメータ制御部23、積和演算実行部24、状態遷移制御部25、及び変数値読出部26である。
【0021】
これらの機能は、プロセッサ11が、主記憶装置12に格納されているプログラムを読み出して実行することにより、もしくは、演算装置20が備えるハードウェアにより実現される。尚、情報処理装置10は、上記の機能に加えて、例えば、オペレーティングシステム、ファイルシステム、デバイスドライバ、DBMS(DataBase Management System)等の他の機能を備えていてもよい。
【0022】
また情報処理装置10内の主記憶装置12あるいは補助記憶装置13により構成される記憶部DBには、混合2値2次計画問題MBQP形式問題データD1をMBQP形式問題データベースDB1に、また演算装置制御プログラムD2を演算装置制御プログラムデータベースDB2に記憶している。
【0023】
ここで混合2値2次計画問題MBQP形式問題データD1は、組合せ最適化問題を所定の記述形式で入力したデータであり、非線形係数、線形係数を保持する。混合2値2次計画問題の詳細については後述する。MBQP形式問題データD1は、例えば、ユーザがユーザインタフェース(入力装置、出力装置、通信装置等)を介して設定する。演算装置制御プログラムD2は、積和演算実行部24が演算装置20を制御する際に実行する、もしくは積和演算実行部24が個々の演算装置20にロードして演算装置20に実行させるプログラムである。
【0024】
また処理部(21-26)の概略の処理内容は以下のようである。まずモデル設定部21は、MBQP形式問題データD1に基づいて、演算装置20にモデルの情報を渡す。変数値初期化部22は、演算装置20の変数メモリに格納されている値を初期化する。温度パラメータ制御部23は、SAにおける温度パラメータTを制御する。積和演算実行部24は、相互作用モデルに対してSAに従った状態更新に関わる量(後述する(5)式のgの値)を計算するものであり、演算装置20の一部である。状態更新方法制御部25は、実施例で説明したような変数の更新方法切替の指示を演算装置20に与える装置である。変数値読出部26は、演算装置20でSAが完了すると、変数メモリに格納されている値を読み出し、読み出した値を出力装置15や通信装置16に出力することで、基底状態探索を終了する。
【0025】
図3は、図2の処理部(21-26)により実行される基底状態探索処理のフロー図を示しており、処理ステップS11はモデル設定部21の処理に対応し、処理ステップS12は変数値初期化部22の処理に対応し、処理ステップS13は温度パラメータ制御部23と積和演算実行部24の処理に対応し、処理ステップS14は状態遷移制御部25の処理に対応し、処理ステップS16は変数値読出部26の処理に対応している。
【0026】
図3の基底状態探索処理は、例えば、図1の入力装置14を介してユーザからの指示等を受け付けることにより開始される。
【0027】
開始後、図3の一連処理の最初の処理ステップS11では、モデル係数設定部21が、演算装置20にモデル係数の情報を設定する。その値は、ユーザインタフェース(例えば、入力装置14、出力装置15、通信装置16等により実現される)を介してユーザが設定又は編集することもできる。
【0028】
モデル係数の設定は、混合2値2次計画問題を設定したことを意味しており、ここではモデル係数の設定により相互作用モデルが形成される。以下の説明にあたり、まず相互作用モデルについて詳細に説明する。
【0029】
相互作用モデルは、モデルを構成する複数のノード、ノード間に働く非線形係数、及びノード毎に働く線形係数により定義される。ここでは、各ノードi(i=1~N、Nは全ノードの数)に対応する変数xはバイナリ変数x∈{-1、1}又は連続変数x∈[-1、1]であるとする。
【0030】
ユーザから入力された相互作用モデルのモデル係数(非線形係数と線形係数)に基づき、エネルギー関数H(x)(一般にハミルトニアンと呼ばれる)が定義される。特に、相互作用関係が2つのノード間で定義される場合にエネルギー関数は(1)式に示す2次式となる。なお(1)式の第1項がノード間の相互作用、第2項がノードに対するバイアスを表現していると考えることもできる。
【0031】
【数1】
【0032】
一般に相互作用モデルは無向グラフとして表現され、非線形項はそこに含まれる変数の組で指定される。そのため、(1)式の行列Jは実対称行列(Jij=Jji)となるようにとれる。また、バイナリ変数x∈{-1、1}を2乗するとx =1と定数になるので、バイナリ変数xにかかる対角要素Jiiは0としてよい。
【0033】
上記相互作用モデルは、イジングモデルを内包した概念である。実際、相互作用モデルにおいて全変数をバイナリ変数x∈{-1、1}に限定した場合、イジングモデルに帰着する。イジングモデルは、例えば、統計力学で磁性体を記述する格子モデルとして用いられており、+1/-1がスピンの上/下向きに対応する。
【0034】
相互作用モデルの最小エネルギー状態(基底状態)探索は、上記エネルギー関数を最小化する変数配列xを求める最適化問題である。これはエネルギー関数を最小化すべき目的関数とした、変数の区間制約付きの混合2値2次計画問題(以降、MBQP(Mixed Binary Quadratic Programming)と呼ぶ)と等価である。
【0035】
図4は相互作用モデルのエネルギーランドスケープの概念図である。グラフの横軸は変数配列、縦軸は系の全エネルギーである。図4では状態Aのときエネルギーが最も小さく、状態Aから変数のひとつを、-1を1に更新するとよりエネルギーが大きい状態Bとなり、更にひとつの変数を1を―1に更新するとエネルギーの小さな状態Cとなる。このように変数が変化することでエネルギー関数の値が変化し、エネルギーランドスケープを動き回る。
【0036】
本実施例では、相互作用モデルの基底状態の探索をマルコフ連鎖モンテカルロ法(以降、MCMC(Markov Chain Monte Carlo methods)と呼ぶ)により行う。マルコフ連鎖モンテカルロ法MCMCにおける確率的な遷移では、現在の状態xから他の状態への確率的な遷移を繰り返す。確率的な状態遷移を逐次的に実行する方法としてギブス・サンプリング(或いは、熱浴法)がある。状態xが従う確率分布関数をp(x)、ギブス・サンプリングによるi回目のステップで生成された状態をx(i)={x (i)、…、x (i)}とする。このとき、i+1回目の状態はn=1、..、Nとして(2)式の条件付き確率に従って逐次的に生成される。
【0037】
【数2】
【0038】
上記の確率的な状態遷移を制御するパラメータTを導入して、徐々に遷移を抑制しつつマルコフ連鎖モンテカルロ法MCMCを実行するとき、基底状態に漸近的に収束する。これを利用して最小化問題の最適解を求める手法がシミュレーティッド・アニーリング(以下、SA(Simulated Annealing)と呼ぶ)である。
【0039】
図5はシミュレーティッド・アニーリングSAにおいて徐々にパラメータTを変えた場合の概念図である。現実の焼きなましと対応して、パラメータTを温度パラメータと呼ぶ。温度パラメータの最大値と最小値をそれぞれTとTとしたときに、例えば、TからTの間を等比数列で補間した値で刻みながら温度パラメータを下げていく幾何冷却法が一般的に用いられる。もちろん、等差数列で補間した値で刻みながら温度パラメータを下げるなど、さまざまな冷却法が実行可能である。
【0040】
図6は相互作用モデルの変数間の相互作用関係を完全グラフとして表した図である。図6の上図は、相互作用モデルの変数間の相互作用関係を表している。変数数N=6とした。全変数間に相互作用関係があるため、完全グラフ(全結合グラフ)である。なお□で示す部分は、{-1、1}のバイナリ変数であり、〇で示す部分は、[-1、1]間の連続変数であるものとする。図6の下図は、図6の上図で表現された相互作用モデルのバイナリ変数を連続値緩和した相互作用モデルである。
【0041】
ここでは相互作用モデルである(1)式に含まれるバイナリ変数x∈{-1、1}に注目する。相互作用モデルのエネルギー関数H(x)に対して、全ての変数xを連続変数x’∈[-1、1]に置き換えた相互作用モデルのエネルギー関数をH(x’)として、H(x)とH(x’)の基底状態をそれぞれxとx’とすると、特許文献1に記載の通り、以下の(3)式が成り立つ。
【0042】
【数3】
【0043】
ここで符号関数sign(x)は、x≧0ならば+1、x<0ならば-1を返す関数である。(3)式により、H(x’)の基底状態を探索することでH(x)の基底状態が求められる。つまり、混合2値2次計画問題MBQPを表現した相互作用モデルの基底状態探索では、バイナリ変数をそのまま扱うか、連続変数として扱うかの自由度がある。
【0044】
相互作用モデルに対してマルコフ連鎖モンテカルロ法MCMCやシミュレーティッド・アニーリングSAを適用する場合、(2)式などにもとづいて変数の値を確率的に更新する。ここで互いの間に非線形項を持たない変数同士は、エネルギー関数ひいては確率密度関数において独立となり、(2)式にもとづく状態遷移を同時に適用することが可能である。そのため、独立な変数を並列して更新することで、マルコフ連鎖モンテカルロ法MCMCやシミュレーティッド・アニーリングSAの処理の高速化を図ることが可能である。
【0045】
このような高速化を、相互作用関係が2部グラフ構造、すなわちノードの各部分グラフにおいては相互作用関係を持たないような相互作用モデルを用いて行うことができる。特許文献2では全結合のイジングモデルの基底状態探索問題を、完全2部グラフ構造を持つ代わりのイジングモデルの基底状態探索問題を解くことで、変数更新を並列処理により高速して基底状態を求める方法が提案されている。特許文献1では混合2値2次計画問題MBQPの全てのバイナリ変数を連続値緩和した後に、相互作用関係が完全2部グラフ構造を持つ相互作用モデルの基底状態探索問題を解くことで、変数更新を並列処理により高速化して基底状態を求める方法が提案されている。
【0046】
特許文献1、2の関係は、前述した、混合2値2次計画問題MBQPを表現する相互作用モデルの基底状態探索でバイナリ変数をそのまま扱うか、連続値緩和して連続変数として扱うかの関係に対応している。従来はどちらかの扱いに固定して用いており、変数の扱いによって状態探索の効率が変わるので、適した方法は問題によって異なる可能性があった。
【0047】
図3に戻り、上記のように設定された混合2値2次計画問題MBQPを効率よく求めるために、続いて処理ステップS12では変数値初期化部23が演算装置20の変数値を初期化し、温度パラメータ制御部23が演算装置20の温度パラメータの初期値を設定する。例えば、変数の初期値は、バイナリ変数に対して{―1、+1}のいずれかの値を50%ずつの確率で採択し、連続変数に対して[-1、+1]の区間の一様分布からランダム・サンプリングして採択する。また、温度パラメータの初期値は、シミュレーティッド・アニーリングSAにおける温度パラメータの最大値Tで設定する。
【0048】
図3の処理ステップS13以降では、具体的に混合2値2次計画問題MBQPの解法を処理していくが、処理するにあたり、上記した特許文献1、2における背景を鑑みて、混合2値2次計画問題MBQPを表現した相互作用モデルの基底状態探索を実施する際に、状態遷移の従う確率分布関数の統計量を参照することで、バイナリ変数をそのまま扱うか連続変数として扱うかを動的に切り替え、基底状態探索の効率を向上する手法を採用する。
【0049】
ここでは、(1)式のエネルギー関数に対してギブス・サンプリングに従って状態を遷移させる。なお、温度パラメータTとして、後述する(7)式の右辺の相互作用モデルの状態xは、マルコフ連鎖モンテカルロ法MCMCに従って(4)式に示すボルツマン分布に基づく確率密度関数p(x)で出現するものとする。
【0050】
【数4】
【0051】
なお(4)式において、Zは分配関数とよばれるボルツマン分布の規格化因子である。このボルツマン分布に対して(2)式のようなギブス・サンプリングを適用することで変数xを確率的に更新することが可能である。
【0052】
そのうえで、続いて、演算装置20において処理ステップS13では、必要であれば温度パラメータ制御部23が温度パラメータの値を、積和演算実行部24が状態更新に必要な量を更新する。温度パラメータは、前述の幾何冷却法などに従って更新する。
【0053】
この事例では、状態更新に必要な量として(5)式のgを適用するのがよい。更新の具体的な式を示す(5)式では、そのために次のベクトル量を定義しておくものであり、(1)式のエネルギー関数をxで微分した量に関係する(5)式のgとする。
【0054】
【数5】
【0055】
続いて図3では、状態更新制御部25が処理ステップS14において(5)式のgと温度パラメータの値にもとづいて変数の状態を更新する。この処理は変数xの添え字iについて1~Nまで順番に行うか、また添え字iを1~Nについてランダムな順番などに実施する。また、この処理の詳細については図7で説明する。
【0056】
図7は、図3の処理ステップS14をさらに詳細に示したものである。図7の変数更新処理では、変数xiの処理をバイナリ、連続のいずれで行うのが適切であるかを判断して、切り替え処理している。この切り替え処理とすべき理由について以下に説明する。
【0057】
ここでは、まず混合2値2次計画問題MBQPを表現した元の相互作用モデルにおいて、連続変数であった変数xについて考える。相互作用行列Jiiが非ゼロかゼロかで場合分けされる。
【0058】
例えば相互作用行列Jiiが非ゼロの場合には、(4)式から(6)式の分布関数に従う。逆に相互作用行列Jiiが0の場合には(4)式から(7)式の分布関数に従う。
【0059】
【数6】
【0060】
【数7】
【0061】
(6)式、(7)式に対して、逆関数法や棄却サンプリング法を用いることで、これらの分布関数から次状態をランダム・サンプリングすることが可能である。
【0062】
図8は、バイナリ変数と連続変数による確率分布関数を示している。次に混合2値2次計画問題MBQPを表現した元の相互作用モデルにおいて、バイナリ変数であった変数xについて考える。この場合は前述の通りJii=0にとれる。もしバイナリ変数のまま扱うとすれば、(4)式から次状態x∈{-1、+1}は、図8左図に示すような(8)式の離散型確率分布関数に従う。一方で、バイナリ変数を連続値緩和して扱う場合には、図8右図に示すような(7)式の連続型確率分布関数に従う。
【0063】
【数8】
【0064】
図9は(7)式と(8)式に従って次状態のランダム・サンプリングを繰り返した場合に、状態空間における局所最適解の間をどのように移動するかを表した模式図である。変数がバイナリ値、すなわち(8)式に従った遷移を行う場合には、状態空間を大きく移動しやすい。ただし、局所最適解間で一度エネルギーの値が大きな状態に遷移する必要があるため、温度パラメータが小さくなると遷移が起こりにくくなる。
【0065】
一方、変数が連続値、すなわち(7)式に従った遷移を行う場合には、状態空間を細かく移動しやすい。ただし、細かく移動することができるので、温度パラメータが小さな場合でも局所最適解に留まらずにある程度状態遷移が起こると考えられる。
【0066】
(3)式より、元の相互作用モデルでバイナリ変数である変数は、連続値緩和しても基底状態でx∈{-1、+1}となることが分かっている。そこで、-1/+1を効率的に遷移することが望ましいが、(7)式と(8)式により温度やgの値によってどちらの遷移が適切かが変化する。状態遷移の大きさ、すなわち確率分布関数の広がりを示す指標として、標準偏差が考えられる。ある量・の確率分布関数p(x)のもとでの平均をE[・]とすると、標準偏差SD[x]は(9)式で表すことができる。
【0067】
【数9】
【0068】
(7)式に対して標準偏差SDの(9)式を計算すると(10)式になる。また、(8)式に対して標準偏差SDの(9)式を計算すると(11)式になる。ここでcoth(・)は双曲線余接関数、sech(・)は双曲線正割関数である。
【0069】
【数10】
【0070】
【数11】
【0071】
/Tに対する標準偏差SDの(10)式と(11)式の値を図10に示した。これによれば、g/Tの大きさに応じて実際に大小関係が逆転している。
【0072】
そこで混合2値2次計画問題MBQPを表現した元の相互作用モデルにおいて、バイナリ変数であった変数xの更新では、上述の標準偏差のように、変数の遷移のしやすさを示す統計量を計算して(7)式あるいは(8)式の遷移を選択することでより効率良く状態空間を探索することができる。もちろん、標準偏差以外にも、現在の状態と次状態の距離の期待値など、別の統計量で状態空間の遷移しやすさを評価して状態遷移を切り替えることも可能である。
【0073】
以上述べた知見に基づいて本発明では、図7の処理フローを実行する。図7は、図3の基底状態探索の処理ステップS14にて、各変数の更新を行う際に情報処理装置10が行う処理(以下、変数更新処理と称する)を説明するフローチャートである。
【0074】
ここではまず変数xの更新開始が指示されたことをもって処理が開始される。更新する対象である変数xが連続値に緩和する前の元の相互作用モデルで、バイナリ変数であったかをモデル設定部S21の情報にもとづいて判定する。まず処理ステップS21において、変数xがもともとバイナリであったかどうかを判断し、元の相互作用モデルの変数としてバイナリであった場合には処理ステップS22に移行し、他方、元の相互作用モデルの変数としてバイナリ変数でなかった、すなわち、連続変数であった場合には処理ステップS24に移行する。
【0075】
バイナリであった場合の処理ステップS22の処理では、該当変数xを連続変数とした場合とバイナリ変数とした場合の確率分布関数に対して、例えば標準偏差のような、統計値を計算し、次いで処理ステップS23において、統計量に従い図10の関係を用いて更新法を選択する。例えばより標準偏差の大きい、連続型確率分布関数か離散型確率分布関数を選択する離散型を選択した場合には処理ステップS25に移行し、連続型を選択した場合には処理ステップS24に移行する。
【0076】
処理ステップS25では、離散型確率分布関数からランダム・サンプリングを実行し、処理ステップS24では、連続型確率分布関数からランダム・サンプリングを実施して、変数xの状態を更新する。これで変数の更新を終了する。
【0077】
図7の処理後は、図3の処理ステップS15に戻り、続いて、演算装置制御プログラム(図2)により、シミュレーティッド・アニーリングSA終了条件が成立したか否かを判定する。これは例えば、既定の回数だけ温度パラメータTを変えつつ状態更新を実行したか否かを判断したものである。シミュレーティッド・アニーリングSA終了条件が成立したと判定した場合(処理ステップS15:YES)、処理は処理ステップS16に進む。一方、積和演算実行部24において停止条件が成立しないと判定した場合(処理ステップS15:NO)、処理は処理ステップS13に戻り、終了条件を満足するまで、繰り返し実行される。
【0078】
シミュレーティッド・アニーリングSA終了条件が成立したと判定した場合、続いて、変数値読出部26が、変数メモリに格納されている値を読み出して基底状態探索の結果として記憶し(処理ステップS16)、図3の基底状態探索処理は終了する。
【0079】
以上、図3に示した基底状態探索処理と図7に示した変数更新処理をまとめた全体像を図11に示した。前述の通り、変数更新処理は変数xの添え字iについて1~Nまで順番に行うか、また添え字iを1~Nについてランダムな順番などに実施する。これにより、シミュレーティッド・アニーリングにおいてバイナリ変数の状態更新の大きさを促進、ひいては基底状態探索を効率化できる。
【0080】
以上要するに本発明の情報処理装置は、バイナリ変数または連続変数に対する2次関数の目的関数をもつ混合2値2次計画問題を解くための情報処理装置であって、混合2値2次計画問題を設定するモデル設定部と、混合2値2次計画問題の変数を初期化する変数値初期化部と、混合2値2次計画問題における変数に基づいて状態更新に関わる量を計算する積和演算実行部と、状態更新に関わる量に基づいて変数の状態を更新する状態更新制御部とを備え、積和演算実行部は、元の目的関数で定義される確率分布関数と、バイナリ変数を連続値緩和した目的関数で定義される確率分布関数をもとに、確率的な状態遷移において状態遷移の大きさの指標を、前記状態更新に関わる量として求め、状態更新制御部は、状態更新に関わる量に基づいて状態遷移方法を切り替えながら変更を更新して最適解を探索するものである。
【0081】
ここまで一実施形態について詳述したが、本発明は上記の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また上記実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0082】
また上記の各構成、機能部、処理部、処理手段等は、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0083】
また上記の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。例えば、実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【0084】
また以上に説明した情報処理装置10の各種機能部、各種処理部、各種データベースの配置形態は一例に過ぎない。各種機能部、各種処理部、各種データベースの配置形態は、情報処理装置10が備えるハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態に変更し得る。
【0085】
また前述した各種のデータを格納するデータベースの構成(スキーマ(Schema)等)は、リソースの効率的な利用、処理効率向上、アクセス効率向上、検索効率向上等の観点から柔軟に変更し得る。
【符号の説明】
【0086】
5:システムバス
10:情報処理装置
11:プロセッサ
12:主記憶装置
13:補助記憶装置
14:入力装置
15:出力装置
16:通信装置
12:主記憶装置
20:演算装置
DB:記憶部
D1:MBQP形式問題データ
D2:演算装置制御プログラム
21:モデル設定部
22:変数値初期化部
23:温度パラメータ制御部
24:積和演算実行部
25:状態更新方法制御部
26:変数値読出部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11