(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024122380
(43)【公開日】2024-09-09
(54)【発明の名称】演算プログラム、演算方法、および情報処理装置
(51)【国際特許分類】
G06N 99/00 20190101AFI20240902BHJP
G06N 3/126 20230101ALI20240902BHJP
G06N 20/00 20190101ALI20240902BHJP
【FI】
G06N99/00 180
G06N3/126
G06N20/00
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023029896
(22)【出願日】2023-02-28
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100087480
【弁理士】
【氏名又は名称】片山 修平
(72)【発明者】
【氏名】丸尾 昭人
(72)【発明者】
【氏名】實宝 秀幸
(72)【発明者】
【氏名】添田 武志
(57)【要約】
【課題】 サンプリング回数を低減することができる演算プログラム、演算方法、および情報処理装置を提供する。
【解決手段】 演算プログラムは、コンピュータに、学習データ群に基づきイジングモデルを作成し、イジングマシンを用いて前記イジングモデルについて第1設定数分の第1推薦点を探索し、前記学習データに対して遺伝的アルゴリズムによって第2設定数分の第2推薦点を探索し、前記第1推薦点および前記第1推薦点の第1評価値と、前記第2推薦点および前記第2推薦点の第2評価値と、をそれぞれ学習データとして前記学習データ群に加えるという処理を繰り返す演算処理において、前記イジングモデルの精度に応じて、前記第1設定数および前記第2設定数を決定する処理を実行させる。
【選択図】
図5
【特許請求の範囲】
【請求項1】
コンピュータに、
学習データ群に基づきイジングモデルを作成し、イジングマシンを用いて前記イジングモデルについて第1設定数分の第1推薦点を探索し、前記学習データに対して遺伝的アルゴリズムによって第2設定数分の第2推薦点を探索し、前記第1推薦点および前記第1推薦点の第1評価値と、前記第2推薦点および前記第2推薦点の第2評価値と、をそれぞれ学習データとして前記学習データ群に加えるという処理を繰り返す演算処理において、
前記イジングモデルの精度に応じて、前記第1設定数および前記第2設定数を決定する処理を実行させることを特徴とする演算プログラム。
【請求項2】
前記コンピュータに、
前記イジングモデルの精度が閾値未満である場合には、前記第1推薦点を探索せずに前記第2推薦点設定数を増やして前記第2推薦点を探索する処理を実行させることを特徴とする請求項1に記載の演算プログラム。
【請求項3】
前記コンピュータに、
前記イジングモデルの精度が閾値未満である場合に、前記第1推薦点を探索せずに、前記第1設定数および前記第2設定数の和を前記第2設定数に設定して前記第2推薦点を探索する処理を実行させることを特徴とする請求項1に記載の演算プログラム。
【請求項4】
前記コンピュータに、
前記イジングモデルの精度が閾値以上である場合には、前記第1設定数および前記第2設定数を変更せずに、前記第1推薦点および前記第2推薦点を探索する処理を実行させることを特徴とする請求項1に記載の演算プログラム。
【請求項5】
前記学習データ群における前記学習データの個数に上限が設けられており、
前記コンピュータに、
前記学習データ群において前記学習データの個数が前記上限を超えた場合に、前記学習データのそれぞれの評価値に応じて、前記学習データ群を更新する処理を実行させることを特徴とする請求項1に記載の演算プログラム。
【請求項6】
前記コンピュータに、
前記学習データ群における前記学習データの個数が前記上限を超えた場合に、評価値の高い順に前記上限の個数分の前記学習データを前記学習データ群に残して他の前記学習データを削除する処理を実行させることを特徴とする請求項5に記載の演算プログラム。
【請求項7】
学習データ群に基づきイジングモデルを作成し、イジングマシンを用いて前記イジングモデルについて第1設定数分の第1推薦点を探索し、前記学習データに対して遺伝的アルゴリズムによって第2設定数分の第2推薦点を探索し、前記第1推薦点および前記第1推薦点の第1評価値と、前記第2推薦点および前記第2推薦点の第2評価値と、をそれぞれ学習データとして前記学習データ群に加えるという処理を繰り返す演算処理において、
前記イジングモデルの精度に応じて、前記第1設定数および前記第2設定数を決定する処理をコンピュータが実行することを特徴とする演算方法。
【請求項8】
学習データ群に基づきイジングモデルを作成し、イジングマシンを用いて前記イジングモデルについて第1設定数分の第1推薦点を探索し、前記学習データに対して遺伝的アルゴリズムによって第2設定数分の第2推薦点を探索し、前記第1推薦点および前記第1推薦点の第1評価値と、前記第2推薦点および前記第2推薦点の第2評価値と、をそれぞれ学習データとして前記学習データ群に加えるという処理を繰り返す演算処理において、前記イジングモデルの精度に応じて、前記第1設定数および前記第2設定数を決定する決定部、を備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本件は、演算プログラム、演算方法、および情報処理装置に関する。
【背景技術】
【0002】
バイナリ変数のサンプリングを行うことで最適化を行なう技術が開示されている(例えば、特許文献1~3参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2022-190752号公報
【特許文献2】特開2021-33544号公報
【特許文献3】特開2022-45870号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
例えば、QUBO形式のイジングモデルを用いたサンプリング技術は、モデル上の推薦点を逐次的にサンプリングする手法であるため、サンプリング領域が限定されてしまうおそれがある。そこで、複数の推薦手法を用いることが考えられる。しかしながら、複数の推薦手法を用いる場合には、推薦数の調整が難しい。結果として、サンプリング回数が多くなってしまうおそれがある。
【0005】
1つの側面では、本件は、サンプリング回数を低減することができる演算プログラム、演算方法、および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
1つの態様では、演算プログラムは、コンピュータに、学習データ群に基づきイジングモデルを作成し、イジングマシンを用いて前記イジングモデルについて第1設定数分の第1推薦点を探索し、前記学習データに対して遺伝的アルゴリズムによって第2設定数分の第2推薦点を探索し、前記第1推薦点および前記第1推薦点の第1評価値と、前記第2推薦点および前記第2推薦点の第2評価値と、をそれぞれ学習データとして前記学習データ群に加えるという処理を繰り返す演算処理において、前記イジングモデルの精度に応じて、前記第1設定数および前記第2設定数を決定する処理を実行させることを特徴とする。
【発明の効果】
【0007】
サンプリング回数を低減することができる。
【図面の簡単な説明】
【0008】
【
図1】QUBO形式での解の探索を例示する図である。
【
図2】多数のユーザが見た映画の評価値を表す図である。
【
図3】QUBO形式のモデルを用いたサンプリング技術における実行手順を表すフローチャートである。
【
図4】(a)は情報処理装置の全体構成を例示するブロック図であり、(b)は情報処理装置のハードウェア構成を例示するブロック図である。
【
図5】情報処理装置の動作の一例を表すフローチャートである。
【
図6】(a)は交叉を例示する図であり、(b)は突然変異を例示する図である。
【
図7】(a)は磁気シールドの最適化問題を例示する図であり、(b)はガウス基底関数の配置を例示する図であり、(c)はコイルから発生する磁束線を例示する図である。
【
図8】正の配置および負の配置を例示する図である。
【
図10】(a)および(b)はシミュレーション結果を示す図である。
【
図11】(a)および(b)はシミュレーション結果を示す図である。
【
図12】(a)~(c)はランダムサンプリングの手法、FMDAのみの手法、本実施例の手法のそれぞれの探索により得られた結果の一覧である。
【
図13】(a)は各反復におけるDA推薦数およびGA推薦数を表す図であり、(b)は各反復における最良値のプロットを表す図である。
【発明を実施するための形態】
【0009】
多数の組合せや順序などから評価値の高い良解を探索する技術として、バイナリ変数のサンプリング技術が用いられている。バイナリ変数のサンプリング技術として、ランダムにサンプリングを行うサンプリング技術、QUBO形式のイジングモデルを用いたサンプリング技術などが挙げられる。
【0010】
ランダムにサンプリングを行うサンプリング技術は、手軽にサンプリングを行うことができる一方、サンプリング効率が悪く、高い精度で良解を得るためにはサンプリング回数が多くなってしまうという欠点を有している。
【0011】
QUBO形式のモデルを用いたサンプリング技術として、例えば、FMQA(Factorization Machine with Quantum Annealing)などが挙げられる。FMQAは、QA(量子アニーリング)とFM(機械学習手法)とを組み合わせた手法である。FMQAでは、学習データからQUBO形式のFMモデルを作成し、QAにより良解を求め、良解の評価値をソルバで解析し、結果を学習データに加え、インタラクティブにサンプリングを行う手法である。その他、QUBO形式のモデルを用いたサンプリング技術として、FMDA技術が挙げられる。FMDAは、FMQAのQA部分をDA(Digital Annealer)で置き換えたものである。
【0012】
ここで、QUBO形式とは、Quadratic Unconstrained Binary Optimizationのことであり、二次制約が無く二値最適化が可能な形式のことである。QUBO形式は、例えば、下記式のように表現することができる。なお、x
i=0または1で(i=1,…,N)である。W
ijは、x
iとx
jの結合係数である。b
iは、x
iのバイアス係数である。右辺の第1項は、二次の項であって、相互作用を表している。右辺の第2項は、一次の項であって、バイアス作用を表している。右辺の第3項は、定数項である。QUBO形式では、下記式に従って、
図1で例示するように、エネルギーを表すE(x)を最小化するための良解xが探索される。
【数1】
【0013】
ここで、QUBO形式のモデルを用いたサンプリング技術の一例として、FMDAの概要について説明する。
図2は、多数のユーザが見た映画の評価値を表している。これらの評価値は、n次元のベクトルになっている。まずはこれらの評価値から、相互作用を表すためのQUBO形式のモデルを作成する。QUBO形式のモデルは、下記式のように表すことができる。
【数2】
【0014】
上記式において、w0、wi、vi、およびvjが学習する係数である。この機械学習モデルは、スパースなデータセットに強いモデルである。このモデルは、QUBO形式になっているため、FMを学習することで、QUBO形式のモデルを自動生成することができる。
【0015】
図3は、QUBO形式のモデルを用いたサンプリング技術における実行手順を表すフローチャートである。
図3で例示するように、まず、ランダムに学習データ(初期点)を生成することで、学習データ群を生成する(ステップS1)。生成する学習データ数は、ユーザの設定によって決定される。
【0016】
次に、ソルバを用いて、初期点の評価値を計算する(ステップS2)。評価値とは、初期点や後述する推薦点が良好であるか否かを判断するための指標である。以上のステップにより、初期点と評価値とがセットになった初期の学習データ群が生成される。
【0017】
次に、学習データ群によりFMを生成することで、QUBO形式のモデルを作成する(ステップS3)。FMは、QUBO形式になっているため、FMを生成することは、QUBO形式のモデルを生成することと等価である。その他の機械学習モデルであっても、QUBO形式のモデルを生成できるものであれば使用することができる。
【0018】
次に、DAを用いて、作成したQUBO形式のモデルの最適化を行い、評価値が最も良くなる良解(DA推薦点)を生成する(ステップS4)。
【0019】
次に、ソルバを用いてDA推薦点の評価値を計算する(ステップS5)。
【0020】
次に、評価結果(推薦点と評価値とのセット)を学習データとして学習データ群に追加する(ステップS6)。
【0021】
次に、反復回数が上限に到達したか否かを判定する(ステップS7)。ステップS7で「No」と判定された場合には、ステップS3から再度実行される。それにより、終了条件を満たすまでステップS3~ステップS6が繰り返される。ステップS7で「Yes」と判定された場合、フローチャートの実行が終了する。なお、終了条件として、目的関数の変化量が一定期間にわたって閾値未満である場合などの条件を用いることができる。
【0022】
以上の手順によって学習データ群が更新され、最適解が得られるようになる。
【0023】
なお、
図3では、FMDAについて説明したが、FMDAのDAの部分をQAで置き換えてもよく、QUBOを解くことができるイジングマシンであれば他の手法であっても用いることができる。
【0024】
QUBO形式のモデルを用いたサンプリング技術は、モデル上の推薦点を逐次的にサンプリングする手法であるため、サンプリング領域が限定されてしまうおそれがある。また、QUBO形式のモデルを用いたサンプリング技術では、サンプリング性能がモデル生成のための学習データ群に左右されてしまう。また、FMは2次のモデルであるため、問題を表現しきれない可能性がある。また、複数の推薦手法を使う場合に、推薦数の調整が難しい。以上のことから、最適解の探索精度を高くするためには、サンプリング回数が多くなってしまう。
【0025】
そこで、以下の実施例では、サンプリング回数を低減することが可能な例について説明する。
【実施例0026】
図4(a)は、情報処理装置100の全体構成を例示するブロック図である。
図4(a)で例示するように、情報処理装置100は、格納部10、初期点生成部20、評価部30、FMDA実行部40、GA実行部50、学習データ更新部60、出力部70などを備える。
【0027】
図4(b)は、情報処理装置100のハードウェア構成を例示するブロック図である。
図4(b)で例示するように、情報処理装置100は、CPU101、RAM102、記憶装置103、入力装置104、表示装置105等を備える。
【0028】
CPU(Central Processing Unit)101は、中央演算処理装置である。CPU101は、1以上のコアを含む。RAM(Random Access Memory)102は、CPU101が実行するプログラム、CPU101が処理するデータなどを一時的に記憶する揮発性メモリである。記憶装置103は、不揮発性記憶装置である。記憶装置103として、例えば、ROM(Read Only Memory)、フラッシュメモリなどのソリッド・ステート・ドライブ(SSD)、ハードディスクドライブに駆動されるハードディスクなどを用いることができる。記憶装置103は、演算プログラムを記憶している。入力装置104は、キーボード、マウスなどの入力装置である。表示装置105は、LCD(Liquid Crystal Display)などのディスプレイ装置である。CPU101が演算プログラムを実行することで、格納部10、初期点生成部20、評価部30、FMDA実行部40、GA実行部50、学習データ更新部60、出力部70などが実現される。なお、格納部10、初期点生成部20、評価部30、FMDA実行部40、GA実行部50、学習データ更新部60、出力部70などとして、専用の回路などのハードウェアを用いてもよい。
【0029】
図5は、情報処理装置100の動作の一例を表すフローチャートである。
図5で例示するように、初期点生成部20は、ランダムに学習データ(初期点)を生成することで、学習データ群を生成する(ステップS11)。生成する学習データ数は、ユーザの設定によって決定される。
【0030】
次に、評価部30は、ソルバを用いて、初期点の評価値を計算する(ステップS12)。ステップS11で得られた初期点と、ステップS12で計算された評価値とがセットになった初期の学習データ群は、格納部10に格納される。
【0031】
次に、FMDA実行部40は、格納部10に格納されている学習データ群によりFMを生成することで、QUBO形式のモデルを生成する(ステップS13)。FMは、QUBO形式になっているため、FMを生成することは、QUBO形式のモデルを生成することと等価である。その他の機械学習モデルであっても、QUBO形式のモデルを生成できるものであれば使用することができる。
【0032】
次に、FMDA実行部40は、FMモデルの学習データ群に対する決定係数R
2を計算する(ステップS14)。決定係数R
2は、モデル精度の指標となり、1に近いほど、高い評価値の良解を探索する精度が良いことを表す。決定係数R
2は、例えば、下記式により計算することが可能である。
【数3】
このうち、yiは、実測値である。下記式は予測値である。
【数4】
下記式は、実測値の平均値である。
【数5】
【0033】
次に、FMDA実行部40は、決定係数R2が閾値δ以上であるか否かを判定する(ステップS15)。閾値δは、ユーザによって予め設定されている。ここで、閾値δの一例について説明する。例えば、ステップS15の初回の実行時には、閾値δを0.8程度にしておく。DA推薦が有効に働いている場合には閾値δの値を小さくし、DA推薦が有効に働いていない場合には閾値δの値を大きくすることが好ましい。例えば、DA推薦が有効に働いているか否かは、ステップS15で「Yes」と判定される比率が閾値以上であるか否かによって判定することができる。
【0034】
ステップS15で「Yes」と判定された場合には、FMDA実行部40は、DAによるQUBO最適化により、DA設定推薦数分のDA推薦点を生成する(ステップS16)。DA設定推薦数は、ユーザによって予め設定されている。DA推薦点とは、評価値が最も良くなる良解(推薦点)である。または、DA推薦点とは、評価値が閾値以上の良解(推薦点)である。または、DA推薦点とは、評価値が上位所定番目までの良解(推薦点)である。
【0035】
その後、GA実行部50は、GA推薦数をGA設定推薦数に設定する(ステップS17)。
【0036】
ステップS15で「No」と判定された場合には、GA実行部50は、GA推薦数を、(GA設定推薦数+DA設定推薦数)に設定する(ステップS18)。GA設定推薦数は、ユーザによって予め設定されている。なお、GA推薦数は、(GA設定推薦数+DA設定推薦数)でなくてもよく、GA推薦数よりも増やした数であればよい。
【0037】
ステップS16の実行後またはステップS18の実行後、GA実行部50は、格納部10に格納されている学習データ群から、GA推薦数分の親固体を選択する(ステップS19)。親固体の選択の手法は、特に限定されるものではないが、例えば、学習データ群からGA推薦数分を超える個数(トーナメントサイズNT)の個体をランダムに抽出し、それらのうち評価の高いGA推薦数分の個体を選択する手法が挙げられる(トーナメント選択)。または、学習データ群から、最も評価の高いGA推薦数分の個体を選択してもよい(エリート選択)。トーナメントサイズNTは、ユーザによって予め設定されている。
【0038】
次に、GA実行部50は、親個体から、交叉および突然変異により、GA推薦数分の子固体(GA推薦点)を生成する(ステップS20)。
図6(a)は、交叉を例示する図である。例えば、親個体Aの一部の遺伝子(交叉点)と親個体Bの一部の遺伝子(交叉点)とをランダムに決定して入れ替えて、子個体Aおよび子個体Bとする。
図6(b)は、突然変異を例示する図である。例えば、ランダムに選ばれた遺伝子を対立遺伝子に置き換える。交叉確率および突然変異確率は、ユーザによって予め設定されている。
【0039】
次に、評価部30は、ソルバを用いて、推薦点の評価値を計算する(ステップS21)。ここでの推薦点は、ステップS16が実行されていれば、DA推薦点およびGA推薦点のことであり、ステップS18が実行されていればGA推薦点のことである。
【0040】
次に、学習データ更新部60は、評価結果(推薦点と評価値とのセット)を学習データとして学習データ群に追加する(ステップS22)。
【0041】
次に、学習データ更新部60は、学習データ群における学習データ数が上限数を超えたか否かを判定する(ステップS23)。学習データ数の上限数は、ユーザによって予め設定されている。
【0042】
ステップS23で「Yes」と判定された場合、学習データ更新部60は、評価値の良い順に、上限数分の学習データを選択し、選択した学習データ以外は削除する(ステップS24)。その他、学習データ更新部60は、評価値が所定値以上の学習データを選択し、選択した学習データ以外は削除してもよい。
【0043】
ステップS23で「No」と判定された場合、またはステップS24の実行後に、FMDA実行部40は、反復回数が上限に到達したか否かを判定する(ステップS25)。なお、ステップS25の実行回数を反復回数とすればよい。反復回数の上限数は、ユーザによって予め設定されている。
【0044】
ステップS25で「No」と判定された場合、ステップS13から再度実行される。ステップS25で「Yes」と判定された場合、フローチャートの実行が終了する。
【0045】
出力部70は、
図5の処理の結果を出力する。出力された結果は、例えば、表示装置105によって表示される。例えば、出力部70は、学習データ群の内容を出力してもよく、学習データ群のうち評価値の高い学習データを良解として出力してもよい。
【0046】
本実施例によれば、学習データ群から生成されるFMモデルの精度に応じて、DA設定推薦数およびGA設定推薦数が決定される。それにより、良解を得るための高い精度と、サンプリング回数低減とを両立することができる。
【0047】
例えば、学習データから生成されるFMモデルの精度が低い場合には、DAでの良解探索精度が低くなるおそれがある。そこで、DA推薦を行わないで、GA推薦数を増やす。GAを用いることで、学習データを個体群としてとらえ、GA処理を利用して推薦点を生成することができる。それにより、評価値が良くなりそうな領域を広い範囲でサンプリングすることができる。この場合、低い精度でのDA推薦が行われないため、結果として、少ないサンプリング回数で高い精度で良解を得ることができる。
【0048】
例えば、学習データ群から生成されるFMモデルの精度が高い場合には、DAによりFMモデル上の良解を推薦点として生成することができる。この場合には、評価値の高い領域を積極的にサンプリングすることができる。それにより、良解を得るためのサンプリング回数を低減することができる。
【0049】
以上のことから、本実施例によれば、良解を得るための高い精度と、サンプリング回数低減とを両立することができる。
【0050】
また、学習データ群のデータ数が上限数を超えた場合に、学習データ群に含まれる学習データのそれぞれの評価値に応じて、学習データ群を更新することで、サンプリングに用いるモデル化の精度を向上させることができる。
【0051】
(シミュレーション結果)
以下、仮想の問題を設定し、上記実施例に係る演算処理を行なったシミュレーション結果について説明する。
図7(a)は、磁気シールドの最適化問題を例示する図である。
図7(a)は、磁気シールド解析モデルであって、コイル、磁性体の設計領域、および対象領域を例示する図である。対象領域は、磁束の影響を防ぎたい領域である。磁性体の設計領域は、磁性体を配置するための領域である。
図7(b)は、ガウス基底関数の配置を例示する図である。
図7(b)で例示するように、磁性体の設計領域には、96個の磁性体を配置することができる。
図7(c)は、コイルから発生する磁束線を例示する図である。
【0052】
図8の表は、正の配置および負の配置を例示する図である。s1~s96は、96箇所の正の配置箇所を示している。s1~s96における「0」は磁性体を配置していないことを表し、「1」は磁性体を配置することを表す。z1~z96は、96箇所の負の配置箇所を示している。z1~z96における「0」は磁性体を配置していないことを表し、「1」は磁性体を配置することを表す。
【0053】
この配置問題は、下記式のように形状関数yとして表すことができる。s
i,z
i∈{0,1}であり、w
i∈{-1,0,1}である。このように、磁気シールドの最適化問題を、正負のガウス基底関数の配置問題としてとらえる。
【数6】
【0054】
形状関数yの分布は、
図9の上図のようになる。この結果から、
図9の下図のように、形状関数yの大きさから材料情報を決定することができるようになる。なお、
図9の下図において、形状関数yが0以上であれば物質有りであり、形状関数yが0未満であれば物質無しである。
【0055】
磁気シールド形状最適化の目的は、対象領域の平均磁束密度の大きさB
ave
Tおよび磁性体面積S
magの最小化である。具体的には下記式の最小化である。なお、E
1は、設計領域が全て空気の場合のB
ave
Tの10分の1である。E
2は、設計領域が全て磁性体の場合のS
magである。
【数7】
【0056】
この最適化問題について、ランダムサンプリングの手法、FMDAのみの手法、本実施例の手法の3種類でサンプリングを行った。共通設定として、初期点の個数を96とした。α=0.5、β=0.5とした。FMDAのみの手法では、反復回数を1536回とし、DA設定推薦数を1とした。本実施例の手法では、反復回数を384とし、DA設定推薦数を1とし、GA設定推薦数を3とし、トーナメントサイズNTを5とし、交叉確率を0.7とし、突然変異確率を0.3とし、閾値δを0.85とし、学習データの上限数を400とした。
【0057】
図10(a)、
図10(b)、
図11(a)、および
図11(b)は、結果を示す図である。
図10(a)および
図10(b)は、探索で発見した最良値を示している。縦軸は、QUBO形式のエネルギーEを表している。したがって、縦軸において、小さい値ほど良好な結果が得られていることを示している。横軸のCAE解析数は、反復回数を示している。
図10(b)は、
図10(a)の縦軸の縮尺を変更して拡大した図である。
図10(a)、
図10(b)、
図11(a)、および
図11(b)に示すように、本実施例の手法では、ランダムサンプリングの手法およびFMDAの手法よりも効率的にサンプリングできていることがわかる。
【0058】
図12(a)~
図12(c)は、それぞれ、ランダムサンプリングの手法、FMDAのみの手法、本実施例の手法のそれぞれの探索により得られた結果の一覧である。縦軸は、QUBO形式のエネルギーEを表している。したがって、縦軸において、小さい値ほど良好な結果が得られていることを示している。ランダムサンプリングの手法では、得られた解の分布が全体に散らばっている。FMDAの手法および本実施例の手法では、反復処理部分で得られた結果はEの小さな領域に集中している。本実施例の手法では、FMDAの手法に比べて、さらにEが小さな領域まで探索できていることがわかる。
【0059】
図13(a)は、各反復におけるDA推薦数およびGA推薦数を表している。
図13(b)は、各反復における最良値のプロットを表している。
図12(a)および
図12(b)に示すように、反復の初期ではFMDAによる推薦が有効に働き、反復の後半ではGAによる推薦が支配的になっていることが読み取れる。
【0060】
上記例において、DA設定推薦数が第1設定数の一例であり、DA推薦点が第1推薦点の一例であり、GA設定推薦数が第2設定数の一例であり、GA推薦点が第2推薦点の一例である。
図5のステップS17およびステップS18を実行するGA実行部50が、モデルの精度に応じて、第1設定数および第2設定数を決定する決定部の一例として機能する。
【0061】
以上、本発明の実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
(付記1)
コンピュータに、
学習データ群に基づきイジングモデルを作成し、イジングマシンを用いて前記イジングモデルについて第1設定数分の第1推薦点を探索し、前記学習データに対して遺伝的アルゴリズムによって第2設定数分の第2推薦点を探索し、前記第1推薦点および前記第1推薦点の第1評価値と、前記第2推薦点および前記第2推薦点の第2評価値と、をそれぞれ学習データとして前記学習データ群に加えるという処理を繰り返す演算処理において、
前記イジングモデルの精度に応じて、前記第1設定数および前記第2設定数を決定する処理を実行させることを特徴とする演算プログラム。
(付記2)
前記コンピュータに、
前記イジングモデルの精度が閾値未満である場合には、前記第1推薦点を探索せずに前記第2推薦点設定数を増やして前記第2推薦点を探索する処理を実行させることを特徴とする付記1に記載の演算プログラム。
(付記3)
前記コンピュータに、
前記イジングモデルの精度が閾値未満である場合に、前記第1推薦点を探索せずに、前記第1設定数および前記第2設定数の和を前記第2設定数に設定して前記第2推薦点を探索する処理を実行させることを特徴とする付記1に記載の演算プログラム。
(付記4)
前記コンピュータに、
前記イジングモデルの精度が閾値以上である場合には、前記第1設定数および前記第2設定数を変更せずに、前記第1推薦点および前記第2推薦点を探索する処理を実行させることを特徴とする付記1に記載の演算プログラム。
(付記5)
前記学習データ群における前記学習データの個数に上限が設けられており、
前記コンピュータに、
前記学習データ群において前記学習データの個数が前記上限を超えた場合に、前記学習データのそれぞれの評価値に応じて、前記学習データ群を更新する処理を実行させることを特徴とする付記1に記載の演算プログラム。
(付記6)
前記コンピュータに、
前記学習データ群における前記学習データの個数が前記上限を超えた場合に、評価値の高い順に前記上限の個数分の前記学習データを前記学習データ群に残して他の前記学習データを削除する処理(S24)を実行させることを特徴とする付記5に記載の演算プログラム。
(付記7)
学習データ群に基づきイジングモデルを作成し、イジングマシンを用いて前記イジングモデルについて第1設定数分の第1推薦点を探索し、前記学習データに対して遺伝的アルゴリズムによって第2設定数分の第2推薦点を探索し、前記第1推薦点および前記第1推薦点の第1評価値と、前記第2推薦点および前記第2推薦点の第2評価値と、をそれぞれ学習データとして前記学習データ群に加えるという処理を繰り返す演算処理において、
前記イジングモデルの精度に応じて、前記第1設定数および前記第2設定数を決定する処理をコンピュータが実行することを特徴とする演算方法。
(付記8)
前記イジングモデルの精度が閾値未満である場合には、前記第1推薦点を探索せずに前記第2推薦点設定数を増やして前記第2推薦点を探索する処理をコンピュータが実行することを特徴とする付記7に記載の演算方法。
(付記9)
前記イジングモデルの精度が閾値未満である場合に、前記第1推薦点を探索せずに、前記第1設定数および前記第2設定数の和を前記第2設定数に設定して前記第2推薦点を探索する処理をコンピュータが実行することを特徴とする付記7に記載の演算方法。
(付記10)
前記イジングモデルの精度が閾値以上である場合には、前記第1設定数および前記第2設定数を変更せずに、前記第1推薦点および前記第2推薦点を探索する処理をコンピュータが実行することを特徴とする付記7に記載の演算方法。
(付記11)
前記学習データ群における前記学習データの個数に上限が設けられており、
前記学習データ群において前記学習データの個数が前記上限を超えた場合に、前記学習データのそれぞれの評価値に応じて、前記学習データ群を更新する処理をコンピュータが実行することを特徴とする付記7に記載の演算方法。
(付記12)
前記学習データ群における前記学習データの個数が前記上限を超えた場合に、評価値の高い順に前記上限の個数分の前記学習データを前記学習データ群に残して他の前記学習データを削除する処理をコンピュータが実行することを特徴とする付記11に記載の演算方法。
(付記13)
学習データ群に基づきイジングモデルを作成し、イジングマシンを用いて前記イジングモデルについて第1設定数分の第1推薦点を探索し、前記学習データに対して遺伝的アルゴリズムによって第2設定数分の第2推薦点を探索し、前記第1推薦点および前記第1推薦点の第1評価値と、前記第2推薦点および前記第2推薦点の第2評価値と、をそれぞれ学習データとして前記学習データ群に加えるという処理を繰り返す演算処理において、前記イジングモデルの精度に応じて、前記第1設定数および前記第2設定数を決定する決定部、を備えることを特徴とする情報処理装置。
(付記14)
前記決定部は、前記イジングモデルの精度が閾値未満である場合には、前記第1推薦点を探索せずに前記第2推薦点設定数を増やすことを特徴とする付記13に記載の情報処理装置。
(付記15)
前記決定部は、前記イジングモデルの精度が閾値未満である場合に、前記第1設定数をゼロにして、前記第1設定数および前記第2設定数の和を前記第2設定数に設定することを特徴とする付記13に記載の情報処理装置。
(付記16)
前記決定部は、前記イジングモデルの精度が閾値以上である場合には、前記第1設定数および前記第2設定数を変更しないことを特徴とする付記13に記載の情報処理装置。
(付記17)
前記学習データ群における前記学習データの個数に上限が設けられており、
前記学習データ群において前記学習データの個数が前記上限を超えた場合に、前記学習データのそれぞれの評価値に応じて、前記学習データ群を更新する学習データ更新部(60)を備えることを特徴とする付記13に記載の情報処理装置。
(付記18)
前記学習データ更新部は、前記学習データ群における前記学習データの個数が前記上限を超えた場合に、評価値の高い順に前記上限の個数分の前記学習データを前記学習データ群に残して他の前記学習データを削除することを特徴とする付記17に記載の情報処理装置。