パラメータフィッティング方法
【課題】計算時間を短縮することが可能なパラメータフィッティング方法を提供する。
【解決手段】本発明は遺伝的アルゴリズムを用いて、測定値又は目標値と計算値との間の誤差を表す評価関数値を算出し、前記評価関数を最小化することでパラメータフィッティングを行うパラメータフィッティング方法であって、前記評価関数に所定条件を代入したときに得られる評価関数値に対するボーダー値を定めて、前記評価関数値が前記ボーダー値を超えたときは処理を打切るステップを有することを特徴とする。
【解決手段】本発明は遺伝的アルゴリズムを用いて、測定値又は目標値と計算値との間の誤差を表す評価関数値を算出し、前記評価関数を最小化することでパラメータフィッティングを行うパラメータフィッティング方法であって、前記評価関数に所定条件を代入したときに得られる評価関数値に対するボーダー値を定めて、前記評価関数値が前記ボーダー値を超えたときは処理を打切るステップを有することを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、遺伝的アルゴリズムを用いて最適化を行う際に用いられるパラメータフィッティング方法に関する。
【背景技術】
【0002】
光学などの分野で用いられるパラメータフィッティングなどの最適化においては、ローカルな最適化とグローバルや最適化があって、例えば、前者の最適化手法としては山登り法、準ニュートン法、共役傾斜法などを挙げることができ、また、後者の最適化手法としては焼きなまし法、遺伝的アルゴリズムなどを挙げることができる。
【0003】
例えば、特許文献1(米国特許5963329号明細書)には、散乱計測による微細形状解析で最適化を行う際に前者の手法を用いることが開示されており、また、特許文献2(特開2007−121057号公報)には、マイクロレンズの凹凸形状を後者の手法である遺伝的アルゴリズムで最適化する技術が開示されている。
【特許文献1】米国特許5963329号明細書
【特許文献2】特開2007−121057号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、遺伝的アルゴリズムは、ローカルな最適化に比べローカルミニマム(局所的極小値であるが真の最小値で無い)に陥るのを防ごうとする利点を有するが、パラメータの組を多数計算するため計算時間がかかる、という問題があった。
【課題を解決するための手段】
【0005】
本発明は以上のような課題を解決するためのもので、請求項1に係る発明は、遺伝的アルゴリズムを用いて、測定値又は目標値と計算値との間の誤差を表す評価関数値を算出し、前記評価関数を最小化することでパラメータフィッティングを行うパラメータフィッティング方法であって、前記評価関数に所定条件を代入したときに得られる評価関数値に対するボーダー値を定めて、前記評価関数値が前記ボーダー値を超えたときは処理を打切るステップを有することを特徴とする。
【0006】
また、請求項2に係る発明は、遺伝的アルゴリズムを用いて、測定値又は目標値と計算値との間の誤差を表す評価関数値を算出し、前記評価関数を最小化することでパラメータフィッティングを行うパラメータフィッティング方法であって、前記評価関数に所定条件を代入したときに得られる評価関数値に対するボーダー値と前記ボーダー値に基づく所定値とを定めて、前記評価関数値が前記ボーダー値を超えたとき、又は、前記評価関数値に基づく予測値が前記所定値を超えたときには処理を打切るステップを有することを特徴とする。
【0007】
また、請求項3に係る発明は、請求項1又は請求項2に記載のパラメータフィッティング方法において、前記ボーダー値を世代ごとに定めることを特徴とする。
【0008】
また、請求項4に係る発明は、請求項1又は請求項2に記載のパラメータフィッティング方法において、前記ボーダー値を世代中の個体ごとに定めることを特徴とする。
【0009】
また、請求項5に係る発明は、請求項1乃至請求項4のいずれかに記載のパラメータフィッティング方法において、前記評価関数に所定条件を代入するときにおける前記所定条
件の代入順序が予め定められることを特徴とする。
【発明の効果】
【0010】
本発明の実施の形態に係るパラメータフィッティング方法によれば、パラメータの組を多数計算する際に、複数条件(例えば、波長が複数個や入射角が複数個や偏光角が複数個など、およびその組合せ)の計算を行う場合に、複数条件の途中段階で評価関数の途中の値や予測値を用いて、適宜打切り処理を行うものであるので、打切り判定の場合はそのパラメータの組については途中で計算を打切るため計算時間を短縮できる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態に係るパラメータフィッティング方法で用いられるシステム構成の一例を示す図である。
【図2】ホログラムの透過率を測定する方法を説明する図である。
【図3】ホログラムにおけるチャープ率を説明する図である。
【図4】本発明の実施形態に係るパラメータフィッティング方法によるフローチャートを示す図である。
【図5】図4の続きのフローチャートを示す図である。
【図6】図5の続きのフローチャートを示す図である。
【図7】図4〜図6の遺伝的アルゴリズムを用いた処理を模式的に表現した図である。
【図8】従来のパラメータフィッティングによってホログラムの透過率の波長分布を計算した例を示す図である。
【図9】パラメータフィッティングによって計算値を目標値(又は測定値)に適切に合わせ込んだ例を示す図である。
【図10】本発明の第1実施形態に係るパラメータフィッティング方法に係るフローチャートを示す図である。
【図11】本発明の第1実施形態に係るパラメータフィッティング方法をホログラムパラメータフィッティングに応用した例を示す図である。
【図12】本発明の第2実施形態に係るパラメータフィッティング方法に係るフローチャートを示す図である。
【図13】本発明の第3実施形態に係るパラメータフィッティング方法に係るフローチャートを示す図である。
【図14】本発明の第4実施形態に係るパラメータフィッティング方法に係るフローチャートを示す図である。
【図15】本発明の第5実施形態に係るパラメータフィッティング方法に係る第1のフローチャートを示す図である。
【図16】本発明の第5実施形態に係るパラメータフィッティング方法で用いる目標値と計算順序との関係を示す図である。
【図17】本発明の第5実施形態に係るパラメータフィッティング方法で用いる計算順序テーブルを示す図である。
【図18】本発明の第5実施形態に係るパラメータフィッティング方法に係る第2のフローチャートを示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態を図面を参照しつつ説明する。図1は本発明の実施形態に係るパラメータフィッティング方法で用いられるシステム構成の一例を示す図である。
【0013】
図1において、10はシステムバス、11はCPU(Central Processing Unit)、12はRAM(Random Access Memory)、13はROM(Read Only Memory)、14は外部情報機器との通信を司る
通信制御部、15はキーボードコントローラなどの入力制御部、16はディスプレイコントローラなどの出力制御部、17は外部記憶装置制御部、18はキーボード、ポインティングデバイス、マウスなどの入力機器からなる入力部、19はLCDディスプレイなどの表示装置や印刷装置からなる出力部、20はHDD(Hard Disk Drive)等の外部記憶装置である。
【0014】
図1において、CPU11は、ROM13内のプログラム用ROM、或いは、大容量の外部記憶装置20に記憶されたプログラム等に応じて、外部機器と通信することでデータを検索・取得したり、また、図形、イメージ、文字、表等が混在した出力データの処理を実行したり、更に、外部記憶装置20に格納されているデータベースの管理を実行したり、などといった演算処理を行うものである。
【0015】
また、CPU11は、システムバス10に接続される各デバイスを統括的に制御する。ROM13内のプログラム用ROMあるいは外部記憶装置20には、CPU11の制御用の基本プログラムであるオペレーティングシステムプログラム(以下OS)等が記憶されている。また、ROM13あるいは外部記憶装置20には出力データ処理等を行う際に使用される各種データが記憶されている。RAM12は、CPU11の主メモリ、ワークエリア等として機能する。
【0016】
入力制御部15は、キーボードや不図示のポインティングデバイスからの入力部18を制御する。また、出力制御部16は、LCDディスプレイ等の表示装置やプリンタなどの印刷装置の出力部19の出力制御を行う。
【0017】
外部記憶装置制御部17は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶するHDD(Hard Disk Drive)や、或いはフロッピーディスク(FD)等の外部記憶装置20へのアクセスを制御する。
【0018】
また、通信制御部14は、ネットワークを介して、外部機器と通信を制御するものであり、これによりシステムが必要とするデータを、インターネットやイントラネット上の外部機器が保有するデータベースから取得したり、外部機器に情報を送信したりすることができるように構成される。
【0019】
外部記憶装置20には、CPU11の制御プログラムであるオペレーティングシステムプログラム(以下OS)以外に、本発明のパラメータフィッティング方法をCPU11上で動作させるシステムプログラム、及びこのシステムプログラムで用いるデータなどがインストールされ保存・記憶されている。
【0020】
本発明のパラメータフィッティング方法を実現するシステムプログラムで利用されるデータとしては、基本的には外部記憶装置20に保存されていることが想定されているが、場合によっては、これらのデータを通信制御部14を介してインターネットやイントラネット上の外部機器から取得するように構成することも可能である。
【0021】
次に、以上のように構成されるシステムを用いて、本発明の実施形態に係るパラメータフィッティング方法を実現させるための具体的な方法について説明する。
【0022】
図2はホログラムの透過率を測定する方法を説明する図であり、図3はホログラムにおけるチャープ率を説明する図である。図2に示すように、厚さdのホログラム200は、光源100からの入射光を受け、当該入射光の透過位置に設けられたディテクタ300で光強度が測定されることによって、透過率の波長分布が測定される。ここで、ホログラム
200の媒質中には、図2に示すような屈折率n、屈折率変調Δnによって表される屈折率分布が存在し、格子ピッチはΛであるものとする。また、図3に示すように、ホログラム200に対して、チャープ率C、チャープ次数jが定義されているものとすると、ホログラム200は下記
Δn:屈折率変調
d:膜厚[μm]
Λ:格子ピッチ[μm]
C:チャープ率
j:チャープ次数
の5つのパラメータによって、波長λに対する透過率Xを理論的に演算することが可能である(屈折率nは予め別の方法で測定しておくことで固定値とすることができる)。すなわち、透過率Xは(λ,Δn,d,Λ,C,j)の関数として表現することができる。
【0023】
次に、以下のように複数組の(Δn,d,Λ,C,j)に対する評価関数値eを求める。ここで、評価関数値eは、一般的には次のような式(1)によって定義されるものである。
【0024】
【数1】
評価関数値eについて、誤差の二乗平均を考える場合には、以下の式(2)を用いることができる。
【0025】
【数2】
なお、評価関数値eについて、誤差の絶対値を基準として考える場合には、以下の式(3)も用いることができる。
【0026】
【数3】
ここで(Xmesrd)は実測した透過率であり、(Xcalcd)は算出された計算値である。
【0027】
この評価関数値eは、誤差の二乗平均平方根であり、当然小さい方が実測値(Xmesrd
)と計算値(Xcalcd)の差が小さく、望ましいものである。
【0028】
以上のように定義される評価関数を、次の図4〜図6の遺伝的アルゴリズムを適用するフローの初期状態とする。
【0029】
図4〜図6に、遺伝的アルゴリズムによるパラメータフィッティングのフローチャートを示す。
【0030】
最初に図4に示すように、step11〜12で、初期設定を行う。すなわち、step11で、初期状態のt個の各変数v0k(1≦k≦t)の値の読み込みを行う。
【0031】
次いで、step12で、遺伝的アルゴリズム各世代gの個体数Ng及び第1世代の各
変数の範囲v1kmin,v1kmaxを設定する。変数vgkはΔn、d、Λ、C、j(例えば、vg1=Δn、vg2=d、vg3=Λ、vg4=C、vg5=j)を表し、範囲はパーセント(例えば、±何%)としても実寸などの実の値としてもよい。
【0032】
次いで、遺伝的アルゴリズムの第1世代として、まず、以下のstep13〜16を個体数N1(Ngのg=1:第1世代の個体数)個について繰返す。
【0033】
step13で、各変数v0kから各変数v1kの値をstep12で設定した範囲内でランダムに決定する。
【0034】
次いで、step14で、評価関数値e1(egのg=1:第1世代の評価関数値)を算出する。ここで、評価関数値e1は、式(2)を用いて算出する。
【0035】
次いで、step15で、step14で算出した評価関数値e1が設定した閾値より
小さいか否かを問う。ここで、閾値は十分に小さい値を選ぶ。
【0036】
step15で、e1が設定した閾値より小さいと判定されると、それ以上の演算は必
要ないと判断し、処理を終了させる。
【0037】
step15で、e1が設定した閾値以上と判定されると、次のstep16へ進み、
第1世代の個体数N1だけ全部が終了したか否かを問う。この判定で、評価関数値e1の算定と閾値との比較が個体数N1だけ全部終了しない限り、step13〜15に戻って各
変数v0kから各変数v1kの値を設定した範囲内でランダムに選んだ個体について評価関数値e1の算定と閾値との比較を行い、同様に繰返す。
【0038】
step16で、第1世代の個体数N1全部について、評価関数値e1の算定と閾値との比較を行ったと判定されると、step17へ進み、N1個の個体それぞれの確率p1(pgのg=1:第1世代の確率)を算出する。確率pは、qを各個体の評価関数値eが大き
ければ大きい程小さな値として、
【0039】
【数4】
と、N個のqの総和でそれぞれのqを規格化したもので定義し、ここでは、q=e-4とした。他にe-3を用いてもよい。e-1、e-2を用いると収束が遅くなり望ましくない。
【0040】
次いで、step18で、第1世代の個体数N1の評価関数値e1、確率p1、各変数v1kのリストを作成し、遺伝的アルゴリズムの第1世代の演算を終えて、図5のAへ進む。
【0041】
図5は遺伝的アルゴリズムの第2世代以降の各世代の優先遺伝と突然変位を示すフローチャートであり、各世代で繰返し行う処理である。
【0042】
まず、step21で、今世代の個体数Ngの各変数vgkの値を決定する際の範囲を設
定する。この処理は、step12での設定と同様に範囲はパーセントとしても実寸とし
てもよい。その範囲の値は第1世代と同じでも、何世代か毎に少しずつ小さくしていってもよい。
【0043】
次いで、step22で、優性遺伝の個体数NA,g個、突然変異の個体数NB,g個を設定する。今世代の個体数はNgであるから、通常の遺伝の個体数は残りのNg−(NA,g+NB,g)となる。
【0044】
次いで、優先遺伝のstep23へ進み、前世代のリストの中、評価関数値eg-1が最
も良い(小さい)方からNA,g個までの、すなわち、優性な個体の評価関数値eg-1、確率pg-1、各変数vg-1,kのリストを今世代にそのまま継承(NA,g個について繰返し)する
。
【0045】
次いで、突然変位として、step24で、前世代の中から1つの個体をリストの確率で重み付けてランダムに選定する。この際、step23で選択されたものも重複して選定される可能性がある。
【0046】
次いで、step25で、所定の範囲内でランダムに選んだ一定値(一般的に各変数により異なる値)を選定されたその個体の各変数vg-1,kに付加し、今世代の各変数vgkの
値に設定する。この一定値は負の値も含むので、一定値を付加したものが負となる場合は0とする(ただし、C,jは負の値もあるため除く)。この一定値の範囲は、step21で設定した範囲を越えた範囲内でランダムに選ぶ。
【0047】
次いで、step26で、step25で設定した変数vgkの個体について評価関数値egを算出する。その評価関数値egは、式(2)を用いて算出する。
【0048】
次いで、step27で、今世代の突然変異の個体数NB,g個の処理が終わったか否か
(優性遺伝の個体数NA,g個を加えると、NA,g+NB,g個の処理が終わったか否か)を判
定する。個体数NB,gだけ全部終了しない限り、step24〜26に戻って新たに設定
した変数vgkの個体について評価関数値egの算出を行い、同様に繰返す。
【0049】
なお、以上のstep25〜26の処理は、ランダムな乱数以外に、通常の最適化方法を用いることも考えられる。
【0050】
さらに、以上の優性遺伝、突然変異の他に、遺伝的アルゴリズムの交叉(異なる2つの個体のt個の変数vgkを途中で相互に入れ換える。)等を入れることも考えられる。
【0051】
以上の第2世代以降の各世代の優先遺伝と突然変位の処理の後に、図6に示す通常の遺伝を示すフローチャートの処理が行われる。すなわち、step31で、前世代の中から1つの個体をリストの確率で重み付けてランダムに選定する。この際、step23、24で選択されたものも重複して選定される可能性がある。
【0052】
次いで、step32で、前世代から選定した個体の各変数vg-1,kから今世代の各変
数vgkの値をstep21で設定した範囲内でランダムに決定する。
【0053】
次いで、step33で、step32で決定した変数vgkの個体について評価関数値egを算出する。その評価関数値egは、式(2)を用いて算出する。
【0054】
次いで、step34で、step33で算出した評価関数値egが設定した閾値より
小さいか否かを問う。ここで、閾値は十分に小さい値を選ぶ。
【0055】
step34で、egが設定した閾値より小さいと判定されると、それ以上の演算は必
要ないと判断し、処理を終了させる。
【0056】
step34で、egが設定した閾値以上と判定されると、次のstep35へ進み、
今世代の通常の遺伝の個体数Ng−(NA,g+NB,g)個の処理が終わったか否か(優性遺伝の個体数NA,g個、突然変異の個体数NB,g個を加えると、Ng個の処理が終わったか否
か)を判定する。個体数Ng−(NA,g+NB,g)だけ全部終了しない限り、step31
〜34に戻って新たに設定した変数vgkの個体について評価関数値egの算出を行い、同
様に繰返す。
【0057】
step35で、今世代の通常の遺伝の個体数Ng−(NA,g+NB,g)個の処理が終わ
ったと判定されると、次のstep36へ進み、今世代の個体数Ng個それぞれの確率pgを算出する。これは、step17と同様に、式(4)を用いて算出する。
【0058】
次いで、step37で、今世代の個体数Ngの評価関数値eg、確率pg、各変数vgk
のリストを作成する。
【0059】
次いで、step38で、終了条件を満たすか否かを判定する。終了条件としては、世代数が所定の値までや、評価関数値の世代中の最小値が所定の値になるまでや、評価関数値の世代中の最小値がほとんど変わらなくなるまで等がある。
【0060】
step38の終了条件を満たさない場合は、図5のAへ戻り、次の世代の処理を同様に行う。
【0061】
図7は、以上の図4〜図6の遺伝的アルゴリズムを用いた処理を模式的に表現した図であり、図4が対応する第1世代で第0世代のパラメータv0kを設定した範囲でN1個の個
体に変形し、次に、図5〜図6が対応する第2世代でその第1世代のN1個の個体から所
定数の個体のパラメータを優性遺伝、突然変異、通常の遺伝として引継ぐ。以下、第3世代以降も同様に引継ぐ。
【0062】
ここで、優性遺伝は、前世代の中から適合度が最も良い方から特定個体数までをそのまま継承する。突然変異は、前世代からランダムに個体を選び、指定した範囲内でランダムに決定(個体毎に実行)した一定値(一般的に各変数により異なる値)を全パラメータに加える。通常の遺伝は、前世代からランダムに個体を選び、その個体が持つ各パラメータを指定した範囲内でランダムに決定(step21で設定した範囲を越えた範囲内で)する。なお、第1世代は第0世代の1つの個体を元に通常の遺伝を行うものである。
【0063】
なお、図7では、世代間にわたって個体をそのまま引継ぐように見えるが、優性遺伝以外は、上記のような変形を加えて継承する。
【0064】
次に、以上のような遺伝的アルゴリズムに基づいて改良を加えた本発明の実施形態に係るパラメータフィッティング方法について詳しく説明するが、いまいちど、本発明に係るパラメータフィッティング方法を用いずに、これまでに説明してきたアルゴリズムによって演算処理を実行した場合に、どの程度目標値からの乖離が起こり得て、計算時間を無駄に要するかを確認する。図8は従来のパラメータフィッティングによってホログラムの透過率の波長分布を計算した例を示す図である。図8に示す例では、遺伝的アルゴリズムを用いたパラメータフィッティングによって計算値を、目標値(又は測定値)に合わせ込むようにしているが、図8中の「×」に示すプロットについては目標値(又は測定値)から大きく乖離しているものであり、明らかに途中で計算を打切るように処理しても構わないところであるが、従来のパラメータフィッティング方法においては、打切り処理は行わな
かったので、パラメータの組を多数計算するための計算時間がかかり問題であった。なお、図9はパラメータフィッティングによって計算値を目標値(又は測定値)に適切に合わせ込んだ例を示す図である。
【0065】
次に、以上を踏まえた上で、改良を加えた本発明の実施形態に係るパラメータフィッティング方法について詳しく説明する。まず、本発明の第1のパラメータフィッティング方法について説明する。図10は本発明の第1実施形態に係るパラメータフィッティング方法に係るフローチャートを示す図である。
【0066】
図10のフローの流れとしては、図4のフローのstep14、又は図5のフローのstep26、又は図6のフローのstep33のいずれかからジャンプしてくることにより開始され、リターンによってそれぞれのフローによって元のルーチンに戻ることにより終了する。
【0067】
図10のフローにおいて、step41では、変数mに1がセットされる。
【0068】
続く、step42においては、各パラメータからXcalcd,mを計算し、emidを算出する。ここで、emidは、評価関数に複数の条件を入力して順々に計算している間の途中の
計算値であることを示している。
【0069】
評価関数値emidについて、誤差の二乗平均を考える場合には、以下の式(5)を用い
ることができる。
【0070】
【数5】
また、評価関数値emidについて、誤差の絶対値を基準として考える場合には、以下の
式(6)も用いることができる。
【0071】
【数6】
次の、step43では、所定の条件が代入された計算途中の評価関数値であるemid
が予め定められたボーダー値Bより大きいか否かが判定される。ボーダー値Bは、打切り処理を実行するか否かを判定するために予め定められた値である。
【0072】
step43における判定の結果がYESである場合には、step47に進み、仮のegを算出した後に、リターンし元のルーチンに戻る。このように、step43におけ
る判定でemidが予め定められたボーダー値Bより大きい場合には、計算を打切る処理を
行うようになっているので、計算が無駄となってしまうパラメータの組については途中で計算を打切るため計算時間を短縮できる。
【0073】
一方、step43における判定の結果がNOである場合には、step44でmを1
インクリメントし、step45でm≦Mであるか否かが判定される。このMは全ての条件の総数である。step45における判定がYESであるときにはstep42に戻りループし、NOである場合には、step46に進み、egを算出し、その後、元のルー
チンにリターンする。
【0074】
図11は本発明の第1実施形態に係るパラメータフィッティング方法をホログラムパラメータフィッティングに応用した例を示す図である。図11に示すように、計算途中の評価関数値であるemidがボーダー値Bを越えたパラメータ3(3の周りには○付き)のケ
ースについては、計算処理を打切るようになっているので、その分計算時間を短縮することが可能となる。
【0075】
表1は従来のパラメータフィッティング方法と第1実施形態によるパラメータフィッティング方法とで、全ての世代を計算した場合のトータル計算時間の比を示すものである。なお、従来の方法による計算時間を1として規格化してある。表1からもわかるように、
第1実施形態に係るパラメータフィッティング方法を採用することにより、従来の方法に比べて、計算時間をおよそ3割程度削減することが可能となる。
【0076】
【表1】
以上、まとめると、第1実施形態に係るパラメータフィッティング方法は、遺伝的アルゴリズムを用いて、測定値又は目標値と計算値との間の誤差を表す評価関数値を算出し、前記評価関数を最小化することでパラメータフィッティングを行うパラメータフィッティング方法であって、前記評価関数に所定条件を代入したときに得られる評価関数値に対するボーダー値を定めて、前記評価関数値が前記ボーダー値を超えたときは処理を打切るステップを有することを特徴とする。このような第1実施形態に係るパラメータフィッティング方法によれば、評価関数の途中値を用いて、適宜打切り処理を行うものであるので、打切り判定の場合はそのパラメータの組については途中で計算を打切るため計算時間を短縮できる。
【0077】
次に、本発明の第2実施形態について説明する。図12は本発明の第2実施形態に係るパラメータフィッティング方法に係るフローチャートを示す図である。
【0078】
図12のフローの流れとしては、図4のフローのstep14、又は図5のフローのstep26、又は図6のフローのstep33のいずれかからジャンプしてくることにより開始され、リターンによってそれぞれのフローによって元のルーチンに戻ることにより終了する。
【0079】
図12のフローにおいて、step51では、m1=r2Mによって、必要最小個数m1
が計算される。ここで、Mは全ての条件の総数であり、r2は0<r2<1を満たす定数である。次の、step52では、変数mに1がセットされる。
続く、step53においては、各パラメータからXcalcd,mを計算し、emidを算出する。ここで、emidは、評価関数に複数の条件を入力して順々に計算している間の途中の
計算値であることを示している。さらに、このstepにおいては、emidからepredを
算出する。
【0080】
評価関数値emidについて、誤差の二乗平均を考える場合には、先の式(5)を用いる
ことができる。また、評価関数値emidについて、誤差の絶対値を基準として考える場合
には、先の式(6)も用いることができる。
【0081】
次の、step54では、所定の条件が代入された計算途中の評価関数値であるemid
が予め定められたボーダー値Bより大きいか否か、又は、m≧m1のときepredがr1Bの値より大きいか否かが判定される。ボーダー値Bは、打切り処理を実行するか否かを判定するために予め定められた値である。また、r1は1より大きい予め定められた定数であ
る。また、epredは評価関数値の予測値であり、評価関数が通常の分布であるとき(目標値・測定値の分布がランダムである場合)には、emidに基づいて下式(7)によって定
めることができる。
【0082】
【数7】
また、特定の分布であるときには、emidに基づいて下式(8)によって定めることが
できる。
【0083】
【数8】
式(8)は、目標値・測定値の分布において、誤差が小さい側はほぼ0の場合に用いられ、2m<Mのときl=2mであり、そうでないときl=Mである。
【0084】
step54における判定の結果がYESである場合には、step58に進み、仮のegを算出した後に、リターンし元のルーチンに戻る。このように、step54におけ
る判定でemidが予め定められたボーダー値Bより大きいか、又は、m≧m1のときepredがr1Bの値より大きい場合には、計算を打切る処理を行うようになっているので、計算
が無駄となってしまうパラメータの組については途中で計算を打切るため計算時間を短縮できる。
【0085】
一方、step54における判定の結果がNOである場合には、step55でmを1インクリメントし、step56でm≦Mであるか否かが判定される。このMは全ての条件の総数である。step56における判定がYESであるときにはstep53に戻りループし、NOである場合には、step57に進み、egを算出し、その後、元のルー
チンにリターンする。
【0086】
以上、まとめると、第2実施形態に係るパラメータフィッティング方法は、遺伝的アルゴリズムを用いて、測定値又は目標値と計算値との間の誤差を表す評価関数値を算出し、前記評価関数を最小化することでパラメータフィッティングを行うパラメータフィッティング方法であって、前記評価関数に所定条件を代入したときに得られる評価関数値に対す
るボーダー値と前記ボーダー値に基づく所定値とを定めて、前記評価関数値が前記ボーダー値を超えたとき、又は、前記評価関数値に基づく予測値が前記所定値を超えたときには処理を打切るステップを有することを特徴とする。このような第2実施形態に係るパラメータフィッティング方法によれば、複数条件の途中段階で評価関数の途中の値や予測値を用いて、適宜打切り処理を行うものであるので、打切り判定の場合はそのパラメータの組については途中で計算を打切るため計算時間を短縮できる。
【0087】
次に、本発明の第3実施形態について説明する。図13は本発明の第3実施形態に係るパラメータフィッティング方法に係るフローチャートを示す図である。第3実施形態に係るパラメータフィッティング方法は、第1実施形態又は第2実施形態に係るパラメータフィッティング方法と併用するものである。
【0088】
図13のフローの流れとしては、図4のフローのstep18からジャンプしてくることにより開始され、step61が実行されると、step21に戻るようになっている。step61においては、これまで説明したボーダー値を、リストのNA,g番目のegとして定めるようにしている。このようにボーダー値を世代毎に定めることで、より早い段階で打切り判定を行い、計算時間を短縮できる。
【0089】
表2は従来のパラメータフィッティング方法と第3実施形態によるパラメータフィッティング方法とで、全ての世代を計算した場合のトータル計算時間の比を示すものである。なお、従来の方法による計算時間を1として規格化してある。表2からもわかるように、第3実施形態に係るパラメータフィッティング方法を採用することにより、従来の方法に比べて、計算時間をおよそ7割程度削減することが可能となる。
【0090】
【表2】
以上のように、第3実施形態に係るパラメータフィッティング方法によれば、複数条件の途中段階で評価関数の途中の値や予測値を用いて、適宜打切り処理を行うものであるので、打切り判定の場合はそのパラメータの組については途中で計算を打切るため計算時間を短縮できる。
【0091】
次に、本発明の第4実施形態について説明する。図14は本発明の第4実施形態に係るパラメータフィッティング方法に係るフローチャートを示す図である。第4実施形態に係るパラメータフィッティング方法は、第1実施形態又は第2実施形態に係るパラメータフィッティング方法と併用するものである。
【0092】
図14のフローの流れとしては、図4のフローのstep15、又は図5のフローのstep26、又は図6のフローのstep34のいずれかからジャンプしてくることにより開始され、step71が実行されると、それぞれ図4のフローのstep16、又は図5のフローのstep27、又は図6のフローのstep35に戻るようになっている。step71においては、評価関数テーブルの書換え判定を行い、書換えられた場合には、これまで説明したボーダー値を、評価関数テーブルのNA,g番目のegとして定めるよ
うにしている。このようにボーダー値を個体毎に定めることで、より早い段階で打切り判定を行い、計算時間を短縮できる。
【0093】
表3は従来のパラメータフィッティング方法と第4実施形態によるパラメータフィッティング方法とで、全ての世代を計算した場合のトータル計算時間の比を示すものである。なお、従来の方法による計算時間を1として規格化してある。表3からもわかるように、第4実施形態に係るパラメータフィッティング方法を採用することにより、従来の方法に比べて、計算時間をおよそ7割程度削減することが可能となる。
【0094】
【表3】
以上のように、第4実施形態に係るパラメータフィッティング方法によれば、複数条件の途中段階で評価関数の途中の値や予測値を用いて、適宜打切り処理を行うものであるので、打切り判定の場合はそのパラメータの組については途中で計算を打切るため計算時間を短縮できる。
【0095】
次に、本発明の第5実施形態について説明する。図15は本発明の第5実施形態に係るパラメータフィッティング方法に係る第1のフローチャートを示す図である。図18は本発明の第5実施形態に係るパラメータフィッティング方法に係る第2のフローチャートを示す図である。第5実施形態に係るパラメータフィッティング方法は、第1実施形態乃至第4実施形態に係るパラメータフィッティング方法と併用するものである。
【0096】
図15のフローの流れとしては、図4のフローの「開始」からジャンプしてくることにより開始され、step81が実行されると、図4のフローのstep11に戻るようになっている。step81においては、計算順序テーブルが作成される処理が実行される。これまでの実施形態においては、mが1,2,3・・・の順序で計算処理が実行されていたが、本実施形態においては、mが1,2,3・・・に対応するm’の順序で計算処理を実行することで、より早い段階で打切り処理を行ない得るようにしている。
【0097】
また、図16は本発明の第5実施形態に係るパラメータフィッティング方法で用いる目標値と計算順序との関係を示す図であり、また、図17は本発明の第5実施形態に係るパラメータフィッティング方法で用いる計算順序テーブルを示す図である。計算順序テーブルはmの順序で計算するように定めるものであるが、図16、図17に示すように、これによれば、目標値の極値近傍から計算が順次行われることとなる。
【0098】
なお、第5実施形態においては、式(1)に代えて下記式(9)
【数9】
が用いられ、式(2)に代えて下記式(10)
【数10】
が用いられ、式(5)に代えて下記式(11)
【数11】
が用いられ、式(3)に代えて下記式(12)
【数12】
が用いられ、式(6)に代えて下記式(13)
【数13】
が用いられる。なお、m'(k)が計算順序テーブルで定められた関係を示すものである
。
【0099】
次に、以上のような計算順序テーブルに基づいて実行される図18の第2フローチャートについて説明する。図18のフローの流れとしては、図4のフローのstep14、又は図5のフローのstep26、又は図6のフローのstep33のいずれかからジャンプしてくることにより開始され、リターンによってそれぞれのフローによって元のルーチンに戻ることにより終了する。
【0100】
図18のフローにおいて、step91では、m1=r2Mによって、必要最小個数m1
が計算される。ここで、Mは全ての条件の総数であり、r2は0<r2<1を満たす定数である。次の、step92では、変数mに1がセットされる。
step93においては、これまでに説明した計算順序テーブルによって、mに対応する実際の計算順序であるm’を取得する。
【0101】
続く、step94においては、各パラメータからXcalcd,m'を計算し、emidを算出
する。ここで、emidは、評価関数に複数の条件を入力して順々に計算している間の途中
の計算値であることを示している。
【0102】
評価関数値emidについて、誤差の二乗平均を考える場合には、先の式(11)を用い
ることができる。また、評価関数値emidについて、誤差の絶対値を基準として考える場
合には、先の式(13)も用いることができる。
【0103】
次の、step95では、所定の条件が代入された計算途中の評価関数値であるemid
が予め定められたボーダー値Bより大きいか否か、又は、m≧m1のときepredがr1Bの値より大きいか否かが判定される。ボーダー値Bは、打切り処理を実行するか否かを判定するために予め定められた値である。また、r1は1より大きい予め定められた定数であ
る。また、epredは評価関数値の予測値であり、評価関数が通常の分布であるとき(目標値・測定値の分布がランダムである場合)には、emidに基づいて先の式(7)によって
定めることができる。
【0104】
step95における判定の結果がYESである場合には、step99に進み、仮のegを算出した後に、リターンし元のルーチンに戻る。このように、step95におけ
る判定でemidが予め定められたボーダー値Bより大きいか、又は、m≧m1のときepredがr1Bの値より大きい場合には、計算を打切る処理を行うようになっているので、計算
が無駄となってしまうパラメータの組については途中で計算を打切るため計算時間を短縮できる。
【0105】
一方、step95における判定の結果がNOである場合には、step96でmを1インクリメントし、step97でm≦Mであるか否かが判定される。このMは全ての条件の総数である。step97における判定がYESであるときにはstep93に戻りループし、NOである場合には、step98に進み、egを算出し、その後、元のルー
チンにリターンする。
【0106】
表4は第1実施形態によるパラメータフィッティング方法と第5実施形態によるパラメータフィッティング方法とで、全ての世代を計算した場合のトータル計算時間の比を示すものである。表4からもわかるように、第5実施形態に係るパラメータフィッティング方法を採用することにより、第1実施形態による方法に比べて、計算時間をおよそ5割以下に削減することが可能となる。
【0107】
【表4】
以上、まとめると、第5実施形態に係るパラメータフィッティング方法は、評価関数に所定条件を代入するときにおける前記所定条件の代入順序が予め定められることを特徴としている。このような、第5実施形態に係るパラメータフィッティング方法によれば、複数条件の途中段階で評価関数の途中の値や予測値を用いて、適宜打切り処理を行うものであるので、打切り判定の場合はそのパラメータの組については途中で計算を打切るため計算時間を大幅に短縮できる。
【符号の説明】
【0108】
10・・・システムバス、11・・・CPU(Central Processing Unit)、12・・・RAM(Random Access Memory)、13・・・ROM(Read Only Memory)、14・・・通信制御部、15・・・入力制御部、16・・・出力制御部、17・・・外部記憶装置制御部、18・・・入力部、19・・・出力部、20・・・外部記憶装置、100・・・光源、200・・・ホログラム、300・・・ディテクタ
【技術分野】
【0001】
本発明は、遺伝的アルゴリズムを用いて最適化を行う際に用いられるパラメータフィッティング方法に関する。
【背景技術】
【0002】
光学などの分野で用いられるパラメータフィッティングなどの最適化においては、ローカルな最適化とグローバルや最適化があって、例えば、前者の最適化手法としては山登り法、準ニュートン法、共役傾斜法などを挙げることができ、また、後者の最適化手法としては焼きなまし法、遺伝的アルゴリズムなどを挙げることができる。
【0003】
例えば、特許文献1(米国特許5963329号明細書)には、散乱計測による微細形状解析で最適化を行う際に前者の手法を用いることが開示されており、また、特許文献2(特開2007−121057号公報)には、マイクロレンズの凹凸形状を後者の手法である遺伝的アルゴリズムで最適化する技術が開示されている。
【特許文献1】米国特許5963329号明細書
【特許文献2】特開2007−121057号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、遺伝的アルゴリズムは、ローカルな最適化に比べローカルミニマム(局所的極小値であるが真の最小値で無い)に陥るのを防ごうとする利点を有するが、パラメータの組を多数計算するため計算時間がかかる、という問題があった。
【課題を解決するための手段】
【0005】
本発明は以上のような課題を解決するためのもので、請求項1に係る発明は、遺伝的アルゴリズムを用いて、測定値又は目標値と計算値との間の誤差を表す評価関数値を算出し、前記評価関数を最小化することでパラメータフィッティングを行うパラメータフィッティング方法であって、前記評価関数に所定条件を代入したときに得られる評価関数値に対するボーダー値を定めて、前記評価関数値が前記ボーダー値を超えたときは処理を打切るステップを有することを特徴とする。
【0006】
また、請求項2に係る発明は、遺伝的アルゴリズムを用いて、測定値又は目標値と計算値との間の誤差を表す評価関数値を算出し、前記評価関数を最小化することでパラメータフィッティングを行うパラメータフィッティング方法であって、前記評価関数に所定条件を代入したときに得られる評価関数値に対するボーダー値と前記ボーダー値に基づく所定値とを定めて、前記評価関数値が前記ボーダー値を超えたとき、又は、前記評価関数値に基づく予測値が前記所定値を超えたときには処理を打切るステップを有することを特徴とする。
【0007】
また、請求項3に係る発明は、請求項1又は請求項2に記載のパラメータフィッティング方法において、前記ボーダー値を世代ごとに定めることを特徴とする。
【0008】
また、請求項4に係る発明は、請求項1又は請求項2に記載のパラメータフィッティング方法において、前記ボーダー値を世代中の個体ごとに定めることを特徴とする。
【0009】
また、請求項5に係る発明は、請求項1乃至請求項4のいずれかに記載のパラメータフィッティング方法において、前記評価関数に所定条件を代入するときにおける前記所定条
件の代入順序が予め定められることを特徴とする。
【発明の効果】
【0010】
本発明の実施の形態に係るパラメータフィッティング方法によれば、パラメータの組を多数計算する際に、複数条件(例えば、波長が複数個や入射角が複数個や偏光角が複数個など、およびその組合せ)の計算を行う場合に、複数条件の途中段階で評価関数の途中の値や予測値を用いて、適宜打切り処理を行うものであるので、打切り判定の場合はそのパラメータの組については途中で計算を打切るため計算時間を短縮できる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態に係るパラメータフィッティング方法で用いられるシステム構成の一例を示す図である。
【図2】ホログラムの透過率を測定する方法を説明する図である。
【図3】ホログラムにおけるチャープ率を説明する図である。
【図4】本発明の実施形態に係るパラメータフィッティング方法によるフローチャートを示す図である。
【図5】図4の続きのフローチャートを示す図である。
【図6】図5の続きのフローチャートを示す図である。
【図7】図4〜図6の遺伝的アルゴリズムを用いた処理を模式的に表現した図である。
【図8】従来のパラメータフィッティングによってホログラムの透過率の波長分布を計算した例を示す図である。
【図9】パラメータフィッティングによって計算値を目標値(又は測定値)に適切に合わせ込んだ例を示す図である。
【図10】本発明の第1実施形態に係るパラメータフィッティング方法に係るフローチャートを示す図である。
【図11】本発明の第1実施形態に係るパラメータフィッティング方法をホログラムパラメータフィッティングに応用した例を示す図である。
【図12】本発明の第2実施形態に係るパラメータフィッティング方法に係るフローチャートを示す図である。
【図13】本発明の第3実施形態に係るパラメータフィッティング方法に係るフローチャートを示す図である。
【図14】本発明の第4実施形態に係るパラメータフィッティング方法に係るフローチャートを示す図である。
【図15】本発明の第5実施形態に係るパラメータフィッティング方法に係る第1のフローチャートを示す図である。
【図16】本発明の第5実施形態に係るパラメータフィッティング方法で用いる目標値と計算順序との関係を示す図である。
【図17】本発明の第5実施形態に係るパラメータフィッティング方法で用いる計算順序テーブルを示す図である。
【図18】本発明の第5実施形態に係るパラメータフィッティング方法に係る第2のフローチャートを示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態を図面を参照しつつ説明する。図1は本発明の実施形態に係るパラメータフィッティング方法で用いられるシステム構成の一例を示す図である。
【0013】
図1において、10はシステムバス、11はCPU(Central Processing Unit)、12はRAM(Random Access Memory)、13はROM(Read Only Memory)、14は外部情報機器との通信を司る
通信制御部、15はキーボードコントローラなどの入力制御部、16はディスプレイコントローラなどの出力制御部、17は外部記憶装置制御部、18はキーボード、ポインティングデバイス、マウスなどの入力機器からなる入力部、19はLCDディスプレイなどの表示装置や印刷装置からなる出力部、20はHDD(Hard Disk Drive)等の外部記憶装置である。
【0014】
図1において、CPU11は、ROM13内のプログラム用ROM、或いは、大容量の外部記憶装置20に記憶されたプログラム等に応じて、外部機器と通信することでデータを検索・取得したり、また、図形、イメージ、文字、表等が混在した出力データの処理を実行したり、更に、外部記憶装置20に格納されているデータベースの管理を実行したり、などといった演算処理を行うものである。
【0015】
また、CPU11は、システムバス10に接続される各デバイスを統括的に制御する。ROM13内のプログラム用ROMあるいは外部記憶装置20には、CPU11の制御用の基本プログラムであるオペレーティングシステムプログラム(以下OS)等が記憶されている。また、ROM13あるいは外部記憶装置20には出力データ処理等を行う際に使用される各種データが記憶されている。RAM12は、CPU11の主メモリ、ワークエリア等として機能する。
【0016】
入力制御部15は、キーボードや不図示のポインティングデバイスからの入力部18を制御する。また、出力制御部16は、LCDディスプレイ等の表示装置やプリンタなどの印刷装置の出力部19の出力制御を行う。
【0017】
外部記憶装置制御部17は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶するHDD(Hard Disk Drive)や、或いはフロッピーディスク(FD)等の外部記憶装置20へのアクセスを制御する。
【0018】
また、通信制御部14は、ネットワークを介して、外部機器と通信を制御するものであり、これによりシステムが必要とするデータを、インターネットやイントラネット上の外部機器が保有するデータベースから取得したり、外部機器に情報を送信したりすることができるように構成される。
【0019】
外部記憶装置20には、CPU11の制御プログラムであるオペレーティングシステムプログラム(以下OS)以外に、本発明のパラメータフィッティング方法をCPU11上で動作させるシステムプログラム、及びこのシステムプログラムで用いるデータなどがインストールされ保存・記憶されている。
【0020】
本発明のパラメータフィッティング方法を実現するシステムプログラムで利用されるデータとしては、基本的には外部記憶装置20に保存されていることが想定されているが、場合によっては、これらのデータを通信制御部14を介してインターネットやイントラネット上の外部機器から取得するように構成することも可能である。
【0021】
次に、以上のように構成されるシステムを用いて、本発明の実施形態に係るパラメータフィッティング方法を実現させるための具体的な方法について説明する。
【0022】
図2はホログラムの透過率を測定する方法を説明する図であり、図3はホログラムにおけるチャープ率を説明する図である。図2に示すように、厚さdのホログラム200は、光源100からの入射光を受け、当該入射光の透過位置に設けられたディテクタ300で光強度が測定されることによって、透過率の波長分布が測定される。ここで、ホログラム
200の媒質中には、図2に示すような屈折率n、屈折率変調Δnによって表される屈折率分布が存在し、格子ピッチはΛであるものとする。また、図3に示すように、ホログラム200に対して、チャープ率C、チャープ次数jが定義されているものとすると、ホログラム200は下記
Δn:屈折率変調
d:膜厚[μm]
Λ:格子ピッチ[μm]
C:チャープ率
j:チャープ次数
の5つのパラメータによって、波長λに対する透過率Xを理論的に演算することが可能である(屈折率nは予め別の方法で測定しておくことで固定値とすることができる)。すなわち、透過率Xは(λ,Δn,d,Λ,C,j)の関数として表現することができる。
【0023】
次に、以下のように複数組の(Δn,d,Λ,C,j)に対する評価関数値eを求める。ここで、評価関数値eは、一般的には次のような式(1)によって定義されるものである。
【0024】
【数1】
評価関数値eについて、誤差の二乗平均を考える場合には、以下の式(2)を用いることができる。
【0025】
【数2】
なお、評価関数値eについて、誤差の絶対値を基準として考える場合には、以下の式(3)も用いることができる。
【0026】
【数3】
ここで(Xmesrd)は実測した透過率であり、(Xcalcd)は算出された計算値である。
【0027】
この評価関数値eは、誤差の二乗平均平方根であり、当然小さい方が実測値(Xmesrd
)と計算値(Xcalcd)の差が小さく、望ましいものである。
【0028】
以上のように定義される評価関数を、次の図4〜図6の遺伝的アルゴリズムを適用するフローの初期状態とする。
【0029】
図4〜図6に、遺伝的アルゴリズムによるパラメータフィッティングのフローチャートを示す。
【0030】
最初に図4に示すように、step11〜12で、初期設定を行う。すなわち、step11で、初期状態のt個の各変数v0k(1≦k≦t)の値の読み込みを行う。
【0031】
次いで、step12で、遺伝的アルゴリズム各世代gの個体数Ng及び第1世代の各
変数の範囲v1kmin,v1kmaxを設定する。変数vgkはΔn、d、Λ、C、j(例えば、vg1=Δn、vg2=d、vg3=Λ、vg4=C、vg5=j)を表し、範囲はパーセント(例えば、±何%)としても実寸などの実の値としてもよい。
【0032】
次いで、遺伝的アルゴリズムの第1世代として、まず、以下のstep13〜16を個体数N1(Ngのg=1:第1世代の個体数)個について繰返す。
【0033】
step13で、各変数v0kから各変数v1kの値をstep12で設定した範囲内でランダムに決定する。
【0034】
次いで、step14で、評価関数値e1(egのg=1:第1世代の評価関数値)を算出する。ここで、評価関数値e1は、式(2)を用いて算出する。
【0035】
次いで、step15で、step14で算出した評価関数値e1が設定した閾値より
小さいか否かを問う。ここで、閾値は十分に小さい値を選ぶ。
【0036】
step15で、e1が設定した閾値より小さいと判定されると、それ以上の演算は必
要ないと判断し、処理を終了させる。
【0037】
step15で、e1が設定した閾値以上と判定されると、次のstep16へ進み、
第1世代の個体数N1だけ全部が終了したか否かを問う。この判定で、評価関数値e1の算定と閾値との比較が個体数N1だけ全部終了しない限り、step13〜15に戻って各
変数v0kから各変数v1kの値を設定した範囲内でランダムに選んだ個体について評価関数値e1の算定と閾値との比較を行い、同様に繰返す。
【0038】
step16で、第1世代の個体数N1全部について、評価関数値e1の算定と閾値との比較を行ったと判定されると、step17へ進み、N1個の個体それぞれの確率p1(pgのg=1:第1世代の確率)を算出する。確率pは、qを各個体の評価関数値eが大き
ければ大きい程小さな値として、
【0039】
【数4】
と、N個のqの総和でそれぞれのqを規格化したもので定義し、ここでは、q=e-4とした。他にe-3を用いてもよい。e-1、e-2を用いると収束が遅くなり望ましくない。
【0040】
次いで、step18で、第1世代の個体数N1の評価関数値e1、確率p1、各変数v1kのリストを作成し、遺伝的アルゴリズムの第1世代の演算を終えて、図5のAへ進む。
【0041】
図5は遺伝的アルゴリズムの第2世代以降の各世代の優先遺伝と突然変位を示すフローチャートであり、各世代で繰返し行う処理である。
【0042】
まず、step21で、今世代の個体数Ngの各変数vgkの値を決定する際の範囲を設
定する。この処理は、step12での設定と同様に範囲はパーセントとしても実寸とし
てもよい。その範囲の値は第1世代と同じでも、何世代か毎に少しずつ小さくしていってもよい。
【0043】
次いで、step22で、優性遺伝の個体数NA,g個、突然変異の個体数NB,g個を設定する。今世代の個体数はNgであるから、通常の遺伝の個体数は残りのNg−(NA,g+NB,g)となる。
【0044】
次いで、優先遺伝のstep23へ進み、前世代のリストの中、評価関数値eg-1が最
も良い(小さい)方からNA,g個までの、すなわち、優性な個体の評価関数値eg-1、確率pg-1、各変数vg-1,kのリストを今世代にそのまま継承(NA,g個について繰返し)する
。
【0045】
次いで、突然変位として、step24で、前世代の中から1つの個体をリストの確率で重み付けてランダムに選定する。この際、step23で選択されたものも重複して選定される可能性がある。
【0046】
次いで、step25で、所定の範囲内でランダムに選んだ一定値(一般的に各変数により異なる値)を選定されたその個体の各変数vg-1,kに付加し、今世代の各変数vgkの
値に設定する。この一定値は負の値も含むので、一定値を付加したものが負となる場合は0とする(ただし、C,jは負の値もあるため除く)。この一定値の範囲は、step21で設定した範囲を越えた範囲内でランダムに選ぶ。
【0047】
次いで、step26で、step25で設定した変数vgkの個体について評価関数値egを算出する。その評価関数値egは、式(2)を用いて算出する。
【0048】
次いで、step27で、今世代の突然変異の個体数NB,g個の処理が終わったか否か
(優性遺伝の個体数NA,g個を加えると、NA,g+NB,g個の処理が終わったか否か)を判
定する。個体数NB,gだけ全部終了しない限り、step24〜26に戻って新たに設定
した変数vgkの個体について評価関数値egの算出を行い、同様に繰返す。
【0049】
なお、以上のstep25〜26の処理は、ランダムな乱数以外に、通常の最適化方法を用いることも考えられる。
【0050】
さらに、以上の優性遺伝、突然変異の他に、遺伝的アルゴリズムの交叉(異なる2つの個体のt個の変数vgkを途中で相互に入れ換える。)等を入れることも考えられる。
【0051】
以上の第2世代以降の各世代の優先遺伝と突然変位の処理の後に、図6に示す通常の遺伝を示すフローチャートの処理が行われる。すなわち、step31で、前世代の中から1つの個体をリストの確率で重み付けてランダムに選定する。この際、step23、24で選択されたものも重複して選定される可能性がある。
【0052】
次いで、step32で、前世代から選定した個体の各変数vg-1,kから今世代の各変
数vgkの値をstep21で設定した範囲内でランダムに決定する。
【0053】
次いで、step33で、step32で決定した変数vgkの個体について評価関数値egを算出する。その評価関数値egは、式(2)を用いて算出する。
【0054】
次いで、step34で、step33で算出した評価関数値egが設定した閾値より
小さいか否かを問う。ここで、閾値は十分に小さい値を選ぶ。
【0055】
step34で、egが設定した閾値より小さいと判定されると、それ以上の演算は必
要ないと判断し、処理を終了させる。
【0056】
step34で、egが設定した閾値以上と判定されると、次のstep35へ進み、
今世代の通常の遺伝の個体数Ng−(NA,g+NB,g)個の処理が終わったか否か(優性遺伝の個体数NA,g個、突然変異の個体数NB,g個を加えると、Ng個の処理が終わったか否
か)を判定する。個体数Ng−(NA,g+NB,g)だけ全部終了しない限り、step31
〜34に戻って新たに設定した変数vgkの個体について評価関数値egの算出を行い、同
様に繰返す。
【0057】
step35で、今世代の通常の遺伝の個体数Ng−(NA,g+NB,g)個の処理が終わ
ったと判定されると、次のstep36へ進み、今世代の個体数Ng個それぞれの確率pgを算出する。これは、step17と同様に、式(4)を用いて算出する。
【0058】
次いで、step37で、今世代の個体数Ngの評価関数値eg、確率pg、各変数vgk
のリストを作成する。
【0059】
次いで、step38で、終了条件を満たすか否かを判定する。終了条件としては、世代数が所定の値までや、評価関数値の世代中の最小値が所定の値になるまでや、評価関数値の世代中の最小値がほとんど変わらなくなるまで等がある。
【0060】
step38の終了条件を満たさない場合は、図5のAへ戻り、次の世代の処理を同様に行う。
【0061】
図7は、以上の図4〜図6の遺伝的アルゴリズムを用いた処理を模式的に表現した図であり、図4が対応する第1世代で第0世代のパラメータv0kを設定した範囲でN1個の個
体に変形し、次に、図5〜図6が対応する第2世代でその第1世代のN1個の個体から所
定数の個体のパラメータを優性遺伝、突然変異、通常の遺伝として引継ぐ。以下、第3世代以降も同様に引継ぐ。
【0062】
ここで、優性遺伝は、前世代の中から適合度が最も良い方から特定個体数までをそのまま継承する。突然変異は、前世代からランダムに個体を選び、指定した範囲内でランダムに決定(個体毎に実行)した一定値(一般的に各変数により異なる値)を全パラメータに加える。通常の遺伝は、前世代からランダムに個体を選び、その個体が持つ各パラメータを指定した範囲内でランダムに決定(step21で設定した範囲を越えた範囲内で)する。なお、第1世代は第0世代の1つの個体を元に通常の遺伝を行うものである。
【0063】
なお、図7では、世代間にわたって個体をそのまま引継ぐように見えるが、優性遺伝以外は、上記のような変形を加えて継承する。
【0064】
次に、以上のような遺伝的アルゴリズムに基づいて改良を加えた本発明の実施形態に係るパラメータフィッティング方法について詳しく説明するが、いまいちど、本発明に係るパラメータフィッティング方法を用いずに、これまでに説明してきたアルゴリズムによって演算処理を実行した場合に、どの程度目標値からの乖離が起こり得て、計算時間を無駄に要するかを確認する。図8は従来のパラメータフィッティングによってホログラムの透過率の波長分布を計算した例を示す図である。図8に示す例では、遺伝的アルゴリズムを用いたパラメータフィッティングによって計算値を、目標値(又は測定値)に合わせ込むようにしているが、図8中の「×」に示すプロットについては目標値(又は測定値)から大きく乖離しているものであり、明らかに途中で計算を打切るように処理しても構わないところであるが、従来のパラメータフィッティング方法においては、打切り処理は行わな
かったので、パラメータの組を多数計算するための計算時間がかかり問題であった。なお、図9はパラメータフィッティングによって計算値を目標値(又は測定値)に適切に合わせ込んだ例を示す図である。
【0065】
次に、以上を踏まえた上で、改良を加えた本発明の実施形態に係るパラメータフィッティング方法について詳しく説明する。まず、本発明の第1のパラメータフィッティング方法について説明する。図10は本発明の第1実施形態に係るパラメータフィッティング方法に係るフローチャートを示す図である。
【0066】
図10のフローの流れとしては、図4のフローのstep14、又は図5のフローのstep26、又は図6のフローのstep33のいずれかからジャンプしてくることにより開始され、リターンによってそれぞれのフローによって元のルーチンに戻ることにより終了する。
【0067】
図10のフローにおいて、step41では、変数mに1がセットされる。
【0068】
続く、step42においては、各パラメータからXcalcd,mを計算し、emidを算出する。ここで、emidは、評価関数に複数の条件を入力して順々に計算している間の途中の
計算値であることを示している。
【0069】
評価関数値emidについて、誤差の二乗平均を考える場合には、以下の式(5)を用い
ることができる。
【0070】
【数5】
また、評価関数値emidについて、誤差の絶対値を基準として考える場合には、以下の
式(6)も用いることができる。
【0071】
【数6】
次の、step43では、所定の条件が代入された計算途中の評価関数値であるemid
が予め定められたボーダー値Bより大きいか否かが判定される。ボーダー値Bは、打切り処理を実行するか否かを判定するために予め定められた値である。
【0072】
step43における判定の結果がYESである場合には、step47に進み、仮のegを算出した後に、リターンし元のルーチンに戻る。このように、step43におけ
る判定でemidが予め定められたボーダー値Bより大きい場合には、計算を打切る処理を
行うようになっているので、計算が無駄となってしまうパラメータの組については途中で計算を打切るため計算時間を短縮できる。
【0073】
一方、step43における判定の結果がNOである場合には、step44でmを1
インクリメントし、step45でm≦Mであるか否かが判定される。このMは全ての条件の総数である。step45における判定がYESであるときにはstep42に戻りループし、NOである場合には、step46に進み、egを算出し、その後、元のルー
チンにリターンする。
【0074】
図11は本発明の第1実施形態に係るパラメータフィッティング方法をホログラムパラメータフィッティングに応用した例を示す図である。図11に示すように、計算途中の評価関数値であるemidがボーダー値Bを越えたパラメータ3(3の周りには○付き)のケ
ースについては、計算処理を打切るようになっているので、その分計算時間を短縮することが可能となる。
【0075】
表1は従来のパラメータフィッティング方法と第1実施形態によるパラメータフィッティング方法とで、全ての世代を計算した場合のトータル計算時間の比を示すものである。なお、従来の方法による計算時間を1として規格化してある。表1からもわかるように、
第1実施形態に係るパラメータフィッティング方法を採用することにより、従来の方法に比べて、計算時間をおよそ3割程度削減することが可能となる。
【0076】
【表1】
以上、まとめると、第1実施形態に係るパラメータフィッティング方法は、遺伝的アルゴリズムを用いて、測定値又は目標値と計算値との間の誤差を表す評価関数値を算出し、前記評価関数を最小化することでパラメータフィッティングを行うパラメータフィッティング方法であって、前記評価関数に所定条件を代入したときに得られる評価関数値に対するボーダー値を定めて、前記評価関数値が前記ボーダー値を超えたときは処理を打切るステップを有することを特徴とする。このような第1実施形態に係るパラメータフィッティング方法によれば、評価関数の途中値を用いて、適宜打切り処理を行うものであるので、打切り判定の場合はそのパラメータの組については途中で計算を打切るため計算時間を短縮できる。
【0077】
次に、本発明の第2実施形態について説明する。図12は本発明の第2実施形態に係るパラメータフィッティング方法に係るフローチャートを示す図である。
【0078】
図12のフローの流れとしては、図4のフローのstep14、又は図5のフローのstep26、又は図6のフローのstep33のいずれかからジャンプしてくることにより開始され、リターンによってそれぞれのフローによって元のルーチンに戻ることにより終了する。
【0079】
図12のフローにおいて、step51では、m1=r2Mによって、必要最小個数m1
が計算される。ここで、Mは全ての条件の総数であり、r2は0<r2<1を満たす定数である。次の、step52では、変数mに1がセットされる。
続く、step53においては、各パラメータからXcalcd,mを計算し、emidを算出する。ここで、emidは、評価関数に複数の条件を入力して順々に計算している間の途中の
計算値であることを示している。さらに、このstepにおいては、emidからepredを
算出する。
【0080】
評価関数値emidについて、誤差の二乗平均を考える場合には、先の式(5)を用いる
ことができる。また、評価関数値emidについて、誤差の絶対値を基準として考える場合
には、先の式(6)も用いることができる。
【0081】
次の、step54では、所定の条件が代入された計算途中の評価関数値であるemid
が予め定められたボーダー値Bより大きいか否か、又は、m≧m1のときepredがr1Bの値より大きいか否かが判定される。ボーダー値Bは、打切り処理を実行するか否かを判定するために予め定められた値である。また、r1は1より大きい予め定められた定数であ
る。また、epredは評価関数値の予測値であり、評価関数が通常の分布であるとき(目標値・測定値の分布がランダムである場合)には、emidに基づいて下式(7)によって定
めることができる。
【0082】
【数7】
また、特定の分布であるときには、emidに基づいて下式(8)によって定めることが
できる。
【0083】
【数8】
式(8)は、目標値・測定値の分布において、誤差が小さい側はほぼ0の場合に用いられ、2m<Mのときl=2mであり、そうでないときl=Mである。
【0084】
step54における判定の結果がYESである場合には、step58に進み、仮のegを算出した後に、リターンし元のルーチンに戻る。このように、step54におけ
る判定でemidが予め定められたボーダー値Bより大きいか、又は、m≧m1のときepredがr1Bの値より大きい場合には、計算を打切る処理を行うようになっているので、計算
が無駄となってしまうパラメータの組については途中で計算を打切るため計算時間を短縮できる。
【0085】
一方、step54における判定の結果がNOである場合には、step55でmを1インクリメントし、step56でm≦Mであるか否かが判定される。このMは全ての条件の総数である。step56における判定がYESであるときにはstep53に戻りループし、NOである場合には、step57に進み、egを算出し、その後、元のルー
チンにリターンする。
【0086】
以上、まとめると、第2実施形態に係るパラメータフィッティング方法は、遺伝的アルゴリズムを用いて、測定値又は目標値と計算値との間の誤差を表す評価関数値を算出し、前記評価関数を最小化することでパラメータフィッティングを行うパラメータフィッティング方法であって、前記評価関数に所定条件を代入したときに得られる評価関数値に対す
るボーダー値と前記ボーダー値に基づく所定値とを定めて、前記評価関数値が前記ボーダー値を超えたとき、又は、前記評価関数値に基づく予測値が前記所定値を超えたときには処理を打切るステップを有することを特徴とする。このような第2実施形態に係るパラメータフィッティング方法によれば、複数条件の途中段階で評価関数の途中の値や予測値を用いて、適宜打切り処理を行うものであるので、打切り判定の場合はそのパラメータの組については途中で計算を打切るため計算時間を短縮できる。
【0087】
次に、本発明の第3実施形態について説明する。図13は本発明の第3実施形態に係るパラメータフィッティング方法に係るフローチャートを示す図である。第3実施形態に係るパラメータフィッティング方法は、第1実施形態又は第2実施形態に係るパラメータフィッティング方法と併用するものである。
【0088】
図13のフローの流れとしては、図4のフローのstep18からジャンプしてくることにより開始され、step61が実行されると、step21に戻るようになっている。step61においては、これまで説明したボーダー値を、リストのNA,g番目のegとして定めるようにしている。このようにボーダー値を世代毎に定めることで、より早い段階で打切り判定を行い、計算時間を短縮できる。
【0089】
表2は従来のパラメータフィッティング方法と第3実施形態によるパラメータフィッティング方法とで、全ての世代を計算した場合のトータル計算時間の比を示すものである。なお、従来の方法による計算時間を1として規格化してある。表2からもわかるように、第3実施形態に係るパラメータフィッティング方法を採用することにより、従来の方法に比べて、計算時間をおよそ7割程度削減することが可能となる。
【0090】
【表2】
以上のように、第3実施形態に係るパラメータフィッティング方法によれば、複数条件の途中段階で評価関数の途中の値や予測値を用いて、適宜打切り処理を行うものであるので、打切り判定の場合はそのパラメータの組については途中で計算を打切るため計算時間を短縮できる。
【0091】
次に、本発明の第4実施形態について説明する。図14は本発明の第4実施形態に係るパラメータフィッティング方法に係るフローチャートを示す図である。第4実施形態に係るパラメータフィッティング方法は、第1実施形態又は第2実施形態に係るパラメータフィッティング方法と併用するものである。
【0092】
図14のフローの流れとしては、図4のフローのstep15、又は図5のフローのstep26、又は図6のフローのstep34のいずれかからジャンプしてくることにより開始され、step71が実行されると、それぞれ図4のフローのstep16、又は図5のフローのstep27、又は図6のフローのstep35に戻るようになっている。step71においては、評価関数テーブルの書換え判定を行い、書換えられた場合には、これまで説明したボーダー値を、評価関数テーブルのNA,g番目のegとして定めるよ
うにしている。このようにボーダー値を個体毎に定めることで、より早い段階で打切り判定を行い、計算時間を短縮できる。
【0093】
表3は従来のパラメータフィッティング方法と第4実施形態によるパラメータフィッティング方法とで、全ての世代を計算した場合のトータル計算時間の比を示すものである。なお、従来の方法による計算時間を1として規格化してある。表3からもわかるように、第4実施形態に係るパラメータフィッティング方法を採用することにより、従来の方法に比べて、計算時間をおよそ7割程度削減することが可能となる。
【0094】
【表3】
以上のように、第4実施形態に係るパラメータフィッティング方法によれば、複数条件の途中段階で評価関数の途中の値や予測値を用いて、適宜打切り処理を行うものであるので、打切り判定の場合はそのパラメータの組については途中で計算を打切るため計算時間を短縮できる。
【0095】
次に、本発明の第5実施形態について説明する。図15は本発明の第5実施形態に係るパラメータフィッティング方法に係る第1のフローチャートを示す図である。図18は本発明の第5実施形態に係るパラメータフィッティング方法に係る第2のフローチャートを示す図である。第5実施形態に係るパラメータフィッティング方法は、第1実施形態乃至第4実施形態に係るパラメータフィッティング方法と併用するものである。
【0096】
図15のフローの流れとしては、図4のフローの「開始」からジャンプしてくることにより開始され、step81が実行されると、図4のフローのstep11に戻るようになっている。step81においては、計算順序テーブルが作成される処理が実行される。これまでの実施形態においては、mが1,2,3・・・の順序で計算処理が実行されていたが、本実施形態においては、mが1,2,3・・・に対応するm’の順序で計算処理を実行することで、より早い段階で打切り処理を行ない得るようにしている。
【0097】
また、図16は本発明の第5実施形態に係るパラメータフィッティング方法で用いる目標値と計算順序との関係を示す図であり、また、図17は本発明の第5実施形態に係るパラメータフィッティング方法で用いる計算順序テーブルを示す図である。計算順序テーブルはmの順序で計算するように定めるものであるが、図16、図17に示すように、これによれば、目標値の極値近傍から計算が順次行われることとなる。
【0098】
なお、第5実施形態においては、式(1)に代えて下記式(9)
【数9】
が用いられ、式(2)に代えて下記式(10)
【数10】
が用いられ、式(5)に代えて下記式(11)
【数11】
が用いられ、式(3)に代えて下記式(12)
【数12】
が用いられ、式(6)に代えて下記式(13)
【数13】
が用いられる。なお、m'(k)が計算順序テーブルで定められた関係を示すものである
。
【0099】
次に、以上のような計算順序テーブルに基づいて実行される図18の第2フローチャートについて説明する。図18のフローの流れとしては、図4のフローのstep14、又は図5のフローのstep26、又は図6のフローのstep33のいずれかからジャンプしてくることにより開始され、リターンによってそれぞれのフローによって元のルーチンに戻ることにより終了する。
【0100】
図18のフローにおいて、step91では、m1=r2Mによって、必要最小個数m1
が計算される。ここで、Mは全ての条件の総数であり、r2は0<r2<1を満たす定数である。次の、step92では、変数mに1がセットされる。
step93においては、これまでに説明した計算順序テーブルによって、mに対応する実際の計算順序であるm’を取得する。
【0101】
続く、step94においては、各パラメータからXcalcd,m'を計算し、emidを算出
する。ここで、emidは、評価関数に複数の条件を入力して順々に計算している間の途中
の計算値であることを示している。
【0102】
評価関数値emidについて、誤差の二乗平均を考える場合には、先の式(11)を用い
ることができる。また、評価関数値emidについて、誤差の絶対値を基準として考える場
合には、先の式(13)も用いることができる。
【0103】
次の、step95では、所定の条件が代入された計算途中の評価関数値であるemid
が予め定められたボーダー値Bより大きいか否か、又は、m≧m1のときepredがr1Bの値より大きいか否かが判定される。ボーダー値Bは、打切り処理を実行するか否かを判定するために予め定められた値である。また、r1は1より大きい予め定められた定数であ
る。また、epredは評価関数値の予測値であり、評価関数が通常の分布であるとき(目標値・測定値の分布がランダムである場合)には、emidに基づいて先の式(7)によって
定めることができる。
【0104】
step95における判定の結果がYESである場合には、step99に進み、仮のegを算出した後に、リターンし元のルーチンに戻る。このように、step95におけ
る判定でemidが予め定められたボーダー値Bより大きいか、又は、m≧m1のときepredがr1Bの値より大きい場合には、計算を打切る処理を行うようになっているので、計算
が無駄となってしまうパラメータの組については途中で計算を打切るため計算時間を短縮できる。
【0105】
一方、step95における判定の結果がNOである場合には、step96でmを1インクリメントし、step97でm≦Mであるか否かが判定される。このMは全ての条件の総数である。step97における判定がYESであるときにはstep93に戻りループし、NOである場合には、step98に進み、egを算出し、その後、元のルー
チンにリターンする。
【0106】
表4は第1実施形態によるパラメータフィッティング方法と第5実施形態によるパラメータフィッティング方法とで、全ての世代を計算した場合のトータル計算時間の比を示すものである。表4からもわかるように、第5実施形態に係るパラメータフィッティング方法を採用することにより、第1実施形態による方法に比べて、計算時間をおよそ5割以下に削減することが可能となる。
【0107】
【表4】
以上、まとめると、第5実施形態に係るパラメータフィッティング方法は、評価関数に所定条件を代入するときにおける前記所定条件の代入順序が予め定められることを特徴としている。このような、第5実施形態に係るパラメータフィッティング方法によれば、複数条件の途中段階で評価関数の途中の値や予測値を用いて、適宜打切り処理を行うものであるので、打切り判定の場合はそのパラメータの組については途中で計算を打切るため計算時間を大幅に短縮できる。
【符号の説明】
【0108】
10・・・システムバス、11・・・CPU(Central Processing Unit)、12・・・RAM(Random Access Memory)、13・・・ROM(Read Only Memory)、14・・・通信制御部、15・・・入力制御部、16・・・出力制御部、17・・・外部記憶装置制御部、18・・・入力部、19・・・出力部、20・・・外部記憶装置、100・・・光源、200・・・ホログラム、300・・・ディテクタ
【特許請求の範囲】
【請求項1】
遺伝的アルゴリズムを用いて、測定値又は目標値と計算値との間の誤差を表す評価関数値を算出し、前記評価関数を最小化することでパラメータフィッティングを行うパラメータフィッティング方法であって、
前記評価関数に所定条件を代入したときに得られる評価関数値に対するボーダー値を定めて、前記評価関数値が前記ボーダー値を超えたときは処理を打切るステップを有することを特徴とするパラメータフィッティング方法。
【請求項2】
遺伝的アルゴリズムを用いて、測定値又は目標値と計算値との間の誤差を表す評価関数値を算出し、前記評価関数を最小化することでパラメータフィッティングを行うパラメータフィッティング方法であって、
前記評価関数に所定条件を代入したときに得られる評価関数値に対するボーダー値と前記ボーダー値に基づく所定値とを定めて、前記評価関数値が前記ボーダー値を超えたとき、又は、前記評価関数値に基づく予測値が前記所定値を超えたときには処理を打切るステップを有することを特徴とするパラメータフィッティング方法。
【請求項3】
前記ボーダー値を世代ごとに定めることを特徴とする請求項1又は請求項2に記載のパラメータフィッティング方法。
【請求項4】
前記ボーダー値を世代中の個体ごとに定めることを特徴とする請求項1又は請求項2に記載のパラメータフィッティング方法。
【請求項5】
前記評価関数に所定条件を代入するときにおける前記所定条件の代入順序が予め定められることを特徴とする請求項1乃至請求項4のいずれかに記載のパラメータフィッティング方法。
【請求項1】
遺伝的アルゴリズムを用いて、測定値又は目標値と計算値との間の誤差を表す評価関数値を算出し、前記評価関数を最小化することでパラメータフィッティングを行うパラメータフィッティング方法であって、
前記評価関数に所定条件を代入したときに得られる評価関数値に対するボーダー値を定めて、前記評価関数値が前記ボーダー値を超えたときは処理を打切るステップを有することを特徴とするパラメータフィッティング方法。
【請求項2】
遺伝的アルゴリズムを用いて、測定値又は目標値と計算値との間の誤差を表す評価関数値を算出し、前記評価関数を最小化することでパラメータフィッティングを行うパラメータフィッティング方法であって、
前記評価関数に所定条件を代入したときに得られる評価関数値に対するボーダー値と前記ボーダー値に基づく所定値とを定めて、前記評価関数値が前記ボーダー値を超えたとき、又は、前記評価関数値に基づく予測値が前記所定値を超えたときには処理を打切るステップを有することを特徴とするパラメータフィッティング方法。
【請求項3】
前記ボーダー値を世代ごとに定めることを特徴とする請求項1又は請求項2に記載のパラメータフィッティング方法。
【請求項4】
前記ボーダー値を世代中の個体ごとに定めることを特徴とする請求項1又は請求項2に記載のパラメータフィッティング方法。
【請求項5】
前記評価関数に所定条件を代入するときにおける前記所定条件の代入順序が予め定められることを特徴とする請求項1乃至請求項4のいずれかに記載のパラメータフィッティング方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2012−43055(P2012−43055A)
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願番号】特願2010−181659(P2010−181659)
【出願日】平成22年8月16日(2010.8.16)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願日】平成22年8月16日(2010.8.16)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
[ Back to top ]