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

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

▶ 日本電気株式会社の特許一覧

<>
  • 特許-求解方法選択装置および方法 図1
  • 特許-求解方法選択装置および方法 図2
  • 特許-求解方法選択装置および方法 図3
  • 特許-求解方法選択装置および方法 図4
  • 特許-求解方法選択装置および方法 図5
  • 特許-求解方法選択装置および方法 図6
  • 特許-求解方法選択装置および方法 図7
  • 特許-求解方法選択装置および方法 図8
  • 特許-求解方法選択装置および方法 図9
  • 特許-求解方法選択装置および方法 図10
  • 特許-求解方法選択装置および方法 図11
  • 特許-求解方法選択装置および方法 図12
  • 特許-求解方法選択装置および方法 図13
  • 特許-求解方法選択装置および方法 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-17
(45)【発行日】2024-06-25
(54)【発明の名称】求解方法選択装置および方法
(51)【国際特許分類】
   G06N 99/00 20190101AFI20240618BHJP
【FI】
G06N99/00 180
【請求項の数】 7
(21)【出願番号】P 2022558805
(86)(22)【出願日】2020-11-02
(86)【国際出願番号】 JP2020041055
(87)【国際公開番号】W WO2022091408
(87)【国際公開日】2022-05-05
【審査請求日】2023-02-20
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103090
【弁理士】
【氏名又は名称】岩壁 冬樹
(74)【代理人】
【識別番号】100124501
【弁理士】
【氏名又は名称】塩川 誠人
(72)【発明者】
【氏名】小林 悠記
(72)【発明者】
【氏名】鷹野 芙美代
(72)【発明者】
【氏名】井上 浩明
(72)【発明者】
【氏名】荒木 拓也
(72)【発明者】
【氏名】鈴木 基己
(72)【発明者】
【氏名】西村 考弘
(72)【発明者】
【氏名】千嶋 博
(72)【発明者】
【氏名】矢田部 彰宏
【審査官】坂庭 剛史
(56)【参考文献】
【文献】特開平05-061848(JP,A)
【文献】特開2020-046996(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 99/00
(57)【特許請求の範囲】
【請求項1】
組合せ最適化問題の求解に用いられるモデルが与えられると、前記モデルの特徴を表す特徴情報を導出する特徴情報導出手段と、
前記特徴情報に基づいて、前記組合せ最適化問題の求解方法を、予め定められた複数種類の求解方法の中から選択する求解方法選択手段と、
選択された求解方法によって組合せ最適化問題の解を求める求解装置に対して、前記組合せ最適化問題の求解に用いられるモデルを特定可能な情報を含む求解要求を送る求解要求手段とを備える
ことを特徴とする求解方法選択装置。
【請求項2】
求解要求を送った求解装置から、組合せ最適化問題の解を受け取る解受け取り手段を備える
請求項1に記載の求解方法選択装置。
【請求項3】
前記特徴情報は、スピン間の結合度である
請求項1または請求項2に記載の求解方法選択装置。
【請求項4】
コンピュータが、
組合せ最適化問題の求解に用いられるモデルが与えられると、前記モデルの特徴を表す特徴情報を導出し、
前記特徴情報に基づいて、前記組合せ最適化問題の求解方法を、予め定められた複数種類の求解方法の中から選択し、
選択された求解方法によって組合せ最適化問題の解を求める求解装置に対して、前記組合せ最適化問題の求解に用いられるモデルを特定可能な情報を含む求解要求を送る
ことを特徴とする求解方法選択方法。
【請求項5】
前記コンピュータが、
求解要求を送った求解装置から、組合せ最適化問題の解を受け取る
請求項に記載の求解方法選択方法。
【請求項6】
コンピュータに、
組合せ最適化問題の求解に用いられるモデルが与えられると、前記モデルの特徴を表す特徴情報を導出する特徴情報導出処理、
前記特徴情報に基づいて、前記組合せ最適化問題の求解方法を、予め定められた複数種類の求解方法の中から選択する求解方法選択処理、および、
選択された求解方法によって組合せ最適化問題の解を求める求解装置に対して、前記組合せ最適化問題の求解に用いられるモデルを特定可能な情報を含む求解要求を送る求解要求処理
を実行させるための求解方法選択プログラム。
【請求項7】
前記コンピュータに、
求解要求を送った求解装置から、組合せ最適化問題の解を受け取る解受け取り処理を実行させる
請求項に記載の求解方法選択プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、組合せ最適化問題の求解方法を選択する求解方法選択装置、求解方法選択方法、および、求解方法選択プログラムに関する。
【背景技術】
【0002】
近年、量子アニーリングやシミュレーテッドアニーリング等によって組合せ最適化問題の解を求める技術が種々提案されている。
【0003】
例えば、特許文献1には、量子デバイスを用いて組合せ最適化問題の解を求める計算システムが記載されている。
【0004】
また、特許文献2には、装置の低コスト化を実現でき、組合せ最適化問題の解を求めることができる半導体装置が記載されている。
【0005】
また、非特許文献1には、パラメトリック発振器を用いて、イジングモデルで表される組合せ最適化問題の解を求めるシステムが記載されている。
【0006】
また、特許文献3には、組合せ最適化問題の解を効率的に求めることができる装置が記載されている。
【0007】
また、特許文献4には、運動方程式ベースのアルゴリズムを用いて、組合せ最適化問題の解を求める計算装置が記載されている。
【0008】
また、特許文献5には、組合せ最適化問題の規模または要求精度に応じた演算ユニットを決定し、その演算ユニットに組合せ最適化問題の演算を実行させる技術が記載されている。
【0009】
また、一般に、組合せ最適化問題を解く場合、まず、組合せ最適化問題におけるエネルギーを表す式を作成する。例えば、巡回セールスマン問題を解く場合には、巡回セールスマン問題におけるエネルギーを表す式を作成する。そして、組合せ最適化問題におけるエネルギーを表す式を、イジングモデルモデルまたはQUBO(Quadratic Unconstrained Binary Optimization )におけるエネルギー関数に変換する。
【0010】
イジングモデルは、個々のスピンによって磁性体の振る舞いを表す統計力学上のモデルであるが、組合せ最適化問題の求解にも適用可能である。イジングモデルでは、個々のスピンの状態は、“1”または“-1”で表される。
【0011】
また、QUBOは、個々のスピンの状態を“1”または“0”で表すモデルである。
【0012】
イジングモデルにおけるエネルギー関数は、以下の式(1)のように表される。
【0013】
【数1】
【0014】
式(1)の左辺はエネルギーを表す。式(1)におけるi,jは、いずれもスピン番号を表す変数である。スピンの数をNとすると、i∈1,2,・・・,Nであり、同様に、j∈1,2,・・・,Nである。また、式(1)におけるsは、スピンiの状態を表す変数であり、sは、スピンjの状態を表す変数である。イジングモデルでは、個々のスピンの状態は、“1”または“-1”である。式(1)におけるJijは、スピンiおよびスピンjの組合せに対応する定数である。iの取り得る値とjの取り得る値の組合せ毎に、Jijは定数として定められる。定数Jijは、スピンの数をN個としたときに、N個存在する。そして、定数Jijの集合は、N行N列の行列で表される。すなわち、2つのスピンの組合せに対応する定数Jijは、N行N列の行列の要素である。以下、N個の定数Jijを要素とする行列を、行列Jと称する。また、式(1)におけるhは、スピンiに対応する定数である。iの取り得る値毎に、hは定数として定められる。式(1)における定数hは、スピンの数をN個としたときに、N個存在する。そして、定数hの集合は、N個の要素を持つベクトルで表される。以下、このベクトルを、ベクトルHと称する。行列JおよびベクトルHは、式(1)で表されるイジングモデルを特定可能な情報である。
【0015】
QUBOにおけるエネルギー関数は、以下の式(2)のように表される。
【0016】
【数2】
【0017】
式(2)の左辺はエネルギーを表す。式(2)におけるi,jは、いずれもスピン番号を表す変数である。スピンの数をNとすると、i∈1,2,・・・,Nであり、同様に、j∈1,2,・・・,Nである。また、式(2)におけるxは、スピンiの状態を表す変数であり、xは、スピンjの状態を表す変数である。QUBOでは、個々のスピンの状態は、“1”または“0”である。式(2)におけるQijは、スピンiおよびスピンjの組合せに対応する定数である。iの取り得る値とjの取り得る値の組合せ毎に、Qijは定数として定められる。定数Qijは、スピンの数をN個としたときに、N個存在する。そして、定数Qijの集合は、N行N列の行列で表される。すなわち、2つのスピンの組合せに対応する定数Qijは、N行N列の行列の要素である。以下、N個の定数Qijを要素とする行列を、行列Qと称する。行列Qは、式(2)で表されるQUBOを特定可能な情報である。
【0018】
式(1)および式(2)は、互いに変換可能である。すなわち、イジングモデルにおけるエネルギー関数を、QUBOにおけるエネルギー関数に変換することができ、同様に、QUBOにおけるエネルギー関数を、イジングモデルにおけるエネルギー関数に変換することができる。この変換方法は、公知である。
【0019】
イジングモデルおよびQUBOは、いずれも、組合せ最適化問題の求解に用いられるモデルである。
【0020】
量子アニーリングやシミュレーテッドアニーリングでは、イジングモデルまたはQUBOのエネルギー関数を最小化するスピン群の状態を、組合せ最適化問題の解として求める。
【先行技術文献】
【特許文献】
【0021】
【文献】特表2008-525873号公報
【文献】特許第5851570号公報
【文献】特許第6465092号公報
【文献】特開2019-145010号公報
【文献】特開2020-46996号公報
【非特許文献】
【0022】
【文献】Yoshitaka Haribara, et al., “Performance evaluation of coherent Ising machines against classical neural networks”, Quantum Sci. Technol. 2, 044002(2017).
【発明の概要】
【発明が解決しようとする課題】
【0023】
前述のように、量子アニーリングやシミュレーテッドアニーリング等によって組合せ最適化問題の解を求める技術が種々提案されている。
【0024】
組合せ最適化問題の種々の求解方法には、求解方法が効率的に解くことができる組合せ最適化問題があると考えられる。例えば、非特許文献1に記載された技術や特許文献4に記載された技術では、最大カット問題を高速に解くことができると考えられる。また、特許文献2に記載された技術や特許文献3に記載された技術では、巡回セールスマン問題を効率的に解くことができると考えられる。
【0025】
しかし、求解方法が複数存在していたとしても、情報処理装置に、式(1)で表されるイジングモデルまたは式(2)で表されるQUBOが与えられた場合に、その情報処理装置が、与えられたモデルに適する求解方法を、その複数の求解方法の中から適切に選択することは困難であった。情報処理装置にとって、与えられたモデルがどの様な種類の組合せ最適化問題から導出されたものであるのか未知であるためである。
【0026】
前述のように、特許文献5には、組合せ最適化問題の規模または要求精度に応じた演算ユニットを決定し、その演算ユニットに組合せ最適化問題を実行させる技術が記載されている。しかし、特許文献5に記載された技術でも、与えられたモデルに適する求解方法を、複数の求解方法の中から適切に選択することは困難であった。例えば、特許文献5に記載された技術を用いて巡回セールスマン問題の解を求めるとする。特許文献5に記載された技術では、組合せ最適化問題の規模または要求精度に応じた演算ユニットを決定するに過ぎないので、決定された演算ユニットが巡回セールスマン問題の求解に適した演算ユニットであるとは限らない。従って、特許文献5に記載された技術では、与えられたモデルに適する求解方法が選択されるとは言えない。
【0027】
そこで、本発明は、組合せ最適化問題の求解に用いられるモデルが与えられた場合に、予め定められた複数種類の求解方法の中から、与えられたモデルに適した求解方法を選択することができる求解方法選択装置、求解方法選択方法、および、求解方法選択プログラムを提供することを目的とする。
【課題を解決するための手段】
【0028】
本発明による求解方法選択装置は、組合せ最適化問題の求解に用いられるモデルが与えられると、モデルの特徴を表す特徴情報を導出する特徴情報導出手段と、特徴情報に基づいて、組合せ最適化問題の求解方法を、予め定められた複数種類の求解方法の中から選択する求解方法選択手段と、選択された求解方法によって組合せ最適化問題の解を求める求解装置に対して、組合せ最適化問題の求解に用いられるモデルを特定可能な情報を含む求解要求を送る求解要求手段とを備えることを特徴とする。
【0029】
本発明による求解方法選択方法は、コンピュータが、組合せ最適化問題の求解に用いられるモデルが与えられると、モデルの特徴を表す特徴情報を導出し、特徴情報に基づいて、組合せ最適化問題の求解方法を、予め定められた複数種類の求解方法の中から選択し、選択された求解方法によって組合せ最適化問題の解を求める求解装置に対して、組合せ最適化問題の求解に用いられるモデルを特定可能な情報を含む求解要求を送ることを特徴とする。
【0030】
本発明による求解方法選択プログラムは、コンピュータに、組合せ最適化問題の求解に用いられるモデルが与えられると、モデルの特徴を表す特徴情報を導出する特徴情報導出処理、特徴情報に基づいて、組合せ最適化問題の求解方法を、予め定められた複数種類の求解方法の中から選択する求解方法選択処理、および、選択された求解方法によって組合せ最適化問題の解を求める求解装置に対して、組合せ最適化問題の求解に用いられるモデルを特定可能な情報を含む求解要求を送る求解要求処理を実行させる。
【発明の効果】
【0031】
本発明によれば、組合せ最適化問題の求解に用いられるモデルが与えられた場合に、予め定められた複数種類の求解方法の中から、与えられたモデルに適した求解方法を選択することができる。
【図面の簡単な説明】
【0032】
図1】本発明の実施形態の求解方法選択装置の構成例を示すブロック図である。
図2】スピン間の結合度の各区分と、各区分に対応する求解方法とを示す模式図である。
図3】複数の求解方法が対応付けられている区分が存在する場合の例を示す模式図である。
図4】最大カット問題に基づいて得られたイジングモデルにおける行列JおよびベクトルHの例を示す模式図である。
図5図4に対応するスピン間の結合を示す模式図である。
図6】巡回セールスマン問題に基づいて得られたイジングモデルにおける行列JおよびベクトルHの例を示す模式図である。
図7図6に対応するスピン間の結合を示す模式図である。
図8】本発明の実施形態の求解方法選択装置の処理経過の例を示すシーケンス図である。
図9】スピン数の区分とスピン間の結合度の区分との組合せに求解方法を対応付けた情報の例を示す模式図である。
図10】ステップS1で導出されたスピン間の結合度およびスピン数の例を示す説明図である。
図11】選択求解方法情報の例を示す模式図である。
図12】求解要求の例を示す模式図である。
図13】本発明の実施形態の求解方法選択装置に係るコンピュータの構成例を示す概略ブロック図である。
図14】本発明の求解方法選択装置の概要を示すブロック図である。
【発明を実施するための形態】
【0033】
以下、本発明の実施形態を図面を参照して説明する。
【0034】
図1は、本発明の実施形態の求解方法選択装置の構成例を示すブロック図である。本実施形態の求解方法選択装置10は、入力部1と、特徴情報導出部2と、求解方法選択部3と、求解要求部4と、解受け取り部5とを備える。
【0035】
また、求解方法選択装置10は、複数の求解装置61~65と通信可能に接続されている。図1では、5台の求解装置61~65を例示しているが、求解装置の台数は5台に限定されず、求解装置は複数存在していればよい。
【0036】
各求解装置61~65は、それぞれ異なる求解方法で、組合せ最適化問題の解を求める。すなわち、求解装置61~65毎に、組合せ最適化問題の求解方法は異なる。
【0037】
求解装置61~65は、イジングモデル(式(1)を参照)またはQUBO(式(2)を参照)を特定可能な情報を含む求解要求を求解方法選択装置10(具体的には、求解要求部4)から受け取ると、その情報からイジングモデルまたはQUBOを特定し、そのイジングモデルまたはQUBOに基づいて組合せ最適化問題の解を求める。なお、上記の要求情報には、イジングモデルまたはQUBOを特定可能な情報の他に、組合せ最適化問題の求解に用いるパラメタが含まれていてもよい。
【0038】
また、求解装置61~65は、組合せ最適化問題の解を求めると、その解を、求解方法選択装置10(具体的には、解受け取り部5)に送る。
【0039】
それぞれ異なる求解方法で組合せ最適化問題の解を求める求解装置61~65が、求解方法選択装置10と同じコンピュータで実現されていてもよい。
【0040】
入力部1には、イジングモデル(式(1)で表されるエネルギー関数)またはQUBO(式(2)で表されるエネルギー関数)が入力される。
【0041】
入力部1は、例えば、キーボード等の入力デバイスであってもよい。あるいは、入力部1は、例えば、光学ディスク等のデータ記録媒体に記録されたイジングモデルまたはQUBOを読み込むデータ読み込み装置によって実現されてもよい。
【0042】
以下、入力部1にイジングモデルが入力される場合を例にして説明するが、入力部1にQUBOが入力されてもよい。入力部1にQUBOが入力される場合には、以下に説明する特徴情報の導出処理において、行列Jの代わりに、行列Qを用いればよい。行列Jおよび行列Qについては、既に説明したので、ここでは説明を省略する。
【0043】
特徴情報導出部2は、組合せ最適化問題の求解に用いられるモデル(イジングモデルまたはQUBO)が入力部1に入力されると、そのモデルの特徴を表す特徴情報を導出する。前述のように、ここでは、入力部1にイジングモデルが入力される場合を例にして説明する。
【0044】
イジングモデルの特徴を表す特徴情報として、例えば、「スピン間の結合度」、「行列Jの要素の統計値」、および、「行列Jの固有値」が挙げられる。「スピン間の結合度」、「行列Jの要素の統計値」、および、「行列Jの固有値」は、いずれも、組合せ最適化問題の規模および要求精度とは無関係な情報である。
【0045】
「スピン間の結合度」、「行列Jの要素の統計値」、および、「行列Jの固有値」は、特徴情報の例であり、特徴情報導出部2は、イジングモデルの特徴を表す特徴情報として、他の情報を導出してもよい。ただし、モデルの特徴情報は、組合せ最適化問題の規模および要求精度とは無関係な情報である。
【0046】
特徴情報導出部2は、1種類の特徴情報を算出してもよく、2種類以上の特徴情報を算出してもよい。
【0047】
「スピン間の結合度」は、あるスピンが他のスピンのうちのどれだけの割合のスピンと結合しているかの平均値である。入力されたモデル(ここでは、イジングモデル)から特定されるスピンの数をN個とする。また、行列Jにおける値が0でない要素の数をZ個とする。このとき、スピン間の結合度は、Z/((N-1)*N)の計算で求められる。すなわち、特徴情報導出部2は、Z/((N-1)*N)の計算によって、スピン間の結合度を導出すればよい。なお、スピン間の結合度の単位として“%”を用いる場合には、特徴情報導出部2は、(Z/((N-1)*N))*100の計算によって、スピン間の結合度を導出すればよい。
【0048】
「行列Jの要素の統計値」の例として、行列Jの要素の平均値、分散、または、標準偏差等が挙げられる。また、行列Jの要素の統計値は、平均値、分散、標準偏差に限定されず、例えば、行列Jの要素のヒストグラムから得られるスカラ量(例えば、行列Jの全要素数に対する、値が0.1~0.5である要素の数の割合等)であってもよい。
【0049】
特徴情報導出部2は、「スピン間の結合度」、「行列Jの要素の統計値」、「行列Jの固有値」等の特徴情報を、スカラ量として求める。
【0050】
なお、モデルとしてQUBOが入力された場合には、上記の行列Jの代わりに、行列Qを用いればよい。
【0051】
組合せ最適化問題の種類に応じて、特徴情報の傾向は異なる。
【0052】
求解方法選択部3は、特徴情報導出部2によって導出された特徴情報に基づいて、入力されたイジングモデルの元となった組合せ最適化問題の求解方法を、予め定められた複数種類の求解方法の中から選択する。予め定められた複数種類の求解方法とは、各求解装置(図1に示す例では、求解装置61~65)に対応する各求解方法である。
【0053】
例えば、予め定められた複数種類の求解方法が、「求解方法1」および「求解方法2」の2種類であるとする。求解方法選択部3は、例えば、特徴情報(スカラ量)が、予め定められた閾値以上である場合には「求解方法1」を選択し、特徴情報(スカラ量)がその閾値未満であるならば「求解方法2」を選択してもよい。ただし、上記の例は、求解方法の選択方法の一例であり、選択方法は上記の例に限定されない。以下、他の選択方法について説明する。
【0054】
まず、説明を簡単にするために、求解方法選択部3が1種類の特徴情報(ここでは、スピン間の結合度であるとする。)に基づいて、求解方法を選択する場合を例にして説明する。この場合、スピン間の結合度の各区分と、各区分に対応する求解方法とが予め定められる。そして、求解方法選択部3は、その情報を予め保持する。求解方法選択部3は、導出された特徴情報が属する区分に対応する求解方法を選択すればよい。
【0055】
図2は、スピン間の結合度の各区分と、各区分に対応する求解方法とを示す模式図である。求解方法選択部3が図2に例示する情報を保持しているとする。この場合、求解方法選択部3は、導出されたスピン間の結合度がa以上b未満であれば、「求解方法1」を選択し、スピン間の結合度がb以上c未満であれば、「求解方法2」を選択し、スピン間の結合度がc以上d未満であれば、「求解方法3」を選択する(図2参照)。
【0056】
また、区分に対応付けて複数の求解方法が対応付けられていてもよい。図3は、複数の求解方法が対応付けられている区分が存在する場合の例を示す模式図である。図3に示す例では、区分「a以上b未満」に、2つの求解方法(「求解方法1」および「求解方法2」)が対応付けられている。求解方法選択部3が図3に例示する情報を保持しているとする。この場合、求解方法選択部3は、導出されたスピン間の結合度がa以上b未満であれば、「求解方法1」および「求解方法2」を選択する。
【0057】
また、求解方法選択部3が複数種類の特徴情報に基づいて、求解方法を選択してもよい。この場合、特徴情報毎に定められた区分の組合せに求解方法を対応付けた情報を予め定めておき、求解方法選択部3がその情報を予め保持する。そして、求解方法選択部3は、各種類の特徴情報が属する区分の組合せに対応する求解方法を選択すればよい。特徴情報毎に定められた区分の組合せに対して、複数の求解方法が対応付けられ、求解方法選択部3が複数の求解方法を選択する場合があってもよい。
【0058】
また、求解方法選択部3は、組合せ最適化問題の規模および要求精度とは無関係な特徴情報と、組合せ最適化問題の規模を示す指標値とに基づいて、求解方法を選択してもよい。組合せ最適化問題の規模を示す指標値の例として、入力されたモデル(本例では、イジングモデル)から特定されるスピンの数(以下、単に、スピン数と記す。)が挙げられる。この場合、スピン数の区分と特徴情報の区分との組合せに求解方法を対応付けた情報を予め定めておき、求解方法選択部3がその情報を予め保持する。そして、求解方法選択部3は、スピン数が属する区分と特徴情報が属する区分との組合せに対応する求解方法を選択すればよい。スピン数の区分と特徴情報の区分との組合せに対して、複数の求解方法が対応付けられ、求解方法選択部3が複数の求解方法を選択する場合があってもよい。
【0059】
求解方法選択部3は、選択した求解方法を示す情報である選択求解方法情報を生成し、選択求解方法情報を求解要求部4に送る。
【0060】
求解要求部4は、選択求解方法情報を受け取ると、その選択求解方法情報が示す求解方法(すなわち、選択された求解方法)を認識する。そして、求解要求部4は、選択された求解方法によって組合せ最適化問題の解を求める求解装置を特定する。求解要求部4は、各求解装置と、各求解装置が用いる求解方法との対応関係を示す情報を予め保持する。そして、求解要求部4は、その情報に基づいて、選択された求解方法によって組合せ最適化問題の解を求める求解装置を特定する。
【0061】
そして、求解要求部4は、選択された求解方法に対応する求解装置に送る求解要求を生成する。求解要求は、組合せ最適化問題の求解に用いられるモデル(イジングモデルまたはQUBO)を特定可能な情報を含む情報であって、そのモデル(イジングモデルまたはQUBO)を用いて、組合せ最適化問題の解を求めることを求解装置に対して要求する情報である。イジングモデルを特定可能な情報は、行列JおよびベクトルHである。QUBOを特定可能な情報は、行列Qである。
【0062】
また、求解要求部4は、モデルを特定可能な情報の他に、組合せ最適化問題の解を求める際に用いるパラメタを求解要求に含めてもよい。例えば、求解要求の送り先となる求解装置が、シミュレーテッドアニーリングに大別される求解方法を用いる場合、初期温度、終了温度および温度冷却率をパラメタとして求解要求に含めてもよい。求解要求部4は、求解要求の送り先となる求解装置に応じて固定的に決定されるパラメタを求解要求に含めてもよい。また、求解要求部4は、求解要求の送り先となる求解装置のベンダが提供する指針に従ってパラメタを決定してもよく、行列Jまたは行列Qのサイズに応じた固定値としてパラメタを決定してもよい。ただし、パラメタの決定方法は、上記の例に限定されない。
【0063】
求解要求は、テキスト形式の情報であっても、バイナリ形式の情報であってもよい。また、求解要求は、REST API(REpresentational State Transfer Application Programming Interface)の形式の情報であってもよい。
【0064】
また、それぞれ異なる求解方法で組合せ最適化問題の解を求める求解装置61~65が、求解方法選択装置10と同じコンピュータで実現されている場合、求解要求は、アプリケーションプログラムまたはライブラリへのシステムコールまたは関数呼び出しの形式で生成されてもよい。
【0065】
なお、入力部1に入力されたモデルがイジングモデルであるが、求解要求の送り先となる求解装置がQUBOに基づいて求解を行う場合がある。この場合、求解要求部4は、入力されたイジングモデルをQUBOに変換してから、求解要求を生成すればよい。また、逆に、入力部1に入力されたモデルがQUBOであるが、求解要求の送り先となる求解装置がイジングモデルに基づいて求解を行う場合がある。この場合、求解要求部4は、入力されたQUBOをイジングモデルに変換してから、求解要求を生成すればよい。それぞれの求解装置が、イジングモデルに基づいて求解を行うのか、QUBOに基づいて求解を行うのかについては、予め、求解要求部4に記憶させておけばよい。
【0066】
求解要求部4は、生成した求解要求を、その送り先となる求解装置(換言すれば、選択された求解方法に対応する求解装置)に送る。
【0067】
また、前述のように、求解方法選択部3が複数の求解方法を選択する場合があってもよい。この場合、求解要求部4は、選択された求解方法毎に、求解装置の特定および求解要求の生成を実行し、各求解要求をその送り先となる求解装置に送ればよい。
【0068】
求解要求を受け取った求解装置は、モデルを特定可能な情報に基づいてモデル(イジングモデルまたはQUBO)を特定し、そのモデルに基づいて、組合せ最適化問題の解を求める。求解要求の中にパラメタが含まれている場合には、求解装置は、そのパラメタも用いて解を求める。そして、その求解装置は、求めた組合せ最適化問題の解を、求解方法選択装置10に送る。
【0069】
求解方法選択装置10の解受け取り部5は、その解を受け取る。なお、求解要求部4が複数の求解装置に求解要求を送った結果、解受け取り部5が各求解装置から解を受け取る場合もあり得る。その場合、求解方法選択装置10のユーザは、解受け取り部5が受け取ったそれぞれの解を、組合せ最適化問題の解として採用してもよい。あるいは、求解方法選択装置10のユーザは、解受け取り部5が受け取った複数の解のうち、解品質の最も良い解のみを、組合せ最適化問題の解として採用してもよい。
【0070】
求解要求部4および解受け取り部5は、例えば、求解方法選択プログラムに従って動作するコンピュータのCPU(Central Processing Unit )、および、そのコンピュータの通信インタフェースによって実現される。この場合、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体から求解方法選択プログラムを読み込み、そのプログラムに従って、通信インタフェースを用いて、求解要求部4および解受け取り部5として動作すればよい。また、特徴情報導出部2および求解方法選択部3は、例えば、求解方法選択プログラムに従って動作するコンピュータのCPUによって実現される。この場合、CPUが、上記のように、コンピュータのプログラム記憶装置等のプログラム記録媒体から求解方法選択プログラムを読み込み、そのプログラムに従って、特徴情報導出部2および求解方法選択部3として動作すればよい。
【0071】
次に、最大カット問題と巡回セールスマン問題とを例にして、組合せ最適化問題の種類に応じて、特徴情報の傾向に違いが生じることを示す。また、ここでは、特徴情報が、スピン間の結合度である場合を例にして説明する。
【0072】
図4は、最大カット問題に基づいて得られたイジングモデルにおける行列JおよびベクトルHの例を示す模式図である。本例では、スピン数が9である場合を示している。行列Jにおいて、スピンiとスピンjの組合せに対応する定数(行列Jの要素)が0でない場合には、スピンiとスピンjとは結合していて、スピンiとスピンjの組合せに対応する定数が0である場合には、スピンiとスピンjとは結合していない。図5は、図4に対応するスピン間の結合を示す模式図である。図4および図5に示す例では、スピン間の結合度は、100%である。
【0073】
図6は、巡回セールスマン問題に基づいて得られたイジングモデルにおける行列JおよびベクトルHの例を示す模式図である。本例でも、スピン数が9である場合を示している。図7は、図6に対応するスピン間の結合を示す模式図である。図6および図7に示す例では、スピン間の結合度は、約67%である。
【0074】
以上のことから、最大カット問題と巡回セールスマン問題とでスピン間の結合度を比較した場合、最大カット問題におけるスピン間の結合度の方が大きいという傾向があることが分かる。このように、組合せ最適化問題の種類に応じて、特徴情報の傾向に違いがある。
【0075】
次に、本発明の実施形態の処理経過について、具体例を用いながら説明する。図8は、本発明の実施形態の求解方法選択装置10の処理経過の例を示すシーケンス図である。なお、既に説明した事項については、適宜、省略する。
【0076】
以下に示す例では、入力部1にイジングモデルが入力される場合を例にして説明する。
【0077】
また、以下に示す例では、スピン数の区分と特徴情報(本例では、スピン間の結合度であるとする。)の区分との組合せに求解方法を対応付けた情報を予め定めておき、求解方法選択部3にその情報を予め保持させておくものとする。図9は、スピン数の区分とスピン間の結合度の区分との組合せに求解方法を対応付けた情報の例を示す模式図である。本例では、図9に例示する情報を、求解方法選択部3に予め保持させておくものとする。なお、本例では、特徴情報導出部2は、“%”を単位とし、また、小数点第1位を四捨五入して、スピン間の結合度を導出するものとする。
【0078】
図9に示す「求解方法A」は、例えば、小規模全結合の場合に適し、最大カット問題に適した求解方法である。本例では、求解装置61(図1参照)は、求解方法Aを用いて、組合せ最適化問題の解を求めるものとする。
【0079】
図9に示す「求解方法B」は、例えば、中規模疎結合の場合に適し、最大カット問題や巡回セールスマン問題に適した求解方法である。本例では、求解装置62(図1参照)は、求解方法Bを用いて、組合せ最適化問題の解を求めるものとする。
【0080】
図9に示す「求解方法C」は、例えば、中規模全結合の場合に適し、最大カット問題に適した求解方法である。本例では、求解装置63(図1参照)は、求解方法Cを用いて、組合せ最適化問題の解を求めるものとする。
【0081】
図9に示す「求解方法D」は、例えば、大規模全結合の場合に適し、最大カット問題に適した求解方法である。本例では、求解装置64(図1参照)は、求解方法Dを用いて、組合せ最適化問題の解を求めるものとする。
【0082】
図9に示す「求解方法E」は、例えば、大規模疎結合の場合に適し、最大カット問題や巡回セールスマン問題に適した求解方法である。本例では、求解装置65(図1参照)は、求解方法Eを用いて、組合せ最適化問題の解を求めるものとする。
【0083】
イジングモデルが入力部1に入力されると、特徴情報導出部2は、入力されたイジングモデルの特徴情報(本例では、スピン間の結合度)を導出する(ステップS1)。本例では、前述のように、特徴情報導出部2は、“%”を単位とし、また、小数点第1位を四捨五入して、スピン間の結合度を導出する。また、本例では、ステップS1において、特徴情報導出部2は、入力されたイジングモデルに基づいて、スピン数も導出する。図10は、ステップS1で導出されたスピン間の結合度およびスピン数の例を示す説明図である。本例では、特徴情報導出部2が、スピン間の結合度として“67%”を導出し、スピン数として“196”を導出したものとする。
【0084】
次に、求解方法選択部3は、予め定められた複数種類の求解方法(本例では、求解方法A~E。図9参照。)の中から、ステップS1で導出された特徴情報に基づいて、求解方法を選択する。そして、求解方法選択部3は、その求解方法を示す情報である選択求解方法情報を生成する(ステップS2)。
【0085】
本例では、求解方法選択部3は、図9に例示する情報を参照し、スピン数“196”が属するスピン数の区分と、スピン間の結合度“67%”が属するスピン間の結合度の区分との組合せに対応付けられた「求解方法C」を選択する(図9参照)。そして、求解方法選択部3は、「求解方法C」を示す選択求解方法情報を生成し、その選択求解方法情報を求解要求部4に送る。図11は、選択求解方法情報の例を示す模式図である。
【0086】
求解要求部4は、選択求解方法情報が示す求解方法によって組合せ最適化問題の解を求める求解装置を特定し、その求解装置に対する求解要求を生成し、求解要求をその求解装置に送る(ステップS3)。
【0087】
本例では、「求解方法C」によって組合せ最適化問題の解を求める求解装置は、求解装置63である。従って、求解要求部4は、求解装置63を特定し、求解装置63に対する求解要求を生成する。求解要求部4は、モデルを特定可能な情報を求解要求に含める。イジングモデルを特定可能な情報は、行列JおよびベクトルHである。QUBOを特定可能な情報は、行列Qである。本例では、求解装置63は、イジングモデルに基づいて求解を行うものとする。また、求解要求部4は、組合せ最適化問題の解を求める際に用いるパラメタを求解要求に含めてもよい。本発明において、パラメタの決定方法は、特に限定されない。
【0088】
図12は、求解要求の例を示す模式図である。図12に示す1行目は、行列Jを表している。図12に示す2行目は、ベクトルHを表している。すなわち、図12に示す1行目および2行目は、イジングモデルを特定可能な情報に該当する。また、図12に示す3行目は、試行回数を表すパラメタであり、図12に示す4行目は、試行モードを表すパラメタである。
【0089】
図12では、求解要求がテキスト形式の情報である場合を例示している。前述のように、求解要求は、テキスト形式の情報であっても、バイナリ形式の情報であってもよく、また、REST APIの形式の情報であってもよい。また、求解装置61~65が、求解方法選択装置10と同じコンピュータで実現されている場合、求解要求は、アプリケーションプログラムまたはライブラリへのシステムコールまたは関数呼び出しの形式で生成されてもよい。
【0090】
本例では、求解装置63が、求解要求部4から求解要求を受け取る。そして、求解装置63は、その求解要求に基づいて、組合せ最適化問題の解を求める(ステップS4)。例えば、求解装置63が、図12に例示する求解要求を受け取ったとする。すると、求解装置63は、図12に示す1行目および2行目に基づいてイジングモデルを特定し、そのイジングモデルと、求解要求に含まれるパラメタとを用いて、組合せ最適化問題の解を求める。
【0091】
そして、求解装置63は、ステップS4で求めた解(組合せ最適化問題の解)を、求解方法選択装置10に送る(ステップS5)。
【0092】
求解方法選択装置10の解受け取り部5は、その組合せ最適化問題の解を、求解装置63から受け取る(ステップS6)。
【0093】
前述のように、組合せ最適化問題の種類に応じて、特徴情報の傾向に違いがある。そして、本実施形態によれば、組合せ最適化問題の求解に用いられるモデルが与えられた場合に、特徴情報導出部2が、そのモデルの特徴を表す特徴情報を抽出する。そして、求解方法選択部3が、その特徴情報に基づいて、組合せ最適化問題の求解方法を、予め定められた複数種類の求解方法の中から選択する。従って、本実施形態によれば、予め定められた複数種類の求解方法の中から、与えられたモデルに適した求解方法を選択することができる。
【0094】
上記の実施形態では、求解要求部4が、モデル(イジングモデルやQUBO)を特定可能な情報を含む求解要求を生成し、その求解要求を、その送り先となる求解装置に送る場合を示した。求解要求部4が、モデルそのもの(イジングモデルそのもの、または、QUBOそのもの)を含む求解要求を生成し、その求解要求を、その送り先となる求解装置に送ってもよい。すなわち、求解要求は、モデルそのもの(イジングモデルそのもの、または、QUBOそのもの)を含む情報であってもよい。
【0095】
図13は、本発明の実施形態の求解方法選択装置10に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、入力デバイス1005と、通信インタフェース1006とを備える。
【0096】
本発明の実施形態の求解方法選択装置10は、例えば、コンピュータ1000によって実現される。求解方法選択装置10の動作は、求解方法選択プログラムの形式で補助記憶装置1003に記憶されている。CPU1001は、その求解方法選択プログラムを読み出して、その求解方法選択プログラムを主記憶装置1002に展開し、その求解方法選択プログラムに従って、上記の実施形態で説明した処理を実行する。
【0097】
補助記憶装置1003は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory )、DVD-ROM(Digital Versatile Disk Read Only Memory )、半導体メモリ等が挙げられる。また、プログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、そのプログラムに従って上記の実施形態で説明した処理を実行してもよい。
【0098】
また、各構成要素の一部または全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組合せによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
【0099】
各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【0100】
次に、本発明の概要について説明する。図14は、本発明の求解方法選択装置の概要を示すブロック図である。本発明の求解方法選択装置は、特徴情報導出手段72と、求解方法選択手段73と、求解要求手段74とを備える。
【0101】
特徴情報導出手段72(例えば、特徴情報導出部2)は、組合せ最適化問題の求解に用いられるモデル(例えば、イジングモデル、または、QUBO)が与えられると、モデルの特徴を表す特徴情報を導出する。
【0102】
求解方法選択手段73(例えば、求解方法選択部3)は、特徴情報に基づいて、組合せ最適化問題の求解方法を、予め定められた複数種類の求解方法の中から選択する。
【0103】
求解要求手段74(例えば、求解要求部4)は、選択された求解方法によって組合せ最適化問題の解を求める求解装置に対して、組合せ最適化問題の求解に用いられるモデルを特定可能な情報を含む求解要求を送る。
【0104】
そのような構成によって、組合せ最適化問題の求解に用いられるモデルが与えられた場合に、予め定められた複数種類の求解方法の中から、与えられたモデルに適した求解方法を選択することができる。
【0105】
また、求解要求を送った求解装置から、組合せ最適化問題の解を受け取る解受け取り手段(例えば、解受け取り部5)を備える構成であってもよい。
【0106】
また、特徴情報は、スピン間の結合度であってもよい。
【0107】
また、特徴情報は、与えられたモデルから特定される行列(例えば、行列Jまたは行列Q)の要素の統計値であってもよい。
【0108】
また、特徴情報は、与えられたモデルから特定される行列(例えば、行列Jまたは行列Q)の固有値であってもよい。
【0109】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用の可能性】
【0110】
本発明は、組合せ最適化問題の求解方法を選択する求解方法選択装置に好適に適用される。
【符号の説明】
【0111】
1 入力部
2 特徴情報導出部
3 求解方法選択部
4 求解要求部
5 解受け取り部
10 求解方法選択装置
61~65 求解装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14