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

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

▶ 富士通株式会社の特許一覧

特許7354712情報処理装置、情報処理プログラムおよび情報処理方法
<>
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図1
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図2
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図3
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図4
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図5
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図6
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図7
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図8
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図9
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図10
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図11
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図12
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図13
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図14
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図15
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図16
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図17
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図18
  • 特許-情報処理装置、情報処理プログラムおよび情報処理方法 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-25
(45)【発行日】2023-10-03
(54)【発明の名称】情報処理装置、情報処理プログラムおよび情報処理方法
(51)【国際特許分類】
   G06N 3/126 20230101AFI20230926BHJP
   G06F 30/10 20200101ALI20230926BHJP
   G06F 30/27 20200101ALI20230926BHJP
【FI】
G06N3/126
G06F30/10
G06F30/27
【請求項の数】 8
(21)【出願番号】P 2019168793
(22)【出願日】2019-09-17
(65)【公開番号】P2021047549
(43)【公開日】2021-03-25
【審査請求日】2022-06-09
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】▲角▼田 有紀人
(72)【発明者】
【氏名】石原 輝雄
【審査官】北川 純次
(56)【参考文献】
【文献】特開2001-249953(JP,A)
【文献】特開2002-288227(JP,A)
【文献】TSUNODA, Y. et al.,Neural-network assistance to calculate precise eigenvalue for fitness evaluation of real product design,Proceedings of the Genetic and Evolutionary Computation Conference Companion [online],2019年07月,pp. 405-406,[検索日 2023.08.15], インターネット:<URL:https://doi.org/10.1145/3319619.3321884>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00- 3/126
G06F 30/00-30/28
(57)【特許請求の範囲】
【請求項1】
入力パラメータに対する固有解に基づいて算出される目的関数を繰り返し計算することで入力パラメータの最適値を探索する進化計算を実行するプロセッサを有する情報処理装置において、
前記プロセッサが、
第1世代より前の世代における複数の入力パラメータと前記複数の入力パラメータから所定の関数でそれぞれ算出された複数の固有解との組合せに基づいて、第1世代の複数の入力パラメータそれぞれに対する複数の固有解候補を予測する予測ステップと、
前記第1世代の複数の入力パラメータそれぞれに対する複数の固有解を算出する第1算出ステップと、
算出された前記第1世代の複数の入力パラメータそれぞれに対する第1複数の固有解と、予測された前記第1世代の複数の入力パラメータそれぞれに対する第1複数の前記固有解候補とを比較し、予測的中率を算出する第2算出ステップと、
算出された予測的中率に基づいて、前記第1世代よりも後の世代である第2世代の複数の入力パラメータそれぞれに対する第2複数の固有解の算出について前記固有解を算出する前記第1算出ステップを実行させずに、予測される第2複数の固有解候補を前記第2複数の固有解として決定するか否かを決定する決定ステップとを実行する、
ことを特徴とする情報処理装置。
【請求項2】
前記決定ステップは、前記第2算出ステップによって算出された予測的中率が閾値以上である場合には、予測される第2複数の固有解候補を前記第2複数の固有解として決定する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記予測ステップは、前記第1世代の前の世代について複数の予測手法ごとに異なる世代群を用いて、複数のパラメータと前記複数の入力パラメータから所定の関数でそれぞれ算出された複数の固有解との組合せに基づいて、複数の固有解候補を予測し、
前記第2算出ステップは、前記複数の予測手法ごとに、それぞれ前記予測的中率を算出し、
前記決定ステップは、前記複数の予測手法ごとのそれぞれの前記予測的中率に基づいて、前記複数の予測手法のいずれの予測手法の予測を実行するか否かを決定する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記決定ステップは、前記複数の予測手法のうち前記予測的中率が最も高い予測手法の予測を、前記第1世代より後の世代の複数の入力パラメータについて実行することを決定する
ことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記決定ステップは、前記複数の予測手法ごとのそれぞれの前記予測的中率に基づいて、それぞれの予測手法の割合を決定し、決定した割合に基づいて、前記第1世代より後の世代の複数の入力パラメータをそれぞれの予測手法に配分し、それぞれの配分された入力パラメータを用いてそれぞれの予測手法を実行することを決定する
ことを特徴とする請求項3に記載の情報処理装置。
【請求項6】
前記決定ステップは、前記第1世代は評価対象の世代を示し、評価対象の世代ごとに、実行することが決定された予測手法を更新する
ことを特徴とする請求項4または請求項5に記載の情報処理装置。
【請求項7】
入力パラメータに対する固有解に基づいて算出される目的関数を繰り返し計算することで入力パラメータの最適値を探索する進化計算において、
第1世代より前の世代における複数の入力パラメータと前記複数の入力パラメータから所定の関数でそれぞれ算出された複数の固有解との組合せに基づいて、第1世代の複数の入力パラメータそれぞれに対する複数の固有解候補を予測し、
前記第1世代の複数の入力パラメータそれぞれに対する複数の固有解を算出し、
算出された前記第1世代の複数の入力パラメータそれぞれに対する第1複数の固有解と、予測された前記第1世代の複数の入力パラメータそれぞれに対する第1複数の前記固有解候補とを比較し、予測的中率を算出しと、
算出された予測的中率に基づいて、前記第1世代よりも後の世代である第2世代の複数の入力パラメータそれぞれに対する第2複数の固有解の算出について前記固有解を算出するステップを実行させずに、予測される第2複数の固有解候補を前記第2複数の固有解として決定するか否かを決定する、
処理をコンピュータに実行させる情報処理プログラム。
【請求項8】
入力パラメータに対する固有解に基づいて算出される目的関数を繰り返し計算することで入力パラメータの最適値を探索する進化計算において、
第1世代より前の世代における複数の入力パラメータと前記複数の入力パラメータから所定の関数でそれぞれ算出された複数の固有解との組合せに基づいて、第1世代の複数の入力パラメータそれぞれに対する複数の固有解候補を予測し、
前記第1世代の複数の入力パラメータそれぞれに対する複数の固有解を算出し、
算出された前記第1世代の複数の入力パラメータそれぞれに対する第1複数の固有解と、予測された前記第1世代の複数の入力パラメータそれぞれに対する第1複数の前記固有解候補とを比較し、予測的中率を算出しと、
算出された予測的中率に基づいて、前記第1世代よりも後の世代である第2世代の複数の入力パラメータそれぞれに対する第2複数の固有解の算出について前記固有解を算出するステップを実行させずに、予測される第2複数の固有解候補を前記第2複数の固有解として決定するか否かを決定する、
処理をコンピュータが実行する情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置などに関する。
【背景技術】
【0002】
進化計算(EC:Evolutionary Computation)の1つとして、遺伝的アルゴリズム(GA:Genetic Algorithm)が知られている(例えば、特許文献1,2など参照)。遺伝的アルゴリズムでは、例えば、入力値をビット列などに変換しランダムに生成し、入力値を選択(特性の良いものを残す)、交配や変異を繰り返し、最適な入力値を見つける。
【0003】
また、最適構造の設計に遺伝的アルゴリズムの進化計算を用いる手法が知られている。最適構造を求める場合には、性能評価を行う必要がある。性能評価を行うには、設計構造に対応した強度分布を求める必要がある。強度分布を求めるには、固有解条件を満足する固有解を算出することが必須である。
【0004】
例えば、光SAW(surface acoustic wave)フィルタのSAW印加効率が最大化となるSAW guide(信号路)の配置を示す構造を求める場合について、図14および図15を参照して説明する。図14は、光SAWフィルタのSAW印加効率最大化の場合のSAW強度分布の参考例を示す図である。図14に示すように、SAW信号路の配置が異なる2種類のSAW強度分布が示されている。SAW guideの光信号路上でのSAW強度が最大となるSAW信号路の配置を求めることで、SAW印加効率が最大となる構造を求める。
【0005】
SAW強度分布は、式(1)に基づいて求められる。
【0006】
【数1】
【0007】
SAW強度分布を求めるには、式(2)で示す固有解条件を満足する固有解を算出することが必須である。かかる例では、正しいSAW強度分布となるためには、両無限遠でゼロ(B=0,A=0)に収束する固有解を算出する必要がある。
【0008】
【数2】
【0009】
図15は、SAW強度分布と固有解との関係を示す参考例を示す図である。なお、図15では、4つのSAW信号路の配置を持つ構造のSAW強度分布を示している。図15上図では、式(1)および式(2)が示すSAW強度分布を決定する固有方程式に対してzの値を替えて両無限遠でゼロ(B=0,A=0)に収束するzの値が固有解として求められる。すなわち、zを全点探索して固有解が求められる。図15下図では、式(1)および式(2)が示すSAW強度分布を決定する固有方程式に対してzの値を替えても両無限遠でゼロ(B=0,A=0)に収束するzの値になっていない。すなわち、zを固有解が求まっていない。したがって、この4つのSAW信号路の配置を持つ構造では、図15上図のように、固有解が求まった上で、SAW強度分布が決定される。
【0010】
そして、構造に対応する固有解および強度分布が求まれば、構造に対するSAW強度分布から構造の性能評価を行う。そして、各構造の性能評価から、各構造から新たな構造を選別し、次の世代の構造を交配や変異により生成し、最適な設計構造を見つける。
【0011】
また、ニューラルネットワーク(Neural Network:NN)を備えた遺伝的アルゴリズムの進化計算により、構造を表す入力値から固有解を予測する手法が開示されている(例えば、非特許文献1参照)。かかる手法では、情報処理装置が、繰り返しにより累積した以前の入力値と固有解とをNNに学習させて生成したNN予測器を用いて、入力値から近似の固有解を予測する。そして、情報処理装置は、正確な固有値を得るために使用される収束計算を近似の固有値から開始する。情報処理装置は、近似の固有値の近辺を探索して、予測が当たれば、効率的に固有解を見つけることができる。予測がはずれた場合には、情報処理装置は、固有方程式に対してzの値を替えて両無限遠でゼロ(B=0,A=0)に収束するzの値を固有解として探索する。すなわち、情報処理装置は、固有方程式に対して、全点探索を行って、固有解を見つける。
【先行技術文献】
【特許文献】
【0012】
【文献】特開2002-230514号公報
【文献】特開2002-245434号公報
【非特許文献】
【0013】
【文献】Yukito Tsunoda et al.:”Neural-network assistance to calculate precise eigenvalue for fitness evaluation of real product design”.GECCO2019, p.405-406.
【発明の概要】
【発明が解決しようとする課題】
【0014】
しかしながら、入力値から固有解を予測する手法では、どの段階で予測を用いた手法に切り替えるべきかの判断が難しいという問題がある。すなわち、入力値から固有解を予測する手法では、情報処理装置が、繰り返しにより累積した以前の入力値と固有解とをNNに学習させて生成したNN予測器を用いて、入力値から固有解を予測する。情報処理装置は、データが累積しないとNN予測器を用いた固有解の予測精度が低くなるので、どの段階で予測を用いた手法に切り替えるべきかの判断が必要である。
【0015】
本発明は、1つの側面では、低精度の予測による世代ごとの繰り返しの計算量が増加することを防ぐことを目的とする。
【課題を解決するための手段】
【0016】
1つの態様では、情報処理装置は、入力パラメータに対する固有解に基づいて算出される目的関数を繰り返し計算することで入力パラメータの最適値を探索する進化計算を実行するプロセッサを有する情報処理装置において、前記プロセッサが、第1世代より前の世代における複数の入力パラメータと前記複数の入力パラメータから所定の関数でそれぞれ算出された複数の固有解との組合せに基づいて、第1世代の複数の入力パラメータそれぞれに対する複数の固有解候補を予測する予測ステップと、前記第1世代の複数の入力パラメータそれぞれに対する複数の固有解を算出する第1算出ステップと、算出された前記第1世代の複数の入力パラメータそれぞれに対する第1複数の固有解と、予測された前記第1世代の複数の入力パラメータそれぞれに対する第1複数の前記固有解候補とを比較し、予測的中率を算出する第2算出ステップと、算出された予測的中率に基づいて、前記第1世代よりも後の世代である第2世代の複数の入力パラメータそれぞれに対する第2複数の固有解の算出について前記固有解を算出する前記第1算出ステップを実行させずに、予測される第2複数の固有解候補を前記第2複数の固有解として決定するか否かを決定する決定ステップとを実行する、ことを特徴とする。
【発明の効果】
【0017】
1実施態様によれば、低精度の予測による世代ごとの繰り返しの計算量が増加することを防ぐことができる。
【図面の簡単な説明】
【0018】
図1図1は、実施例1に係る情報処理装置の構成を示す機能ブロック図である。
図2図2は、実施例1に係るモデル生成を説明する図である。
図3図3は、実施例1に係る固有解予測を説明する図である。
図4図4は、実施例1に係る的中率評価のフローチャートの一例を示す図である。
図5図5は、実施例1に係る進化計算のフローチャートの一例を示す図である。
図6図6は、実施例1に係る的中率評価を光SAWフィルタ設計に適用した場合の効果を示す図である。
図7図7は、計算手法と計算回数について説明する図である。
図8図8は、実施例2に係る情報処理装置の構成を示す機能ブロック図である。
図9図9は、実施例2に係る的中率評価を用いるケースの一例を示す図である。
図10図10は、実施例2に係る的中率評価を用いるケースの別の例を示す図である。
図11図11は、実施例2に係る手法選択のフローチャートの一例を示す図である。
図12図12は、実施例1,2に係る固有解予測を用いる別の例を示す図である。
図13図13は、情報処理プログラムを実行するコンピュータの一例を示す図である。
図14図14は、光SAWフィルタのSAW印加効率最大化の場合のSAW強度分布の参考例を示す図である。
図15図15は、SAW強度分布と固有解との関係を示す参考例を示す図である。
図16図16は、進化計算による構造設計のフローチャートの参考例を示す図である。
図17図17は、進化計算による構造設計の説明の補足図である。
図18図18は、固有解を予測する場合のモデル生成のフローチャートの参考例を示す図である。
図19図19は、モデルを用いて固有解を予測する場合の進化計算のフローチャートの参考例を示す図である。
【発明を実施するための形態】
【0019】
以下に、本願の開示する情報処理装置、情報処理プログラムおよび情報処理方法の実施例を図面に基づいて詳細に説明する。なお、本発明の実施例では、光SAWフィルタのSAW印加効率が最大化となる光信号路の最適な配置(構造設計)を進化計算により求める場合について説明するが、本発明は、実施例により限定されるものではない。
【0020】
[全点探索した場合の進化計算による構造設計のフローチャートの参考例]
まず、全点探索した場合の進化計算による構造設計のフローチャートの参考例を、図16を参照して説明する。図16は、全点探索した場合の進化計算による構造設計のフローチャートの参考例を示す図である。なお、図16のフローチャートを説明する際に、図17の補足図を参照して説明する。
【0021】
図16に示すように、情報処理装置は、設計対象の構造を入力値xkmとして取得する(S110)。ここでいうkは、世代を示し、mは、世代内の入力値の番号を示す。例えば、図17第1段に示すように、最適な幅を算出する場合に、ある世代内の入力値を、xが「6」、xが「8」、xが「10」、xが「12」とする。
【0022】
そして、情報処理装置は、各入力値xkm固有の動作条件を計算する(ステップS120)。すなわち、式(2)の固有解条件のA1=1、B1=0を入力した場合に、Anを求める関数をh(z)と表すとする。すると、Anはh(z)であるため、An=0の条件から、Anすなわちh(z)がゼロになる方程式を解いた条件が固有解g(z)となる。h(z)は、構造に依存するため、入力値xkmごとに異なる。固有解になり得る範囲は、zが取り得る1000点であるとすると、情報処理装置は、1000点全てについて、固有解・固有動作を探索する。
【0023】
そして、情報処理装置は、固有解・固有動作を決定する(ステップS130)。すなわち、h(z)がゼロになる点zが固有解g(z)として決定される。例えば、図17第2段に示すように、各構造の入力値に対する固有解g(x)、g(x)、g(x)およびg(x)が決定される。また、図17第3段に示すように、各構造の入力値に対するSAW強度分布が固有動作として決定される。SAW強度分布は、x軸を光信号路の位置、y軸をSAW強度としたグラフで表わされる。固有動作としてのSAW強度分布は、固有解に基づいて決定される。
【0024】
そして、情報処理装置は、対象の入力値の性能を算出する(ステップS140)。例えば、図17第3段に示すように、情報処理装置は、各構造である入力値に対するSAW強度分布から、各構造の光信号路の配置位置に対応するSAW強度を性能値として算出する。ここでは、入力値がxである場合には、性能値f(x)として「1.0」が算出される。入力値がxである場合には、性能値f(x)として「1.2」が算出される。入力値がxである場合には、性能値f(x)として「1.4」が算出される。入力値がxである場合には、性能値f(x)として「0.8」が算出される。
【0025】
そして、情報処理装置は、各入力値に対応する性能を評価する(ステップS150)。例えば、図17第4段に示すように、入力値x(=6)である場合には、性能値が1.0である。入力値x(=8)である場合には、性能値が1.2である。入力値x(=10)である場合には、性能値が1.4である。入力値x(=12)である場合には、性能値が0.8である。そこで、この場合には、xが示す幅が「10」付近が最も性能値f(x)が良いと評価される。
【0026】
そして、情報処理装置は、終了条件が満たされない場合には、評価結果に基づいて、入力値を選別する(ステップS160)。ここでは、例えば、情報処理装置は、性能値が良かった入力値x(=10)、入力値x(=6)および入力値x(=8)を残し、最も性能値が悪かった入力値x(=12)を除去する。
【0027】
そして、情報処理装置は、次の世代の入力値xk+1mを生成する(ステップS170)。例えば、情報処理装置は、選別された入力値を交配し、交配した入力値を変異して、次の世代の入力値を生成する。そして、情報処理装置は、次の世代の入力値に対する性能を評価する。
【0028】
そして、情報処理装置は、終了条件が満たされる場合には、評価結果に基づいて、最適な入力値を選定する(ステップS180)。
【0029】
かかる最適な構造設計を選定する進化計算の処理では、情報処理装置は、SAW強度分布を求めるために必要な固有解を算出するが、固有解になり得る範囲の全ての点について、固有解を探索する。したがって、情報処理装置は、固有解を求めるための計算量が多くかかるので、進化計算の全体の計算量を低減できない。
【0030】
[予測する場合のモデル生成のフローチャートの参考例]
次に、固有解を予測する場合に用いられるモデル(NN予測器)を生成するフローチャートの参考例を、図18を参照して説明する。図18は、固有解を予測する場合のモデル生成のフローチャートの参考例を示す図である。なお、世代kは、初期値を「1」とするものとする。
【0031】
図18に示すように、情報処理装置は、設計対象の入力値“xkm”(構造・設計値)を複数入力する(ステップS210)。
【0032】
情報処理装置は、各入力値“xkm”固有の動作条件を計算する(ステップS220)。すなわち、式(2)の固有解条件のA1=1、B1=0を入力した場合に、Anを求める関数をh(z)と表すとする。すると、Anはh(z)であるため、情報処理装置は、An=0の条件から、zが取り得る全ての点について、Anすなわちh(z)がゼロになる方程式を解く。zが取り得る全ての点について、Anすなわちh(z)がゼロになる方程式を解いた条件が固有解g(z)となる。h(z)は、構造に依存するため、入力値xkmごとに異なる。固有解になり得る範囲は、zが取り得る1000点であるとすると、情報処理装置は、1000点全てについて、固有解・固有動作を探索する。
【0033】
情報処理装置は、各入力値に対する固有解および固有動作を決定する(ステップS230)。すなわち、h(z)がゼロになる点zが固有解g(z)として決定される。例えば、情報処理装置は、入力値ごとに、方程式h(z)を解いた結果、ゼロになるzの値を固有解として決定する。そして、情報処理装置は、式(1)に基づいて、決定した固有解に対応するSAW強度分布を固有動作として算出する。ここでは、情報処理装置は、式(1)のNeffに固有解を代入して、固有解に対応するSAW強度分布を算出する。
【0034】
そして、情報処理装置は、入力値に対する固有解を所定の記憶部に累積保存する(ステップS240)。
【0035】
そして、情報処理装置は、各入力値の性能を算出する(ステップS250)。例えば、情報処理装置は、各入力値に対するSAW強度分布から、各入力値が示す各構造の光信号路の配置位置に対応するSAW強度を性能値として算出する。そして、情報処理装置は、入力値ごとの性能値に基づいて、各入力値の性能を評価する(ステップS260)。
【0036】
そして、情報処理装置は、現世代が閾値を超えるか否かを判定する(ステップS270)。現世代が閾値を超えていないと判定した場合には(ステップS270;No)、情報処理装置は、評価結果に基づいて、現入力値“xkm”から入力値を選別する(ステップS280)。
【0037】
そして、情報処理装置は、次の世代の入力値“xk+1m”を生成する(ステップS290)。例えば、進化計算部14は、選別された入力値を交配し、交配した入力値を変異して、次の世代の入力値を生成する。そして、情報処理装置は、次の世代の処理をすべく、ステップS210に移行する。
【0038】
一方、現世代が閾値を超えたと判定した場合には(ステップS270;Yes)、情報処理装置は、保存した入力値に対する固有解から、入力値に対する固有解がどの値域にあるかを予測する学習モデルを生成する(ステップS300)。かかる学習モデルは、モデル、すなわちNN予測器に相当する。そして、モデル生成処理は、終了する。
【0039】
[予測する場合の進化計算による構造設計のフローチャートの参考例]
次に、モデルを用いて固有解を予測する場合の進化計算による構造設計のフローチャートの参考例を、図19を参照して説明する。図19は、モデルを用いて固有解を予測する場合の進化計算のフローチャートの参考例を示す図である。なお、世代kは、初期値を、モデル生成で用いた閾値+1とする。
【0040】
図19に示すように、情報処理装置は、設計対象の入力値“xkm”(構造・設計値)を複数入力する(ステップS310)。
【0041】
情報処理装置は、学習モデルを用いて、入力値に対する固有解の解候補値域を推定する(ステップS320)。情報処理装置は、解候補値域の範囲で固有解を予測する(ステップS330)。例えば、情報処理装置は、入力値ごとに、式(2)の固有解条件のA1=1、B1=0を入力した場合に、Anを求める関数h(z)を計算する。そして、情報処理装置は、入力値ごとに、式(2)の固有解条件のAn=0の条件から、推定された解候補値域の範囲のzの点について、Anすなわちh(z)がゼロになる方程式を解いて、固有解を予測する。すなわち、固有解予測部163は、固有解の値域の範囲内のzの値を順番に方程式h(z)に代入して、ゼロになるzの値を固有解として予測する。
【0042】
情報処理装置は、解候補値域の範囲で固有解の予測に成功したか否かを判定する(ステップS340)。解候補値域の範囲で固有解の予測に成功したと判定した場合には(ステップS340;Yes)、情報処理装置は、ステップS360に移行する。
【0043】
一方、解候補値域の範囲で固有解の予測に成功しなかったと判定した場合には(ステップS340;No)、情報処理装置が、各入力値“xkm”固有の動作条件を計算する(ステップS350)。例えば、情報処理装置は、入力値ごとに、式(2)の固有解条件のA1=1、B1=0を入力した場合に、Anを求める関数h(z)を計算する。そして、情報処理装置は、入力値ごとに、式(2)の固有解条件のAn=0の条件から、zが取り得る全ての点について、Anすなわちh(z)がゼロになる方程式を解くことで、固有解を探索する。そして、情報処理装置は、ステップS360に移行する。
【0044】
情報処理装置は、各入力値に対する固有解および固有動作を決定する(ステップS360)。例えば、情報処理装置は、入力値ごとに、方程式h(z)を解いた結果、ゼロになるzの値を固有解として決定する。そして、情報処理装置は、式(1)に基づいて、決定した固有解に対応するSAW強度分布を固有動作として算出する。ここでは、HPC計算部121は、式(1)のNeffに固有解を代入して、固有解に対応するSAW強度分布を算出する。
【0045】
そして、情報処理装置は、各入力値の性能を算出する(ステップS370)。例えば、情報処理装置は、各入力値に対するSAW強度分布から、各入力値が示す各構造の光信号路の配置位置に対応するSAW強度を性能値として算出する。そして、情報処理装置は、入力値ごとの性能値に基づいて、各入力値の性能を評価する(ステップS380)。
【0046】
そして、情報処理装置は、終了条件を満たすか否かを判定する(ステップS390)。終了条件を満たしていないと判定した場合には(ステップS390;No)、情報処理装置は、評価結果に基づいて、現入力値“xkm”から入力値を選別する(ステップS400)。
【0047】
そして、情報処理装置は、次の世代の入力値“xk+1m”を生成する(ステップS410)。例えば、情報処理装置は、選別された入力値を交配し、交配した入力値を変異して、次の世代の入力値を生成する。そして、情報処理装置は、次の世代の処理をすべく、ステップS310に移行する。
【0048】
一方、終了条件を満たしたと判定した場合には(ステップS390;Yes)、情報処理装置は、各入力値の性能評価の結果に基づいて、最適な入力値を選定する(ステップS420)。そして、進化計算処理は、終了する。
【0049】
かかるモデルを用いて最適な構造設計を選定する進化計算の処理では、情報処理装置は、SAW強度分布を求めるために必要な固有解の解候補値域を、モデルにより予測する。モデルが低精度の場合には、情報処理装置は、モデルにより予測された固有解の解候補値域の範囲で固有解の予測に成功しない場合が多くなるので、固有解になり得る範囲の全ての点について、固有解を探索することになる。したがって、情報処理装置は、低精度の予測により、固有解を算出するための世代ごとの繰り返しの計算量が多くかかることになり、進化計算の全体の計算量を低減できない。
【0050】
そこで、以降の実施例では、モデルを用いて固有解を予測する場合に、進化計算の計算量を低減することが可能な情報処理装置について説明する。
【実施例1】
【0051】
[情報処理装置の構成]
図1は、実施例1に係る情報処理装置の構成を示す機能ブロック図である。図1に示す情報処理装置1は、構造を表す入力値の最適値を探索する進化計算において、第1世代より前の世代における、複数の入力値(入力パラメータ)とそれぞれ算出された正解の固有解との組合せに基づいて、固有解候補(解候補値域)を予測するモデルを生成する。情報処理装置1は、第1世代の複数の入力値からそれぞれの正確な固有解を算出する。情報処理装置1は、第1世代の複数の入力値について、算出されたそれぞれの正確な固有解と、モデルにより予測されたそれぞれの固有解候補とを比較し、予測的中率を算出する。情報処理装置1は、算出された予測的中率に基づいて、固有解候補の予測を実行するか否かを決定する。
【0052】
情報処理装置1は、制御部10と、記憶部20とを有する。
【0053】
制御部10は、CPU(Central Processing Unit)などの電子回路に対応する。そして、制御部10は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部10は、入力部11、HPC(High-Performance Computing)計算部群12、性能値評価部13、進化計算部14、出力部15および解予測部16を有する。
【0054】
記憶部20は、例えば、RAM、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。記憶部20は、入出力記憶部21および学習モデル22を有する。
【0055】
入出力記憶部21は、過去の入力値と出力値(性能値)と固有解とを対応付けて記憶する。なお、入出力記憶部21は、後述する入出力保持部161によって記憶される。
【0056】
学習モデル22は、過去の入力値と当該入力値に対応する固有解を用いて新たな入力値に対応する固有解の値域(解候補値域)を求めるように学習した結果のモデルである。学習モデル22は、例えば、ニューラルネットワーク(Neural Network:NN)を用いた手法により学習される。なお、学習モデル22は、後述するモデル生成部162によって生成される。
【0057】
入力部11は、学習モデル22を生成するために用いられる、設計対象の複数の入力値を、後述するHPC計算部121および後述する入出力保持部161へ出力する。また、入力部11は、学習モデル22を用いて固有解を予測する、設計対象の複数の入力値を後述する固有解予測部163へ出力する。
【0058】
HPC計算部群12は、複数のHPC計算部121を有する。以降では、1つのHPC計算部121について説明する。
【0059】
HPC計算部121は、所定の世代の設計対象の入力値を入力し、入力値に対する固有解条件を満たす固有解を求める。すなわち、HPC計算部121は、入力値に対する固有解条件(式(2))を満たす固有解を、固有解になり得る全範囲から探索する。なお、固有解条件を満たす固有解の探索を全範囲から探索することを、以降、「全範囲探索」というものとする。例えば、HPC計算部121は、式(2)の固有解条件のA1=1、B1=0を入力した場合に、Anを求める関数をh(z)と表すとすると、An=0の条件から、Anすなわちh(z)がゼロになる方程式を解く。ゼロになる方程式を解いた条件が固有解g(z)となる。固有解になり得る範囲は、zが取り得る全ての点であるので、HPC計算部121は、zが取り得る全ての点について、h(z)がゼロになる固有解を探索する。そして、HPC計算部121は、全範囲探索によって探索された、入力値に対する固有解を後述する出力部15に出力する。
【0060】
加えて、HPC計算部121は、固有解に基づいて目的関数としてSAW強度分布(固有動作)を算出する。例えば、HPC計算部121は、式(1)に基づいて、固有解に対応するSAW強度分布を算出する。ここでは、HPC計算部121は、式(1)のNeffに固有解を代入して、固有解に対応するSAW強度分布を算出する。HPC計算部121は、入力値に対するSAW強度分布を用いて、入力値に対するSAW強度を性能値として算出する。そして、HPC計算部121は、入力値に対する性能値を後述する出力部15および後述する性能値評価部13に出力する。
【0061】
性能値評価部13は、各入力値に対応する性能値に基づいて、各入力値の性能を評価する。そして、性能値評価部13は、最終的に、各入力値の性能評価の結果に基づいて、最適な入力値を選定する。
【0062】
進化計算部14は、各入力値の性能の評価結果に基づいて、複数の入力値から残す入力値を選別する。進化計算部14は、選別した入力値を交配し、交配した入力値を変異して、次の世代の入力値を生成する。そして、進化計算部14は、次の世代の入力値を入力部11に出力する。
【0063】
出力部15は、HPC計算部121から出力された、全範囲探索によって探索された、入力値に対する固有解および性能値を後述する入出力保持部161に出力する。
【0064】
解予測部16は、入出力保持部161と、モデル生成部162と、固有解予測部163と、的中率評価部164とを有する。なお、固有解予測部163は、予測ステップおよび第1算出ステップの一例である。的中率評価部164は、第2算出ステップおよび決定ステップの一例である。
【0065】
入出力保持部161は、全範囲探索によって探索された、それぞれの入力値に対する固有解および性能値を入出力記憶部21に保持する。
【0066】
モデル生成部162は、全範囲探索によって探索された、入力値に対する固有解に基づいて、入力値に対する固有解条件を満たす固有解がどの値域にあるかを予測する学習モデル22を生成する。例えば、モデル生成部162は、入出力記憶部21に記憶された、それぞれの入力値および固有解の組み合わせをNN(ニューラルネットワーク)に学習させて、入力値に対する固有解の値域を予測する学習モデル22を生成する。学習モデル22を生成する際に用いられる、入力値および固有解の組み合わせは、予測すべき世代の前の世代における組み合わせを用いれば良い。モデル生成部162が入力値に対する固有解の値域を予測するための計算量は、全範囲探索によって入力値に対する固有解条件を満たす固有解を求めるための計算量よりも小さい。
【0067】
ここで、モデル生成部162によるモデル生成を、図2を参照して説明する。図2は、実施例1に係るモデル生成を説明する図である。図2に示すように、モデル生成部162は、入力値xkmと固有解g(xkm)とをNNに学習させて、入力値に対する推定g(xkm)を予測する学習モデル22を生成する。ここでいう推定g(xkm)は、固有解の値域(解候補値域)を示す。また、kは、世代を示し、mは、世代内の入力値の番号を示す。
【0068】
図1に戻って、固有解予測部163は、固有解候補の予測が適用される場合には、学習モデル22を用いて、当該世代の入力値に対する固有解がどの値域(解候補値域)にあるかを予測する。固有解予測部163は、固有解候補の予測が適用されない場合には、入力値に対する固有解を全範囲探索すべく、HPC計算部121に計算させる。なお、固有解候補の予測が適用されるか否かは、後述する的中率評価部164によって判定される。
【0069】
また、固有解予測部163は、的中率の評価が実施される世代である場合には、学習モデル22を用いて、当該世代の入力値に対する固有解がどの値域(解候補値域)にあるかを予測する。なお、的中率の評価が実施される世代は、予め定められれば良い。
【0070】
また、固有解予測部163は、固有解候補の予測が適用される場合又は的中率の評価が実施される世代である場合には、予測した固有解の値域(解候補値域)の範囲で、入力値に対する固有解条件を満たす、当該入力値に対する固有解を探索する。固有解条件を満たす固有解の探索を固有解の値域の範囲から探索することを、以降、「部分範囲探索」というものとする。
【0071】
例えば、固有解予測部163は、式(2)の固有解条件のA1=1、B1=0を入力した場合に、Anを求める関数をh(z)と表すとすると、An=0の条件から、Anすなわちh(z)がゼロになる方程式を解く。ゼロになる方程式を解いた条件が固有解g(z)となる。ここで、ゼロになる方程式を解くzの範囲は、予測した固有解の値域の範囲(部分範囲)となる。固有解予測部163は、予測した固有解の値域の範囲(部分範囲)内の点について、固有解を探索して、固有解を予測する。すなわち、固有解予測部163は、固有解の値域の範囲内のzの値を順番に方程式h(z)に代入して、ゼロになるzの値を正確な固有解として予測する。
【0072】
そして、固有解予測部163は、固有解の予測に成功した場合には、当該固有解を入力値とともにHPC計算部121に出力する。これは、HPC計算部121に、入力値に対する固有解のSAW強度分布(固有動作)を算出させ、入力値に対する性能値を算出させるためである。一方、固有解予測部163は、固有解の予測に失敗した場合には、予測に失敗した固有解に対する入力値をHPC計算部121に出力する。これは、HPC計算部121に、全範囲探索で入力値に対する固有解を求めさせるためである。
【0073】
[固有解予測の説明]
ここで、固有解予測部163による固有解予測を、図3を参照して説明する。図3は、実施例1に係る固有解予測を説明する図である。なお、図3では、解候補値域が、予め、1000点を20分割した500点ずつの20値域に区切られているとする。
【0074】
まず、図3左図に示す学習モデル22を用いて、固有解予測部163は、入力値xkmに対する解候補値域を予測する。
【0075】
次に、図3右図に示すように、固有解予測部163は、予測した解候補値域の範囲で、入力値に対する固有解条件を満たす、当該入力値に対する固有解を探索する。ここでは、予測された解候補値域は、「5」であったとする。すると、固有解予測部163は、式(2)の固有解条件のA1=1、B1=0を入力した場合のAnを求める関数h(z)がAn=0の条件からゼロになる方程式を、解候補値域が「5」を示す範囲内で解く。すなわち、固有解予測部163は、解候補値域が「5」を示す範囲内のzの値を方程式h(z)に代入する。固有解予測部163は、解候補値域の範囲内のいずれかのzの値で関数h(z)がゼロになる場合には、すなわち、固有解の予測に成功した場合には、関数h(z)がゼロになるzの値を正確な固有解として予測する。これにより、固有解予測部163は、解となる可能性のある範囲内の全点を探索する全範囲探索の場合と比べて、1/20の範囲のみ探索すれば良いので、計算量が1/20と軽減できるとともに、高速化することができる。
【0076】
なお、固有解予測部163は、解候補値域の範囲内のzの値で関数h(z)がゼロにならない場合には、関数h(z)がゼロにならなかったという結果から、固有解がこの範囲から求めることができなかった、すなわち、固有解の予測に失敗した、という結果が得られるため、この場合には、HPC計算部121にあらためて全範囲探索で固有解を求めさせれば良い。
【0077】
図1に戻って、的中率評価部164は、学習モデル22を用いた固有解予測の的中率を評価する。
【0078】
例えば、的中率評価部164は、評価対象の世代における複数の入力値について、固有解予測部163によって予測されたそれぞれの固有解候補(解候補値域)と、算出されたそれぞれの正確な固有解とを比較し、予測的中率を算出する。ここでいう正確な固有解は、学習モデル22により予測された解候補値域の部分範囲の探索で見つけられた固有解又は全範囲探索で見つけられた固有解を意味する。
【0079】
一例として、的中率評価部164は、評価対象の世代における複数の入力値を1つずつ選択する。的中率評価部164は、選択した入力値について、予測された解候補値域と、正確な固有解とを比較し、正確な固有解が解候補値域の部分範囲の探索で見つけられた場合には、予測が的中されたと評価する。そして、的中率評価部164は、予測が的中されたと評価した場合には、的中変数に1をカウントする。的中率評価部164は、選択した入力値について、予測された解候補値域と、正確な固有解とを比較し、正確な固有解が解候補値域の部分範囲の探索で見つけられず、全範囲探索で見つけられた場合には、予測が的中されなかったと評価する。そして、的中率評価部164は、予測が的中されなかったと評価した場合には、的中変数にカウントしない。そして、的中率評価部164は、評価対象の世代における複数の入力値を全て選択すると、的中変数と対象の世代における入力値の数とを用いて予測的中率を算出する。なお、学習モデル22は、例えば、1世代目から評価対象の世代の1つ前の世代までの入力値を用いたモデルであっても良いし、評価対象の世代の前の世代であって直近の複数世代の入力値を用いたモデルであっても良い。
【0080】
そして、的中率評価部164は、評価対象の世代における複数の入力値について、予測的中率が閾値以上であるか否かを判定する。閾値は、例えば60%であるが、これに限定されない。的中率評価部164は、予測的中率が閾値以上である場合には、固有解候補の予測を適用することを決定する。的中率評価部164は、予測的中率が閾値未満である場合には、固有解候補の予測を適用しないと決定する。
【0081】
[的中率評価のフローチャート]
図4は、実施例1に係る的中率評価のフローチャートの一例を示す図である。なお、的中率の評価が実施される世代kに移行したとする。また、学習モデル22がモデル生成部162によって生成されたものとする。
【0082】
図4に示すように、固有解予測部163は、設計対象の入力値“xkm”(構造・設計値)を複数入力する(ステップS11)。
【0083】
固有解予測部163は、入力値に対する固有解を予測する(ステップS12)。例えば、固有解予測部163は、入力した入力値ごとに、学習モデル22を用いて、入力値に対する固有解の解候補値域を推定する。固有解予測部163は、入力値ごとに、式(2)の固有解条件のA1=1、B1=0を入力した場合に、Anを求める関数h(z)を計算する。そして、固有解予測部163は、入力値ごとに、式(2)の固有解条件のAn=0の条件から、推定された解候補値域の範囲のzの点について、Anすなわちh(z)がゼロになる方程式を解いて、固有解を求める。すなわち、固有解予測部163は、固有解の値域の範囲内のzの値を順番に方程式h(z)に代入して、ゼロになるzの値を正確な固有解として予測する。固有解予測部163は、固有解の予測に失敗した場合には、入力値をHPC計算部121に出力して、全範囲探索で正確な固有解を求めさせる。
【0084】
続いて、的中率評価部164は、入力値ごとの、予測した固有解と、正確な固有解とを用いて、予測の的中率を計算する(ステップS13)。例えば、的中率評価部164は、複数の入力値について、固有解予測部163によって予測されたそれぞれの固有解候補(解候補値域)と、算出されたそれぞれの正確な固有解とを比較し、予測的中率を算出する。
【0085】
そして、的中率評価部164は、的中率が閾値以上であるか否かを判定する(ステップS14)。的中率が閾値以上であると判定した場合には(ステップS14;Yes)、的中率評価部164は、これ以降の世代について、学習モデル22を用いた予測を適用する旨を決定する(ステップS15)。そして、的中率評価部164は、的中率評価処理を終了する。
【0086】
一方、的中率が閾値以上でないと判定した場合には(ステップS14;No)、的中率評価部164は、これ以降の世代について、学習モデル22を用いた予測を適用しない旨を決定する(ステップS16)。そして、的中率評価部164は、的中率評価処理を終了する。
【0087】
[進化計算のフローチャート]
図5は、実施例1に係る進化計算のフローチャートの一例を示す図である。
【0088】
図5に示すように、入力部11は、設計対象の入力値“xkm”(構造・設計値)を複数入力する(ステップS21)。
【0089】
固有解予測部163は、世代kが予測を適用しない世代か、又は評価対象の世代であるかを判定する(ステップS22)。世代kが予測を適用しない世代でなく、且つ評価対象の世代でないと判定した場合には(ステップS22;No)、固有解予測部163は、全範囲探索すべく、ステップS25に移行する。
【0090】
一方、世代kが予測を適用する世代、又は評価対象の世代であると判定した場合には(ステップS22;Yes)、固有解予測部163は、入力した入力値ごとに、学習モデル22を用いて、固有方程式の解の解候補値域を予測する(ステップS23)。
【0091】
そして、固有解予測部163は、予測付近を計算して正確な解を算出する(ステップS24)。例えば、固有解予測部163は、固有解予測部163は、入力値ごとに、式(2)の固有解条件のA1=1、B1=0を入力した場合に、Anを求める関数h(z)を計算する。そして、固有解予測部163は、入力値ごとに、式(2)の固有解条件のAn=0の条件から、推定された解候補値域の範囲のzの点について、Anすなわちh(z)がゼロになる方程式を解いて、固有解を予測する。すなわち、固有解予測部163は、固有解の値域の範囲内のzの値を順番に方程式h(z)に代入して、ゼロになるzの値を正確な固有解とする。
【0092】
そして、固有解予測部163は、固有解を算出できたか否かを判定する(ステップS24A)。固有解を算出できたと判定した場合には(ステップS24A;Yes)、固有解予測部163は、ステップS26に移行する。
【0093】
一方、固有解を算出できなかったと判定した場合には(ステップS24A;No)、固有解予測部163は、全範囲探索すべく、ステップS25に移行する。
【0094】
ステップS25において、HPC計算部121は、全範囲を計算して正確な解を算出する(ステップS25)。例えば、HPC計算部121は、入力値ごとに、式(2)の固有解条件のA1=1、B1=0を入力した場合に、Anを求める関数h(z)を計算する。そして、HPC計算部121は、入力値ごとに、式(2)の固有解条件のAn=0の条件から、zが取り得る全ての点について、Anすなわちh(z)がゼロになる方程式を解いて、固有解を予測する。すなわち、HPC計算部121は、固有解の値域の範囲内のzの値を順番に方程式h(z)に代入して、ゼロになるzの値を正確な固有解とする。そして、HPC計算部121は、ステップS26に移行する。
【0095】
ステップS26において、性能値評価部13は、各入力値の性能を算出する(ステップS26)。例えば、性能値評価部13は、式(1)に基づいて、決定した固有解に対応するSAW強度分布を固有動作として算出する。ここでは、性能値評価部13は、式(1)のNeffに固有解を代入して、固有解に対応するSAW強度分布を算出する。そして、性能値評価部13は、各入力値に対するSAW強度分布から、各入力値が示す各構造の光信号路の配置位置に対応するSAW強度を性能値として算出する。
【0096】
そして、性能値評価部13は、入力値ごとの性能値に基づいて、各入力値の性能を評価する(ステップS27)。
【0097】
そして、性能値評価部13は、終了条件を満たすか否かを判定する(ステップS28)。終了条件を満たしていないと判定した場合には(ステップS28;No)、進化計算部14は、評価結果に基づいて、現入力値“xkm”から入力値を選別する(ステップS29)。
【0098】
そして、進化計算部14は、次の世代の入力値“xk+1m”を生成する(ステップS30)。例えば、進化計算部14は、選別された入力値を交配し、交配した入力値を変異して、次の世代の入力値を生成する。そして、進化計算部14は、次の世代の処理をすべく、ステップS21に移行する。
【0099】
一方、終了条件を満たしたと判定した場合には(ステップS28;Yes)、性能値評価部13は、各入力値の性能評価の結果に基づいて、最適な入力値を選定する(ステップS31)。そして、進化計算処理は、終了する。
【0100】
[的中率評価の説明]
図6は、実施例1に係る的中率評価を光SAWフィルタ設計に適用した場合の効果を示す図である。図6では、1世代に対して200個の入力値を有し、100世代分の合計20000個の入力値を評価する進化計算の例である。学習モデル22は、3層のNNであり、解候補値域を20値域に区切ったものである。なお、閾値は、60%であるとする。
【0101】
図6に示すグラフには、X軸として世代、Y軸として予測的中率が表わされている。グラフでは、15世代の前世代までは、予測的中率が閾値未満である。そして、15世代以降は、予測的中率が閾値以上である。すなわち、的中率評価部164は、評価対象の世代が15世代であるとき、15世代の複数の入力値を用いて計算された予測的中率が閾値(60%)以上であると判定する。そして、的中率評価部164は、15世代以降、固有解候補の予測を適用することを決定する。
【0102】
これにより、1世代から15世代までの合計3000データ(200入力値×15世代)を学習し、それ以降の16~100世代で固有解候補の予測を適用した場合には、100世代全て全範囲探索する場合と比べて、計算量が0.43(13/30)になる。ここでは、1世代について、全範囲探索する場合には、計算量を1とし、固有解候補の予測を適用した場合には、計算量を1/3として計算した。
1×15/100+1/3×85/100=13/30
【0103】
なお、仮に1世代から25世代までの合計5000データ(200入力値×25世代)を学習し、それ以降の26~100世代で固有解候補の予測を適用した場合には、100世代全て全範囲探索する場合と比べて、計算量が0.5(1/2)になる。
1×25/100+1/3×75/100=1/2
【0104】
すなわち、情報処理装置1は、実施例1に係る予測的中率を用いて予測を適用する世代を判定した場合には、進化計算の計算量を低減することができる。つまり、情報処理装置1は、低精度の予測による世代ごとの繰り返しの計算量が増加することを防ぐことができる。
【0105】
[実施例1の効果]
上記実施例1によれば、情報処理装置1は、入力パラメータに対する固有解に基づいて算出される目的関数を繰り返し計算することで入力パラメータの最適値を探索する進化計算を実行する。情報処理装置1は、第1世代より前の世代における複数の入力パラメータと複数の入力パラメータから所定の関数でそれぞれ算出された複数の固有解との組合せに基づいて、第1世代の複数の入力パラメータそれぞれに対する複数の固有解候補を予測する。情報処理装置1は、第1世代の複数の入力パラメータそれぞれに対する複数の固有解を算出する。情報処理装置1は、算出された第1世代の複数の入力パラメータそれぞれに対する第1複数の固有解と、予測された第1世代の複数の入力パラメータそれぞれに対する第1複数の固有解候補とを比較し、予測的中率を算出する。情報処理装置1は、算出された予測的中率に基づいて、第1世代よりも後の世代である第2世代の複数の入力パラメータそれぞれに対する第2複数の固有解の算出について固有解を算出するステップを実行させずに、予測される第2複数の固有解候補を第2複数の固有解として決定するか否かを決定する。かかる構成によれば、情報処理装置1は、固有解の予測的中率を用いて、固有解候補の予測を実行するか否かを決定することで、低精度の予測により、固有解を算出するための世代ごとの繰り返し計算量が増加することを防ぐことができる。
【0106】
また、上記実施例1によれば、情報処理装置1は、予測的中率が閾値以上である場合には、予測される第2複数の固有解候補を第2複数の固有解として決定する。かかる構成によれば、情報処理装置1は、第2複数の固有解の算出について固有解を算出するステップを実行させないので、固有解を算出するための世代ごとの繰り返し計算量が増加することを確実に防ぐことができる。
【実施例2】
【0107】
ところで、実施例1では、情報処理装置1は、評価対象の世代の複数の入力値について、算出された正確な固有解と、予測された固有解候補とを比較し、予測的中率を算出し、予測的中率に基づいて、固有解候補の予測を実行するか否かを決定すると説明した。しかしながら、情報処理装置1は、これに限定されず、固有解を計算する計算手法を複数備えて、複数の計算手法ごとの予測的中率をモニタし、最も予測的中率が高い計算手法を選択するようにしても良い。言い換えれば、情報処理装置1は、固有解を計算する複数の計算手法ごとに計算回数をモニタし、最も計算回数が少ない計算手法を選択するようにしても良い。
【0108】
図7は、計算手法と計算回数について説明する図である。なお、ここでは、計算手法を予測手法として表す。予測手法は、近似の固有解を予測し、近似の固有解の近辺を探索する計算手法であり、部分範囲探索のことをいう。予測手法1は、例えば、評価対象の世代より前の全ての世代の入力値を用いて学習した学習モデル22を用いて固有解候補を予測し、固有解候補の近辺(固有解の値域)を探索して正解の固有解を計算する手法である。予測手法2は、例えば、評価対象の世代より前の初期の特定の世代までの入力値を用いて学習した学習モデル22を用いて固有解候補を予測し、固有解候補の近辺(固有解の値域)を探索して正解の固有解を計算する手法である。予測手法1、2は、便宜上例示したものであり、これに限定されるものではない。
【0109】
図7に示すように、予測手法1では、評価対象の世代の複数個の入力値に関し、正解の固有解を求めるまでの計算回数の平均がc1である。予測手法2では、評価対象の世代の複数個の入力値に関し、正解の固有解を求めるまでの計算回数の平均がc2である。なお、全範囲探索の計算手法では、評価対象の世代の複数個の入力値に関し、正解の固有解を求めるまでの計算回数がc3である。
【0110】
このような状況の下、実施例2に係る情報処理装置1は、計算手法ごとに計算回数をモニタし、最も計算回数が少ない手法を選択する。ここでは、情報処理装置1は、最も計算回数が少ない予測手法1を選択する。そして、情報処理装置1は、評価対象の世代以降、選択した予測手法1を用いて固有解候補の予測を実行して、固有解候補の近辺(固有解の値域)から正確な固有解を探索する。これにより、情報処理装置1は、複数の予測手法の中から最も計算回数が少ない予測手法を選択することで、精度が低い予測による世代ごとの繰り返しの計算量が増加することを防ぐことが可能となる。
【0111】
そこで、実施例2では、情報処理装置1が、固有解を計算するために用いられる複数の計算手法による計算回数をモニタし、最も計算回数が少ない計算手法を選択する場合について説明する。
【0112】
[情報処理装置の構成]
図8は、実施例2に係る情報処理装置の構成を示す機能ブロック図である。なお、図1に示す情報処理装置1と同一の構成については同一符号を示すことで、その重複する構成および動作の説明については省略する。実施例1と実施例2とが異なるところは、的中率評価部164を的中率評価部164Aに変更した点にある。実施例1と実施例2とが異なるところは、手法選択部165を追加した点にある。
【0113】
的中率評価部164Aは、計算手法ごとに、固有解予測の的中率を評価する。
【0114】
例えば、的中率評価部164Aは、複数の入力値を用いて、計算手法に基づく予測的中率を算出する。
【0115】
ここでいう計算手法には、一例として、固有解になり得る範囲が1000点あるとすると、1000点全てを探索する計算手法がある(m1)。また、一例として、1000点全てを探索するが固有解がみつかったら途中で探索を打ち切る計算手法がある(m2)。また、計算手法には、予測手法が含まれる。予測手法の一例として、評価対象の世代より前の全ての世代の入力値を用いて学習した学習モデル22を用いて固有解候補を予測し、固有解候補の近辺(固有解の値域)を探索して正解の固有解を計算する手法である(m3)。また、予測手法の一例として、評価対象の世代より前の初期の特定の世代までの入力値を用いて学習した学習モデル22を用いて固有解候補を予測し、固有解候補の近辺(固有解の値域)を探索して正解の固有解を計算する手法である(m4)。また、予測手法の一例として、評価対象の世代より前の直近の複数世代の入力値を用いて学習した学習モデル22を用いて固有解候補を予測し、固有解候補の近辺(固有解の値域)を探索して正解の固有解を計算する手法である(m5)。
【0116】
計算手法の中の予測手法の場合には、正確な固有解は、学習モデル22により予測された解候補値域の部分範囲探索で見つけられた固有解又は部分範囲探索で見つけられなかった場合に全範囲探索で見つけられた固有解を意味する。すなわち、的中率評価部164Aは、1つの入力値について、予測された解候補値域と、正確な固有解とを比較し、正確な固有解が解候補値域の部分範囲探索で見つけられた場合には、予測が的中されたと評価する。的中率評価部164Aは、1つの入力値について、予測された解候補値域と、正確な固有解とを比較し、正確な固有解が解候補値域の部分範囲探索で見つけられなかった場合には、予測が的中されなかったと評価する。
【0117】
そして、的中率評価部164Aは、計算手法ごとに、評価対象の世代における複数の入力値について、予測的中率が閾値以上であるか否かを判定する。閾値は、例えば60%であるが、これに限定されない。的中率評価部164Aは、複数の予測手法のいずれかの予測的中率が閾値以上である場合には、固有解候補の予測を適用することを決定する。的中率評価部164Aは、複数の予測手法全ての予測的中率が閾値未満である場合には、固有解候補の予測を適用しないことを決定する。
【0118】
手法選択部165は、複数の予測手法ごとのそれぞれの予測的中率に基づいて、複数の予測手法のいずれの予測手法を実行するかを選択する。例えば、手法選択部165は、予測を適用すると決定された場合には、複数の予測手法のうち予測的中率が最も高い予測手法を選択する。そして、手法選択部165は、選択した予測手法を用いて、評価対象の世代以降の世代の複数の入力値について、選択した予測手法を用いて実行することを決定する。そして、手法選択部165は、選択した予測手法を次に実行する予測手法として更新する。
【0119】
[的中率評価を用いるケースの一例]
図9は、実施例2に係る的中率評価を用いるケースの一例を示す図である。図9に示すように、固有解を計算する計算手法が例えば4つ有する場合に、最も計算回数が少ない計算手法が選択されるケースである。なお、予測的中率が高ければ、固有解を求める際の計算回数は少なくなることから、図9では、予測的中率の代わりに計算回数が用いられている。
【0120】
4つの計算手法は、以下のとおりである。計算手法1は、全範囲探索の手法であり(m1)、固有解になり得る範囲が1000点あるとすると、1000点全てを探索する手法である。計算手法2は、全範囲探索の手法であるが、固有解がみつかったら途中で打ち切る手法(m2)である。計算手法3は、評価対象の世代より前の全ての世代の入力値を用いて学習した学習モデル22を用いて固有解候補を予測し、固有解候補の近辺(固有解の値域)を探索して正解の固有解を計算する予測手法(m3)である。計算手法4は、評価対象の世代より前の初期の特定の世代までの入力値を用いて学習した学習モデル22を用いて固有解候補を予測し、固有解候補の近辺(固有解の値域)を探索して正解の固有解を計算する予測手法(m4)である。なお、計算手法は、4つであると説明したが、これに限定されず、2つであっても、3つであっても、5つであっても良い。また、計算手法1-4は、便宜上例示したものであり、これに限定されるものではない。
【0121】
例えば、評価対象の世代の入力値が100個存在する場合とする。固有解予測部163は、評価対象の世代における複数の入力値について、計算手法ごとに解候補値域および正確な固有解を計算する。計算手法ごとに用いられる入力値は、初回には、100個全部を使っても良いが、按分して25個ずつ使っても良い。
【0122】
的中率評価部164Aは、計算手法ごとに、予測的中率を算出する。ここでは、予測的中率の代わりに平均計算回数が算出される。計算手法1の場合には、平均計算回数は1000回である。計算手法2の場合には、平均計算回数は500回である。計算手法3の場合には、平均計算回数は300回である。計算手法4の場合には、平均計算回数は600回である。
【0123】
手法選択部165は、複数の計算手法のそれぞれの予測的中率に基づいて、複数の計算手法のうち予測的中率が最も高い計算手法を選択する。ここでは、予測的中率の代わりに平均計算回数が算出されているので、複数の計算手法のうち平均計算回数が最も少ない計算手法が選択される。すなわち、計算手法3が選択される。
【0124】
そして、固有解予測部163は、評価対象の世代以降、選択した計算手法3を用いて固有解候補の予測を実行して、固有解候補の近辺から正確な固有解を探索する。なお、評価対象の世代は、10世代ごとであっても良いし、毎世代であっても良い。
【0125】
[的中率評価を用いるケースの別の例]
図10は、実施例2に係る的中率評価を用いるケースの別の例を示す図である。図10に示すように、固有解を計算する計算手法が4つ有する場合に、計算回数が少ない計算手法の割合を高く、計算回数が多い計算手法の割合を低く設定し、各計算手法の計算回数を世代ごとにモニタし、設定の割合が常時更新されるケースである。なお、予測的中率が高ければ、固有解を求める際の計算回数の平均は、少なくなることから、図10では、予測的中率の代わりに計算回数が用いられている。
【0126】
4つの計算手法は、例えば、図9のケース1で説明した計算手法と同じである。なお、計算手法は、4つであると説明したが、これに限定されず、2つであっても、3つであっても、5つであっても良い。また、計算手法1-4は、便宜上例示したものであり、これに限定されるものではない。
【0127】
例えば、評価対象の世代の入力値が100個存在する場合とする。固有解予測部163は、評価対象の世代における複数の入力値について、計算手法ごとに解候補値域および正確な固有解を計算する。計算手法ごとに用いられる入力値は、一例として、初回には、それぞれ100個であっても良いが、按分してそれぞれ25個であっても良い。
【0128】
的中率評価部164Aは、計算手法ごとに、予測的中率を算出する。ここでは、図9のケース1と同様に、予測的中率の代わりに平均計算回数が算出される。計算手法1の場合には、平均計算回数は1000回である。計算手法2の場合には、平均計算回数は500回である。計算手法3の場合には、平均計算回数は300回である。計算手法4の場合には、平均計算回数は600回である。
【0129】
手法選択部165は、複数の計算手法ごとのそれぞれの予測的中率に基づいて、それぞれの計算手法の割合を設定する。ここでは、予測的中率の代わりに平均計算回数が算出されているので、平均計算回数が最も少ない計算手法3の割合を最も高く、平均計算回数がその次に少ない計算手法2、4の割合を次に高く、平均計算回数が最も多い計算手法1の割合を最も低く設定される。
【0130】
そして、固有解予測部163は、評価対象の世代の次の世代における複数の入力値を、設定された割合に基づいて、複数の計算手法に配分する。そして、固有解予測部163は、複数の計算手法に配分された入力値を用いて各計算手法を実行し、計算手法ごとに解候補値域および正確な固有解を計算する。なお、評価対象の世代は、毎世代ごとであっても良いし、複数世代ごとであっても良い。
【0131】
[手法選択部のフローチャート]
図11は、実施例2に係る手法選択のフローチャートの一例を示す図である。なお、的中率の評価が実施される世代kに移行したとする。
【0132】
図11に示すように、固有解予測部163は、設計対象の入力値“xkm”(構造・設計値)を複数入力する(ステップS41)。
【0133】
固有解予測部163は、計算手法ごとに、入力値に対する固有解を予測する(ステップS42)。例えば、固有解予測部163は、複数の計算手法に複数の入力値を配分する。そして、固有解予測部163は、計算手法が予測手法である場合には、配分された入力値ごとに、予測手法に対応する学習モデル22を用いて、入力値に対する固有解の解候補値域を推定する。そして、固有解予測部163は、配分された入力値ごとに、式(2)の固有解条件のA1=1、B1=0を入力した場合に、Anを求める関数h(z)を計算する。そして、固有解予測部163は、配分された入力値ごとに、式(2)の固有解条件のAn=0の条件から、推定された解候補値域の範囲のzの点について、Anすなわちh(z)がゼロになる方程式を解いて、固有解を求める。固有解予測部163は、固有解の予測に失敗した場合には、入力値をHPC計算部121に出力して、全範囲探索で正確な固有解を求めさせる。また、固有解予測部163は、計算手法が予測手法でない場合には、配分された入力値ごとに、HPC計算部121に出力して、全範囲探索で正確な固有解を求めさせる。
【0134】
続いて、的中率評価部164Aは、計算手法ごとに、入力値に対して予測した固有解と正確な固有解とを用いて、予測的中率を計算する(ステップS43)。例えば、的中率評価部164Aは、ある計算手法の1つの入力値について、予測された解候補値域と、正確な固有解とを比較し、正確な固有解が解候補値域で見つけられた場合には、予測が的中されたと評価する。的中率評価部164Aは、ある計算手法の1つの入力値について、予測された解候補値域と、正確な固有解とを比較し、正確な固有解が解候補値域で見つけられなかった場合には、予測が的中されなかったと評価する。そして、的中率評価部164Aは、ある計算手法の配分された複数の入力値について、評価に基づいて、予測的中率を計算する。なお、的中率評価部164Aは、計算手法ごとに、予測的中率に代えて平均計算回数を計算しても良い。
【0135】
そして、手法選択部165は、最も予測的中率が高い計算手法を選択する(ステップS44)。そして、手法選択部165は、選択した計算手法を次に実行する計算手法として更新する(ステップS45)。この後、固有解予測部163は、評価対象の世代以降、選択した計算手法を用いて固有解候補の予測を実行して、固有解候補の近辺から正確な固有解を探索する。
【0136】
なお、的中率評価部164Aが、予測的中率に代えて平均計算回数を計算する場合には、手法選択部165は、以下のように計算手法を選択すれば良い。すなわち、手法選択部165は、複数の計算手法ごとのそれぞれの平均計算回数に基づいて、それぞれの計算手法の割合を決定する。手法選択部165は、平均計算回数が最も少ない計算手法の割合を最も高く、平均計算回数が最も多い計算手法の割合を最も低く設定する。この後、固有解予測部163は、評価対象の世代の次の世代における複数の入力値を、設定された割合に基づいてそれぞれの計算手法に配分し、それぞれの配分された入力値を用いてそれぞれの計算手法を実行し、計算手法ごとに解候補値域および正確な固有解を計算する。
【0137】
[実施例2の効果]
上記実施例2によれば、情報処理装置1は、第1世代の前の世代について複数の予測手法ごとに異なる世代群を用いて、複数の入力パラメータとそれぞれ算出された固有解との組合せに基づいて、固有解候補を予測する。情報処理装置1は、複数の予測手法ごとに、それぞれ予測的中率を算出する。情報処理装置1は、複数の予測手法ごとのそれぞれの予測的中率に基づいて、複数の予測手法のいずれの予測手法の予測を実行するか否かを決定する。かかる構成によれば、情報処理装置1は、複数の予測手法ごとのそれぞれの予測的中率に基づいて、実行する最適な予測手法を決定できる。この結果、情報処理装置1は、低精度の予測による世代ごとの繰り返しの計算量が増加することを防ぐことが可能となる。
【0138】
また、上記実施例2によれば、情報処理装置1は、複数の予測手法のうち予測的中率が最も高い予測手法の固有解候補の予測を、第1世代より後の世代の複数の入力パラメータについて実行することを決定する。かかる構成によれば、情報処理装置1は、第1世代より後の世代では、入力パラメータに対する固有解を計算する際の繰り返しの計算量が増加することを防ぐことが可能となる。
【0139】
また、上記実施例2によれば、情報処理装置1は、複数の予測手法ごとのそれぞれの予測的中率に基づいて、それぞれの予測手法の割合を決定する。情報処理装置1は、決定した割合に基づいて、第1世代より後の世代の複数の入力パラメータをそれぞれの予測手法に配分する。そして、情報処理装置1は、それぞれの配分された入力パラメータを用いてそれぞれの予測手法を実行することを決定する。かかる構成によれば、情報処理装置1は、第1世代より後の世代では、入力パラメータに対する固有解計算の繰り返しの計算量が増加することを防ぐことが可能となる。
【0140】
また、上記実施例2によれば、情報処理装置1は、評価対象の第1世代ごとに、実行することが決定された予測手法を更新する。かかる構成によれば、情報処理装置1は、評価対象の世代ごとに、実行する予測手法を更新することで、入力パラメータの進化の過程でシフトする進化計算において、適切な予測手法を実行することが可能となり、進化計算の計算量を低減できる。
【0141】
[固有解予測を用いる別の例]
実施例1,2に係る固有解予測では、光SAWフィルタの設計する場合について説明した。実施例1,2に係る固有解予測を用いる別の例を、図12を参照して説明する。図12は、実施例1,2に係る固有解予測を用いる別の例を示す図である。図12では、VCO(Voltage Control Oscillator)回路の設計を進化計算により求める場合について説明する。
【0142】
図12上図には、VCO回路が表わされている。破線部分が例えば設計要件の一例となる。
【0143】
図12下左図には、発振周波数と動作電圧との関係が表わされている。VCO回路は、発振周波数が仕様の値(25.0GHzなど)を目標の値として動作するように動作電圧を設定して使用する。ここでは、発振周波数fとして25.0GHzが仕様の値である場合である。入力値1が示す構造では、仕様の値で動作する場合には、動作電圧は、V1を示す。入力値2が示す構造では、仕様の値で動作する場合には、動作電圧は、V2を示す。このように、構造により動作電圧が異なる。
【0144】
図12下右図には、仕様周波数での位相雑音が表わされている。VCO回路は、発振周波数が仕様の値で動作するだけでなく、仕様に応じた条件で位相雑音が小さいことが求められる。ここでは、入力値2が示す構造2は、入力値1が示す構造1より、位相雑音が小さい。したがって、構造2は、構造1より最適な構造であることがわかる。
【0145】
このようなVCO回路の設計概要の下、設計時では、インダクタや可変容量などの入力値(構造、パラメータ値などの設計要件)を調整し、最適な構造を探索するが、この入力値が変更されれば、入力値に対する動作電圧が変化する。このため、各入力値に応じて仕様の発振周波数fとなる動作電圧(Vcnt)を毎回予測し、仕様に応じた条件で位相雑音を評価する必要がある。
【0146】
そこで、例えば、VCO回路の構造、パラメータなどの設計要件を、実施例1に係る「入力値」に対応させる。入力値に対する仕様条件での動作電圧を「固有解」に対応させる。入力値に対する仕様に応じた条件での位相雑音を評価値に対応させる。そして、以下のように、例えば、実施例1に係る的中率評価および固有解予測を用いて、VCOを設計すれば良い。
【0147】
HPC計算部121は、所定の世代の設計要件の入力値を入力し、入力値に対する仕様条件を満たす動作電圧を求めるために、動作電圧になり得る全範囲を探索する。
【0148】
そして、モデル生成部162は、全範囲探索によって探索された、入力値に対する動作電圧に基づいて、入力値に対する仕様条件を満たす動作電圧がどの値域にあるかを予測する学習モデル22を生成する。
【0149】
そして、固有解予測部163は、学習モデル22を用いて、入力値に対する動作電圧がどの値域(解候補値域)にあるかを予測する。固有解予測部163は、予測した動作電圧の値域の範囲で、入力値に対する仕様条件を満たす、当該入力値に対する動作電圧を予測する。なお、固有解予測部163は、動作電圧の予測に失敗した場合には、HPC計算部121に、全範囲探索により、入力値に対する動作電圧を探索させれば良い。
【0150】
そして、的中率評価部164は、評価対象の世代における複数の入力値について、学習モデル22を用いて予測されたそれぞれの解候補値域と、それぞれの正確な動作電圧とを比較し、予測的中率を算出する。そして、的中率評価部164は、評価対象の世代における複数の入力値について、予測的中率が閾値以上であるか否かを判定する。的中率評価部164は、予測的中率が閾値以上である場合には、解候補値域の予測を適用することを決定する。的中率評価部164は、予測的中率が閾値未満である場合には、解候補値域の予測を適用しないことを決定する。
【0151】
これにより、情報処理装置1は、動作電圧の予測的中率に基づいて、動作電圧の解候補値域の予測を実行するか否かを決定することで、低精度の予測により、動作電圧を算出するための世代ごとの繰り返し計算量が増加することを防ぐことができる。
【0152】
[その他]
なお、図示した情報処理装置1の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、情報処理装置1の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、出力部15と入出力保持部161とを1つの部として統合しても良い。また、HPC計算部121を、全範囲探索により固有解を探索する計算部と、固有解に基づいて目的関数を計算する部と、目的関数により入力値に対する性能値を計算部とに分離しても良い。また、記憶部20を情報処理装置1の外部装置としてネットワーク経由で接続するようにしても良い。
【0153】
また、上記実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図1に示した情報処理装置1と同様の機能を実現する情報処理プログラムを実行するコンピュータの一例を説明する。図13は、情報処理プログラムを実行するコンピュータの一例を示す図である。
【0154】
図13に示すように、コンピュータ200は、各種演算処理を実行するCPU203と、ユーザからのデータの入力を受け付ける入力装置215と、表示装置209を制御する表示制御部207とを有する。また、コンピュータ200は、記憶媒体からプログラムなどを読取るドライブ装置213と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部217とを有する。また、コンピュータ200は、各種情報を一時記憶するメモリ201と、HDD(Hard Disk Drive)205を有する。そして、メモリ201、CPU203、HDD205、表示制御部207、ドライブ装置213、入力装置215、通信制御部217は、バス219で接続されている。
【0155】
ドライブ装置213は、例えばリムーバブルディスク210用の装置である。HDD205は、情報処理プログラム205aおよび情報処理関連情報205bを記憶する。
【0156】
CPU203は、情報処理プログラム205aを読み出して、メモリ201に展開し、プロセスとして実行する。かかるプロセスは、情報処理装置1の各機能部に対応する。情報処理関連情報205bは、入出力記憶部21および学習モデル22に対応する。そして、例えばリムーバブルディスク210が、情報処理プログラム205aなどの各情報を記憶する。
【0157】
なお、情報処理プログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、光磁気ディスク、IC(Integrated Circuit)カードなどの「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらから情報処理プログラム205aを読み出して実行するようにしても良い。
【符号の説明】
【0158】
1 情報処理装置
10 制御部
11 入力部
12 HPC計算部群
13 性能値評価部
14 進化計算部
15 出力部
16 解予測部
161 入出力保持部
162 モデル生成部
163 固有解予測部
164,164A 的中率評価部
165 手法選択部
20 記憶部
21 入出力記憶部
22 学習モデル
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19