(57)【要約】【課題】  求解の収束時間を短縮させ得る情報処理装置及び方法を提案する。【解決手段】  連続して入力され、時々刻々と変化する問題の解を求める情報処理装置及び方法において、相互作用モデルにおける各素子間の相互作用を模擬し、当該相互作用モデルの基底状態を探索する演算を実行する演算部を情報処理装置に設け、入力される問題を所定の相互作用モデルにマッピングしたときの当該相互作用モデルを構成する各素子間の相互作用の強さを決定する係数の値を表す係数データを生成し、生成した問題の係数データに基づいて、前後する問題間の類似度を表す類似度データを生成し、１つ前の問題及び今回の問題の類似度が所定の閾値以下の場合には、問題変換部から与えられた各素子の状態を相互作用モデルの初期状態に設定し、当該類似度が閾値よりも大きい場合には、直前の各素子の状態を今回の問題に対する相互作用モデルの初期状態とするようにした。
2017037859.tif 000002
【特許請求の範囲】
【請求項１】
連続して入力され、時々刻々と変化する問題の解を求める情報処理装置において、
入力される前記問題を所定の相互作用モデルにマッピングしたときの当該相互作用モデルを構成する各素子間の相互作用の強さを決定する係数の値を表す係数データを生成する問題変換部と、
前記問題変換部により生成された前記問題の前記係数データに基づいて、前後する前記問題間の類似度を表す類似度データを生成する類似度解析部と、
前記相互作用モデルの初期状態を決定し、決定した初期状態に前記相互作用モデルを設定するための設定データを生成する設定データ生成部と、
前記相互作用モデルにおける各前記素子間の相互作用を模擬し、当該相互作用モデルの基底状態を探索する演算を実行する演算部と
を備え、
前記設定データ生成部は、
１つ前の前記問題及び今回の前記問題の類似度が所定の閾値以下の場合には、前記相互作用モデルの状態をリセットすべきことを表す前記設定データを生成し、当該類似度が前記閾値よりも大きい場合には、前記相互作用モデルの状態をリセットしないことを表す前記設定データを生成し、
前記演算部は、
前記設定データの値が前記相互作用モデルの状態をリセットすべきことを表す値であった場合には、前記問題変換部から与えられた各前記素子の状態を前記相互作用モデルの初期状態に設定し、前記設定データの値が前記相互作用モデルの状態をリセットしないことを表す値であった場合には、直前の各前記素子の状態を前記今回の問題に対する前記相互作用モデルの初期状態とする
ことを特徴とする情報処理装置。
【請求項２】
前記類似度データに基づいて、前記素子の揺らぎの大きさを制御する焼きなましデータを生成する焼きなまし設定部を備え、
前記演算部は、
前記焼きなましデータの値に応じた前記素子の揺らぎの大きさの状態から、前記相互作用モデルの基底状態の探索を開始する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記類似度解析部は、
前後する前記問題の前記係数データの類似度と、当該前後する前記問題のデータの類似度とに基づいて、前記類似度データを生成する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記演算部における前記演算の時間を設定するための演算時間データを生成する演算時間設定部と、
前記演算時間データに基づくタイミングで前記問題変換部に前記問題を出力する問題出力部と、
過去の前記問題の前記演算時間データ、前記設定データ、前記係数データ及び前記前記類似度データと、今回の前記問題の前記類似度データとに基づいて、今回の前記問題について前記演算部で実行される前記演算の時間の収束率を推定する収束率推定部と
をさらに備え、
前記演算時間設定部は、
前記収束率推定部により推定された前記収束率に応じた時間に前記演算部における前記演算の時間を設定するように前記演算時間データを生成する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
過去の前記問題に関する前記係数データ、前記類似度データ、前記設定データ及び前記演算時間を収集して保持するログ収集部をさらに備え、
前記収束率推定部は、
前記ログ収集部に保持された前記係数データ、前記類似度データ、前記設定データ及び前記演算時間と、今回の前記問題の前記類似度データとに基づいて、今回の前記問題について前記演算部で実行される前記演算の時間の前記収束率を推定する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記演算部は、
前記相互作用モデルの初期状態を、当該相互作用モデルを複数のエリアに分割したエリアごとに設定でき、
前記類似度解析部は、
前記相互作用モデルの前記エリアごとの前記類似度データをそれぞれ生成し、
前記設定データ生成部は、
前記相互作用モデルの各前記エリアにそれぞれ対応させて設けられ、前記類似度解析部により生成された前記類似度データのうちの対応する前記類似度データに基づいて、前記相互作用モデルの対応する前記エリアの初期状態を決定し、決定した初期状態に前記相互作用モデルの当該エリアを設定するための前記設定データを生成する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
連続して入力され、時々刻々と変化する問題の解を求める情報処理装置において実行される情報処理方法であって、
前記情報処理装置は、
前記相互作用モデルにおける各前記素子間の相互作用を模擬し、当該相互作用モデルの基底状態を探索する演算を実行する演算部
を有し、
入力される前記問題を所定の相互作用モデルにマッピングしたときの当該相互作用モデルを構成する各素子間の相互作用の強さを決定する係数の値を表す係数データを生成する第１のステップと、
生成した前記問題の前記係数データに基づいて、前後する前記問題間の類似度を表す類似度データを生成する第２のステップと、
前記相互作用モデルの初期状態を決定し、決定した初期状態に前記相互作用モデルを設定するための設定データを生成する第３のステップと、
前記演算部が、前記設定データに応じた初期状態から前記演算を開始する第４のステップと
を備え、
前記第３のステップでは、
１つ前の前記問題及び今回の前記問題の類似度が所定の閾値以下の場合には、前記相互作用モデルの状態をリセットすべきことを表す前記設定データを生成し、当該類似度が前記閾値よりも大きい場合には、前記相互作用モデルの状態をリセットしないことを表す前記設定データを生成し、
前記第４のステップにおいて、前記演算部は、
前記設定データの値が前記相互作用モデルの状態をリセットすべきことを表す値であった場合には、前記問題変換部から与えられた各前記素子の状態を前記相互作用モデルの初期状態に設定し、前記設定データの値が前記相互作用モデルの状態をリセットしないことを表す値であった場合には、直前の各前記素子の状態を前記今回の問題に対する前記相互作用モデルの初期状態とする
ことを特徴とする情報処理方法。
【請求項８】
前記第３のステップでは、
前記類似度データに基づいて、前記素子の揺らぎの大きさを制御する焼きなましデータを生成し、
前記第４のステップでは、
前記演算部が、前記焼きなましデータの値に応じた前記素子の揺らぎの大きさの状態から、前記相互作用モデルの基底状態の探索を開始する
ことを特徴とする請求項７に記載の情報処理方法。
【請求項９】
前記第２のステップでは、
前後する前記問題の前記係数データの類似度と、当該前後する前記問題のデータの類似度とに基づいて、前記類似度データを生成する
ことを特徴とする請求項７に記載の情報処理方法。
【請求項１０】
過去の前記問題の前記演算時間データ、前記設定データ、前記係数データ及び前記前記類似度データと、今回の前記問題の前記類似度データとに基づいて、今回の前記問題について前記演算部で実行される前記演算の時間の収束率を推定する第５のステップと、
推定した前記収束率に応じた時間に前記演算部における前記演算の時間を設定するように前記演算時間データを生成する第６のステップと、
前記演算時間データに基づいて、前記問題を入力するタイミングを制御する第７のステップと
を備えることを特徴とする請求項７に記載の情報処理方法。
【請求項１１】
前記情報処理装置は、
過去の前記問題に関する前記係数データ、前記類似度データ、前記設定データ及び前記演算時間を収集して保持し、
前記第５のステップでは、
保持した前記係数データ、前記類似度データ、前記設定データ及び前記演算時間と、今回の前記問題の前記類似度データとに基づいて、今回の前記問題について前記演算部で実行される前記演算の時間の前記収束率を推定する
ことを特徴とする請求項１０に記載の情報処理方法。
【請求項１２】
前記演算部は、
前記相互作用モデルの初期状態を、当該相互作用モデルを複数のエリアに分割したエリアごとに設定でき、
前記第２のステップでは、
前記相互作用モデルの前記エリアごとの前記類似度データをそれぞれ生成し、
前記第３のステップでは、
前記相互作用モデルの前記エリアごとに、対応する前記類似度データに基づいて当該エリアの初期状態を決定し、決定した初期状態に当該エリアをそれぞれ設定するための設定データを生成する
ことを特徴とする請求項７に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置及び方法に関し、例えば、連続して入力され、時々刻々と変化する各問題の解を、それぞれ相互作用モデルの基底状態を探索するようにして求める情報処理装置に適用して好適なものである。
【背景技術】
【０００２】
組合せ最適化問題を高速に求解することは計算機における重要課題であり、この課題を解決するための方法として、従来、特許文献１に開示された方法が知られている。この方法は、問題をイジングモデルに変換し、その基底状態を探索することで求解するものであり、特許文献１には計算の実現手段としてレーザを用いた装置が提案されている。【０００３】
また、計算装置の製造をより容易にする方法として、特許文献２に開示された方法がある。この方法は、イジングモデルの基底状態を求める装置を、ＣＭＯＳ（Complementary Metal-Oxide-Semiconductor）集積回路を用いて実現するものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１２／１１８０６４号
【特許文献２】国際公開第２０１４／１９２１５３号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
組合せ最適化問題を実社会に応用する場合、時間の経過と共に問題が刻々と変化するケースが考えられる。例えば、巡回セールスマン問題において、渋滞等によって一部の移動コストが変化する場合などはその典型である。しかしながら、特許文献１及び特許文献２では、このようなケースにおける効率的な基底状態の探索、つまりは求解の追従性向上に対しては考慮されていなかった。【０００６】
本発明は以上の点を考慮してなされたもので、時々刻々と変化する問題に対する求解の追従性を向上させて、求解の収束時間を短縮させ得る情報処理装置及び方法を提案しようとするものである。
【課題を解決するための手段】
【０００７】
かかる課題を解決するため本発明においては、連続して入力され、時々刻々と変化する問題の解を求める情報処理装置において、入力される前記問題を所定の相互作用モデルにマッピングしたときの当該相互作用モデルを構成する各素子間の相互作用の強さを決定する係数の値を表す係数データを生成する問題変換部と、前記問題変換部により生成された前記問題の前記係数データに基づいて、前後する前記問題間の類似度を表す類似度データを生成する類似度解析部と、前記相互作用モデルの初期状態を決定し、決定した初期状態に前記相互作用モデルを設定するための設定データを生成する設定データ生成部と、前記相互作用モデルにおける各前記素子間の相互作用を模擬し、当該相互作用モデルの基底状態を探索する演算を実行する演算部とを設け、前記設定データ生成部が、１つ前の前記問題及び今回の前記問題の類似度が所定の閾値以下の場合には、前記相互作用モデルの状態をリセットすべきことを表す前記設定データを生成し、当該類似度が前記閾値よりも大きい場合には、前記相互作用モデルの状態をリセットしないことを表す前記設定データを生成し、前記演算部が、前記設定データの値が前記相互作用モデルの状態をリセットすべきことを表す値であった場合には、前記問題変換部から与えられた各前記素子の状態を前記相互作用モデルの初期状態に設定し、前記設定データの値が前記相互作用モデルの状態をリセットしないことを表す値であった場合には、直前の各前記素子の状態を前記今回の問題に対する前記相互作用モデルの初期状態とするようにした。【０００８】
また本発明においては、連続して入力され、時々刻々と変化する問題の解を求める情報処理装置において実行される情報処理方法であって、前記情報処理装置は、前記相互作用モデルにおける各前記素子間の相互作用を模擬し、当該相互作用モデルの基底状態を探索する演算を実行する演算部を有し、入力される前記問題を所定の相互作用モデルにマッピングしたときの当該相互作用モデルを構成する各素子間の相互作用の強さを決定する係数の値を表す係数データを生成する第１のステップと、生成した前記問題の前記係数データに基づいて、前後する前記問題間の類似度を表す類似度データを生成する第２のステップと、前記相互作用モデルの初期状態を決定し、決定した初期状態に前記相互作用モデルを設定するための設定データを生成する第３のステップと、前記演算部が、前記設定データに応じた初期状態から前記演算を開始する第４のステップとを設け、前記第３のステップでは、１つ前の前記問題及び今回の前記問題の類似度が所定の閾値以下の場合には、前記相互作用モデルの状態をリセットすべきことを表す前記設定データを生成し、当該類似度が前記閾値よりも大きい場合には、前記相互作用モデルの状態をリセットしないことを表す前記設定データを生成し、前記第４のステップにおいて、前記演算部が、前記設定データの値が前記相互作用モデルの状態をリセットすべきことを表す値であった場合には、前記問題変換部から与えられた各前記素子の状態を前記相互作用モデルの初期状態に設定し、前記設定データの値が前記相互作用モデルの状態をリセットしないことを表す値であった場合には、直前の各前記素子の状態を前記今回の問題に対する前記相互作用モデルの初期状態とするようにした。【０００９】
以上の本情報処理装置及び方法によれば、時々刻々と変化する問題に対する求解の追従性を向上させることができる。
【発明の効果】
【００１０】
本発明によれば、求解の収束時間を短縮させ得る情報処理装置及び方法を実現できる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態による情報処理システムの構成を示すブロック図である。
【図２】（Ａ）−（Ｇ）は、図８の情報処理装置の構成及び動作の説明に供するタイミングチャートである。
【図３】（Ａ）−（Ｇ）は、応用例の説明に供するタイミングチャートである。
【図４】（Ａ）−（Ｇ）は、応用例の説明に供するタイミングチャートである。
【図５】第２の実施の形態による情報処理システムの構成を示すブロック図である。
【図６】第３の実施の形態による情報処理システムの構成を示すブロック図である。
【図７】収束率推定部の構成及び動作の説明に供するブロック図である。
【図８】収束率推定部の構成及び動作の説明に供するブロック図である。
【図９】第３の実施の形態の応用例の説明に供するブロック図である。
【図１０】第３の実施の形態による情報処理システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下図面について、本発明の一実施の形態を詳述する。
【００１３】
（１）第１の実施の形態
本情報処理システムの特徴は、連続して入力される問題の類似度を解析し、その解析結果に応じてイジングモデルの初期設定を調整する点にある。例えば、問題が変化した際の類似度が高い場合は、リセット動作を行わずに直前のスピン値を初期値とし、系の温度をリセット時よりも低く設定して解探索を開始する。これにより、求解の収束時間を短縮することができる。
【００１４】
図１は、本実施の形態による情報処理システム１を示す。この情報処理システム１は、イジングモデルの基底状態を探索することにより最適化問題の解を求める演算処理を実行する情報処理装置２と、情報処理装置２に問題を与える問題出力装置３と、情報処理装置２により得られた問題の解を表示する結果出力装置４とを備えて構成される。
【００１５】
問題出力装置３は、情報処理装置２に対して問題を提供するためのインタフェースであり、ユーザ設定や、センサから出力されるセンサデータ又はインターネットなどから得られる情報に基づき問題のデータ（問題データ）を生成し、生成した問題データを情報処理装置２に出力する。
【００１６】
例えば、巡回セールスマン問題の場合、問題データとして巡回都市と移動コストとに関する情報が必要となるが、問題出力装置３は、前者についてはユーザによる指定、後者については地図情報などから得られる移動距離に基づいて移動コストを算出することにより問題データを生成する。なお、ＶＩＣＳ（登録商標）（Vehicle Information and Communication System）などの渋滞情報を移動コストに反映させることにより、時々刻々と変化する問題を生成することができる。
【００１７】
図２（Ａ）は、問題出力装置による問題データの情報処理装置への出力タイミングを示す。図２において、全体動作は設定期間（時刻ｔ０〜時刻ｔ１、時刻ｔ２〜時刻ｔ３、時刻ｔ４〜時刻ｔ５、時刻ｔ６〜時刻ｔ７、時刻ｔ８〜時刻ｔ９）と演算期間（時刻ｔ１〜時刻ｔ２、時刻ｔ３〜時刻ｔ４、時刻ｔ５〜時刻ｔ６、時刻ｔ７〜時刻ｔ８）とからなるサイクルから構成され、個々の問題データ（Ａ１，Ａ２、Ａ３，Ｂ１，Ｂ２）はそれぞれ異なる設定期間に演算部に出力される。以下においては、問題データが時々刻々と変化しており、図２において同じ英字同士は、類似度が高いデータであることを意味するものとする。
【００１８】
情報処理装置２は、問題変換部１０、類似度解析部１１、スピン設定部１２、焼きなまし設定部１３、演算部１４及び演算結果取得部１５を備えて構成される。
【００１９】
問題変換部１０は、問題出力装置３から与えられる問題データをイジングモデルにマッピングし、その結果として得られた図２（Ｂ）に示す係数データ（ａ１，ａ２，ａ３，ｂ１，ｂ２，ｂ３）を設定期間に演算部１４に出力する。ここでマッピングとは、最適化したい問題のコスト関数を、エネルギ関数の形式に変換することを意味する。この変換によって、イジングモデルの各係数（各スピンの相互作用係数及び外部磁場係数）の値が算出される。
【００２０】
このようなマッピングは公知の技術であり、例えば上述した特許文献２には因数分解をマッピングする方法が開示され、「Lucas, A. “Ising formulations of many NP problems.” Name: Frontiers in Physics 2.5 (2014)」には、幾つかの最適化問題をエネルギ関数の形式に変換する方法が開示されている。
【００２１】
類似度解析部１１は、１つ前のサイクルの係数データと、現在の係数データとを比較することによりこれら係数データの類似度を解析し、その結果を類似度データとしてスピン設定部１２及び焼きなまし設定部１３に出力する。係数データ間の類似度の具体的な解析方法としては、例えば、相互作用係数や外部磁場係数の値が変化したスピンの数をカウントし、スピン総数に対するカウント値の割合から類似度を算出する方法を利用できる。
【００２２】
なお図２（Ｃ）に示すように、類似度データも他のデータと同様に設定期間で出力される。ここで、図２（Ｃ）において、時刻ｔ２〜時刻ｔ３の「60」という類似度データは、「ａ１」という係数データと、「ａ２」という係数データとを比較した結果得られた類似度データであり、時刻ｔ６〜時刻ｔ７の「５」という類似度データは、「ａ３」という係数データと、「ｂ１」という係数データとを比較した結果得られた類似度データである。類似度データの値は、０〜100の範囲で正規化され、１つ前のサイクルの係数データと、現在の係数データとの類似度が低いほど類似度データが０に近い値となり、かかる類似度が高いほど類似度データが100に近い値となる。
【００２３】
スピン設定部１２は、類似度解析部１１から与えられた類似度データを予め設定された第１の閾値と比較し、類似度データが第１の閾値よりも大きいときにはリセットを表す値（「１」）、類似度データが第１の閾値以下のときには非リセットを表す値（「０」）となる図２（Ｄ）に示すようなスピン設定データを生成し、生成したスピン設定データを演算部１４に出力する。なお図２（Ｄ）は、閾値を「50」とした場合の例を示している。
【００２４】
また焼きなまし設定部１３は、類似度データに基づき、焼きなましスケジュールを決定するための図２（Ｅ）に示すような焼きなましデータを生成し、生成した焼きなましデータを演算部に出力する。焼きなましデータの種類は、古典アニーリングの場合には温度、量子アニーリングの場合には横磁場強度となる。
【００２５】
焼なましデータは、スピン設定データと同様に、予め設定された第２の閾値との比較によりその値が設定される。例えば温度スケジュールの場合、類似度データの値が第２の閾値以下のときには「高温から開始」を示す値に設定され（時刻ｔ０〜時刻ｔ１、時刻ｔ６〜時刻ｔ７）、類似度データの値が閾値よりも大きいときには「低温から開始」を示すような値に設定される（時刻ｔ２〜時刻ｔ３、時刻ｔ４〜時刻ｔ５、時刻ｔ８〜時刻ｔ９）。図２（Ｅ）においては、第２の閾値が「50」に設定されることにより、２種類の温度スケジュールが生成された例を示す。なお図２（Ｅ）に示すように、温度スケジュールは、設定期間では開始温度を維持し、演算期間で徐々に冷却が進むように設定される。
【００２６】
演算部１４は、例えばスピンの動作を模擬した回路から構成される。演算部１４の具体例として、例えば特許文献２に記載された半導体装置を適用することができる。演算部１４は、イジングモデルの基底状態探索を演算期間に実行し、その過程で得られるスピンの状態をスピン配列データとして次の設定期間に出力する。
【００２７】
演算部１４において、スピン配列の初期状態はスピン設定データで制御される。スピン設定データの値が「リセット」を表す値であれば、問題変換部１０より与えられたスピン配列が設定される。この初期状態のスピン配列は、例えば、乱数でランダムに生成されたスピン配列であり、問題出力装置３より出力されたデータであっても、問題変換部１０において生成されたデータであってもよい。スピン設定データの値が「非リセット」を表す値であれば、直前のスピン配列（１つ前の問題に対するイジングモデルの基底状態）をそのまま利用する。また、スピン間の相互作用係数及び外部磁場係数は、問題変換部１０より与えられた係数データに従って設定される。
【００２８】
さらに、演算部１４は、イジングモデルの基底状態の探索時に必要となるスピンの揺らぎ（例えば、スピン値（＋１、−１）の反転確率）を焼なましデータに基づいて制御する。焼なましデータが「高温から開始」であれば、スピンの揺らぎの大きい状態から探索を開始し、「低温から開始」であれば、揺らぎの小さい状態から探索を開始する。
【００２９】
ここで、演算部１４から出力されるスピン配列データの一例を、図２（Ｆ）に示す。図２（Ｆ）において、「Ｒ」と記載したスピン配列データはランダムな配列を意味し、「ｓ１」〜「ｓ４」と記載されたスピン配列は基底状態探索によって得られた配列を意味する。なお、図２（Ｆ）において、「→」はスピン配列の変化を意味する。
【００３０】
演算結果取得部１５は、イジングモデルの基底状態探索の収束時、言い換えれば演算期間の終了時に演算部１４から出力されるスピン配列データを取得し、取得したスピン配列データを図２（Ｇ）に示すような演算結果データ（Ｓ１，Ｓ２，Ｓ３，……）に変換して出力する。演算結果データへの変換方法は問題によって異なるが、例えば巡回セールスマンの場合は、同じ向きのスピンを順番に辿って行く方法により変換が可能である。
【００３１】
一方、結果出力装置４は、演算結果データを用途に応じて出力するためのインタフェースである。用途としては、例えばモニタを介したユーザへの結果提示や、システムへの出力によるフィードバック制御の実現などが考えられる。
【００３２】
以上の構成を有する本実施の形態による情報処理システム１では、連続して入力される問題の類似度を係数データ間の類似度として解析し、問題が変化した際の係数データの類似度が高い場合は、リセット動作を行わずに直前のスピン値を初期値とし、系の温度をリセット時よりも低く設定して解探索を開始する。
【００３３】
従って、本情報処理システム１によれば、前の問題と類似する次の問題の解をリセット状態から基底状態の探索を開始する場合と比べて短時間で得ることが期待でき、その分、時々刻々と変化する問題に対する求解の追従性を向上させて、求解の収束時間を短縮することができる。
【００３４】
なお、本情報処理システム１では、図２に示すように、各サイクルにおける演算期間を同じ長さとしているが、例えば図３に示すように、前の問題との類似度が高い次の問題の演算期間（例えば、時刻ｔ３´〜時刻ｔ４´、時刻ｔ５´〜時刻ｔ６´、時刻ｔ９´〜時刻ｔ１０´）を短く設定した方が、より効率的な求解が可能である。この動作を実現する場合、問題出力装置３との調停処理が必要となる。その実現方法として、類似度データに基づいて解探索の収束時間を予測し、この情報を問題出力装置３に送ることで、次の問題データが出力されるタイミングを決定させる方法が考えられる。あるいは、基底状態探索の収束を検知し、この情報を問題出力装置３に送ることで、次の問題データが出力されるタイミングを決定させても良い。
【００３５】
一方、さらなる求解の効率化を考えた場合、例えば図４に示すように、焼きなまし設定部１３（図１）における類似度データに対する第２の閾値を複数設け、「高温から開始」、「中温から開始」及び「低温から開始」などのように温度スケジューリングを多種化し（図４（Ｅ）参照）、焼きなましデータの設定値に応じて演算期間をよりきめ細かく制御する方法も有効である。
【００３６】
（２）第２の実施の形態
第１の実施の形態においては、問題の類似性を解析する際、係数データの変化量を判断基準とした。しかし問題によっては、係数データの類似度が高いにもかかわらず、解となるスピン配列が大きく異なるケースも想定され、そのような場合には目的とする効果が十分に得られない可能性もある。そこで本実施の形態においては、係数データの変化量のみならず、元となる問題データの変化量も解析に加えることで、より確度の高い類似性解析を行う。
【００３７】
図１との対応部分に同一符号を付した図５は、このような類似性解析を行い得るようになされた第２の実施の形態による情報処理システム２０を示す。この情報処理システム２０は、情報処理装置２１の類似度解析部２２の構成が異なる点と、問題出力装置３から出力された問題データが情報処理装置２１の類似度解析部にも与えられる点とを除いて第１の実施の形態による情報処理システム１と同様に構成されている。
【００３８】
実際上、本実施の形態の類似度解析部２２は、第１の実施の形態の類似度解析部１１（図１）と同様に、問題変換部１０から与えられる係数データに基づいて、１つ前のサイクルの係数データと現在の係数データとの比較を行い、その類似度を算出する。加えて、類似度解析部２２は、問題出力装置３から与えられる問題データに基づいて、１つ前のサイクルの問題データと現在の問題データとの比較を行い、その類似度についても比較する。
【００３９】
ここで、問題データの類似度を効率的に解析する方法として、問題データの特徴量を抽出し、特徴量データの比較を行うことが考えられる。例えば問題データが画像の場合、色や輝度、輪郭や形状、固有値などを特徴量にすることが可能である。なお、特徴量は複数抽出することが望ましく、各特徴量データの類似度をデータの変化率等を用いて解析し、適当な重みを乗じて合算することで、総合的な類似度を算出することが可能となる。
【００４０】
そして類似度解析部２２は、係数データの類似度と、問題データの類似度とに基づいて、１つ前のサイクルの問題と、今回の問題との類似度を算出する。この類似度の算出方法としては、例えば係数データの類似度と、問題データの類似度とを適当な重みを乗じて合算することにより算出する方法を適用することができる。そして類似度解析部２２は、このようにして得られた算出結果を類似度データとしてスピン設定部１２及び焼きなまし設定部１３に出力する。
【００４１】
以上の構成を有する本実施の形態の情報処理システム２０によれば、第１の実施の形態の情報処理システム１と比べて問題の類似度の解析精度を向上できるため、さらなる求解の効率化を図り、より一層と求解の収束時間を短縮させることができる。
【００４２】
（３）第３の実施の形態
第１の実施の形態においては、焼なましデータを生成する際、類似度データの値を判断基準とした。さらに、類似度データの値を判断基準に演算時間を予測する方法についても言及した。しかし問題によっては、事前に判断基準を適切に把握することが困難なケースも想定され、そのような場合には目的とする効果が十分に得られない可能性もある。そこで本実施の形態において、ログデータを学習することにより、判断基準を適正化する。
【００４３】
図１との対応部分に同一符号を付して示す図６は、本実施の形態による情報処理システム３０を示す。この情報処理システム３０は、問題出力装置３１の構成、並びに、情報処理装置３２のスピン設定部３３及び焼きなまし設定部３４の構成が異なる点と、情報処理装置３２に演算時間設定部３５、収束率推定部３６及びログ収集部３７が設けられている点とを除いて第１の実施の形態の情報処理システム１と同様に構成されている。
【００４４】
この場合、演算時間設定部３５は、類似度解析部１１から出力される類似度データに基づいて、演算部１４における１つの問題の演算時間（演算期間）を設定するための演算時間データを生成し、生成した演算時間データを問題出力装置３１及びログ収集部３７に出力する。演算時間データは、例えば、類似性が高いほど演算時間が短くなるような関数を利用して算出された数値である。
【００４５】
問題出力装置３１は、第１の実施の形態の問題出力装置３（図１）と同様にして問題データを生成する機能に加えて、演算時間設定部３５から与えられる演算時間データに従って問題データの出力タイミングを決定する調停機能を備える。具体的に、問題出力装置３１は、生成した問題データを演算時間データの値に応じて、演算時間データの値が大きいほど前回の問題データを出力してから今回の問題データを出力するまでの時間が長くなるような（つまり演算部１４における演算時間を延長するような）タイミングで問題データを問題変換部１０に出力する。
【００４６】
ログ収集部３７は、例えばメモリやハードディスク装置等の記憶装置を備えて構成され、情報処理装置３２における過去の処理に関する各種情報を収集して保持する機能を有する。具体的に、ログ収集部３７は、少なくとも問題変換部１０から出力された係数データと、類似度解析部１１から出力された類似度データと、スピン設定部３３から出力されたスピン配列データと、演算時間設定部３５から出力された演算時間データとを問題ごとにそれぞれ収集し、収集したこれらのデータを保持する。
【００４７】
収束率推定部３６は、類似度解析部１１から与えられる１つ前のサイクルの係数データと現在の係数データとの類似度を表す類似度データと、ログ収集部３７が保持する過去の処理の際に取得した係数データ、類似度データ、スピン配列データ及び演算時間データとに基づいて、次の演算期間に演算部１４で実行される演算の収束率を推定する。
【００４８】
具体的に、収束率推定部３６は、図７及び図８に示すように、エネルギ算出部４０、収束率算出部４１、収束率学習部４２、及び、設定補正部４３を備えて構成される。また収束率推定部３６は、動作モードとして、学習モード及び実践モードを有している。そして、学習モード時には、図７に示すようにエネルギ算出部４０、収束率算出部４１及び収束率学習部４２のみが動作し、実践モードには、図８に示すように収束率学習部４２及び設定補正部４３のみが動作する。つまり図７及び図８では、動作する部位については実線で表し、動作しない部位については破線で表している。
【００４９】
学習モードは、過去の動作実績に基づき、１つ前のサイクルの係数データ及び現在の係数データの類似度と、演算部１４における演算時間とに対する収束率の関係を学習する動作モードである。
【００５０】
実際上、学習モード時、収束率推定部３６では、エネルギ算出部４０が、ログ収集部３７が保持する過去の係数データ及びスピン配列データからハミルトニアンを算出し、算出結果をエネルギデータとして収束率算出部４１に出力する。そして収束率算出部４１は、エネルギデータから収束率を解析し、その結果を収束率データとして収束率学習部４２に出力する。収束率データの算出方法としては、例えば、エネルギデータが０に近いほど収束率が高くなるような関数を用いて算出する方法を適用することができる。
【００５１】
収束率学習部４２は、ログ収集部３７が保持する対応する類似度データ及び演算時間データを入力データとし、収束率算出部４１から与えられる収束率データを教師データとして、類似度及び演算時間と収束率との関係性の学習を実施する。関係性の学習には幾つかの方法が考えられるが、その一例としてニューラルネットワークを挙げることができる。なお、学習モードは、ログの内容が変化するため、定期的に実施することが望ましい。
【００５２】
一方、実践モードは、現在の類似度データ及び演算時間データに基づいて、現在の問題に対する演算部の演算の収束率を予測する動作モードである。
【００５３】
実際上、実践モード時、収束率推定部３６では、類似度解析部１１（図６）から出力される現在解くべき問題に関する類似度データと、演算時間設定部３５（図６）から出力される演算時間データとが収束率学習部４２に与えられる。そして収束率学習部４２は、これらのデータに基づいて、現在の問題に対する演算部１４の収束率を表す収束率データを生成し、生成した収束率データを設定補正部４３に出力する。
【００５４】
設定補正部４３は、収束率データを解析し、例えば収束率データの値が当該収束率データについて予め設定された第３の閾値以下の場合には、収束率を向上させる方向に誘導するための補正データを生成し、生成した補正データを図６に示すように演算時間設定部３５、スピン設定部３３及び焼なまし設定部３４に出力する。
【００５５】
演算時間設定部３５、スピン設定部３３、焼なまし設定部３４は、それぞれ補正データに基づき、現在のデータ生成に関するルールを改変する機能を有する。具体的に、演算時間設定部３５は、かかる補正データが与えられると、補正データに応じた時間だけ演算期間を延長させるような演算時間データを生成（つまり演算時間データの値を大きく設定）する。またスピン設定部３３は、演算部１４におけるリセットを促進するよう上述の第１の閾値の値を下げ、焼きなまし設定部３４は、演算部１４における開始温度を上昇させるよう上述の第２の閾値の値を上げる。
【００５６】
以上の構成を有する本実施の形態の情報処理システム３０によれば、連続して入力される問題の類似度を解析し、その解析結果に応じてイジングモデルの初期設定を調整可能である。また本情報処理システム３０によれば、第１の実施の形態の情報処理システム１（図１）と比べて初期設定の調整精度を向上できるため、さらなる求解の効率化を図り、より一層と求解の収束時間を短縮させることができる。
【００５７】
なお、ログ収集部３７が保持する各データを活用することで、問題の類似度の変化パターンを学習することも可能である。応用例として、例えば図６との対応部分に同一符号を付した図９に示すように、連続して入力する問題同士の類似度を問題先読み部５２で予測し、予測結果を演算時間設定部３５に与える構成が考えられる。これにより、問題出力装置３１との出力タイミングの調停において、より長期に渡る予約が可能となり、求解処理の連続性を向上可能である。さらには、かかる予測結果を問題変換部にも与える構成することで、問題データが入力される前に演算を開始することも可能となる。これにより、さらなる演算時間の短縮が可能である。
【００５８】
（４）第４の実施の形態
先の第１〜第３の実施の形態においては、演算部１４に与えるスピン設定データ及び焼なましデータは一種類であった。しかし、これらスピン設定データ及び焼なましデータを多重化し、演算部１４においてエリア単位又はスピン単位でスピン配列及びスピンの揺らぎの大きさを設定できれば、より効率的な基底状態の探索が可能となる。
【００５９】
図１との対応部分に同一符号を付して示す図１０は、上述のように情報処理装置６１の演算部６２においてエリア単位でスピン配列及びスピンの揺らぎの大きさを設定可能な本実施の形態による情報処理システム６０を示す。この情報処理システム６０は、情報処理装置６１の類似度解析部６３及び演算部６２の構成が異なる点と、情報処理装置６１のスピン設定部１２及び焼きなまし設定部１３がそれぞれ複数設けられている点とを除いて第１の実施の形態の情報処理システム１（図１）と同様に構成されている。
【００６０】
実際上、本実施の形態の情報処理システム６０の場合、情報処理装置６１の演算部６２は、複数のエリアＡＲから構成され、スピン配列の初期状態及びスピンの揺らぎの大きさをエリアＡＲごとにそれぞれ個別に設定できるようになされている。エリアＡＲの設定方法としては、例えば、位置座標に相当する情報をスピンに付加し、エリアＡＲごとにほぼ等数のスピンが含まれるように、境界となる座標を設定すれば良い。また情報処理装置６１には、演算部６２の各エリアＡＲとそれぞれ対応させ、そのエリアＡＲに専用のスピン設定部１２及び焼きなまし設定部１３が設けられている。
【００６１】
また類似度解析部６３は、第１の実施の形態の類似度解析部１１（図１）と同様にして、１つ前のサイクルの係数データと現在の係数データとの比較を行い、これら係数データの類似度を表す類似度データを生成する機能を有する。この場合、類似度解析部６３は、演算部６２のエリアＡＲごとにかかる比較を行い、当該エリアＡＲごとの類似度データをそれぞれ生成する。そして類似度解析部６３は、このようにして生成した演算部６２のエリアＡＲごとの類似度データを、それぞれそのエリアＡＲと対応付けられたスピン設定部１２及び焼きなまし設定部１３に出力する。
【００６２】
各スピン設定部１２は、類似度解析部６３から与えられた類似度データに基づいて、第１の実施の形態について上述した手法によりスピン設定データをそれぞれ生成し、生成したスピン設定データを演算部６２に出力する。また各焼きなまし設定部１３も、類似度解析部６３から与えられた類似度データに基づいて、第１の実施の形態について上述した手法により焼きなましデータをそれぞれ生成し、生成した焼きなましデータを演算部６２に出力する。
【００６３】
演算部６２は、エリアＡＲごとに、対応するスピン設定部１２から与えられるスピン設定データに基づいてスピン配列の初期状態を設定する共に、対応する焼きなまし設定部１３から与えられる焼きなましデータに基づいてスピンの揺らぎの大きさを設定する。そして演算部６２は、この状態でイジングモデルの基底状態探索を行い、その探索結果を演算結果取得部１５に出力する。なお演算部６２のエリアＡＲは、必ずしも境界が物理的に接している必要はなく、例えば、複数の半導体チップで構成されていても良い。
【００６４】
ここで、動作の一例として、演算部６２のあるエリアＡＲのみ類似度データの値が低く、他のエリアＡＲの類似度データの値が高いケースを考える。このケースにおいては、類似度が低いエリアＡＲのみに“リセット”が適用され、そのエリアＡＲにおけるスピン配列の組合せ探索が重点的に実行される。一般的に、類似度データの値が低いエリアＡＲのスピン配列を積極的に変更した方が、基底状態探索を高速化できるため、本情報処理システム６０により演算時間の短縮が可能であると言える。
【００６５】
以上の構成を有する本実施の形態の情報処理システム６０によれば、連続して入力される問題の類似度を解析し、その解析結果に応じてイジングモデルの初期設定を調整可能である。さらに、第１〜第３の実施の形態の情報処理システム１，２０，３０と比べて基底状態探索の性能を向上できるため、さらなる求解の効率化を図り、より一層と求解の収束時間を短縮させることができる。
【００６６】
（５）他の実施の形態
なお上述の第１〜第４の実施の形態においては、それぞれの特徴的構成を別々の情報処理システム１，２０，３０，５０，６０に搭載する場合について述べたが、本発明はこれに限らず、これら第１〜第４の実施の形態の特徴的構成の一部又は全部を組み合わせて１つの情報処理システムに搭載するようにしても良い。
【００６７】
また上述の第１〜第４の実施の形態においては、基底状態の探索方法として焼なまし法を前提とする場合について述べたが、本発明はこれに限らず、他の探索アルゴリズムも適応可能である。例えば、遺伝アルゴリズムを適用する場合は、類似度データの算出値に応じて、交叉率や突然変異率の値を適応的に変化させれば良い。また、演算部１４，６２は様々な形態が考えられるが、その一例を挙げるのであれば、ＣＭＯＳ回路で構成されたＳＲＡＭ（Static Random Access Memory）ベースの回路である。さらに、例えばＳＲＡＭのメモリセルを用いてスピンを構成する共に、メモリセル間に演算回路を追加することで相互作用と外部磁場を形成することが可能である。
【００６８】
さらに上述に第１〜第４の実施の形態においては、相互作用モデルとしてイジングモデルを適用した場合について述べたが、本発明はこれに限らず、この他種々の相互作用モデルを適用することができる。
【００６９】
さらに上述の第１〜第４の実施の形態においては、入力される問題を所定の相互作用モデル（イジングモデル）にマッピングしたときの当該相互作用モデルを構成する各素子（スピン）間の相互作用の強さを決定する係数の値を表す係数データを生成する問題変換部１０と、問題変換部１０により生成された問題の係数データに基づいて、前後する問題間の類似度を表す類似度データを生成する類似度解析部１１，２２，６３と、相互作用モデルの初期状態を決定し、決定した初期状態に相互作用モデルを設定するための設定データを生成する設定データ生成部としてのスピン設定部３３と、相互作用モデルにおける各素子間の相互作用を模擬し、当該相互作用モデルの基底状態を探索する演算を実行する演算部１４となどの情報処理装置２，２１，３２，５１，６１の各構成要素をハードウェア構成とするようにした場合について述べたが、本発明はこれに限らず、これらの一部又は全部をソフトウェア構成とするようにしても良い。
【産業上の利用可能性】
【００７０】
本発明は、連続して入力され、時々刻々と変化する問題の解を求める情報処理装置に広く適用することができる。
【符号の説明】
【００７１】
１，２０，３０，５０，６０……情報処理システム、２，２１，３２，５１，６１……情報処理装置、３……問題出力装置、４……結果出力装置、１０……問題変換部、１１，２２，６３……類似度解析部、１２，３３……スピン設定部、１３，３４……焼きなまし設定部、１４，６２……演算部、１５……演算結果取得部、３５……演算時間設定部、３６……収束率推定部、３７……ログ収集部、４０……エネルギ算出部、４１……収束率算出部、収束率学習部、４３……設定補正部、５２……問題先読み部、ＡＲ……エリア。
【図１】
2017037859.tif 000003
【図２】
2017037859.tif 000004
【図３】
2017037859.tif 000005
【図４】
2017037859.tif 000006
【図５】
2017037859.tif 000007
【図６】
2017037859.tif 000008
【図７】
2017037859.tif 000009
【図８】
2017037859.tif 000010
【図９】
2017037859.tif 000011
【図１０】
2017037859.tif 000012
【国際調査報告】
2017037859.tif 000013
2017037859.tif 000014