JP7327137B2 - 演算処理装置、演算処理プログラムおよび演算処理方法 - Google Patents

演算処理装置、演算処理プログラムおよび演算処理方法 Download PDF

Info

Publication number
JP7327137B2
JP7327137B2 JP2019225931A JP2019225931A JP7327137B2 JP 7327137 B2 JP7327137 B2 JP 7327137B2 JP 2019225931 A JP2019225931 A JP 2019225931A JP 2019225931 A JP2019225931 A JP 2019225931A JP 7327137 B2 JP7327137 B2 JP 7327137B2
Authority
JP
Japan
Prior art keywords
generation
eigensolution
calculation
individual
individuals
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019225931A
Other languages
English (en)
Other versions
JP2021096538A (ja
Inventor
有紀人 ▲角▼田
輝雄 石原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019225931A priority Critical patent/JP7327137B2/ja
Priority to EP20204360.0A priority patent/EP3843015A1/en
Priority to US17/090,940 priority patent/US11687616B2/en
Priority to CN202011288411.7A priority patent/CN112987562A/zh
Publication of JP2021096538A publication Critical patent/JP2021096538A/ja
Application granted granted Critical
Publication of JP7327137B2 publication Critical patent/JP7327137B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • GPHYSICS
    • G02OPTICS
    • G02FOPTICAL DEVICES OR ARRANGEMENTS FOR THE CONTROL OF LIGHT BY MODIFICATION OF THE OPTICAL PROPERTIES OF THE MEDIA OF THE ELEMENTS INVOLVED THEREIN; NON-LINEAR OPTICS; FREQUENCY-CHANGING OF LIGHT; OPTICAL LOGIC ELEMENTS; OPTICAL ANALOGUE/DIGITAL CONVERTERS
    • G02F3/00Optical logic elements; Optical bistable devices
    • G02F3/02Optical bistable devices
    • G02F3/022Optical bistable devices based on electro-, magneto- or acousto-optical elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Genetics & Genomics (AREA)
  • Physiology (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Nonlinear Science (AREA)
  • Optics & Photonics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、演算処理装置などに関する。
進化計算(EC:Evolutionary Computation)の1つとして、遺伝的アルゴリズム(GA:Genetic Algorithm)が知られている(例えば、特許文献1等参照)。遺伝的アルゴリズムでは、例えば、入力値をビット列などに変換しランダムに生成し、入力値を選択(特性の良いものを残す)、交配や変異を繰り返し、最適な入力値を見つける。
また、最適構造の設計にGAを用いる手法が知られている。最適構造を求める場合には、適合度の評価(性能評価)を行う必要がある。適合度の評価を行うには、設計構造に対応した強度分布を求める必要がある。強度分布を求めるには、固有解条件を満足する固有解を算出することが必須である。
例えば、光SAW(surface acoustic wave)フィルタのSiO層の構造を最適に設計するために用いられるSAW強度分布は、式(1)に基づいて求められる。SAW強度分布を求めるには、式(2)で示す固有解条件を満足する固有解を算出することが必須である。かかる例では、正しいSAW強度分布となるためには、両無限遠でゼロ(B=0,A=0)に収束する固有解を算出する必要がある。
Figure 0007327137000001
Figure 0007327137000002
また、光SAW(surface acoustic wave)フィルタのSiO層の構造を最適に設計するために、GAが用いられる。図12は、SiO層配置の最適構造の設計の参考例を示す図である。図12に示すように、光SAWフィルタは、光波長多重通信の信号から特定の波長の信号を取り出す。光SAWフィルタの最適化目的は、光信号路上のSAW強度Aを最大化し、波長に対するSAW強度のずれ量比率(SAW移動距離La/Lb)を最大化することである。これらの最適化目的は、SiO層の配置によって実現される。
図13は、GAによるSiO層の構造設計のフローチャートの参考例を示す図である。図13に示すように、演算処理装置は、第1世代の遺伝子を生成する(ステップS110)。ここでは、演算処理装置は、光SAWフィルタの表面を所定の長さの領域に分割し、SiO層には「1」、SiO層以外には「0」を用いて各領域を符号化する。
演算処理装置は、遺伝子に対応する構造を入力値xkmとして取得する(S120)。ここでいうkは、世代を示し、mは、世代内の入力値の番号を示す。
そして、演算処理装置は、各入力値xkm固有の動作モードを有限要素法(FEM:Finite Element Method)等を用いて計算する(S130)。ここでは、h(z)がゼロになる方程式を解いた条件が固有解g(z)となる。h(z)は、構造に依存するため、入力値xkmごとに異なる。固有解になり得る範囲は、zが取り得る1000点であるとすると、演算処理装置は、1000点全てについて、固有解・固有動作モードを探索する。この結果、演算処理装置は、固有解・固有動作モードを決定する。すなわち、h(z)がゼロになる点zが固有解g(z)として決定される。固有動作モードとしてのSAW強度分布は、固有解に基づいて決定される。
そして、演算処理装置は、対象の入力値について、固有の動作モードに基づいた性能を算出する(S140)。例えば、演算処理装置は、各構造である入力値に対するSAW強度分布から、各構造の光信号路の配置位置に対応するSAW強度を適合度として算出する。ここでは、入力値がxである場合には、適合度としてf(x)が算出される。加えて、演算処理装置は、図示しないが、各構造である入力値に対するSAW移動距離(La/Lb)を適合度として算出する。
そして、演算処理装置は、各入力値に対応する性能(適合度)を評価する(S150)。ここでは、例えば、SAW強度における適合度の評価は、以下のようになる。入力値xである場合には、適合度が1.0である。入力値xである場合には、適合度が1.2である。入力値xである場合には、適合度が1.4である。入力値xである場合には、適合度が0.8である。そこで、この場合には、xが示す幅が「10」付近が最も適合度f(x)が良いと評価される。なお、実際には、演算処理装置は、SAW移動距離を含めて性能を評価する。
そして、演算処理装置は、終了条件が満たされない場合には、評価結果に基づいて、入力値を選別する(S160)。ここでは、例えば、演算処理装置は、適合度が良かった入力値x(=10)、入力値x(=6)および入力値x(=8)を残し、最も適合度が悪かった入力値x(=12)を除去する。
そして、演算処理装置は、次の世代の入力値xk+1mを生成する(S170)。例えば、演算処理装置は、選別された入力値を交配し、交配した入力値を変異して、次の世代の入力値を生成する。そして、演算処理装置は、次の世代の入力値に対する性能(適合度)を評価する。
そして、演算処理装置は、終了条件が満たされる場合には、評価結果に基づいて、最適な入力値を選定する(ステップS180)。
上記では、演算処理装置が、固有解を求めるために、固有解になり得る範囲の全点について収束計算を行う場合である。固有解を求めるための収束計算は、計算コストがかかる。そこで、固有解を求めるための計算コストを削減するために、ニューラルネットワーク(Neural-Network:NN)を用いて近似固有解を予測し、近似固有解から正確な固有解を得るための収束計算を開始して、計算範囲を絞り込む手法が開示されている(例えば、非特許文献1等参照)。
図14は、NN予測を用いたGAによるSiO層の構造設計のフローチャートの参考例を示す図である。図14に示すように、演算処理装置は、第1世代の遺伝子を生成する(ステップS210)。ここでは、演算処理装置は、光SAWフィルタの表面を所定の長さの領域に分割し、SiO層には「1」、SiO層以外には「0」を用いて各領域を符号化する。
演算処理装置は、遺伝子に対応する構造を入力値xkmとして取得する(S220)。ここでいうkは、世代を示し、mは、世代内の入力値の番号を示す。
そして、演算処理装置は、入力値xkmごとに、NNによる近似固有解を予測する(ステップS230)。すなわち、演算処理装置は、NNを用いて入力値xkmから固有解を推定し、推定された固有解をそれぞれ例えば20種類の数値化された近似固有解の1つに丸める。NNは、例えば1~25世代の初期の遺伝子(入力値)分、固有解になり得る範囲の全点について収束計算を行うことによって探索(全範囲探索)された、それぞれの入力値および固有解を学習したモデルであり、入力値に対する近似固有解を出力する。
そして、演算処理装置は、各入力値xkm固有の動作モードを、FEM等を用いて計算する(S240)。つまり、演算処理装置は、NNにより予測された近似固有解から正確な固有解を得るための収束計算を開始して、計算範囲を絞り込む。すなわち、演算処理装置は、近似固有解の範囲内のzの値を順番に方程式h(z)に代入して、ゼロになるzの値を固有解として取得する。なお、演算処理装置は、NN予測による固有解の取得に失敗した場合には、固有解になり得る範囲の全点について収束計算を行うことによって探索(全範囲探索)して固有解を取得する。固有動作モードとしてのSAW強度分布は、固有解に基づいて決定される。
そして、演算処理装置は、対象の入力値について、固有の動作モードに基づいた性能を算出する(S250)。例えば、演算処理装置は、各構造である入力値に対するSAW強度分布から、各構造の光信号路の配置位置に対応するSAW強度を適合度として算出する。ここでは、入力値がxである場合には、適合度としてf(x)が算出される。加えて、演算処理装置は、図示しないが、各構造である入力値に対するSAW移動距離(La/Lb)を適合度として算出する。
そして、演算処理装置は、各入力値に対応する適合度を評価する(S260)。
そして、演算処理装置は、終了条件が満たされない場合には、評価結果に基づいて、入力値を選別する(S270)。
そして、演算処理装置は、次の世代の入力値xk+1mを生成する(S280)。例えば、演算処理装置は、選別された入力値を交配し、交配した入力値を変異して、次の世代の入力値を生成する。そして、演算処理装置は、次の世代の入力値に対する性能(適合度)を評価する。
そして、演算処理装置は、終了条件が満たされる場合には、評価結果に基づいて、最適な入力値を選定する(ステップS290)。
図15は、GAによる到達解を示す参考例を示す図である。図15に示すように、X軸は、1つの適合度としての光信号路上のSAW強度Aを示し、Y軸は、1つの適合度としてのSAW移動距離の波長依存(La/Lb)を示す。ここでは、NN予測を用いた手法では、固有解の品質はNN予測を用いない手法と同等のため、進化によって得られる構造は、同等である。すなわち、2種類の適合度を持つパレート解(固有解)は、NN予測を用いた手法であってもNN予測を用いない手法であっても変わりがない。
図16は、GA実施の総計算回数を示す参考例を示す図である。図16では、左の棒グラフが、NN予測を用いない手法により固有解を算出するために必要な総計算回数である。右の棒グラフが、NN予測を用いた手法により固有解を算出するために必要な総計算回数である。NN予測を用いた手法では、26世代以降は、固有解算出に要する計算量を1/3に減らすことができる。
特開2017-162069号公報
ところで、GAの各世代における遺伝子ごとの適合度計算は、独立に処理されるので、並列計算をすることが可能である。NN予測を用いたGAの各世代における遺伝子ごとの適合度計算に並列化を適用した場合、遺伝子によって計算終了までの時間が異なる。
このため、各世代における適合度の評価が、高速化できないという問題がある。すなわち、各世代における個体ごとの適合度計算を並列化した場合、全ての個体の適合度計算が終わるまで、次の世代の計算に移行できない。つまり、各世代における適合度の評価の計算時間は、世代の中の最も遅い個体の処理に左右される。
特に、NN予測を用いたGAでは、NN予測が的中した場合と、予測が外れた場合とで、個体ごとの適合度計算の計算回数や計算時間がばらつく。このため、予測が外れた個体があると、並列化時の待機時間が大きくなる場合があり、この世代の適合度の評価の計算時間が、高速化できない。NN予測による高速化の効果が低下するともいえる。
本発明は、1つの側面では、進化計算の個体ごとの適合度計算を並列処理する際に、適合度計算に必須な固有解の多様性を保ちつつ、計算時間のばらつきによる待機時間を低減させることを目的とする。
1つの態様では、演算処理装置は、複数の入力に基づく複数の個体の適合度を並列処理で計算する進化計算において、複数の計算部と、前記複数の計算部によって計算される第1世代における複数の個体ごとの適合度計算の計算終了の所定の基準に基づいて、前記第1世代の次の世代の第2世代の個体に進化させない個体を決定する決定部と、を備え、前記決定部は、前記第2世代の個体に進化させない個体を、前記第2世代の次の世代以降の世代の個体に進化させることを決定する、ことを特徴とする。
1実施態様によれば、進化計算の個体ごと適合度計算を並列処理する際に、適合度計算に必須な固有解の多様性を保ちつつ、計算時間のばらつきによる待機時間を低減させることができる。
図1は、実施例1に係る演算処理装置の構成を示す機能ブロック図である。 図2Aは、固有解探索の打切りタイミング制御を説明する図である。 図2Bは、固有解探索の打切りタイミング制御の評価結果を示す図である。 図3は、実施例1に係る固有解探索の打切りタイミング制御の一例を示す図である。 図4は、実施例1に係るモデル生成を説明する図である。 図5は、実施例1に係る固有解予測を説明する図である。 図6は、実施例1に係る打切りタイミング制御の評価結果を示す図である。 図7は、実施例1に係るモデル生成のフローチャートの一例を示す図である。 図8Aは、実施例1に係るGAによる構造設計のフローチャートの一例を示す図である。 図8Bは、実施例1に係る固有解探索のフローチャートの一例を示す図である。 図9は、実施例2に係る固有解探索の打切りタイミング制御の一例を示す図である。 図10は、実施例2に係るGAによる構造設計のフローチャートの一例を示す図である。 図11は、演算処理プログラムを実行するコンピュータの一例を示す図である。 図12は、SiO層配置の最適構造の設計の参考例を示す図である。 図13は、GAによるSiO層の構造設計のフローチャートの参考例を示す図である。 図14は、NN予測を用いたGAによるSiO層の構造設計のフローチャートの参考例を示す図である。 図15は、GAによる到達解を示す参考例を示す図である。 図16は、GA実施の総計算回数を示す参考例を示す図である。 図17は、NN予測を用いない場合のGA実施の待機時間を示す参考例を示す図である。 図18は、NN予測を用いる場合のGA実施の待機時間を示す参考例を示す図である。
以下に、本願の開示する演算処理装置、演算処理プログラムおよび演算処理方法の実施例を図面に基づいて詳細に説明する。なお、本発明の実施例では、光SAWフィルタの光信号路上のSAW強度が最大化し、波長に対するSAW強度のずれ量比率(SAW移動距離)が最大化する光信号路の最適な配置(構造設計)を進化計算により求める場合について説明する。また、本発明の実施例では、進化計算を遺伝的アルゴリズム(GA:Genetic Algorithm)として説明する。しかしながら、本発明は、実施例により限定されるものではない。
まず、NN(Neural-Network)予測を用いない場合とNN予測を用いる場合のGAの個体ごとの適合度計算を並列処理する際の待機時間について、図17および図18を参照して説明する。ここでいうNN予測とは、NNを用いて近似固有解を予測し、近似固有解から正確な固有解を得るための収束計算を開始する、固有解の探索手法である。NN予測では、近似固有解の範囲で固有解の取得に失敗した場合には、固有解になり得る範囲の全点について収束計算を行って固有解を取得する。固有解の探索を固有解になり得る範囲の全点について行うことを、以降、「全範囲探索」という。固有解の探索を近似固有解の範囲について行うことを、以降、「部分範囲探索」という。
適合度計算に並列化を適用した場合、個体によって計算終了までの時間が異なる。このため、各世代における個体ごとの適合度計算を並列化した場合、全ての個体の適合度計算が終わるまで、次の世代の計算に移行できない。つまり、各世代における適合度の評価の計算時間は、最も遅い個体の処理に左右される。
図17は、NN予測を用いない場合のGA実施の待機時間を示す参考例を示す図である。図17下図に示すように、複数の個体ごとの固有解取得までの探索回数が表わされている。なお、図17に示すWorkは、演算処理を行う装置のことをいう。例えば、マルチコアのCPUであれば、Workはコア数分存在する。マルチCPUの演算処理装置であれば、Workは、コア数×CPU数分存在する。マルチノードの演算処理装置であれば、Workは、コア数×CPU数×ノード数分存在する。
これによると、個体によって計算終了までの探索回数が異なることがわかる。そして、適合度計算を並列化した場合、全ての個体の適合度計算が終わるまで、次の世代の計算に移行できないので、Work2の最も早く終わった時点からWork1の最も遅く終わった時点まで待機時間が発生する。また、NN予測を用いない場合であるので、図17上図に示すように、探索回数が800から1200の間に集中している。したがって、個体ごとの適合度算出までの探索回数のばらつきが小さく、並列化時の待機時間が短くなる。
図18は、NN予測を用いる場合のGA実施の待機時間を示す参考例を示す図である。図18下図に示すように、複数の個体ごとの固有解取得までの探索回数が表わされている。これによると、個体によって計算終了までの探索回数が異なることがわかる。すなわち、NN予測が的中した場合には、部分範囲探索の試行で終わるので、探索回数が少なく、予測が外れた場合には、全範囲を探索するので、探索回数が多くなる。そして、適合度計算を並列化した場合、全ての個体の適合度計算が終わるまで、次の世代の計算に移行できないので、Work2の最も早く終わった時点からWork1の最も遅く終わった時点まで待機時間が発生する。NN予測では、NN予測が的中した場合と、予測が外れた場合とで、適合度算出までの探索回数がばらつくため、並列化時の待機時間が長くなる。図18上図に示すように、探索回数が300近辺をピークにして、200から1200の間にばらついている。したがって、個体ごとの適合度算出までの探索回数のばらつきが大さく、並列化時の待機時間が長くなる。言い換えれば、NN予測による高速化の効果が低下するともいえる。
したがって、GAの個体ごとの適合度計算を並列処理する際に、各世代における適合度の評価が、高速化できない。
そこで、以降の実施例では、GAの個体ごとの適合度計算を並列処理する際に、適合度計算に必須な固有解の多様性を保ちつつ、計算時間のばらつきによる待機時間を低減することが可能な演算処理装置について説明する。
[演算処理装置の構成]
図1は、実施例1に係る演算処理装置の構成を示す機能ブロック図である。図1に示す演算処理装置1は、複数の入力に基づく複数の個体の適合度を並列処理で計算する進化計算において、計算時間のばらつきによる待機時間を低減させるために、以下の処理を行う。演算処理装置1は、現に施行中の世代の中で計算時間の長い個体を1つ後の世代に合流させる。
ここで、計算時間のばらつきによる待機時間を低減させるために、現に施行中の世代の中で計算時間の長い個体の固有解探索を打ち切ることも考えられる。そこで、固有解探索の打切りタイミング制御について、図2Aおよび図2Bを参照して説明する。図2Aは、固有解探索の打切りタイミング制御を説明する図である。図2Bは、固有解探索の打切りタイミング制御の評価結果を示す図である。
図2A左図には、固有解探索の打切りなしの場合の、NN予測を用いた場合の個体ごとの固有解探索の探索回数および待機時間が表わされている。ここでは、第1世代では、Work3の探索回数が800であり最も遅く、第2世代では、Work4の探索回数が1050であり最も遅い。NN予測を用いるGAの場合、探索回数が例えば500を超える個体は、全体の1割以下であることが実験によりわかっている。
そこで、図2A右図に示すように、固有解探索の打切る基準を例えば500として、500を超える個体の固有解探索を打切り、次の世代に移行すれば、並列化の待機時間を低減させることが可能となる。演算処理装置は、打ち切られた個体について、適合度を最下位として適合度の評価を実施すれば良い。
図2Bは、打切る基準とする探索回数と、GAにより到達した固有解(到達解)の品質の関係性を評価した結果である。図2B左図には、X軸を固有解探索の打切り回数として、Y軸を到達解のハイパーボリュームとしたグラフが表わされている。図2B右図には、X軸を1つの適合度としての光信号路上のSAW強度A、Y軸を1つの適合度としてのSAW移動距離の波長依存(La/Lb)とした場合の進化計算により到達した固有解(到達解)の品質の関係性を示す解分布が表わされている。図2B右上図は、固有解探索の打切りなしの場合の解分布である。図2B右下図は、固有解探索の打切り回数が400である場合の解分布である。ここでいう到達解のハイパーボリュームとは、解分布の評価尺度のことをいい、解分布から計算される面積のことをいう。
図2B右下図に示すように、固有解探索の打切り回数が400である場合では、到達解の多様性が低下する。すなわち、解分布の右方向(Aが大きくなる方向)の進化は、固有解の打切りなしの場合とほぼ同等であるが、解分布の上方向(La/Lbが大きくなる方向)の進化は、固有解の打切りなしと比べて小さい。つまり、固有解の多様性が低下している。そして、図2B左図に示すように、固有解探索の打切り回数が400である場合では、固有解探索の打切りなしの場合と比べて、品質(ハイパーボリューム)が低下している。これは、NN予測が打ち切られた範囲の進化が抑制されたことが原因と推測される。
そこで、演算処理装置1は、計算時間のばらつきによる待機時間を低減させるとともに、固有解の多様性を維持するために、固有解探索の探索回数が閾値を超える個体の探索を次の世代に合流させるようにする。
図3は、実施例1に係る固有解探索の打切りタイミング制御の一例を示す図である。図3に示すように、演算処理装置1は、施行中の世代の中で固有解探索の探索回数が閾値を超える個体を当該世代で探索することを打切り、1つ後の世代に合流させる。例えば、閾値が500である場合には、演算処理装置1は、探索回数が500を超えたタイミングで、探索が終了した個体だけを対象に適合度の評価を行い、個体を進化させて次の世代に移行する。そして、演算処理装置1は、探索回数が500を超えた個体を次の世代に合流させる。進化計算では、進化の処理(選別、交配、変異等)を1つ後の世代で実施しても影響は軽微であると考えられる。
図1に戻って、演算処理装置1は、制御部10と、記憶部20とを有する。
制御部10は、CPU(Central Processing Unit)などの電子回路に対応する。そして、制御部10は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部10は、入力部11、HPC(High-Performance Computing)計算部群12、性能評価部13、進化計算部14、出力部15および進化制御部16を有する。
記憶部20は、例えば、RAM、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。記憶部20は、入出力記憶部21および学習モデル22を有する。
入出力記憶部21は、過去の入力値と出力値(適合度)と固有解とを対応付けて記憶する。なお、入出力記憶部21は、後述する入出力保持部161によって記憶される。ここでいう入力値とは、遺伝子に対応する構造のことをいう。ここでいう遺伝子とは、光SAWフィルタの表面を所定の長さに分割した各領域に対して、SiO層には「1」、SiO層以外には「0」を符号化したものである。ここでいう適合度とは、入力値に対する光信号路上のSAW強度およびSAW移動距離の波長依存(La/Lb)の値のことをいう。
学習モデル22は、過去の入力値と当該入力値に対応する固有解を用いて新たな入力値に対応する固有解の値域を求めるように学習した結果のモデルである。学習モデル22は、例えば、ニューラルネットワーク(NN)を用いた手法により学習される。なお、学習モデル22は、後述するモデル生成部162によって生成される。
入力部11は、学習モデル22を生成するために用いられる設計対象の入力値を、後述するHPC計算部121および後述する入出力保持部161へ出力する。また、入力部11は、学習モデル22を用いて固有解を予測するために用いられる設計対象の入力値を、後述する固有解予測部163へ出力する。
HPC計算部群12は、複数のHPC計算部121を有する。以降では、1つのHPC計算部121について説明する。
HPC計算部121は、所定の世代の設計対象の入力値を入力し、入力値に対する固有解条件を満たす固有解を求める。すなわち、HPC計算部121は、入力値に対する固有解条件を満たす固有解を、固有解になり得る全範囲から探索する。例えば、HPC計算部121は、式(2)の固有解条件のA=1、B=0を入力した場合に、Aを求める関数をh(z)と表すとすると、A=0の条件から、Aすなわちh(z)がゼロになる方程式を解く。ゼロになる方程式を解いた条件が固有解g(z)となる。固有解になり得る範囲は、zが取り得る全ての点であるので、HPC計算部121は、zが取り得る全ての点について、h(z)がゼロになる固有解を探索する。すなわち、HPC計算部121は、zが取り得る全ての点について探索する全範囲探索を行う。そして、HPC計算部121は、全範囲探索によって探索された、入力値に対する固有解を後述する出力部15に出力する。
加えて、HPC計算部121は、固有解に基づいて目的関数としてSAW強度分布(固有動作)を算出する。例えば、HPC計算部121は、式(1)に基づいて、固有解に対応するSAW強度分布を算出する。ここでは、HPC計算部121は、式(1)のNeffに固有解を代入して、固有解に対応するSAW強度分布を算出する。HPC計算部121は、入力値に対するSAW強度分布を用いて、入力値に対するSAW強度を1つの適合度として算出する。加えて、HPC計算部121は、入力値に対するSAW移動距離の波長依存(La/Lb)の値を1つの適合度として算出する。そして、HPC計算部121は、入力値に対する適合度を後述する性能評価部13および出力部15に出力する。
ここで、HPC計算部121は、固有解の探索の計算が終了していない場合に、後述する打切りタイミング制御部164から打切りタイミングの通知を受け付けると、固有解の探索の計算を継続する。そして、HPC計算部121は、固有解の探索の計算が終了すると、固有解に基づいて目的関数としてSAW強度分布(固有動作)を算出する。そして、HPC計算部121は、入力値に対するSAW強度分布を用いて、入力値に対するSAW強度を1つの適合度として算出する。加えて、HPC計算部121は、入力値に対するAW移動距離の波長依存(La/Lb)の値を1つの適合度として算出する。そして、HPC計算部121は、入力値に対する適合度を結果保持部165に出力する。これは、入力値が生成された世代の結果ではなく、当該世代の次世代の結果として保持するためである。
性能評価部13は、入力値ごとの適合度に基づいて、各入力値の性能を評価する。例えば、性能評価部13は、後述する打切りタイミング制御部164から打切りタイミングの通知を受け付けると、HPC計算部121から出力された入力値ごとの適合度および後述する結果保持部165に保持された入力値ごとの適合度を用いて、各入力値の性能を評価する。すなわち、性能評価部13は、固有解探索が終了している現世代と、保持していた前世代との各入力値の性能結果を纏めて評価する。そして、性能評価部13は、各入力値の性能の評価結果に基づいて、複数の入力値から適合している入力値、すなわち残す入力値を選別する。
進化計算部14は、選別した入力値を交配し、交配した入力値を変異して、次の世代の入力値を生成する。そして、進化計算部14は、次の世代の入力値を入力部11に出力する。
出力部15は、HPC計算部121から出力された、全範囲探索によって探索された、入力値に対する固有解および適合度を後述する入出力保持部161に出力する。
進化制御部16は、入出力保持部161と、モデル生成部162と、固有解予測部163、打切りタイミング制御部164および結果保持部165を有する。
入出力保持部161は、全範囲探索によって探索された、それぞれの入力値に対する固有解および適合度を入出力記憶部21に保持する。
モデル生成部162は、全範囲探索によって探索された、入力値に対する固有解に基づいて、入力値に対する固有解条件を満たす固有解がどの値域にあるかを予測する学習モデル22を生成する。例えば、モデル生成部162は、入出力記憶部21に記憶された、全範囲探索によって探索された、それぞれの入力値および固有解をNN(ニューラルネットワーク)に学習させて、入力値に対する固有解の値域を予測する学習モデル22を生成する。なお、モデル生成部162は、1世代からm世代までの入力値に対する固有解を用いて、学習モデル22を生成すれば良い。m世代とは、例えば25世代である。
ここで、モデル生成部162によるモデル生成を、図4を参照して説明する。図4は、実施例1に係るモデル生成を説明する図である。図4に示すように、モデル生成部162は、入力値xkmと固有解g(xkm)とをNNに学習させて、入力値に対する推定g(xkm)を予測する学習モデル22を生成する。ここでいう推定g(xkm)は、固有解の値域を示す。また、kは、世代を示し、mは、世代内の入力値の番号を示す。
図1に戻って、固有解予測部163は、学習モデル22を用いて、入力値に対する固有解がどの値域(解候補値域)にあるかを予測する。そして、固有解予測部163は、予測した固有解の値域の範囲で、入力値に対する固有解条件を満たす、当該入力値に対する固有解を探索する。
例えば、固有解予測部163は、式(2)の固有解条件のA=1、B=0を入力した場合に、Aを求める関数をh(z)と表すとすると、A=0の条件から、Aすなわちh(z)がゼロになる方程式を解く。ゼロになる方程式を解いた条件が固有解g(z)となる。ここで、ゼロになる方程式を解くzの範囲は、予測した固有解の値域の範囲(部分範囲)となる。固有解予測部163は、予測した固有解の値域の範囲内の点について、固有解を探索して、固有解を予測する。すなわち、固有解予測部163は、予測した固有解の値域の範囲内の点について探索する部分範囲探索を行う。つまり、固有解予測部163は、固有解の値域の範囲内のzの値を順番に方程式h(z)に代入して、ゼロになるzの値を固有解として予測する。
そして、固有解予測部163は、固有解の予測に成功した場合には、当該固有解を入力値とともにHPC計算部121に出力する。これは、HPC計算部121に、入力値に対する固有解のSAW強度分布(固有動作)を算出させ、入力値に対する適合度を算出させるためである。一方、固有解予測部163は、固有解の予測に失敗した場合には、予測に失敗した固有解に対する入力値をHPC計算部121に出力する。これは、HPC計算部121に、全範囲探索で入力値に対する固有解を求めさせるためである。
[固有解予測の説明]
ここで、固有解予測部163による固有解予測を、図5を参照して説明する。図5は、実施例1に係る固有解予測を説明する図である。なお、図5では、解候補値域が、予め、1000点を20分割した500点ずつの20値域に区切られている。
まず、図5左図に示す学習モデル22を用いて、固有解予測部163は、入力値xkmに対する解候補値域を予測する。
次に、図5右図に示すように、固有解予測部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と軽減できるとともに、高速化することができる。
なお、固有解予測部163は、解候補値域の範囲内のzの値で関数h(z)がゼロにならない場合には、すなわち、固有解の予測に失敗した場合には、HPC計算部121に全範囲探索で固有解を求めさせれば良い。
打切りタイミング制御部164は、複数のHPC計算部121によって計算される第1世代における複数の入力値の固有解探索を打ち切るタイミングを制御する。例えば、打切りタイミング制御部164は、固有解探索の探索回数に基づいて、第1世代における固有解探索を打ち切るタイミングを制御する。
一例として、打切りタイミング制御部164は、第1世代における複数の入力値ごとの固有解探索の探索回数に基づいて、第1世代の次の世代の第2世代の入力値に進化させない入力値を決定する。具体的には、打切りタイミング制御部164は、第1世代における複数の入力値のうち、固有解探索の探索回数の基準値を超えた時点でまだ固有解探索が終了していない入力値を、第2世代の入力値に進化させない入力値として決定する。そして、打切りタイミング制御部164は、第2世代の入力値に進化させない入力値を、第2世代に後続する世代の入力値に進化させることを決定する。そして、打切りタイミング制御部164は、決定した入力値の固有解探索を行っているHPC計算部121に打切りタイミングである旨を通知する。また、打切りタイミング制御部164は、第1世代における複数の入力値のうち、固有解探索の探索回数の基準値を超えた時点で既に固有解探索が終了している入力値の性能評価をすべく、打切りタイミングである旨を性能評価部13に通知する。つまり、打切りタイミング制御部164は、進化させるタイミングを制御しているともいえる。
なお、打切りタイミング制御部164は、固有解探索の探索回数に基づいて、固有解探索を打ち切るタイミングを制御すると説明したが、これに限定されない。打切りタイミング制御部164は、固有解探索の探索回数に代えて固有解探索の計算時間に基づいて、固有解探索を打ち切るタイミングを制御しても良い。また、打切りタイミング制御部164は、固有解探索が終了した個体数(入力値の数)に基づいて、固有解探索を打ち切るタイミングを制御しても良い。また、打切りタイミング制御部164は、実行中のHPC計算部121の数の固有解探索が終了した割合に基づいて、固有解探索を打ち切るタイミングを制御しても良い。
結果保持部165は、入力値に対する適合度を示す結果を保持する。すなわち、結果保持部165は、現に施行している世代のひとつ前の世代の入力値に対する結果を保持する。
図6は、実施例1に係る打切りタイミング制御の評価結果を示す図である。図6左図には、X軸を固有解探索の打切り回数として、Y軸を進化計算により到達した固有解(到達解)のハイパーボリュームとしたグラフが表わされている。図6右図には、X軸を1つの適合度としての光信号路上のSAW強度A、Y軸を1つの適合度としてのSAW移動距離の波長依存(La/Lb)とした場合の、進化計算により到達した固有解(到達解)の品質の関係性を示す解分布が表わされている。図6右上図は、固有解探索の打切りなしの場合の解分布である。図6右下図は、固有解探索の打切り回数が400である場合の解分布である。ここでいう到達解のハイパーボリュームとは、解分布の評価尺度のことをいい、解分布から計算される面積のことをいう。
図6左図に示すように、固有解探索の打切り回数が400である場合であっても、固有解探索の打切り回数が1200である場合とほぼ同様の到達度のハイパーボリュームを示している。さらに、図6右図に示すように、固有解探索の打切り回数が400であっても、固有解探索の打切り回数がなしの場合と比べて、到達解の多様性は、維持しているといえる。すなわち、実施例1に係る打切りタイミング制御を行った場合では、図2B右下図に示したような解分布の上方向(La/Lbが大きくなる方向)の進化が、固有解の打切りなしと比べて、なしとならず、維持できている。これは、探索回数が多い個体も除去されず、次世代で進化に用いられるからであると推測される。この結果、品質(ハイパーボリューム)が維持できると推測される。
[モデル生成のフローチャート]
図7は、実施例1に係るモデル生成のフローチャートの一例を示す図である。なお、世代kは、初期値を「1」とするものとする。
図7に示すように、入力部11は、設計対象の入力値“xkm”(構造・設計値)を複数入力する(ステップS11)。
HPC計算部121は、各入力値“xkm”固有の動作条件を計算する(ステップS12)。例えば、HPC計算部121は、入力値ごとに、式(2)の固有解条件のA1=1、B1=0を入力した場合に、Anを求める関数h(z)を計算する。そして、HPC計算部121は、入力値ごとに、式(2)の固有解条件のAn=0の条件から、zが取り得る全ての点について、Anすなわちh(z)がゼロになる方程式を解く。
HPC計算部121は、各入力値に対する固有解および固有動作を決定する(ステップS13)。例えば、HPC計算部121は、入力値ごとに、方程式h(z)を解いた結果、ゼロになるzの値を固有解として決定する。そして、HPC計算部121は、式(1)に基づいて、決定した固有解に対応するSAW強度分布を固有動作として算出する。ここでは、HPC計算部121は、式(1)のNeffに固有解を代入して、固有解に対応するSAW強度分布を算出する。
そして、入出力保持部161は、入力値に対する固有解を入出力記憶部21に累積保存する(ステップS14)。
そして、HPC計算部121は、各入力値の性能を算出する(ステップS15)。例えば、HPC計算部121は、入力値に対するSAW強度分布から、入力値が示す各構造の光信号路の配置位置に対応するSAW強度を1つの適合度として算出する。加えて、HPC計算部121は、入力値に対するSAW移動距離の波長依存(La/Lb)の値を1つの適合度として算出する。そして、性能評価部13は、入力値ごとの適合度に基づいて、各入力値の性能を評価する(ステップS16)。
そして、性能評価部13は、現世代が閾値を超えるか否かを判定する(ステップS17)。現世代が閾値を超えていないと判定した場合には(ステップS17;No)、進化計算部14は、評価結果に基づいて、現入力値“xkm”から入力値を選別する(ステップS18)。
そして、進化計算部14は、次の世代の入力値“xk+1m”を生成する(ステップS19)。例えば、進化計算部14は、選別された入力値を交配し、交配した入力値を変異して、次の世代の入力値を生成する。そして、進化計算部14は、次の世代の処理をすべく、ステップS11に移行する。
一方、現世代が閾値を超えたと判定した場合には(ステップS17;Yes)、モデル生成部162は、保存した入力値に対する固有解から、入力値に対する固有解がどの値域にあるかを予測する学習モデル22を生成する(ステップS20)。そして、モデル生成処理は、終了する。
[GAによる構造設計のフローチャート]
図8Aは、実施例1に係るGAによる構造設計のフローチャートの一例を示す図である。なお、世代kは、初期値を、モデル生成で用いた閾値+1とするものとする。
図8Aに示すように、入力部11は、設計対象の入力値“xkm”(構造・設計値)を複数入力する(ステップS21)。
HPC計算部121は、各入力値固有の動作条件の算出を入力値の数だけ並列処理する(ステップS22)。すなわち、HPC計算部121は、各入力値に対する固有解探索を個体数分並列処理で実行する。なお、固有解探索のフローチャートは、後述する。
そして、打切りタイミング制御部164は、動作条件の算出の計算終了数をカウントする(ステップS23)。そして、打切りタイミング制御部164は、計算終了の基準を超えているか否かを判定する(ステップS24)。例えば、打切りタイミング制御部164は、固有解探索の探索回数を計算終了の基準として、固有解探索の探索回数が基準値を超えているか否かを判定する。なお、打切りタイミング制御部164は、計算終了の基準として、固有解探索の探索回数に代えて固有解探索の計算時間を用いても良い。また、打切りタイミング制御部164は、計算終了の基準として、固有解探索が終了した個体数(入力値の数)を用いても良い。また、打切りタイミング制御部164は、計算終了の基準として、実行中のHPC計算部121の数の固有解探索が終了した割合を用いても良い。
計算終了の基準を超えていないと判定した場合には(ステップS24;No)、打切りタイミング制御部164は、さらに動作条件の算出の計算終了数をカウントすべく、ステップS23に移行する。
一方、計算終了の基準を超えたと判定した場合には(ステップS24;Yes)、打切りタイミング制御部164は、動作条件の計算が終了していない入力値があるか否かを判定する(ステップS25)。動作条件の計算が終了していない入力値があると判定した場合には(ステップS25;Yes)、打切りタイミング制御部164は、該当するHPC計算部121に打切りタイミングである旨を通知する。そして、打切りタイミングの通知を受け付けたHPC計算部121は、各入力値固有の動作条件の算出を継続する(ステップS26)。
そして、HPC計算部121は、計算が終了した個体の各入力値の性能を算出する(ステップS27)。例えば、HPC計算部121は、各入力値に対するSAW強度分布から、各入力値が示す各構造の光信号路の配置位置に対応するSAW強度を1つの適合度として算出する。加えて、HPC計算部121は、各入力値に対するSAW移動距離の波長依存(La/Lb)の値を1つの適合度として算出する。HPC計算部121は、算出した適合度を結果保持部165に保存する(ステップS28)。
そして、HPC計算部121は、世代の選別終了の通知を受け取ったか否かを判定する(ステップS29)。世代の選別終了の通知を受け取っていないと判定した場合には(ステップS29;No)、HPC計算部121は、世代の選別終了の通知を受け取るまで、判定処理を繰り返す。
一方、世代の選別終了の通知を受け取ったと判定した場合には(ステップS29;Yes)、HPC計算部121は、性能を評価すべく、ステップS31に移行する。
ステップS25において、動作条件の計算が終了していない入力値がないと判定した場合には(ステップS25;No)、HPC計算部121は、計算が終了した個体の各入力値の性能を算出する(ステップS30)。例えば、HPC計算部121は、各入力値に対するSAW強度分布から、各入力値が示す各構造の光信号路の配置位置に対応するSAW強度を1つの適合度として算出する。加えて、HPC計算部121は、各入力値に対するSAW移動距離の波長依存(La/Lb)の値を1つの適合度として算出する。そして、HPC計算部121は、性能を評価すべく、ステップS31に移行する。
ステップS31において、性能評価部13は、HPC計算部121によって算出された入力値ごとの適合度および結果保持部165によって保存された入力値ごとの適合度に基づいて、各入力値の性能を評価する(ステップS31)。
そして、性能評価部13は、終了条件を満たすか否かを判定する(ステップS32)。終了条件を満たしていないと判定した場合には(ステップS32;No)、進化計算部14は、評価結果に基づいて、現入力値“xkm”から入力値を選別する(ステップS33)。そして、進化計算部14は、HPC計算部121に選別の終了を通知する(ステップS33A)。
そして、進化計算部14は、次の世代の入力値“xk+1m”を生成する(ステップS34)。例えば、進化計算部14は、選別された入力値を交配し、交配した入力値を変異して、次の世代の入力値を生成する。そして、進化計算部14は、次の世代の処理をすべく、ステップS21に移行する。
一方、終了条件を満たしたと判定した場合には(ステップS32;Yes)、性能評価部13は、各入力値の性能評価の結果に基づいて、最適な入力値を選定する(ステップS35)。そして、GAの処理は、終了する。
[固有解探索のフローチャート]
図8Bは、実施例1に係る固有解探索のフローチャートの一例を示す図である。
図8Bに示すように、固有解予測部163は、学習モデル22を用いて、入力値に対する固有解の解候補値域を推定する(ステップS41)。固有解予測部163は、解候補値域の範囲で固有解を予測する(ステップS42)。例えば、固有解予測部163は、入力値ごとに、式(2)の固有解条件のA1=1、B1=0を入力した場合に、Anを求める関数h(z)を計算する。そして、固有解予測部163は、入力値ごとに、式(2)の固有解条件のAn=0の条件から、推定された解候補値域の範囲のzの点について、Anすなわちh(z)がゼロになる方程式を解いて、固有解を予測する。すなわち、固有解予測部163は、固有解の値域の範囲内のzの値を順番に方程式h(z)に代入して、ゼロになるzの値を固有解として予測する。
固有解予測部163は、固有解の予測に成功したか否かを判定する(ステップS43)。固有解の予測に成功したと判定した場合には(ステップS43;Yes)、固有解予測部163は、ステップS45に移行する。
一方、固有解の予測に成功しなかったと判定した場合には(ステップS43;No)、HPC計算部121が、各入力値“xkm”固有の動作条件を計算する(ステップS44)。例えば、HPC計算部121は、入力値ごとに、式(2)の固有解条件のA1=1、B1=0を入力した場合に、Anを求める関数h(z)を計算する。そして、HPC計算部121は、入力値ごとに、式(2)の固有解条件のAn=0の条件から、zが取り得る全ての点について、Anすなわちh(z)がゼロになる方程式を解いて、固有解を予測する。そして、HPC計算部121は、ステップS45に移行する。
HPC計算部121は、各入力値に対する固有解および固有動作を決定する(ステップS45)。例えば、HPC計算部121は、入力値ごとに、方程式h(z)を解いた結果、ゼロになるzの値を固有解として決定する。そして、HPC計算部121は、式(1)に基づいて、決定した固有解に対応するSAW強度分布を固有動作として算出する。ここでは、HPC計算部121は、式(1)のNeffに固有解を代入して、固有解に対応するSAW強度分布を算出する。
[実施例1の効果]
上記実施例1によれば、演算処理装置1は、複数の入力に基づく複数の個体の適合度を並列処理で計算する進化計算において、以下の処理を行う。演算処理装置1は、複数のHPC計算部121によって計算される第1世代における複数の個体(入力値)ごとの適合度計算(性能計算)の計算終了の所定の基準に基づいて、第1世代の次の世代の第2世代の個体に進化させない個体を決定する。そして、演算処理装置1は、第2世代の個体に進化させない個体を、第2世代の次の世代以降の世代の個体に進化させることを決定する。かかる構成によれば、演算処理装置1は、進化計算の個体ごと適合度計算を並列処理する際に、適合度計算に必須な固有解の多様性を保ちつつ、計算時間のばらつきによる待機時間を低減させることが可能となる。
また、上記実施例1によれば、演算処理装置1は、第1世代における複数の個体ごとの適合度計算の、固有解を探索するための探索回数に基づいて、第1世代の次の世代の第2世代の個体に進化させない個体を決定する。そして、演算処理装置1は、決定した個体の固有解の探索を継続させ、第2世代の次の世代以降の世代の個体に進化させることを決定する。かかる構成によれば、演算処理装置1は、固有解の探索を継続させる個体であって第2世代の個体に進化させない個体を決定するタイミングに、固有解を探索するための探索回数を用いることで、固有解の多様性を保ちつつ、計算時間のばらつきによる待機時間を低減させることが可能となる。
また、上記実施例1によれば、演算処理装置1は、第1世代における複数の個体ごとの適合度計算にかかる、固有解を探索するための計算時間に基づいて、第1世代の次の世代の第2世代の個体に進化させない個体を決定する。そして、演算処理装置1は、決定した個体の固有解の探索を継続させ、第2世代の次の世代以降の世代の個体に進化させることを決定する。かかる構成によれば、演算処理装置1は、固有解の探索を継続させる個体であって第2世代の個体に進化させない個体を決定するタイミングに、固有解を探索するための計算時間を用いることで、固有解の多様性を保ちつつ、計算時間のばらつきによる待機時間を低減させることが可能となる。
また、上記実施例1によれば、演算処理装置1は、第1世代における複数の個体ごとの適合度計算の、終了した個体の数に基づいて、第1世代の次の世代の第2世代の個体に進化させない個体を決定する。そして、演算処理装置1は、決定した個体の固有解の探索を継続させ、第2世代の次の世代以降の世代の個体に進化させることを決定する。かかる構成によれば、演算処理装置1は、固有解の探索を継続させる個体であって第2世代の個体に進化させない個体を決定するタイミングに、計算が終了した個体の数を用いることで、固有解の多様性を保ちつつ、計算時間のばらつきによる待機時間を低減させることが可能となる。
ところで、実施例1では、演算処理装置1は、1世代の個体数が、演算処理を行うHPC計算部121の数より少ない場合の打切りタイミング制御処理について説明した。しかしながら、演算処理装置1は、1世代の個体数が、演算処理を行うHPC計算部121の数より多い場合の打切りタイミング制御処理であっても良い。
そこで、実施例2では、演算処理装置1が、1世代の個体数が、演算処理を行うHPC計算部121の数より多い場合の打切りタイミング制御処理について説明する。
図9は、実施例2に係る固有解探索の打切りタイミング制御の一例を示す図である。図9に示すように、演算処理装置1は、1世代の個体数がHPC計算部121の数より多い場合には、全てのHPC計算部121に個体を割り当て、各個体に対する計算を実行させ、計算終了したHPC計算部121から順次未計算の個体に対する計算を実行させる。そして、演算処理装置1は、施行中の世代において計算終了の基準を超えている場合には、固有解探索の計算が終了していない個体を当該世代で探索することを打切り、1つ後の世代に合流させる。計算終了の基準は、1世代の計算時間としても良いし、固有解探索が終了した個体数(入力値の数)としても良いし、HPC計算部121の数の固有解探索が終了した割合としても良い。
例えば、計算終了の基準が1世代の計算時間である場合には、演算処理装置1は、1世代の計算時間が基準値を超えたタイミングで、探索が終了した個体だけを対象に適合度の評価を行い、個体を進化させて次の世代に移行する。そして、演算処理装置1は、1世代の計算時間が基準値を超えた際に探索が終了していない個体を次の世代に合流させる。進化計算では、進化の処理(選別、交配、変異等)を1つ後の世代で実施しても影響は軽微であると考えられる。
[GAによる構造設計のフローチャート]
図10は、実施例2に係るGAによる構造設計のフローチャートの一例を示す図である。なお、世代kは、初期値を、モデル生成で用いた閾値+1とするものとする。
図10に示すように、入力部11は、設計対象の入力値“xkm”(構造・設計値)を複数入力する(ステップS51)。
HPC計算部121は、各入力値固有の動作条件の算出を入力値の数だけ並列処理する(ステップS52)。すなわち、HPC計算部121は、各入力値に対する固有解探索を個体数分並列処理で実行する。なお、固有解探索のフローチャートは、図8Bで説明したので、この説明を省略する。
HPC計算部121は、計算未実施の個体があるか否かを判定する(ステップS53)。計算が未実施の個体があると判定した場合には(ステップS53;Yes)、HPC計算部121は、計算が未実施の個体の処理を行うべく、ステップS52に移行する。一方、計算が未実施の個体がないと判定した場合には(ステップS53;No)、HPC計算部121は、待機する。
打切りタイミング制御部164は、動作条件の算出の計算終了数をカウントする(ステップS54)。そして、打切りタイミング制御部164は、計算終了の基準を超えているか否かを判定する(ステップS55)。例えば、打切りタイミング制御部164は、固有解探索の探索回数を計算終了の基準として、1世代の計算時間が基準値を超えているか否かを判定する。なお、打切りタイミング制御部164は、計算終了の基準として、1世代の計算時間に代えて固有解探索が終了した個体数(入力値の数)としても良い。また、打切りタイミング制御部164は、計算終了の基準として、HPC計算部121の数の探索終了した割合としても良い。
計算終了の基準を超えていないと判定した場合には(ステップS55;No)、打切りタイミング制御部164は、さらに動作条件の算出の計算終了数をカウントすべく、ステップS54に移行する。
一方、計算終了の基準を超えたと判定した場合には(ステップS55;Yes)、打切りタイミング制御部164は、動作条件の計算が終了していない入力値があるか否かを判定する(ステップS56)。動作条件の計算が終了していない入力値があると判定した場合には(ステップS56;Yes)、打切りタイミング制御部164は、該当するHPC計算部121に打切りタイミングである旨を通知する。そして、打切りタイミングの通知を受け付けたHPC計算部121は、各入力値固有の動作条件の算出を継続する(ステップS57)。
そして、HPC計算部121は、計算が終了した個体の各入力値の性能を算出する(ステップS58)。例えば、HPC計算部121は、各入力値に対するSAW強度分布から、各入力値が示す各構造の光信号路の配置位置に対応するSAW強度を1つの適合度として算出する。加えて、HPC計算部121は、各入力値に対するSAW移動距離の波長依存(La/Lb)の値を1つの適合度として算出する。HPC計算部121は、算出した適合度を結果保持部165に保存する(ステップS59)。
そして、HPC計算部121は、世代の選別終了の通知を受け取ったか否かを判定する(ステップS60)。世代の選別終了の通知を受け取っていないと判定した場合には(ステップS60;No)、HPC計算部121は、世代の選別終了の通知を受け取るまで、判定処理を繰り返す。
一方、世代の選別終了の通知を受け取ったと判定した場合には(ステップS60;Yes)、HPC計算部121は、性能を評価すべく、ステップS62に移行する。
ステップS56において、動作条件の計算が終了していない入力値がないと判定した場合には(ステップS56;No)、HPC計算部121は、計算が終了した個体の各入力値の性能を算出する(ステップS61)。例えば、HPC計算部121は、各入力値に対するSAW強度分布から、各入力値が示す各構造の光信号路の配置位置に対応するSAW強度を1つの適合度として算出する。加えて、HPC計算部121は、各入力値に対するSAW移動距離の波長依存(La/Lb)の値を1つの適合度として算出する。そして、HPC計算部121は、性能を評価すべく、ステップS62に移行する。
ステップS62において、性能評価部13は、HPC計算部121によって算出された入力値ごとの適合度および結果保持部165によって保存された入力値ごとの適合度に基づいて、各入力値の性能を評価する(ステップS62)。
そして、性能評価部13は、終了条件を満たすか否かを判定する(ステップS63)。終了条件を満たしていないと判定した場合には(ステップS63;No)、進化計算部14は、評価結果に基づいて、現入力値“xkm”から入力値を選別する(ステップS64)。そして、進化計算部14は、HPC計算部121に選別の終了を通知する(ステップS64A)。
そして、進化計算部14は、次の世代の入力値“xk+1m”を生成する(ステップS65)。例えば、進化計算部14は、選別された入力値を交配し、交配した入力値を変異して、次の世代の入力値を生成する。そして、進化計算部14は、次の世代の処理をすべく、ステップS51に移行する。
一方、終了条件を満たしたと判定した場合には(ステップS63;Yes)、性能評価部13は、各入力値の性能評価の結果に基づいて、最適な入力値を選定する(ステップS66)。そして、GAの処理は、終了する。
[実施例2の効果]
上記実施例2によれば、第1世代における複数の個体の数がHPC計算部121の数より多い場合には、HPC計算部121は、1つの個体の適合度計算が終了した後に未計算の個体の適合度計算を実行する。そして、打切りタイミング制御部164は、複数のHPC計算部121によって計算される第1世代における複数の個体ごとの適合度計算の計算終了の所定の基準に基づいて、第1世代の次の世代の第2世代の個体に進化させない個体を決定する。かかる構成によれば、演算処理装置1は、第1世代における複数の個体の数が並列計算の計算部の数より多い場合であっても、適合度計算に必須な固有解の多様性を保ちつつ、計算時間のばらつきによる待機時間を低減させることが可能となる。
[その他]
なお、演算処理装置1は、全範囲探索によって探索された、1世代からm世代までの入力値に対する固有解に基づいて、入力値に対する固有解がどの値域にあるかを予測する学習モデル22を生成すると説明した。そして、演算処理装置1は、m+1世代の入力値から、生成した学習モデル22を用いて、入力値に対する固有解の解候補値域を予測し、解候補値域の範囲から固有解を探索する部分範囲探索を行う。しかしながら、演算処理装置1は、これに限定されず、m世代以降も学習を継続して、学習モデル22を更新しても良い。また、演算処理装置1は、学習モデル22を、部分範囲探索を行う世代に合わせて更新するようにしても良い。例えば、演算処理装置1は、部分範囲探索を行う世代の直前の数個の世代を用いたモデルとなるように、学習モデル22を更新しても良い。
また、演算処理装置1は、入力値に対する固有解がどの値域にあるかを学習モデルを用いて予測しながら固有解を求める手法を例に説明した。しかしながら、これに限定されず、固有解を求める手法は、従来の全範囲探索する手法の進化計算にも、同様に適用可能である。
また、図示した演算処理装置1の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、演算処理装置1の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、出力部15と入出力保持部161とを1つの部として統合しても良い。また、HPC計算部121を、全範囲探索により固有解を探索する計算部と、固有解に基づいて目的関数を計算する部と、目的関数により入力値に対する適合度を計算する計算部とに分離しても良い。また、記憶部20を演算処理装置1の外部装置としてネットワーク経由で接続するようにしても良い。
また、上記実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図1に示した演算処理装置1と同様の機能を実現する演算処理プログラムを実行するコンピュータの一例を説明する。図11は、演算処理プログラムを実行するコンピュータの一例を示す図である。
図11に示すように、コンピュータ200は、各種演算処理を実行するCPU203と、ユーザからのデータの入力を受け付ける入力装置215と、表示装置209を制御する表示制御部207とを有する。また、コンピュータ200は、記憶媒体からプログラムなどを読取るドライブ装置213と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部217とを有する。また、コンピュータ200は、各種情報を一時記憶するメモリ201と、HDD(Hard Disk Drive)205を有する。そして、メモリ201、CPU203、HDD205、表示制御部207、ドライブ装置213、入力装置215、通信制御部217は、バス219で接続されている。
ドライブ装置213は、例えばリムーバブルディスク210用の装置である。HDD205は、演算処理プログラム205aおよび演算処理関連情報205bを記憶する。
CPU203は、演算処理プログラム205aを読み出して、メモリ201に展開し、プロセスとして実行する。かかるプロセスは、演算処理装置1の各機能部に対応する。演算処理関連情報205bは、入出力記憶部21および学習モデル22に対応する。そして、例えばリムーバブルディスク210が、演算処理プログラム205aなどの各情報を記憶する。
なお、演算処理プログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、光磁気ディスク、IC(Integrated Circuit)カードなどの「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらから演算処理プログラム205aを読み出して実行するようにしても良い。
1 演算処理装置
10 制御部
11 入力部
12 HPC計算部群
121 HPC計算部
13 性能評価部
14 進化計算部
15 出力部
16 進化制御部
161 入出力保持部
162 モデル生成部
163 固有解予測部
164 打切りタイミング制御部
165 結果保持部
20 記憶部
21 入出力記憶部
22 学習モデル

Claims (8)

  1. 複数の入力に基づく複数の個体の適合度を並列処理で計算する進化計算において、
    複数の計算部と、
    前記複数の計算部によって計算される第1世代における複数の個体ごとの適合度計算の計算終了の所定の基準に基づいて、前記第1世代の次の世代の第2世代の個体に進化させない個体を決定する決定部と、を備え、
    前記決定部は、前記第2世代の個体に進化させない個体を、前記第2世代の次の世代以降の世代の個体に進化させることを決定する
    ことを特徴とする演算処理装置。
  2. 前記決定部は、前前記複数の計算部によって計算される第1世代における複数の個体ごとの適合度計算の、固有解を探索するための探索回数に基づいて、前記第1世代の次の世代の第2世代の個体に進化させない個体を決定し、決定した個体の固有解の探索を継続させ、前記第2世代の次の世代以降の世代の個体に進化させることを決定する
    ことを特徴とする請求項1に記載の演算処理装置。
  3. 前記決定部は、前前記複数の計算部によって計算される第1世代における複数の個体ごとの適合度計算にかかる、固有解を探索するための計算時間に基づいて、前記第1世代の次の世代の第2世代の個体に進化させない個体を決定し、決定した個体の固有解の探索を継続させ、前記第2世代の次の世代以降の世代の個体に進化させることを決定する
    ことを特徴とする請求項1に記載の演算処理装置。
  4. 前記決定部は、前前記複数の計算部によって計算される第1世代における複数の個体ごとの適合度計算の、終了した個体の数に基づいて、前記第1世代の次の世代の第2世代の個体に進化させない個体を決定し、決定した個体の固有解の探索を継続させ、前記第2世代の次の世代以降の世代の個体に進化させることを決定する
    ことを特徴とする請求項1に記載の演算処理装置。
  5. 前記第1世代における複数の個体の数が前記計算部の数より多い場合には、前記計算部は、1つの個体の適合度計算が終了した後に未計算の個体の適合度計算を実行する
    ことを特徴とする請求項1に記載の演算処理装置。
  6. 前記決定部は、個体の適合度を計算する際に、ニューラルネットに代表される予測器を用いて固有解の予測を行い、予測結果から前記固有解の探索の計算を開始することで正確な固有解を求める手法を用いる
    ことを特徴とする請求項1に記載の演算処理装置。
  7. 複数の入力に基づく複数の個体の適合度を並列処理で計算する進化計算において、
    複数の計算部によって計算される第1世代における複数の個体ごとの適合度計算の計算終了の所定の基準に基づいて、前記第1世代の次の世代の第2世代の個体に進化させない個体を決定し、
    前記第2世代の個体に進化させない個体を、前記第2世代の次の世代以降の世代の個体に進化させることを決定する
    処理をコンピュータに実行させる演算処理プログラム。
  8. 複数の入力に基づく複数の個体の適合度を並列処理で計算する進化計算において、
    複数の計算部によって計算される第1世代における複数の個体ごとの適合度計算の計算終了の所定の基準に基づいて、前記第1世代の次の世代の第2世代の個体に進化させない個体を決定し、
    前記第2世代の個体に進化させない個体を、前記第2世代の次の世代以降の世代の個体に進化させることを決定する
    処理をコンピュータが実行する演算処理方法。
JP2019225931A 2019-12-13 2019-12-13 演算処理装置、演算処理プログラムおよび演算処理方法 Active JP7327137B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019225931A JP7327137B2 (ja) 2019-12-13 2019-12-13 演算処理装置、演算処理プログラムおよび演算処理方法
EP20204360.0A EP3843015A1 (en) 2019-12-13 2020-10-28 Arithmetic procesing unit, arithmetic processing program, and arithmetic processing method
US17/090,940 US11687616B2 (en) 2019-12-13 2020-11-06 Arithmetic processing apparatus, non-transitory computer-readable storage medium, and arithmetic processing method
CN202011288411.7A CN112987562A (zh) 2019-12-13 2020-11-17 算术处理设备、算术处理程序和算术处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019225931A JP7327137B2 (ja) 2019-12-13 2019-12-13 演算処理装置、演算処理プログラムおよび演算処理方法

Publications (2)

Publication Number Publication Date
JP2021096538A JP2021096538A (ja) 2021-06-24
JP7327137B2 true JP7327137B2 (ja) 2023-08-16

Family

ID=73037788

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019225931A Active JP7327137B2 (ja) 2019-12-13 2019-12-13 演算処理装置、演算処理プログラムおよび演算処理方法

Country Status (4)

Country Link
US (1) US11687616B2 (ja)
EP (1) EP3843015A1 (ja)
JP (1) JP7327137B2 (ja)
CN (1) CN112987562A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001229148A (ja) 2000-02-15 2001-08-24 Hitachi Eng Co Ltd 遺伝的アルゴリズム処理装置
JP2012221004A (ja) 2011-04-04 2012-11-12 Hitachi Ltd 並列計算機システム、およびプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001283183A (ja) 2000-03-29 2001-10-12 Hitachi Eng Co Ltd 自律非同期型遺伝的アルゴリズム並列処理装置
JP2013161263A (ja) 2012-02-06 2013-08-19 Dainippon Printing Co Ltd パラメータフィッティング方法
JP6641195B2 (ja) 2016-03-08 2020-02-05 株式会社Screenホールディングス 最適化方法、最適化装置、プログラムおよび画像処理装置
HK1258101A2 (zh) * 2018-09-20 2019-11-01 Longview Financial Ltd 計算機實施的資產組合編制方法
JP7172706B2 (ja) * 2019-02-19 2022-11-16 富士通株式会社 演算処理装置、演算処理プログラムおよび演算処理方法
JP7272200B2 (ja) * 2019-09-17 2023-05-12 富士通株式会社 情報処理装置、情報処理プログラムおよび情報処理方法
JP7354712B2 (ja) * 2019-09-17 2023-10-03 富士通株式会社 情報処理装置、情報処理プログラムおよび情報処理方法
KR102263524B1 (ko) * 2019-12-10 2021-06-10 부산대학교 산학협력단 반복 개선 기법을 활용한 수치 제어 공작 기계의 작업 스케줄링 최적화 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001229148A (ja) 2000-02-15 2001-08-24 Hitachi Eng Co Ltd 遺伝的アルゴリズム処理装置
JP2012221004A (ja) 2011-04-04 2012-11-12 Hitachi Ltd 並列計算機システム、およびプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Pawan K. S. Nain et al.,Computationally effective search and optimization procedure using coarse to fine approximations,IEEE Xplore [オンライン],2004年05月24日,pp.1-8,[検索日 2023.06.28]、インターネット:<URL:https://ieeexplore.ieee.org/document/1299929>
Yukito Tsunoda et al.,Neural-Network Assistance to Calculate Precise Eigenvalue for Fitness Evaluation of Real Product Design,THE ACM DIGITAL LIBRARY [オンライン],2019年07月13日,pp.1-2,[検索日 2023.06.28]、インターネット:<URL:https://dl.acm.org/doi/10.1145/3319619.3321884>

Also Published As

Publication number Publication date
US20210182360A1 (en) 2021-06-17
US11687616B2 (en) 2023-06-27
JP2021096538A (ja) 2021-06-24
EP3843015A1 (en) 2021-06-30
CN112987562A (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
JP2019148896A (ja) 演算処理装置、情報処理装置、情報処理方法、およびプログラム
JP2019148972A (ja) 演算処理装置、情報処理装置、情報処理方法、およびプログラム
CN112540849A (zh) 一种分布式计算作业的参数配置优化方法及系统
JP7283318B2 (ja) 最適化装置、最適化プログラム、及び最適化方法
JP2019133628A (ja) 情報処理方法及び情報処理システム
KR102460485B1 (ko) 정책 벡터 기반 인공신경망 탐색 장치 및 방법
JP7327137B2 (ja) 演算処理装置、演算処理プログラムおよび演算処理方法
KR102559605B1 (ko) 함수 최적화 방법 및 장치
JP7318736B2 (ja) 並列計算用進化計算プログラム、情報処理装置および並列計算用進化計算方法
JP7354712B2 (ja) 情報処理装置、情報処理プログラムおよび情報処理方法
JP7272121B2 (ja) 演算処理装置、制御方法、及び制御プログラム
JP7272200B2 (ja) 情報処理装置、情報処理プログラムおよび情報処理方法
JP7172706B2 (ja) 演算処理装置、演算処理プログラムおよび演算処理方法
JP5845716B2 (ja) 巡回路決定のためのプログラム、情報処理方法及び装置
US8370069B2 (en) Method for predicting secondary structure of nucleic acid sequence, a predictor for secondary structure of nucleic acid sequence and a predicting program for predicting secondary structure of nucleic acid sequence
JP5126694B2 (ja) 学習システム
Huang et al. Elastic dnn inference with unpredictable exit in edge computing
JP7243498B2 (ja) 演算処理装置、制御プログラム、及び制御方法
WO2023248414A1 (ja) 求解装置、求解方法および求解プログラム
JP2021043915A (ja) 情報処理装置、情報処理プログラム、及び情報処理方法
JP7436830B2 (ja) 学習プログラム、学習方法、および学習装置
WO2023188182A1 (ja) 部分グラフ構造選択プログラム、装置、及び方法
JP2022014821A (ja) 情報処理装置、情報処理プログラムおよび情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230621

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230704

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230717

R150 Certificate of patent or registration of utility model

Ref document number: 7327137

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150