JP2003085526A - 最適値探索装置、最適値探索方法、最適値探索プログラム、パラメータ・フィッティング方法及び半導体装置の製造方法 - Google Patents

最適値探索装置、最適値探索方法、最適値探索プログラム、パラメータ・フィッティング方法及び半導体装置の製造方法

Info

Publication number
JP2003085526A
JP2003085526A JP2001276325A JP2001276325A JP2003085526A JP 2003085526 A JP2003085526 A JP 2003085526A JP 2001276325 A JP2001276325 A JP 2001276325A JP 2001276325 A JP2001276325 A JP 2001276325A JP 2003085526 A JP2003085526 A JP 2003085526A
Authority
JP
Japan
Prior art keywords
bit string
bit
storage device
optimum value
crossing
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.)
Pending
Application number
JP2001276325A
Other languages
English (en)
Inventor
Tetsunori Wada
哲典 和田
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2001276325A priority Critical patent/JP2003085526A/ja
Publication of JP2003085526A publication Critical patent/JP2003085526A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Feedback Control In General (AREA)

Abstract

(57)【要約】 【課題】 複数の性能指標が与えられた場合に、性能指
標間、パラメータ間におけるトレード・オフの関係を保
持しつつ、真に最適な解を効率的に探索する。 【解決手段】 初期集団を生成する初期集団生成手段2
と、初期集団を構成する個体の適応度を算出する適応度
算出手段3と、適応度に基づき個体を選択する選択手段
4と、個体の要素の一部を交換し新たな個体を生成する
交叉手段5と、重み付け公比、突然変異率、及び対象ビ
ット位置を設定する初期設定手段7と、一様乱数を発生
する一様乱数発生手段8と、突然変異率が一様乱数より
も小さい場合に、新たな個体において ビット位置のビ
ット内容を変更する突然変異手段6とを含み、複数の特
性・性能値の中から最適値を自動的に探索する最適値探
索装置である。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、遺伝的アルゴリズ
ムを用いて複数の特性・性能値の最適値を自動的に探索
する最適値探索装置、最適値探索方法、最適値探索プロ
グラム、測定結果に対するパラメータ・フィッティング
方法及びこれらを用いた半導体装置の製造方法に関す
る。
【0002】
【従来の技術】半導体集積回路のスイッチング速度(伝
搬遅延時間)と消費電力との関係は、互いにトレード・
オフの関係にある。電力用半導体装置のスイッチング速
度とオン抵抗との関係も互いにトレード・オフ関係にあ
る。また、半導体装置の駆動電流とリーク電流とは互い
にトレード・オフの関係にある。このように、半導体装
置の開発では、互いに競合する関係(二律背反関係)を
持つような特性値のそれぞれを出来るだけ最大、最小に
するように不純物密度や寸法などを設計する必要があ
る。また、実験値(測定値)にモデル関数(フィッティ
ング曲線)をフィッティングする際も、実験値とモデル
関数との差が最小になるようにモデル関数のフィッティ
ング・パラメータを選ぶ必要がある。そして、選ばれた
フィッティング・パラメータを調整して、モデル関数を
導出し、プロセスシミュレーション等の半導体装置の設
計が行われる。このように、半導体装置の設計・開発に
際しては、利用に先立って多数の予備実験とその実測結
果が用意され、実測との誤差が出来る限り最小になるよ
うに、物理・化学モデルを表すモデル関数の複数のフィ
ッティング・パラメータの値を求めてから利用される。
【0003】そこで、このようなパラメータ値の最適な
値を求める手法の一つとして、「遺伝的アルゴリズム」
と呼ばれる最適化手法が知られている。遺伝的アルゴリ
ズムは、問題の解を記号列として表現した個体を用い、
生物の遺伝機構と自然選択を比較的忠実に模擬して、個
体集合による離散的な探索空間での適応や最適化を扱う
手法である。即ち、自然界では環境に適応した生物が生
き残り、子供を産むことや遺伝子の突然変異などでより
環境に適した生物が誕生する。このような自然界での適
応淘汰の繰り返しにより、環境に適応した遺伝子が残っ
ていくという考え方をモデル化した手法が遺伝的アルゴ
リズムである。遺伝的アルゴリズムでは、ある世代(ジ
ェネレーション)を形成している個体の集合、即ち、個
体群を基本単位として進化を行う。各個体は染色体によ
って特徴付けられ、染色体は複数個の遺伝子の集まりで
構成される。遺伝的アルゴリズムでは、この遺伝子に取
り扱う問題のパラメータを割り当てる。
【0004】具体的な処理手順として、まず、処理の始
めに初期世代の個体群を生成する。この生成された個体
群の中で環境への適応度の高い個体が高い確率で生き残
るように選択を行い、さらに交叉や突然変異を行うこと
で次の世代の個体群が形成される。この操作を予め設定
した終了条件を満たすまで続け、終了するまでに得られ
た最良の個体を問題の準最適解とする。
【0005】このような遺伝的アルゴリズムは、他の手
法に比べ計算量は多いものの、与えられた性能指標とそ
れに影響する複数の実数パラメータに対して、最も望ま
しい性能指標を与えるパラメータを探索する場合、パラ
メータ空間での局所的な最適解に陥ることが少なく、性
能指標のパラメータに対する偏微分計算が不要で数値ノ
イズに強い方法として知られている。また、実現する性
能指標が複数の場合は、例えば、生成された新たなビッ
ト列に対して、非パレード選択と呼ばれる方法で、1つ
の性能指標値でも他より優れていれば採用する方法を用
いて、なるべく多くの性能指標を好ましい値にするパラ
メータセットを探索する方法が知られている。
【0006】
【発明が解決しようとする課題】このような遺伝的アル
ゴリズムを用いて実数パラメータを探索する場合、ビッ
ト列としてパラメータ値そのもの又はパラメータの上限
値と下限値とで規格化した数値に対応した「1」又は
「0」からなる値をそのまま用いると、探索手順をプロ
グラムする際の見通しが良くなる。このためこのような
方法が頻繁に利用される。しかし、この場合、2つ或い
はそれ以上のビット列から合成した新たなビット列に対
して、突然変異と呼ばれるビットの書き換えを行うと、
上位ビットも下位ビットも同じ確率で内容が書き変わっ
てしまう。パラメータ空間では、上位ビットが書き変わ
った場合は、移動距離が大きくなり、下位ビットが書き
変わった場合は、パラメータ空間においてそれほど大き
く移動することはない。従って、上位ビットと下位ビッ
トが同じ確率で突然変異を起こしてしまうと、突然変異
前のパラメータセットに対応した位置から大きく移動す
る場合が多数発生してしまう。遺伝的アルゴリズムにお
いて、効率的に探索を行うためには、良いパラメータセ
ットの近傍により多くのビット列が集合する状況が必要
である。しかし、突然変異を繰り返していくと、このよ
うな状況を実現することができなくなり、探索効率が著
しく低下してしまう。
【0007】また、実際には、最小化すべき性能指標は
複数存在し、それらが互いに相反する状況で、なるべく
多くの性能指標に対して最小値を与えるパラメータセッ
トを探索するという形で問題が設定されることが多い。
同時に最小化すべき複数の性能指標F, F, ・・・・
・, Fが与えられた場合、従来は、例えば、個々に適
切な重みを付けた算術和Σw・Fを新たな唯一の性能
指標とし、この最小値を与えるパラメータを探索する方
法が用いられていた。しかし、この方法を用いて探索し
た場合、恣意的に決められた重みwによって最小値を
与えるパラメータセットが大きく変わってしまうと共
に、性能指標間、或いはパラメータ間のトレードオフの
関係が隠されてしまい、多くの場合、真に望む結果を検
討するのは容易ではなくなる。
【0008】更に、遺伝的アルゴリズムでは、「複数の
性能指標の少なくとも1つが優れているビット列は、次
の新たなビット列生成に利用できるように消去しない」
という手法が用いられる。この方法は、遺伝的アルゴリ
ズムの長所である「解の候補を複数保持しながら探索を
行う」ため、特定の指標のみを最小化する解だけでな
く、複数の性能指標をそれなりに小さくするパラメータ
セットの値が得られる。そして、利用者はこれらの複数
の解を見比べながら、自己の目的に最も近い解を選択す
ることができる。しかし、この方法では、あるビット列
を残すか消去するかを決める際に、最悪の場合、「ビッ
ト列数(N)×パラメータ数(M)回」の大小比較を行
う必要があり、その分、処理時間がかかる。また、1つ
でも他より小さな性能指標を与えるパラメータは生き残
るが、現実的な問題に使うと、殆どのビット列がその位
置で生き残るため、よりよいパラメータセット近傍への
集合が起こりにくく、探索効率が悪い。
【0009】本発明は上述の如き従来の課題を解決する
ためになされたもので、その目的は、所定の確率で特定
のビットの書き換えを行う際に、ビットの位置毎に書換
確率を修正することで、書き換え前のビット列が表すパ
ラメータ空間での位置に対し、書き換え後の位置が大き
く移動する割合を低下させることである。
【0010】本発明のその他の目的は、新たに生成した
ビット列が、大きく異なるパラメータセットに書き換え
られ、良好なパラメータセットに関する情報を失う割合
を下げることで、効率的な探索を実現することである。
【0011】本発明の更に他の目的は、新たなビット列
生成のために必要な個体を複数選択する時に、N番目の
性能指標が良いビット列とM番目の性能指標が良いビッ
ト列を選択し、NとMについては、全ての組み合わせに
ついてのビット列選択を順次行うことで、個々の性能指
標を最も良くするパラメータの値に対応したビット情報
を保存しながら、相反する複数の性能指標に対して妥協
的な値となるパラメータセットを探索することである。
【0012】
【課題を解決するための手段】上記目的を達成するた
め、本発明の第1の特徴は、(イ)ビット表現された複
数のパラメータの配列をビット列として定義し、ビット
列の要素にランダムな値を設定した複数のビット列の集
合を生成する初期集団生成手段と、(ロ)集合を構成す
るビット列の適応度を算出する適応度算出手段と、
(ハ)適応度に基づきビット列を選択する選択手段と、
(ニ)ビット列の要素の一部を交換し新たなビット列を
生成する交叉手段と、(ホ)ビット列中のビット位置に
依存した突然変異率で前記ビット位置のビット内容を変
更する突然変異手段とを含む最適値探索装置としたこと
である。
【0013】本発明において、「初期集団生成手段」で
は、問題の解をコード化し、各個体を特徴づける染色体
として表現する。そして、決められた個体数(N個)の
染色体を乱数を用いてランダムに生成し、初期集団を生
成し、最適値探索装置の中央演算処理装置(CPU)に
接続された集合データ記憶装置に格納する。即ち、ここ
でいう「初期集団」とは、問題の解の集団のことであ
り、ランダムに作り出されたデータの個体群のことをい
う。「適応度算出手段」とは、初期集団の各個体が、問
題の解としてどれくらい適しているかを評価する手段で
あり、予め決定しておいた方法で評価値を求めるための
手段である。ここでいう「予め決定しておいた方法」と
は、適応度関数、目的関数、評価関数等により各個体の
適応度を評価する方法をいい、各個体の適応度は性能指
標(評価値)等として表される。算出された適応度は、
集合データ記憶装置に格納される。「選択手段」とは、
評価手段で求められた評価値(性能指標)に基づき、評
価の優劣に応じて個体が一定数残るように取捨選択する
ための手段である。「交叉手段」とは、選択手段で選択
された複数個体の遺伝子を組み換えて、新しい個体を発
生させるための手段である。複数の親から、別々の良い
形質を受け継ぎより良い遺伝子を作り出すことが交叉の
目的である。「突然変異手段」とは、遺伝子のある部分
の値を強制的に換えて、個体集団としての多様性を大き
くするための手段であり、遺伝子が局所的な最適解に落
ち着いてしまうことを防ぎ、より広い範囲で最適な解を
探すための手段である。「初期設定手段」とは、重み付
け公比、突然変異を起こす確率(突然変異率)、対象と
なるビット位置等を設定するための手段である。ここ
で、公比とは、等比数列における各項の間の比のことを
いう。「一様乱数発生手段」とは、0以上1以下の一様
乱数Rを発生するための手段である。ここで、一様乱数
とは、与えられた範囲の中の値が出現する頻度がどれも
等しい乱数のことをいう。「遺伝的操作制御手段」と
は、選択手段、交叉手段、突然変異手段の繰り返し処理
を制御し、最適な値を見いだすための手段である。本発
明では、選択・交叉・突然変異の遺伝的操作を行い、次
の世代の集団を生成し、これを繰り返していくことによ
り問題に対する最適解を探索していく。
【0014】本発明の第1の特徴に係わる最適値探索装
置では、遺伝子が局所的な最適解に落ち着いてしまうこ
とを防ぐため、少ない反復回数で全パラメータを真の解
に自動的に到達させ、効率的なパラメータ探索を実現す
ることができる。
【0015】本発明の第2の特徴は、(イ)ビット表現
された複数のパラメータの配列をビット列として定義
し、ビット列の要素にランダムな値を設定した複数のビ
ット列の集合を生成する初期集団生成手段と、(ロ)集
合を構成するビット列の適応度を算出する適応度算出手
段と、(ハ)空のビット列を生成する空個体群生成手段
と、(ニ)適応度に基づきビット列を選択する選択手段
と、(ホ)ビット列の要素の一部を交換し新たなビット
列を生成する交叉手段とを含む最適値探索装置としたこ
とである。
【0016】本発明において、「空個体群生成手段」と
は、初期集団と同じサイズの空の個体の集合(個体群)
を生成するための手段である。ここでは、初期集団と同
じ要素から成る、同じサイズの空の配列B, B, ・・
・・・, Bが生成される。
【0017】本発明の第2の特徴に係わる最適値探索装
置では、相反する複数の性能指標に対して、一様に良い
値となるパラメータセットを探索することができる。
【0018】本発明の第3の特徴は、(イ)ビット表現
された複数のパラメータの配列をビット列として定義
し、ビット列の要素にランダムな値を設定した複数のビ
ット列の集合を生成する初期集団生成手段と、(ロ)集
合を構成するビット列の適応度を算出する適応度算出手
段と、(ハ)空のビット列を生成する空個体群生成手段
と、(ニ)適応度に基づきビット列を選択する選択手段
と、(ホ)ビット列における交叉位置、交叉区間を決定
する交叉位置決定手段と、(ヘ)ビット列の要素の一部
を交叉区間毎に空のビット列の対応する交叉区間にコピ
ーし新たなビット列を生成する交叉区間交叉手段とを含
む最適値探索装置としたことである。
【0019】本発明において、「空個体群生成手段」と
は、初期集団と同じ要素からなる同じサイズの空の配列
B, B, ・・・・・, B を生成したり、交叉に用い
るための別の空のビット列G', G', ・・・・・,G
を生成するための手段である。「交叉位置決定手段」と
は、対象となるビット位置、即ち、交叉する位置を決定
するための手段である。
【0020】「交叉区間交叉手段」とは、交叉位置決定
手段で決定された交叉位置と交叉位置との間の各交叉区
間を、交叉させるための手段である。
【0021】本発明の第3の特徴に係わる最適値探索装
置では、相反する複数の性能指標に対して、一様に良い
値となるパラメータセットを探索することができる。
【0022】本発明の第4の特徴は、(イ)ビット表現
された複数の物理・化学的パラメータの配列をビット列
として定義し、ビット列の各要素にランダムな値を設定
したビット列を複数個生成するステップと、(ロ)物理
・化学現象の最適値を既定する物理・化学的パラメータ
に適応した性能指標を抽出するステップと、(ハ)性能
指標を用いて複数個のビット列を選択するステップと、
(ニ)選択されたビット列の対応するビット位置の要素
を交換し新たなビット列を生成するステップと、(ホ)
新たなビット列の要素を上位ビットよりも下位ビットの
方が高い確率となるように変更し、突然変異処理を行う
ステップとを含み、複数の物理・化学的パラメータの中
から最適値を自動的に探索する最適値探索方法としたこ
とである。
【0023】本発明の第4の特徴に係わる最適値探索方
法では、突然変異率に重み付けを行い、ビット列に重み
付けを行うことによって、上位ビットに対し下位ビット
がより高い確率で反転していくことになるため、遺伝子
が局所的な最適解に落ち着いてしまうことが防止され、
少ない反復回数で全パラメータを真の解に自動的に到達
させ、効率的なパラメータ探索を実現することができ
る。
【0024】本発明の第5の特徴は、(イ)ビット表現
された複数の物理・化学的パラメータの配列をビット列
として定義し、ビット列の各要素にランダムな値を設定
したビット列を複数個生成するステップと、(ロ)物理
・化学現象の最適値を既定する複数の物理・化学パラメ
ータにそれぞれ適応した第1、第2の性能指標を抽出す
るステップと、(ハ)第1の性能指標に対応した選択確
率で第1のビット列を選択するステップと、(ニ)第2
の性能指標に対応した選択確率で第2のビット列を選択
するステップと、(ホ)第1の性能指標に対応した選択
確率で第3、第4のビット列を選択するステップと、
(ヘ)第2の性能指標に対応した選択確率で第5、第6
のビット列を選択するステップと、(ト)第1と第2の
ビット列、第3と第4のビット列、第5と第6のビット
列の要素の一部を交換し、新たなビット列を生成するス
テップとを含み、複数の性能指標に対応した最適値を自
動的に探索する最適値探索方法としたことである。
【0025】本発明の第5の特徴に係わる最適値探索方
法では、相反する複数の性能指標に対して、一様に良い
値となるパラメータセットを探索することができる。
【0026】本発明の第6の特徴は、(イ)ビット表現
された複数の物理・化学的パラメータの配列をビット列
として定義し、ビット列の各要素にランダムな値を設定
したビット列を複数個生成するステップと、(ロ)物理
・化学現象の最適値を既定する複数の物理・化学パラメ
ータにそれぞれ適応した第1乃至第n(nは2以上の整
数)の性能指標を算出するステップと、(ハ)複数の空
のビット列を生成するステップと、(ニ)第1乃至第n
の性能指標に対応した選択確率でそれぞれ第1乃至第n
のビット列を選択するステップと、(ホ)ビット列にお
ける交叉位置、交叉区間を決定するステップと、(ヘ)
第1の交叉区間に係わる第1乃至第nのビット列の内容
を順に複数の空のビット列の第1の交叉区間にコピーす
るステップと、(ト)第1乃至第nのビット列の内容を
ランダムに入れ替えるステップと、(チ)入れ替えた第
1乃至第nのビット列の第2の交叉区間の内容を順に複
数の空のビット列の第2の交叉区間にコピーするステッ
プとを含み、複数の性能指標に対応した最適値を自動的
に探索する最適値探索方法としたことである。
【0027】本発明の第6の特徴に係わる最適値探索方
法では、相反する複数の性能指標に対して、一様に良い
値となるパラメータセットを探索することができる。
【0028】本発明の第7の特徴は、初期集団生成手
段、適応度算出手段、選択手段、交叉手段、突然変異手
段、初期設定手段を含むとともに、集合データ記憶装
置、選択・交叉データ記憶装置、設定データ記憶装置、
最適値記憶装置に接続された最適値探索装置を制御する
ためのプログラムであって、(イ)ビット表現された複
数の物理・化学的パラメータの配列をビット列として定
義し、ビット列の各要素にランダムな値を設定したビッ
ト列を複数個生成する命令と、(ロ)物理・化学現象の
最適値を既定する物理・化学的パラメータに適応した性
能指標を抽出する命令と、(ハ)性能指標を用いて複数
個のビット列を選択する命令と、(ニ)選択されたビッ
ト列の対応するビット位置の要素を交換し新たなビット
列を生成する命令と、(ホ)新たなビット列の要素を上
位ビットよりも下位ビットの方が高い確率となるように
変更し、突然変異処理を行う命令とを含み、(ヘ)複数
の物理・化学的パラメータの中から最適値を自動的に探
索する最適値探索プログラムとしたことである。
【0029】本発明の第7の特徴に係わる最適値探索プ
ログラムでは、突然変異率に重み付けを行い、ビット列
に重み付けを行うことによって、上位ビットに対し下位
ビットがより高い確率で反転していくことになるため、
遺伝子が局所的な最適解に落ち着いてしまうことが防止
され、少ない反復回数で全パラメータを真の解に自動的
に到達させ、効率的なパラメータ探索を実現することが
できる。
【0030】本発明の第8の特徴は、初期集団生成手
段、適応度算出手段、選択手段、交叉手段、突然変異手
段、初期設定手段を含むとともに、集合データ記憶装
置、選択・交叉データ記憶装置、設定データ記憶装置、
最適値記憶装置に接続された最適値探索装置を制御する
ためのプログラムであって、(イ)ビット表現された複
数の物理・化学的パラメータの配列をビット列として定
義し、ビット列の各要素にランダムな値を設定したビッ
ト列を複数個生成する命令と、(ロ)物理・化学現象の
最適値を既定する複数の物理・化学パラメータにそれぞ
れ適応した第1、第2の性能指標を抽出する命令と、
(ハ)第1の性能指標に対応した選択確率で第1のビッ
ト列を選択する命令と、(ニ)第2の性能指標に対応し
た選択確率で第2のビット列を選択する命令と、(ホ)
第1の性能指標に対応した選択確率で第3、第4のビッ
ト列を選択する命令と、(ヘ)第2の性能指標に対応し
た選択確率で第5、第6のビット列を選択する命令と、
(ト)第1と第2のビット列、第3と第4のビット列、
第5と第6のビット列の要素の一部を交換し、新たなビ
ット列を生成する命令とを含み、複数の性能指標に対応
した最適値を自動的に探索する最適値探索プログラムと
したことである。
【0031】本発明の第8の特徴に係わる最適値探索プ
ログラムでは、相反する複数の性能指標に対して、一様
に良い値となるパラメータセットを探索することができ
る。
【0032】本発明の第9の特徴は、初期集団生成手
段、適応度算出手段、選択手段、突然変異手段、初期設
定手段、空個体群生成手段、交叉位置決定手段、交叉区
間交叉手段を含むとともに、集合データ記憶装置、選択
・交叉データ記憶装置、設定データ記憶装置、空個体群
記憶装置、最適値記憶装置に接続された最適値探索装置
を制御するためのプログラムであって、(イ)ビット表
現された複数の物理・化学的パラメータの配列をビット
列として定義し、ビット列の各要素にランダムな値を設
定したビット列を複数個生成する命令と、(ロ)物理・
化学現象の最適値を既定する複数の物理・化学パラメー
タにそれぞれ適応した第1乃至第n(nは2以上の整
数)の性能指標を算出する命令と、(ハ)複数の空のビ
ット列を生成する命令と、(ニ)第1乃至第n性能指標
に対応した選択確率でそれぞれ第1乃至第nのビット列
を選択する命令と、(ホ)ビット列における交叉位置、
交叉区間を決定する命令と、(ヘ)第1の交叉区間に係
わる第1乃至第nのビット列の内容を順に複数の空のビ
ット列の第1の交叉区間にコピーする命令と、(ト)第
1乃至第nのビット列の内容をランダムに入れ替える命
令と、(チ)入れ替えた第1乃至第nのビット列の第2
の交叉区間の内容を順に複数の空のビット列の第2の交
叉区間にコピーする命令とを含み、複数の性能指標に対
応した最適値を自動的に探索する最適値探索プログラム
としたことである。
【0033】本発明の第9の特徴に係わる最適値探索プ
ログラムでは、相反する複数の性能指標に対して、一様
に良い値となるパラメータセットを探索することができ
る。
【0034】本発明の第10の特徴は、(イ)被加工材
料に対して物理的もしくは化学的処理を実施する工程
と、(ロ)物理的もしくは化学的処理の結果を測定する
工程と、(ハ)請求項4、請求項6、又は請求項7の最
適値探索方法のいずれか1つを用いて、測定により得ら
れた測定データを読み込み、測定データに対応したパラ
メータの値を設定し、複数の前記パラメータの配列をビ
ット列として定義し、そのビット列の要素にランダムな
値を設定した複数のビット列の集合を生成し、パラメー
タの値を計算し、測定データとモデル関数との差の二乗
和を計算し、複数のビット列を選択し、ビット列の要素
の一部を交換し新たなビット列を生成することを含む遺
伝的操作制御工程とから少なくとも構成され、測定デー
タとモデル関数の差を最小とするようにモデル関数を測
定データにフィッティングするパラメータ・フィッティ
ング方法としたことである。
【0035】本発明において、「測定データとモデル関
数との差の二乗和」とは「残差」とも言い、測定データ
とモデル関数との誤差のことを意味する。
【0036】本発明の第10の特徴に係わる測定結果に
対するパラメータ・フィッティング方法では、実験曲線
のフィッティング時に残差(誤差)を最小にする最適解
を求めることにより、最適なモデル関数(フィッティン
グ曲線)を探索することができる。このため、正確なプ
ロセスシミュレーションを行うことが可能となる。
【0037】本発明の第11の特徴は、(イ)被加工材
料に対して物理的もしくは化学的処理を実施する工程
と、(ロ)物理的もしくは化学的処理の結果を測定する
工程と、(ハ)請求項4、請求項6、又は請求項7の最
適値探索方法のいずれか1つを用いて、測定により得ら
れた測定データを読み込み、測定データに対応したパラ
メータの値を設定し、複数のパラメータの配列をビット
列として定義し、そのビット列の要素にランダムな値を
設定した複数のビット列の集合を生成し、パラメータの
値を計算し、測定データとモデル関数との差の二乗和を
計算し、複数のビット列を選択し、ビット列の要素の一
部を交換し新たなビット列を生成することにより、測定
データにフィッティングするモデル関数を決定する工程
と、(ニ)そのモデル関数を用いてプロセスシミュレー
ションを行い不純物分布及び形状の少なくとも一方に対
応する各製造工程におけるプロセス条件を決定する工程
と、(ホ)プロセス条件に基づいて、複数の製造工程の
一連の組み合わせからなる基板工程を半導体基板に対し
て実施する工程とを少なくとも含む半導体装置の製造方
法としたことである。
【0038】本発明の第11の特徴に係わる半導体装置
の製造方法では、測定結果に対するパラメータ・フィッ
ティング方法において見いだされた最適なモデル関数
(フィッティング曲線、または性能指標ともいう)を用
いたシミュレーションを行うため、異なる条件を用いた
場合の影響を簡単にシミュレートすることができ、最適
なプロセス条件を短時間で自動的に探索することができ
る。このため、高精度な半導体集積回路の解析及び回路
シミュレーションが必要な複雑な半導体集積回路の研究
(設計)から開発までのループの周期を飛躍的に短縮す
ることができる。
【0039】
【発明の実施の形態】次に、図面を参照して、本発明の
実施形態について説明する。以下の図面の記載におい
て、同一又は類似の部分には、同一又は類似の符号を付
している。
【0040】(最適値探索装置)図1に示す本発明の実
施の形態に係わる最適値探索装置1は、中央演算処理装
置(CPU)30とCPU30に入出力制御装置34を
介して接続された入力装置31及び出力装置32と、C
PU30に接続された集合データ記憶装置35、選択・
交叉データ記憶装置36、設定データ記憶装置37、空
個体群記憶装置38、最適値記憶装置39及び一時記憶
装置(主記憶装置)33とから少なくとも構成されてい
る。CPU30には、図示を省略したデータベース管理
手段が備えられている。そして、集合データ記憶装置3
5、選択・交叉データ記憶装置36、設定データ記憶装
置37、空個体群記憶装置38、最適値記憶装置39と
の入出力が必要な場合は、このデータベース管理手段を
介して、必要なファイルの格納場所を探し、ファイルの
読み出し・書き込み処理がなされる。
【0041】CPU30には、初期集団生成手段2、適
応度算出手段3、選択手段4、交叉手段5、突然変異手
段6、初期設定手段7、一様乱数発生手段8、空個体群
生成手段9、遺伝的操作制御手段12が少なくとも含ま
れている。初期集団生成手段2は、問題の解をコード化
し、各個体を特徴づける染色体として表現する。そし
て、決められた個体数(N個)の染色体を乱数を用いて
ランダムに生成し、初期集団を生成する。適応度算出手
段3は、初期集団の各個体が、問題の解としてどれくら
い適しているかを評価する手段であり、予め決定してお
いた方法で評価値を求めるための手段である。ここでい
う「予め決定しておいた方法」とは、適応度関数、目的
関数、評価関数等により各個体の適応度を評価する方法
をいい、各個体の適応度は性能指標(評価値)等として
表される。選択手段4は、適応度算出手段3で求められ
た評価値(性能指標)に基づき、評価の優劣に応じて個
体が一定数残るように取捨選択するための手段である。
選択の方法としては、ルーレット方式、ランク方式、ト
ーナメント方式、エリート保存方式等がある。交叉手段
5は、選択手段4で選択された複数個体の遺伝子を組み
換えて、新しい個体を発生させるための手段である。複
数の親から、別々の良い形質を受け継ぎより良い遺伝子
を作り出すことが交叉の目的である。突然変異手段6
は、遺伝子のある部分の値を強制的に換えて、個体集団
としての多様性を大きくするための手段であり、遺伝子
が局所的な最適解に落ち着いてしまうことを防ぎ、より
広い範囲で最適な解を探すための手段である。初期設定
手段7は、重み付け公比、突然変異を起こす確率(突然
変異率、又は書換確率)等を設定するための手段であ
る。一様乱数発生手段8は、0以上1以下の一様乱数R
を発生するための手段である。空個体群生成手段9は、
初期集団生成手段2で生成した初期集団の個体群と同じ
大きさの個体群を生成する手段である。遺伝的操作制御
手段12は、選択手段4、交叉手段5、突然変異手段6
の繰り返し処理を制御し、最適な値を見いだすための手
段である。
【0042】入力装置31は、キーボード、マウス、O
CR等の認識装置、イメージスキャナ等の図形入力装
置、音声認識装置等の特殊入力装置などにより、出力装
置32は、液晶ディスプレイ、CRTディスプレイ等の
表示装置、インクジェットプリンタ、レーザープリンタ
などの印刷装置等によりそれぞれ構成される。入出力制
御装置(入出力インタフェース)34は、これらの入力
装置31、出力装置32、あるいは図示を省略したCD
−ROM、MO、ZIPなどの記憶装置の読み取り装置
等をCPU30につなぐインタフェースである。データ
の流れから見ると、入出力制御装置34は、入力装置3
1、出力装置32、外部記憶装置の読み取り装置と一時
記憶装置(主記憶装置)33とのインタフェースとな
る。一時記憶装置(主記憶装置)33には、ROM及び
RAMが組み込まれている。ROMは、CPU30にお
いて実行されるプログラムを格納しているプログラム記
憶装置等として機能する。RAMは、CPU30におけ
るプログラム実行処理中に利用されるデータ等を一時的
に格納したり、作業領域として利用される一時的なデー
タメモリ等として機能する。集合データ記憶装置35
は、初期集団生成手段2で生成した初期集団のデータ、
適応度算出手段3で算出した初期集団の適応度のデー
タ、突然変異手段6で生成された新たな個体で構成され
る新たな集団のデータを格納するための記憶装置であ
る。選択・交叉データ記憶装置36は、選択手段4で選
択された個体のデータ、交叉手段5で生成された新たな
個体のデータを格納しておくための記憶装置である。設
定データ記憶装置37は、初期設定手段7及び一様乱数
発生手段8などで生成されたデータを格納しておくため
の記憶装置である。空個体群記憶装置38は、空個体群
生成手段9で生成した空の個体を格納しておくための記
憶装置である。最適値記憶装置39は、最終的に遺伝的
操作制御手段12で、生成された最適値(解)を格納す
るための記憶装置である。
【0043】尚、空個体群生成手段9を用いて生成した
空の集合Bを用いずに、選択した個体を交叉させるその
他の方法を用いても良く、図示した構造に限定されるも
のではない。集合データ記憶装置35、選択・交叉デー
タ記憶装置36、設定データ記憶装置37、空個体群記
憶装置38、最適値記憶装置39は、CPU30の内部
に収納されていても良く、CPU30の外部記憶装置と
して接続されていても良い。また、データベースサーバ
等を介して接続されていても良い。
【0044】(遺伝的アルゴリズム全体のフロー)次
に、図2を用いて、本発明の実施の形態に係わる遺伝的
アルゴリズムをパラメータの最適化問題に適用した場合
の全体の流れを説明する。
【0045】(イ)まず、ステップS100において、
入力装置31から入力データを読み込む。
【0046】(ロ)次に、ステップS101において、
初期集団生成手段2にて、乱数を用いてそれぞれM個の
パラメータP, P,・・・・・,Pに対応したビット
列(個体)G, G,・・・・・,GをN個生成し、集
合データ記憶装置35に格納する。これは、一般的に
「初期集団の生成」と呼ばれるステップである。生物
は、ある染色体がその個体の特徴を詳細に決めているこ
とから、遺伝的アルゴリズムでは、問題における複数の
パラメータP, P,・・・・・,Pを遺伝子とし、複
数のパラメータP, P,・・・・・,Pを図16の染
色体(個体)50のように並べて二進数に直したものを
染色体とする。そして、集団における個体数(N)を決
めた後、ランダムな値を持つ染色体を個体数(N)個作
り、初期集団として、集合データ記憶装置35に格納す
る。
【0047】(ハ)次に、ステップS102において、
適応度算出手段3にて、各ビット列Gについて性能指
標F=F(P)、即ち性能指標F, F,・・・・・,F
(K≧2)を計算する。そして、ステップS103におい
て、ビット列G, G,・・・・・,G、パラメータセ
ットP, P,・・・・・,P、性能指標F, F,・・
・・・,Fの対からなるデータを要素としたN個の要素
(個体)からなる集合Aを作成し、集合データ記憶装置
35に格納する。このとき、集合Aは、典型的には、N
=500個から2000個の要素から構成される。そし
て、ステップS104において、空個体群生成手段9に
て、同様の要素からなる同じサイズの空の集合(配列)
Bを用意する。尚、ステップS102の処理は、一般的
に「各個体の適応度の評価」と呼ばれるステップであ
り、各個体の適応度を予め定めた方法で計算するもので
ある。計算結果は、集合データ記憶装置35に格納され
る。
【0048】(ニ)次に、ステップS105において、
選択手段4にて、性能指標Fに反比例した選択確率
で、集合Aからビット列G、Gをランダムに選択し、
集合データ記憶装置35に格納する。これは、「選択
(淘汰)」と呼ばれる処理であり、次のステップで交叉
を行う個体の生存分布を決定すべく行われる。ここで
は、適応度の低い個体は淘汰され、その個数だけ適応度
の高い個体のみが増殖することとなる。選択方法として
は、ルーレット選択、期待値選択、ランキング選択、ト
ーナメント選択、エリート保存選択などの方法がある
が、本発明の実施の形態では、ルーレット選択を使用す
る。ルーレット選択は、適応度比例選択と呼ばれること
もあり、個体群の中の各個体の適応度とその総計を求め
て、適応度の総計に対する各個体の割合を選択確率とし
て個体を選択する。尚、選択方法としてその他の方法を
用いて選択しても構わない。 選択された個体は選択・
交叉データ記憶装置36に格納される。
【0049】(ホ)次に、ステップS106において、
交叉手段5にて、ランダムに選んだ位置でビット列G
とGを所定回数交叉させ、新たなビット列KとK
生成し、集合データ記憶装置35に格納する。これは、
「交叉」と呼ばれる処理であり、選択された遺伝子を組
み換え、新しい個体を発生するステップである。生成し
た新しい個体は、選択・交叉データ記憶装置36に格納
される。
【0050】(ヘ)次に、ステップS107において、
突然変異手段6にて、ビット列KとKの各ビットにつ
いて、所定の確率で「1」は「0」、「0」は「1」に
書き換え、新たなビット列K'、K'を生成する。これ
は、「突然変異」と呼ばれ、交叉だけでは個体の親に依
存するような限られた範囲の子しか生成することはでき
ないため、突然変異により、染色体上のある遺伝子を一
定の確率で他の対立遺伝子に置き換える操作を行う。こ
れにより、交叉だけでは生成できない子を生成して、個
体群の多様性を維持することができる。
【0051】(ト)次に、ステップS108において、
K'、K' のそれぞれに対応したパラメータセットの
値であるPK1,PK2を計算し、PK1,PK2のそれぞ
れに応じた性能指標FK1=F(PK1),FK2=F(P
K2)を計算する。そして、K ', PK1, FK1と、K
', PK2, FK2を集合Bの要素として集合データ記
憶装置35に格納する。ステップS108の処理は、
「性能指標計算」もしくは「適応度計算」と呼ばれる処
理であり、性能指標関数(「適応度関数」ともいわれ
る)は個体の適応度を示すものである。
【0052】(チ)次に、ステップS109において、
ステップS105からS108の処理をN/2回繰り返し
たか否かを、遺伝的操作制御手段12を用いて判断す
る。N/2回繰り返していない場合は、ステップS105
の処理へ戻る。N/2回繰り返している場合は、次のステ
ップS110の処理に進む。
【0053】(リ)次に、ステップS110において、
F<Fの場合は、集合Aで最小の性能指標Fを持つ
要素を、集合Bで最大の性能指標Fを持つ要素にコピ
ーする。そして、集合Aを集合Bの内容で置き換える。
集合A及びBのデータは、集合データ記憶装置35に格
納される。
【0054】(ヌ)次に、ステップS111において、
ステップS105からステップS110までの処理を所
定回数繰り返したか否かが判断される。所定回数繰り返
していない場合は、ステップS105の処理へ戻る。通
常、20回から100回程度繰り返すことになる。そし
て、所定回数繰り返したら、ステップS112において
最終結果を出力し、最終結果を最適値記憶装置39に格
納し、終了する。
【0055】尚、図2のフロー図では図示を省略した
が、パラメータセット或いは一部のパラメータの初期値
が与えられた場合、計算に用いるN個のビット列の一
部、例えば10〜20%は、初期値で定まるパラメータ
空間の点を中心にして、所定範囲にランダムに配置、ま
たはこのパラメータ空間の点を中心に所定の分散を持つ
分布曲線、例えば、ガウス分布で配置する。そして、そ
の他の部分については、パラメータの全空間に亘り、一
様にランダムに配置させることによって、与えられた初
期値近傍に重点を置いた探索も行われ得る。
【0056】また、図2のフロー図では図示を省略した
が、パラメータセットの探索範囲をパラメータ空間の特
定領域、例えば原点を中心とした半径1の超球の内部な
どに限定したい場合には、ステップS107の操作の後
で得られるパラメータセットが所定領域に存在しない場
合、パラメータセットがこの領域に含まれるか、所定回
数に達するまで、ステップS105からステップS11
0の操作を反復させ、所定回数を超えても出来ない場合
にはそのビット列を廃棄して、一様乱数を用いてこの領
域内となるパラメータセットを新たに発生させる処置を
追加する場合もある。このようにすることによって、パ
ラメータセットに複雑な制約条件を持たせることが容易
に実現できる。
【0057】(第1の実施の形態)図3に、遺伝子の組
み合わせごとに個体の適応度をプロットした「適応度地
形40」を示す。この適応度地形40では、プロット位
置が高いほど、遺伝的アルゴリズムの個体の適応度は高
くなる。このような適応度地形40を用いて遺伝的アル
ゴリズムの概念を考えてみた場合、遺伝的アルゴリズム
における親の選択は、適応度地形40の高い位置にいる
ものを優先的に選択するメカニズムである。そして、こ
のメカニズムによって選ばれた遺伝子の組み合わせを、
突然変異や交叉によって変化させる。
【0058】たとえば、図3において、点bが最適値4
2であり、最終的に到達すべき点であるとする。このと
き、点a、点c、点dは、局所解44であると言える。
ここで、「突然変異」とは、点pから点r、点i等の点
にジャンプさせることである。即ち、遺伝子の一部を変
えることによって、適応度地形40のある一点からある
一点へとジャンプさせることが突然変異である。そし
て、新しい場所の適応度が高ければ再度選択されやすく
なるが、低ければ選択されにくくなる。このようにし
て、突然変異と自然淘汰というメカニズムは生物個体の
適応度を徐々に高めていく効果がある。
【0059】しかし、実際には、突然変異だけで適応度
を高くすることは困難である。そこで、「交叉」を行
う。交叉は、一方の遺伝子の一部と他方の遺伝子の一部
を組み合わせることによって行われる。親として選択さ
れているのであるから、この二つの個体は高い適応度を
示している場合が多い。従って、適応度を高くするよう
な遺伝子同士を組み合わせることによって、より高い適
応度の個体が生まれる可能性が出てくるのである(これ
は、スキーマ定理により数学的に証明されている。)。
【0060】図3に示す適応度地形40の探索空間41
(x座標に対応する第1のパラメータと、y座標に対応
する第2のパラメータとの2つのパラメータからなるパ
ラメータ空間)において、最適値を探索する場合、最適
値42(点b)を探索するための理想的な探索範囲43
とは、図3に示すような、点e、点f、点gを含むよう
な範囲である。この理想的な探索範囲43を見いだすた
めには、親となる点が、近くでジャンプしていくことが
望ましい。たとえば、点pより突然変異を行う場合にお
いて、点rや点q等の遠くの点にジャンプしてしまうよ
りも、点iや点m等、近くの点にジャンプすることが好
ましい。更に、点iにおいて突然変異を行う場合には、
点rや点qにジャンプするよりも、点sや点gにジャン
プすることが好ましい。そこで本発明の第1の実施の形
態では、探索空間41(パラメータ空間)上において突
然変異させる場合、基となる点(親)の近くの点にジャ
ンプさせるために、ビット列毎に書換確率(突然変異
率)に重み付けを行うことにする。即ち、ある一定の確
率で突然変異を起こすのである。
【0061】突然変異は、個体に対する遺伝子操作の一
つで、遺伝子情報の一部をある確率で変化させることで
あり、突然変異を起こすことで、個体群が局所安定に陥
りにくくなる。突然変異は、あらかじめ決めておいた生
起確率に従って、各遺伝子ごとに起こる。図4はx座標
に対応するパラメータとy座標に対応するパラメータを
並べて、それぞれ2進数で表現したものである。図4に
示すように、「0」と「1」から形成された遺伝子型4
5において、突然変異とは、ある一定の確率で、「0」
が「1」とし、「1」が「0」とすることである。ここ
で、個体のx座標に対応したパラメータの上位ビット4
6が変化した場合、適応度地形40におけるx座標値の
変化が大きくなってしまう。逆に、個体のx座標に対応
したパラメータの下位ビット47が変化した場合の適応
度地形40におけるx座標値の変化は小さい。
【0062】そこで、本発明の第1の実施の形態では、
(x,y)座標からなる適応度地形40において、なるべ
く近くの探索範囲にいる遺伝子を生成するために、座標
値(x,y)の変化が小さくなるよう、突然変異率(書換
確率)rに、だんだん小さくなるように重みをつけるこ
ととした。たとえば、r×10%、r×10%、r×
10%・・・・・というように書換確率rに重み付け
をすることによって、下位ビットが変化するように設定
する。
【0063】(重み付け)このような重み付けの方法を
図5及び図6を用いて、以下に説明する。図5は、図2
のステップS107の突然変異の処理において、書換確
率(突然変異確率)rに重み付けを行う方法の手順を示
したフローチャートである。本発明の第1の実施の形態
では、「1」又は「0」からなる列で表されたM個のパ
ラメータの各パラメータにおいて、ビット毎の重みを等
比級数的(等比数的)に変化させる方法の手順について
説明する。ここで、等比級数または等比数とは、ある項
と次の項の比が等しい数列のことをいう。例えば、{a
}={2,4,8,16,32,64・・・・・}と
いう数列で、ある項から次の項になるには、「2」倍さ
れている(前の項に「2」を掛けている)ことになる。
【0064】(イ)始めに、ステップS131におい
て、初期設定手段7を用いて、0以上1以下の公比b
を設定する。設定された公比bは、設定データ記憶装
置37に記憶される。ここで、公比bとは、上述した
数列a の比のことをいう。従って、上の例では、a
の公比bは「2」である。
【0065】(ロ)次に、ステップS132において、
書き換え対象のビット位置を示す整数kを1に設定す
る。設定されたビット位置kは、設定データ記憶装置3
7に格納される。そして、ステップS133において、
突然変異手段6にて、書換確率(突然変異率)を所定の
値rに設定する。
【0066】(ハ)次に、ステップS134において、
一様乱数発生手段8を用いて、0以上1以下の一様乱数
Rを発生させ、設定データ記憶装置37に格納する。
【0067】(ニ)ステップS135において、一様乱
数Rが書換確率rよりも小さいか否かを遺伝的操作制御
手段12を用いて判断する。一様乱数Rが書換確率rよ
りも小さい場合(R<rの場合)は、ステップS136
において、下位からk番目のビットの内容を「0」なら
「1」に、「1」なら「0」に反転させ、ステップS1
37の処理へ進む。Rがrよりも大きい場合(R>rの
場合)は、ステップS137の処理へ進む。
【0068】(ホ)ステップS137において、初期設
定手段7を用いてrとbとの積(r×b)を新たなr
として設定する。また、ビット位置を示す整数kの値に
1を足す。
【0069】(ヘ)ステップS138において、遺伝的
操作制御手段12を用いて、1つのパラメータを表す全
てのビットについて処理が行われたか否かを判断する。
行われていない場合は、ステップS133からステップ
S137までの処理を繰り返す。全てのビットについて
処理が終了している場合は、ステップS139におい
て、全てのパラメータについて処理が終了しているか否
かを判断する。全てのパラメータについて処理が終了し
ていない場合は、ステップS131からS138までの
処理を繰り返す。全てのパラメータについて処理が終了
している場合は、重み付け処理を終了する。
【0070】上述したように、本発明の第1の実施の形
態では、r=r・(b)n−1 という重み付けを行って
いる。即ち、初め(k番目)のビットでの書換確率は、
rであるが、次((k+1)番目)のビットでの書換確
率は、r・(b)であり、その次((k+2)番目)のビ
ットでの書換確率はr・(b)、更にその次((k+
3)番目)のビットでの書換確率はr・(b)となる。
【0071】本発明の第1の実施の形態では、説明を簡
単にするため、ビット毎の内容書き換えの確率を等比級
数的に変化させる場合の処理手順について説明したが、
他の重み分布を用いて書換確率をビット毎に変更する場
合も、類似の手順で処理することが可能である。
【0072】図6(a)には上述したような本発明の第
1の実施の形態に係わる探索方法を用いた場合における
パラメータ値の推移を、図6(b)には従来の方法で最
適値を探索した場合におけるパラメータ値の推移をそれ
ぞれ示す。図6(a)及び(b)の双方において、パラ
メータ値が「1」に近づくと最適値に近づいたことにな
る。ビット列に重みを付けて探索した場合、図6(a)
に示すように、図6(b)の従来の方法よりも早い段階
でパラメータ値が「1」に近づくことが可能となる。
【0073】このように、本発明の第1の実施の形態に
係わる探索方法を用いて突然変異を行う場合に、ビット
列に等比級数的に重み付けをすることによって、上位ビ
ットに対し下位ビットがより高い確率で反転していくこ
とになるため、適応度地形40において、近い探索範囲
内で次の世代の子を生成することができる。探索範囲内
で子を生成していくことにより、従来よりも少ない反復
回数で全パラメータを真の解に到達させることができ
る。
【0074】(第2の実施の形態)図7に示す本発明の
実施の形態に係わる最適値探索装置1は、中央演算処理
装置(CPU)30とCPU30に入出力制御装置34
を介して接続された入力装置31及び出力装置32と、
CPU30に接続された集合データ記憶装置35、選択
・交叉データ記憶装置36、設定データ記憶装置37、
空個体群記憶装置38、最適値記憶装置39及び一時記
憶装置(主記憶装置)33とから少なくとも構成されて
いる。CPU30には、図示を省略したデータベース管
理手段が備えられている。そして、集合データ記憶装置
35、選択・交叉データ記憶装置36、設定データ記憶
装置37、空個体群記憶装置38、最適値記憶装置39
との入出力が必要な場合は、このデータベース管理手段
を介して、必要なファイルの格納場所を探し、ファイル
の読み出し・書き込み処理がなされる。
【0075】CPU30には、初期集団生成手段2、適
応度算出手段3、選択手段4、交叉手段5、突然変異手
段6、初期設定手段7、一様乱数発生手段8、空個体群
生成手段9が少なくとも含まれている。初期集団生成手
段2は、問題の解をコード化し、各個体を特徴づける染
色体として表現する。そして、決められた個体数(N
個)の染色体を乱数を用いてランダムに生成し、初期集
団を生成する。適応度算出手段3は、初期集団の各個体
が、問題の解としてどれくらい適しているかを評価する
手段であり、予め決定しておいた方法で評価値を求める
ための手段である。選択手段4は、適応度算出手段で求
められた評価値(性能指標)に基づき、評価の優劣に応
じて個体が一定数残るように取捨選択するための手段で
ある。交叉手段5は、選択手段で選択された複数個体の
遺伝子を組み換えて、新しい個体を発生させるための手
段である。突然変異手段6は、遺伝子のある部分の値を
強制的に換えて、個体集団としての多様性を大きくする
ための手段であり、遺伝子が局所的な最適解に落ち着い
てしまうことを防ぎ、より広い範囲で最適な解を探すた
めの手段である。初期設定手段7は、重み付け公比、突
然変異を起こす確率(突然変異率、又は書換確率)等を
設定するための手段である。一様乱数発生手段8は、0
以上1以下の一様乱数Rを発生するための手段である。
空個体群生成手段9は、初期集団生成手段2で生成した
初期集団の個体群と同じ大きさの個体群を生成する手段
である。遺伝的操作制御手段12は、選択手段4、交叉
手段5、突然変異手段6の繰り返し処理を制御し、最適
な値を見いだすための手段である。
【0076】入力装置31は、キーボード、マウス、O
CR等の認識装置、イメージスキャナ等の図形入力装
置、音声認識装置等の特殊入力装置などにより、出力装
置32は、液晶ディスプレイ、CRTディスプレイ等の
表示装置、インクジェットプリンタ、レーザープリンタ
などの印刷装置等によりそれぞれ構成される。入出力制
御装置(入出力インタフェース)34は、これらの入力
装置31、出力装置32、あるいは図示を省略したCD
−ROM、MO、ZIPなどの記憶装置の読み取り装置
等をCPU30につなぐインタフェースである。データ
の流れから見ると、入出力制御装置34は、入力装置3
1、出力装置32、外部記憶装置の読み取り装置と一時
記憶装置(主記憶装置)33とのインタフェースとな
る。一時記憶装置(主記憶装置)33には、ROM及び
RAMが組み込まれている。ROMは、CPU30にお
いて実行されるプログラムを格納しているプログラム記
憶装置等として機能する。RAMは、CPU30におけ
るプログラム実行処理中に利用されるデータ等を一時的
に格納したり、作業領域として利用される一時的なデー
タメモリ等として機能する。集合データ記憶装置35
は、初期集団生成手段2で生成した初期集団のデータ、
適応度算出手段3で算出した初期集団の適応度のデー
タ、突然変異手段6で生成された新たな個体で構成され
る新たな集団のデータを格納するための記憶装置であ
る。選択・交叉データ記憶装置36は、選択手段4で選
択された個体のデータ、交叉手段5で生成された新たな
個体のデータを格納しておくための記憶装置である。設
定データ記憶装置37は、初期設定手段7及び一様乱数
発生手段8などで生成されたデータを格納しておくため
の記憶装置である。空個体群記憶装置38は、生成した
空の個体を格納しておくための記憶装置である。最適値
記憶装置39は、最終的に遺伝的操作制御手段12で、
生成された最適値(解)を格納するための記憶装置であ
る。
【0077】尚、集合データ記憶装置35、選択・交叉
データ記憶装置36、設定データ記憶装置37、空個体
群記憶装置38、最適値記憶装置39は、CPU30の
内部に収納されていても良く、CPU30の外部記憶装
置として接続されていても良い。また、データベースサ
ーバ等を介して接続されていても良く、図示した構造に
限定されるものではない。
【0078】次に、図2及び図8乃至図10を用いて、
複数の性能指標関数を同時に最適化するパラメータセッ
トの第1の探索手順について以下に説明する。図8は、
図2のステップS105乃至S109に該当する処理で
ある。尚、説明を簡素化するために、3個の性能指標
(関数)F, F, Fが与えられた場合の探索処理手
順を以下に示す。また、Nは2・=2×6=12
の倍数とする。
【0079】(イ)まず、図2のステップS100で入
力データを読み込み、ステップS101において、初期
集団生成手段2を用いて、初期集団として、一様乱数を
用いてパラメータセットP, P,・・・・・,Pを持
つビット列G, G,・・・・・,GをN個生成する。
そして、ステップS102において、各ビット列につい
て性能指標F, F, Fを計算する。そして、ステッ
プS103において、ビット列G, G,・・・・・,G
、性能指標F, F, F、パラメータセットP , P
,・・・・・,Pの3つを1つの構成要素とする、N
個の要素(個体)からなる集合Aを作成し、集合データ
記憶装置35に格納する。そして、ステップS104に
おいて、空個体群生成手段9を用いて、同様の要素から
成る同じサイズの空の配列(個体)B, B,・・・・
・, Bを用意し、空個体群記憶装置38に格納する。
【0080】(ロ)次に、図8のステップS141にお
いて、選択手段4を用いて、Fの値に反比例した選択
確率で、ビット列(個体)Ga1を選択する。また、F
の値に反比例した選択確率でGa2を選択する。そし
て、選択・交叉データ記憶装置36に選択したビット列
(個体)のデータを格納する。次に、ステップS142
において、交叉手段5を用いて、Ga1、Ga2を交叉さ
せ、選択・交叉データ記憶装置36に新たな個体のデー
タを格納する。そして、ステップS143において、突
然変異手段6を用いて、所定の方法で一部のビットパタ
ーンを適宜反転させて、図9に示すように、新たなビッ
ト列Ga1'、Ga2'を生成する。ステップS144にお
いて、遺伝的操作制御手段12を用いて、ステップS1
41乃至S143までの処理を12分のN回繰り返した
か否かを判断する。12分のN回繰り返していない場合
は、ステップS141の処理へ戻る。12分のN回繰り
返している場合は、次のステップS145の処理へ進
む。ステップS141乃至S143までの操作を12分
のN回繰り返すと、新たなビット列を合計で6分のN個
生成することができる。こうして生成される新たなビッ
ト列は、以後集合データ記憶装置35に格納される。
【0081】(ハ)次に、ステップS145において、
選択手段4を用いて、Fの値に反比例した選択確率
で、ビット列Gb1を選択する。また、Fの値に反比例
した選択確率でGb2を選択し、選択・交叉データ記憶
装置36にデータを格納する。そして、ステップS14
6において、交叉手段5を用いて、Gb1、Gb2を交叉
させ、選択・交叉データ記憶装置36にデータを格納す
る。ステップS147において、突然変異手段6を用い
て、所定の方法で一部のビットパターンを反転させて、
図9に示すように、新たなビット列Gb1'、Gb2'を生
成する。ステップS148において、ステップS145
乃至S147までの処理を12分のN回繰り返したか否
かを判断する。12分のN回繰り返していない場合は、
ステップS145の処理へ戻る。12分のN回繰り返し
ている場合は、次のステップS149の処理へ進む。ス
テップS145乃至S147までの操作を12分のN回
繰り返すと、新たなビット列を合計で6分のN個生成す
ることができる。
【0082】(ニ)次に、ステップS149において、
選択手段4を用いて、Fの値に反比例した選択確率
で、ビット列Gc1を選択する。また、Fの値に反比例
した選択確率でGc2を選択する。そして、ステップS
150において、交叉手段5を用いて、Gc1、Gc2
交叉させ、選択・交叉データ記憶装置36にデータを格
納する。ステップS151において、所定の方法で一部
のビットパターンを反転させて、図9に示すように、新
たなビット列Gc1'、Gc2'を生成する。ステップS1
52において、遺伝的操作制御手段12を用いて、ステ
ップS149乃至S151までの処理を12分のN回繰
り返したか否かを判断する。12分のN回繰り返してい
ない場合は、ステップS149の処理へ戻る。12分の
N回繰り返している場合は、次のステップS153の処
理へ進む。ステップS149乃至S151までの操作を
12分のN回繰り返すと、新たなビット列を合計で6分
のN個生成することができる。
【0083】(ホ)次に、ステップS153において、
選択手段4を用いてFの値のみを基準にビット列
Gd1、Gd2を選択する。そして、ステップS154に
おいて、Gd1、Gd2を交叉させる。ステップS155
において、所定の方法で一部のビットパターンを反転さ
せて、図9に示すように、新たなビット列Gd1'、G
d2'を生成する。ステップS156において、ステッ
プS153乃至S155までの処理を12分のN回繰り
返したか否かを判断する。12分のN回繰り返していな
い場合は、ステップS153の処理へ戻る。12分のN
回繰り返している場合は、次のステップS157の処理
へ進む。ステップS153乃至S155までの操作を1
2分のN回繰り返すと、新たなビット列を合計で6分の
N個生成することができる。
【0084】(ヘ)次に、ステップS157において、
Fの値のみを基準にビット列Ge1、Ge2を選択手段
4を用いて選択し、選択・交叉データ記憶装置36に格
納する。そして、ステップS158において、Ge1、G
e2を交叉手段5を用いて交叉させ、選択・交叉データ
記憶装置36に格納する。ステップS159において、
突然変異手段6を用いて、所定の方法で一部のビットパ
ターンを反転させて、図9に示すように、新たなビット
列Ge1'、Ge2'を生成する。ステップS160におい
て、遺伝的操作制御手段12を用いて、ステップS15
7乃至S159までの処理を12分のN回繰り返したか
否かを判断する。12分のN回繰り返していない場合
は、ステップS157の処理へ戻る。12分のN回繰り
返している場合は、次のステップS161の処理へ進
む。ステップS157乃至S159までの操作を12分
のN回繰り返すと、新たなビット列を合計で6分のN個
生成することができる。
【0085】(ト)次に、選択手段4を用いて、ステッ
プS161において、Fの値のみを基準にビット列G
f1、Gf2を選択し、選択・交叉データ記憶装置36
に格納する。そして、ステップS162において、交叉
手段5を用いて、Gf1、Gf2を交叉させ、選択・交叉
データ記憶装置36に格納する。ステップS163にお
いて、遺伝的操作制御手段12を用いて、所定の方法で
一部のビットパターンを反転させて、図9に示すよう
に、新たなビット列Gf1'、Gf2'を生成する。ステッ
プS164において、ステップS161乃至S163ま
での処理を12分のN回繰り返したか否かを判断する。
12分のN回繰り返していない場合は、ステップS16
1の処理へ戻る。12分のN回繰り返している場合は、
本発明の第2の実施の形態に係わる選択・交叉制御処理
を終了する。尚、ステップS161乃至S163までの
操作を12分のN回繰り返すと、新たなビット列を合計
で6分のN個生成することができる。
【0086】(チ)このようにして新たなビット列N個
からなる集合Bを作成した後、図2のステップS110
において、母体となったN個のビット列の集合Aを、新
たなビット列の集合Bで置き換える。そして、集合A及
びBは集合データ記憶装置35に格納される。
【0087】(リ)図2のステップS111において、
遺伝的操作制御手段12を用いて、図8のステップS1
41からS164までの処理を所定回数繰り返したか否
かが判断される。所定回数繰り返されていない場合は、
図8のステップS141の処理へ戻る。所定回数繰り返
されている場合は、図2のステップS112の処理へ進
む。
【0088】(ヌ)ステップS112において、最終結
果を出力し、最適値記憶装置39に最適値を格納し、パ
ラメータセットの探索を終了する。
【0089】図10(a)は、第2の実施の形態に係わ
る最適値探索方法を行った際の、2つのパラメータを変
数に持つ、複数の(3つの)性能指標を表す関数をパラ
メータの値に対して示した図である。図10(b)は、
第2の実施の形態に係わる最適値探索方法で、図10
(a)に示す複数の関数を同時に最大化する課題を処理
した結果を表したものである。図10(b)に示す黒い
点は個々のパラメータセットの座標を表す。そして、図
10(b)では分かりにくいが、個々の関数のピークを
与える3カ所(x,y)=(1,0),(−1,0),
(0,0.5)には、複数のパラメータセットが重畳し
て存在する。また、前記3点で囲まれた領域には、個々
の性能指標は最大ではないが、どれもが大きな値をもつ
ようなパラメータセットが存在する。
【0090】本発明の第2の実施の形態によれば、複数
の性能指標を同時に最適化し、上述した「どれもが大き
な値をもつような」値(複数の条件に対して一様に良い
値)を最適解として探索することができる。また、本発
明の第2の実施の形態では、空個体群生成手段9を用い
て生成された空の個体群を用いることにより、選択した
個体の交叉を可能にしている。
【0091】(第3の実施の形態)図11に示す本発明
の実施の形態に係わる最適値探索装置1は、中央演算処
理装置(CPU)30とCPU30に入出力制御装置3
4を介して接続された入力装置31及び出力装置32
と、CPU30に接続された集合データ記憶装置35、
選択・交叉データ記憶装置36、設定データ記憶装置3
7、空個体群記憶装置38、最適値記憶装置39及び一
時記憶装置(主記憶装置)33とから少なくとも構成さ
れている。CPU30には、図示を省略したデータベー
ス管理手段が備えられている。そして、集合データ記憶
装置35、選択・交叉データ記憶装置36、設定データ
記憶装置37、空個体群記憶装置38、最適値記憶装置
39との入出力が必要な場合は、このデータベース管理
手段を介して、必要なファイルの格納場所を探し、ファ
イルの読み出し・書き込み処理がなされる。
【0092】CPU30には、初期集団生成手段2、適
応度算出手段3、選択手段4、交叉手段5、突然変異手
段6、初期設定手段7、一様乱数発生手段8、空個体群
生成手段9、交叉位置決定手段10、交叉区間交叉手段
11、遺伝的操作制御手段12が少なくとも含まれてい
る。初期集団生成手段2は、問題の解をコード化し、各
個体を特徴づける染色体として表現する。そして、決め
られた個体数(N個)の染色体を乱数を用いてランダム
に生成し、初期集団を生成する。適応度算出手段3は、
初期集団の各個体が、問題の解としてどれくらい適して
いるかを評価する手段であり、予め決定しておいた方法
で評価値を求めるための手段である。選択手段4は、適
応度算出手段で求められた評価値(性能指標)に基づ
き、評価の優劣に応じて個体が一定数残るように取捨選
択するための手段である。交叉手段5は、選択手段4で
選択された複数個体の遺伝子を組み換えて、新しい個体
を発生させるための手段である。複数の親から、別々の
良い形質を受け継ぎより良い遺伝子を作り出すことが交
叉の目的である。突然変異手段6は、遺伝子のある部分
の値を強制的に換えて、個体集団としての多様性を大き
くするための手段であり、遺伝子が局所的な最適解に落
ち着いてしまうことを防ぎ、より広い範囲で最適な解を
探すための手段である。初期設定手段7は、重み付け公
比、突然変異を起こす確率(突然変異率、又は書換確
率)等を設定するための手段である。一様乱数発生手段
8は、0以上1以下の一様乱数Rを発生するための手段
である。空個体群生成手段9は、初期集団生成手段2で
生成した初期集団の個体群と同じ大きさの個体群を生成
する手段である。交叉位置決定手段10は、対象となる
ビット位置、即ち交叉する位置を決定するための手段で
あり、決定した位置は、選択・交叉データ記憶装置36
に格納される。交叉区間交叉手段11は、交叉位置決定
手段10で決定された交叉位置と交叉位置との間の各交
叉区間を、交叉させるための手段である。遺伝的操作制
御手段12は、選択手段4、交叉手段5、突然変異手段
6の繰り返し処理、及び交叉区間交叉手段11の処理を
制御し、最適な値を見いだすための手段である。
【0093】入力装置31は、キーボード、マウス、O
CR等の認識装置、イメージスキャナ等の図形入力装
置、音声認識装置等の特殊入力装置などにより、出力装
置32は、液晶ディスプレイ、CRTディスプレイ等の
表示装置、インクジェットプリンタ、レーザープリンタ
などの印刷装置等によりそれぞれ構成される。入出力制
御装置(入出力インタフェース)34は、これらの入力
装置31、出力装置32、あるいは図示を省略したCD
−ROM、MO、ZIPなどの記憶装置の読み取り装置
等をCPU30につなぐインタフェースである。データ
の流れから見ると、入出力制御装置34は、入力装置3
1、出力装置32、外部記憶装置の読み取り装置と一時
記憶装置(主記憶装置)33とのインタフェースとな
る。一時記憶装置(主記憶装置)33には、ROM及び
RAMが組み込まれている。ROMは、CPU30にお
いて実行されるプログラムを格納しているプログラム記
憶装置等として機能する。RAMは、CPU30におけ
るプログラム実行処理中に利用されるデータ等を一時的
に格納したり、作業領域として利用される一時的なデー
タメモリ等として機能する。集合データ記憶装置35
は、初期集団生成手段2で生成した初期集団のデータ、
適応度算出手段3で算出した初期集団の適応度のデー
タ、突然変異手段6で生成された新たな個体で構成され
る新たな集団のデータを格納するための記憶装置であ
る。選択・交叉データ記憶装置36は、選択手段4で選
択された個体のデータ、交叉手段5で生成された新たな
個体のデータ、交叉位置決定手段10で決定された位置
データ、及び交叉区間交叉手段11で交叉させ生成され
た新たな個体のデータを格納しておくための記憶装置で
ある。設定データ記憶装置37は、初期設定手段7及び
一様乱数発生手段8などで生成されたデータを格納して
おくための記憶装置である。空個体群記憶装置38は、
生成した空の個体を格納しておくための記憶装置であ
る。最適値記憶装置39は、最終的に遺伝的操作制御手
段12で、生成された最適値(解)を格納するための記
憶装置である。
【0094】尚、集合データ記憶装置35、選択・交叉
データ記憶装置36、設定データ記憶装置37、空個体
群記憶装置38、最適値記憶装置39は、CPU30の
内部に収納されていても良く、CPU30の外部記憶装
置として接続されていても良い。また、データベースサ
ーバ等を介して接続されていても良い。また、交叉手段
5は、交叉位置決定手段10及び交叉区間交叉手段11
により代替することが可能であり、図示した構造に限定
されるものではない。
【0095】次に、図2、図12及び図13を用いて、
複数の性能指標関数を同時に最適化するパラメータセッ
トの第2の探索手順について以下に説明する。第2の実
施の形態と同様に、3個の性能指標F, F, Fが与
えられ、個体数N=3の倍数として説明する。図12
は、図2のステップS105乃至S109に該当する処
理である。図13には、図12の手順を用いて選択され
た親を交叉させた場合の一例を示す。
【0096】(イ)まず、図2のステップS100で入
力データを読み込み、ステップS101において、初期
集団生成手段2を用いて、初期集団として、一様乱数を
用いてパラメータセットを持つビット列G, G,・・
・・・,GをN個生成する。そして、ステップS102
において、適応度算出手段3を用いて、各ビット列G ,
G,・・・・・,Gについて性能指標F, F, F
計算する。そして、ステップS103において、ビット
列G, G,・・・・・,G、性能指標F,F, F
パラメータセットP, P,・・・・・,Pの3つを1
つの構成要素とする、N個の要素(個体)からなる集合
Aを作成し、集合データ記憶装置35に格納する。そし
て、ステップS104において、空個体群生成手段9を
用いて、集合Aと同様の要素から成る同じサイズの空の
配列(個体)B, B,・・・・・, Bを用意する。
【0097】(ロ)次に、図12のステップS181に
おいて、空個体群生成手段9を用いて、空のビット列
(個体)G'、G'、G'を用意する。
【0098】(ハ)次に、ステップS182において、
Fに反比例した選択確率でビット列Gを、Fに比例
した選択確率でGを、Fに比例した選択確率でG
選択する。
【0099】(ニ)次に、ステップS183において、
交叉位置決定手段10を用いて、所定の方法でビット列
上の交叉位置を所定個数定める。たとえば、図13の交
叉位置a、b、cに示すように、交叉する位置を所定個
数決める。
【0100】(ホ)次に、ステップS184において、
交叉区間交叉手段11を用いて、G '、G'、G'の左
側から交叉位置までの間のビットの値としてG'にはG
の、G'にはGの、G'にはGの内容をコピーす
る。たとえば、図13(a)において、G'の左側から
交叉位置aまでの間のビットの値として、Gの左側か
ら交叉位置aまでの内容をコピーする。同様に、G'の
左側から交叉位置aまでの間のビットの値として、G
の左側から交叉位置aまでの内容をコピーする。G 'の
左側から交叉位置aまでの間のビットの値として、G
の左側から交叉位置aまでの内容をコピーする。コピー
されたデータは、選択・交叉データ記憶装置37に格納
される。
【0101】(ヘ)次に、図12のステップS185に
おいて、数列(1,2,3)の順序をランダムに並び替えて
数列(n,n,n)を用意し、ステップS186にお
いて、次の交叉位置またはビット列の最後までのG',
G', G'の値として、G , Gn2, Gn3の値をそ
れぞれコピーする。たとえば、数列(1,2,3)をランダ
ムに並び替え数列(2,3,1)になった場合、数列(n,n
,n)は、数列(2,3,1)のことを意味する。従って、
「Gn1, Gn2, Gn3」とは、「G、G、G」のこ
とを意味する。そして、図13(b)に示すように、交
叉位置交叉手段11を用いて、G'、G'、G'の交叉
位置aから交叉位置bまでの値として、G 、G、G
の交叉位置aから交叉位置bまでの値をコピーする。
【0102】(ト)次に、ステップS187において、
遺伝的操作制御手段12を用いて、ビット列の右端まで
到達したか否かを判断する。ビット列の右端まで到達し
ていない場合は、ステップS185の処理に戻る。到達
している場合は、次のステップS188において、ステ
ップS181からS187までの処理を3分のN回繰り
返したか否かを判断する。3分のN回繰り返していない
場合は、ステップS181からS187までの処理を繰
り返す。3分のN回繰り返している場合は、本発明の第
3の実施の形態に係わる選択・交叉制御処理を終了す
る。
【0103】(チ)ステップS181からS188まで
の処理において新たなビット列N個からなる集合Aを作
成した後、図2のステップS110において、母体とな
ったN個のビット列の集合Aを、新たなビット列の集合
Bで置き換える。そして、図2のステップS111にお
いて、図12のステップS181からS188までの処
理を所定回数繰り返したか否かが判断される。所定回数
繰り返されていない場合は、図12のステップS181
の処理へ戻る。所定回数繰り返されている場合は、図2
のステップS112の処理へ進む。そして、ステップS
112において、最終結果を出力しパラメータセットの
探索を終了する。
【0104】本発明の第3の実施の形態に係わる最適値
探索方法では、相反する複数の性能指標に対して、一様
に良い値となるパラメータセットを探索することができ
る。また、本発明の第3の実施の形態では、空個体群生
成手段9を用いて生成された空の個体群を用いることに
より、交叉位置において交叉区間交叉手段11により選
択した個体を交叉させることを可能にしている。
【0105】(第4の実施の形態)上述した、本発明の
第1、第2、及び第3の実施の形態で説明した突然変異
手順及び選択・交叉制御処理手順を測定データに対する
モデル関数のフィッティングに適用し、測定データとの
誤差の二乗和が最も小さくなるようにモデル関数の形状
を既定するフィッティング・パラメータを定める手順に
ついて図14乃至図17を用いて以下に示す。具体的に
は、半導体製造工程の1つであるイオン注入工程直後の
注入不純物イオンの深さ方向分布の測定データを、Pear
son4関数と呼ばれる関数の4個のフィッティング・パラ
メータ、またはdual-Pearson4と呼ばれる関数の9個の
フィッティング・パラメータを調整して測定データとの
誤差の二乗和が最も小さくなるようにする操作(パラメ
ータ抽出)に適用した場合の方法である。以下におい
て、測定データとモデル関数(フィッティング曲線)と
の差の二乗和を「残差」と言う。
【0106】図17(a)は、Si結晶にホウ素(B)
をイオン注入した場合に得られる深さ方向のホウ素の濃
度分布をリニア軸で表示した場合を示した図で、図17
(b)は、Si結晶にホウ素をイオン注入した場合に得
られる深さ方向のホウ素分布を対数軸で表示した場合を
示した図である。図17(a)及び(b)のイオン注入
の条件は、加速エネルギー1.5MeV、ドース量1×
1012cm−2、チルト角0度、ローテーション角0
度である。この条件でSi(100)基板にホウ素をイ
オン注入し、イオン注入直後(熱処理を行う前)に二次
イオン質量分析(SIMS)を用いて計測した結果を図
17(a)及び(b)の白抜きの丸印(○)で示してい
る。
【0107】図14及び図15には、図17(a)、
(b)に示すような、縦軸をリニア軸で表示した際の測
定データとフィッティング曲線との残差と、縦軸を対数
軸で表示した場合の測定データとフィッティング曲線と
の残差が共に最小になるようなモデル関数(フィッティ
ング曲線)のフィッティング・パラメータを求める手順
を示す。
【0108】(イ)まず、ステップS201において、
モデル関数(フィッティング曲線)、フィッティング・
パラメータ数M、フィッティング・パラメータ探索時の
制約条件、探索時の遺伝子個体数N、世代数上限itr_ma
x, 交配時の交叉点の数n_c、無視すべきデータ範囲など
を入力データとして読み込む。ここで、モデル関数のM
個のフィッティング・パラメータP, P,・・・・・,
Pは、図16に示すように、それぞれ「1」及び
「0」からなる数値列で表す。各パラメータは4個の
「1」と「0」で表されているが、必要に応じて個数は
増減しても良く、全てのパラメータが同じ「1」「0」
の個数で表現される必要性はない。
【0109】(ロ)次に、ステップS202において、
指定されたデータファイルを参照し、測定データとし
て、深さ方向の座標x(i)、イオン濃度(不純物濃度)y
(i)を読み込む。更に、必要に応じてデータの重みw(i)
又は測定誤差の逆数1/σ(i)を読み込む。
【0110】(ハ)次に、ステップS203において、
指定されたモデル関数のフィッティング・パラメータ探
索範囲の上限(pmin(j))、下限(pmax(j))と規格化因
子 1/(pmax(i)-pmin(i))、及び初期推定値P(J)を設定
する。尚、初期推定値は可能な場合にのみ設定する。
【0111】(ニ)次に、ステップS204において、
初期集団生成手段2を用いて、遺伝子個体数がN個、フ
ィッティング・パラメータがM個でその分離能Mbビット
の場合、乱数を用いて1又は0からなるM×Mb個のビッ
ト列からなる遺伝子個体gene(i)をN個生成し、集合デ
ータ記憶装置35に格納する。
【0112】(ホ)ステップS205において、適応度
算出手段3を用いて、遺伝子個体毎にビット列からM個
のフィッティング・パラメータP, P,・・・・・,P
の値を計算する。そして、ステップS206において
対数軸表示の場合の測定値との残差rxr_log(i)とリニア
軸表示の場合の測定値との残差rxr_lin(i)を計算し、こ
れらのデータを集合データ記憶装置35に格納する。こ
のとき、制約条件が指定されている場合には、ステップ
S207において、それを満たすか否かを判断する。制
約条件を満たしている場合には、次のステップS208
へ進み、制約条件を満たしていない場合は、ステップS
204の処理に戻り、条件を満たすまで、乱数を用いて
ビット列を作る操作を繰り返す。そして、ステップS2
08において、必要回数反復したか否かの判定用に、世
代数のカウンタI_gを0に初期化する。
【0113】(ヘ)次に、ステップS209において、
残差rxr_log(i)が最小の個体番号indx_logと残差rxr_li
n(i)が最小の個体番号indx_linを集合データ記憶装置3
5に記録する。そして、ステップS210において、遺
伝子選択に用いる表table_log(i)とtable_lin(i)を生成
する。このとき、残差rxr_log(i)の値、又は残差rxr_li
n(i)の値が小さいほど、table_log(i)-table_log(i-1)
とtable_lin(i)-table_lin(i-1)の値がそれぞれ大きく
なるように表を作る。ステップS211において、次の
世代の遺伝子を全て作り終えたかの判定をするために必
要な、生成した子のカウンタ(I_p)を0に初期化して
おく。
【0114】(ト)次に、ステップS212において、
0から遺伝子選択表table_log(M)の間の一様乱数r_log
と、0から遺伝子選択表table_lin(M)の間の一様乱数r_
linを用いてtable_log(i)<r_log<table_log(i+1)となる
添字i及びtable_lin(j)<r_lin<table_lin(j+1)となる
添字jを求める。
【0115】(チ)次に、ステップS213において、
交叉手段5を用いて、遺伝子gene(i)及びgene(j)のビッ
ト列を、n_c回交叉させて子世代の遺伝子child_gene(I_
p)、child_gene(I_p+1)を生成し、選択・交叉データ記
憶装置36に格納する。ステップS214において、図
4に示した方法で、ビット列の情報を反転させる。そし
て、ステップS215において、各ビット列のパラメー
タ値を求め、ステップS216において残差rxr_log(I_
p)、rxr_lin(I_p), rxr_log(I_p+1), 及びrxr_lin(I_p+
1)を計算し、ステップS217において生成した子のカ
ウンタ(I_p)の値を「2」増加する。
【0116】(リ)ステップS218において、生成し
た子の数(I_p)が、予め定めた探索時の遺伝子の個体
数(N)を「3」で割った値未満である場合は、ステッ
プS209の処理に戻り、更に子を生成する。生成した
子の数(I_p)が、予め定めた探索時の遺伝子の個体数
(N)を「3」で割った数よりも大きい場合は、次のス
テップS219の処理へ進む。
【0117】(ヌ)ステップS219からS224で
は、対数軸表示の場合の残差rxr_logの値にのみに注目
し、これが小さくなるような次世代の遺伝子を以下のよ
うにして合成する。まず、ステップS219において、
「0」から遺伝子選択表table_log(M)の間の新たな一様
乱数r_logを用い、table_log(i)<r_log<table_log(i+1)
となる新たに添字jを求める。
【0118】(ル)次に、ステップS220において、
交叉手段5を用いて、遺伝子gene(i)とgene(j)のビット
列を、n_c回交叉させて子世代の遺伝子child_gene(I_
p)、child_gene(I_p+1)を作り、選択・交叉データ記憶
装置36に格納する。そして、ステップS221におい
て、突然変異手段6を用いて、第1の実施の形態に示し
た方法で、ビット列の情報を反転させ、ステップS22
2において、それぞれのパラメータ値を求めて、ステッ
プS223において、残差rxr_log(I_p), rxr_lin(I_
p), rxr_lin(I_p+1)を計算する。その後、ステップS2
24において、生成した子のカウンタ(I_p)を「2」
増加する。
【0119】(ヲ)ステップS225において、生成し
た子の数(I_p)が、予め定めた探索時の遺伝子の個体
数(N)を2倍して3で割った値未満である場合は、ス
テップS219からステップS224までの処理を繰り
返す。生成した子の数(I_p)が、予め定めた探索時の
遺伝子の個体数(N)を2倍して3で割った値以上なら
ば、次のステップS226の処理へ進む。
【0120】(ワ)ステップS226からS231で
は、リニア軸表示の場合の残差rxr_linの値にのみに注
目しこれが小さくなるような次世代の遺伝子を以下のよ
うにして合成する。まず、ステップS226において、
「0」からtable_lin(M)の間の一様乱数r_linを用い、t
able_lin(i)<r_lin<table_lin(i+1)となる添字jを求め
る。
【0121】(カ)次に、ステップS227において、
遺伝子gene(i)とgene(j)のビット列を、n_c回交叉させ
て子世代の遺伝子child_gene(I_p)及びchild_gene(I_p+
1)を生成し、選択・交叉データ記憶装置36に格納す
る。そして、ステップS228において、第1の実施の
形態に示した方法で、ビット列の情報を反転させ、ステ
ップS229において、それぞれのビット列のパラメー
タ値を求める。その後、ステップS230において、残
差rxr_log(I_p), rxr_lin(I_p), rxr_log(I_p+1), rxr_
lin(I_p+1)を計算し、ステップS231において、生成
した子のカウンタ(I_p)を「2」増加する。
【0122】(ヨ)ステップS232において、遺伝的
操作制御手段12を用いて、生成した子の数(I_p)
が、予め定めた探索時の遺伝子の個体数(N)未満であ
ればステップS226からS231の処理を繰り返す。
生成した子の数(I_p)が、探索時の遺伝子の個体数
(N)より大きい場合は、次のステップS233の処理
へ進む。
【0123】(タ)ステップS233において、N個の
遺伝子gene(i)をchild_gene(i)で全てを置き換え、世代
数のカウンタI_gの値を「1」増加させる。そして、ス
テップS234において、世代数のカウンタI_gの値が
世代数の上限値itr_max未満であればステップS209
の処理に戻り、次の世代の遺伝子を作る手順を繰り返
す。世代数カウンタI_gの値が世代数の上限値itr_max以
下でない場合は、次のステップS235の処理へ進む。
【0124】(レ)次に、ステップS235において、
残差rxr_lin(i)及び残差rxr_log(i)をそれぞれ小さい順
に並べ替える。そして、ステップS236において、抽
出されたパラメータ値p(j)を指定ファイルに出力し、必
要に応じて探索した範囲pmin(j)、pmax(j)、残差、デー
タファイル名、計算時の個体数、世代数などを指定ファ
イルに出力し、最適値記憶装置39に格納する。
【0125】尚、第4の実施の形態では、次の世代の遺
伝子を作るに当たり、まず、測定値とフィッティング曲
線(モデル関数)との残差rxr_log(i)及びrxr_lin(i)の
値に着目して親を選択することを行い、その次に残差rx
r_log(i)のみに注目して親を選択し、最後にrxr_lin(i)
のみに注目して親を選択したが、この順序は本質的では
なく、任意の順に行っても同じ効果を得ることができ
る。また、探索時の遺伝子の個体数(N)について、第
4の実施の形態では特に指定はしなかったが、Nは6の
倍数であれば個体作成時の判断に剰余がでず、また、作
成された子の世代にも切り捨ての無駄が生じないので好
ましい。
【0126】第4の実施の形態に示したように、第1乃
至第3の実施の形態で示したような突然変異手法及び選
択・交叉処理制御手順を用いることにより、図17
(a)のようにリニアで表示する場合においても、図1
7(b)のように対数で表示する場合においても、良く
フィットする実験曲線を得ることができる。
【0127】第4の実施の形態における手法を用いるこ
とにより、実験曲線のフィッティング時に残差(誤差)
を最小にすることができる。また、第4の実施の形態に
おける適用手順を用いれば、一旦、モデル関数(フィッ
ティング曲線)が決まってしまうと、このモデル関数を
用いて異なる条件の下、イオン注入を行った場合どのよ
うになるのかを簡単にシミュレートすることができる。
このため、より正確なプロセスシミュレーションが可能
となる。
【0128】(半導体の製造方法)本発明の測定結果に
対するパラメータ・フィッティング方法を用いれば、異
なる条件においてイオン注入を行った場合どのような深
さ方向のプロファイルになるのかを簡単にシミュレート
することができる。従って、第4の実施の形態によって
得られたモデル関数(フィッティング曲線)を半導体集
積回路のプロセスシミュレーションに用いれば、高精度
な半導体集積回路の設計を容易に行うことができる。図
18に半導体製造工程のフロー図を示す。
【0129】(イ)まず、ステップS299a、S29
9b、S299c・・・・・の基礎実験を行う。ステッ
プS299a、S299b、S299c・・・・・の基
礎実験においては、プロジェクトの目標とする半導体集
積回路の製造に必要な低温CVD、高温CVD、エピタ
キシャル成長、真空蒸着、スパッタリング、イオン注
入、気相拡散(プレデポジション)、熱処理、・・・・
・等の工程のうち、新たな条件出しが必要なプロセスが
選択され、種々の成膜構造、金属半導体接合、絶縁膜半
導体接合、ヘテロ接合、pn接合等が形成される。そし
て、これらのステップS299の基礎実験で作成された
種々の基板内プロファイル、界面構造若しくは表面構造
に対して、不純物プロファイル測定、結晶欠陥測定、放
射線損傷測定、電気的特性測定、磁気的特性測定等がな
される。これらの測定は、IR吸収測定、ラマン散乱測
定、走査型トンネル顕微鏡測定、2次イオン質量分析
(SIMS)、オージェ電子分光(AES)、ラザフォ
ード後方散乱(RBS)等を用いて実行する。そして、
ステップS300においては、第1から第4の実施の形
態で説明した最適値探索装置1を用いて、パラメータを
探索し、最適なモデル関数(フィッティング曲線)を決
定する。
【0130】(ロ)次に、ステップS300によって得
られたモデル関数を用いて、ステップS301におい
て、プロセスシミュレーションが実行される。ステップ
S301のプロセスシミュレーションによって半導体集
積回路を構成するための半導体基板中の不純物や欠陥の
分布、或いは、その表面の半導体集積回路の構造パラメ
ータが決定される。更に、これらの不純物分布や形状に
対応した各製造工程のプロセス条件が決定される。これ
らの不純物や欠陥の分布、或いは、構造パラメータは、
デバイスシミュレータに入力される。
【0131】(ハ)ステップS302におけるデバイス
シミュレーションを行う際には、プロセスシミュレーシ
ョンで得られた素子構造と不純物分布等の結果と同時
に、印加電圧、電流などの電気的な境界条件を与えるた
めの入力データ等が加えられる。そして、ステップS3
02におけるデバイスシミュレーションにより、電流電
圧特性等の半導体集積回路を構成するデバイスの電気的
特性(デバイス特性)が得られる。更に、ステップS3
04において、回路シミュレータは、デバイスシミュレ
ーションから得られた電気的特性を基に、回路シミュレ
ーションを実行する。
【0132】(ニ)次に、ステップS305において、
ステップS302のデバイスシミュレーション又はステ
ップS304の回路シミュレーションにより、得られた
電気的特性や回路特性が作ろうとしている所望の半導体
集積回路の電気的特性や回路特性になるかどうかを評価
・検討する。所望の電気的特性や回路特性であれば、実
際の半導体集積回路の製造工程に取りかかる。
【0133】(ホ)すなわち、ステップS305の評価
により、所望の半導体集積回路の電気的特性や回路特性
であれば、ステップS306において、実際の半導体集
積回路の製造工程に取りかかる。ステップS306にお
いては、まず、ステップS301のプロセスシミュレー
ションで得られた形状を基礎としてフォトリソグラフィ
工程用のマスク(レティクル)を製造する。そして、こ
のレティクルをステッパーにセットしてフォトリソグラ
フィ工程を行い選択的な熱拡散やイオン注入工程等を実
施し、半導体基板に対し、不純物をドーピングする。熱
拡散の温度、時間、イオン注入の加速エネルギー、ドー
ズ量は、ステップS301で決定されたプロセスシミュ
レーションの結果に従って決められる。更に、フォトリ
ソグラフィ工程や、ドライエッチング工程等の形状加工
工程で半導体基板やその表面の薄膜の加工等を行う。更
に、エピタキシャル成長、CVD、真空蒸着、スパッタ
リング等の成膜工程等を含んでも良い。これらの各プロ
セスの条件は、ステップS301のプロセスシミュレー
ションの結果によって既定される。もし、ステップS3
05の評価により、所望の特性にならないときには、考
えた製造工程では作りたい素子は作れないので、製造工
程の条件を変更し、工程の順番など手順そのものを変更
し再度、ステップS301、若しくは ステップS30
2に戻る。ステップS301に戻った場合は、更にこの
ステップS301のプロセスシミュレーションの結果を
入力データとして、ステップS302のデバイスシミュ
レーション、ステップS304の回路シミュレーション
を行なう。更に、ステップS306においては、実際の
半導体集積回路の製造工程の結果得られた現実の半導体
集積回路の特性を測定する。
【0134】(ヘ)そして、ステップS307におい
て、ステップS306において測定された半導体集積回
路の特性が当初の要求仕様を満足するか否か評価する。
この評価により実際に製造された半導体集積回路の特性
が要求仕様を満足しなければ、ステップS308におい
て設計変更がなされ、ステップS301に戻り、再度プ
ロセスシミュレーションを行なう。そして、このプロセ
スシミュレーションの結果を入力データとして、ステッ
プS302のデバイスシミュレーション、ステップS3
04の回路シミュレーションを行なうという一連の手順
からなるループが繰り返される。
【0135】LSI等の半導体集積回路の分野では、研
究(設計)から開発までの期間の短さを競っている。こ
のような半導体産業における競争の現実を考慮すれば、
半導体集積回路の解析やシミュレーション期間はなるべ
く短期、且つ正確に行なわなければならない。図18に
示す適用手順を用いれば、第4の実施の形態において見
いだした最適なモデル関数(フィッティング曲線)を用
いたシミュレーションを行うため、新たな条件出しが必
要な製造プロセスを正確にシミュレーションできる。こ
のため、高精度な半導体集積回路の解析及び回路シミュ
レーションが必要な複雑な半導体集積回路の研究(設
計)から開発までのループの周期が飛躍的に短縮され、
工業的利益およびその重要性は極めて高い。
【0136】上記のように、本発明は第1乃至第4の実
施の形態によって記載したが、この開示の一部をなす論
述及び図面は、この発明を限定するものであると理解す
べきではない。この開示から当業者には様々な代替実施
の形態、実施例及び運用技術が明らかとなろう。
【0137】本発明はここでは記載していない様々な実
施の形態等を包含するということを理解すべきである。
したがって、本発明はこの開示から妥当な特許請求の範
囲に係わる発明特定事項によってのみ限定されるもので
ある。
【0138】
【発明の効果】本発明によれば、書き換え前のビット列
が表すパラメータ空間での位置に対し、書き換え後の位
置が大きく移動する割合を低下させることができ、少な
い反復回数で全パラメータを真の解に到達させ、効率的
なパラメータ探索を実現することができる。
【0139】本発明によれば、相反する複数の性能指標
に対して妥協的な値となるパラメータセットを探索し、
最適解を得ることができる。
【0140】本発明によれば、実験結果に対するモデル
関数のフィッティングを従来に比べ短い時間で、自動的
に探索することができる。
【図面の簡単な説明】
【図1】本発明における最適値探索装置の構成図であ
る。
【図2】本発明に係わる遺伝的アルゴリズム全体を示し
たフローチャートである。
【図3】本発明の実施の形態に係わる探索空間における
個体の適応度をプロットした適応度地形を示した図であ
る。
【図4】本発明の第1の実施の形態に係わる遺伝子型
(個体)の一例である。
【図5】本発明の第1の実施の形態に係わる重み付けの
方法のフローチャートである。
【図6】図6(a)は、本発明の第1の実施の形態に係
わる方法を用いた際のパラメータ値の推移を示す。図6
(b)は、従来の方法で最適値を探索した際のパラメー
タ値の推移を示す。
【図7】本発明の第2の実施の形態に係わる最適値探索
装置の構成図である。
【図8】本発明の第2の実施の形態に係わる最適値探索
方法の交叉方法のフローチャートである。
【図9】本発明の第2の実施の形態における最適値探索
方法の交叉方法の一例を示した図である。
【図10】図10(a)は、本発明の第2の実施の形態
に係わる複数の性能指標を示した図である。図10
(b)は、本発明の第2の実施の形態に係わる最適値探
索方法を用いて複数の性能指標を同時に最適化した場合
の一例を示した図である。
【図11】本発明の第3の実施の形態に係わる最適値探
索装置の構成図である。
【図12】本発明の第3の実施の形態に係わる最適値探
索方法の交叉方法のフローチャートである。
【図13】本発明の第3の実施の形態に係わる最適値探
索方法の交叉方法の一例を示した図である。
【図14】本発明の第4の実施の形態に係わるパラメー
タ・フィッティング方法のフローチャート(その1)で
ある。
【図15】本発明の第4の実施の形態に係わるパラメー
タ・フィッティング方法のフローチャート(その2)で
ある。
【図16】本発明の第4の実施の形態に係わる個体の一
例を示した図である。
【図17】図17(a)は、本発明の第4の実施の形態
に係わる方法を用いた場合の、不純物の濃度をリニア軸
で表示した図である。図17(b)は、本発明の第4の
実施の形態に係わる方法を用いた場合の、不純物の濃度
を対数軸で表示した図である。
【図18】本発明の第4の実施の形態に係わるパラメー
タ・フィッティング方法を用いた半導体装置の製造方法
のフローチャートである。
【符号の説明】
1 最適値探索装置 2 初期集団生成手段 3 適応度算出手段 4 選択手段 5 交叉手段 6 突然変異手段 7 初期設定手段 8 一様乱数発生手段 9 空個体群生成手段 10 交叉位置決定手段 11 交叉区間交叉手段 12 遺伝的操作制御手段 31 入力装置 32 出力装置 33 一時記憶装置 34 入出力制御装置 35 集合データ記憶装置 36 選択・交叉データ記憶装置 37 設定データ記憶装置 38 空個体群記憶装置 39 最適値記憶装置 40 適応度地形 41 探索空間 42 最適値 43 理想的な探索範囲 44 局所解 45 遺伝子型 46 上位ビット 47 下位ビット 50 個体

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 ビット表現された複数のパラメータの配
    列をビット列として定義し、該ビット列の要素にランダ
    ムな値を設定した複数のビット列の集合を生成する初期
    集団生成手段と、 前記集合を構成するビット列の適応度を算出する適応度
    算出手段と、 前記適応度に基づきビット列を選択する選択手段と、 前記ビット列の要素の一部を交換し新たなビット列を生
    成する交叉手段と、 前記ビット列中のビット位置に依存した突然変異率で前
    記ビット位置のビット内容を変更する突然変異手段とを
    含むことを特徴とする最適値探索装置。
  2. 【請求項2】 ビット表現された複数のパラメータの配
    列をビット列として定義し、該ビット列の要素にランダ
    ムな値を設定した複数のビット列の集合を生成する初期
    集団生成手段と、 前記集合を構成するビット列の適応度を算出する適応度
    算出手段と、 空のビット列を生成する空個体群生成手段と、 前記適応度に基づきビット列を選択する選択手段と、 前記ビット列の要素の一部を交換し新たなビット列を生
    成する交叉手段とを含むことを特徴とする最適値探索装
    置。
  3. 【請求項3】 ビット表現された複数のパラメータの配
    列をビット列として定義し、該ビット列の要素にランダ
    ムな値を設定した複数のビット列の集合を生成する初期
    集団生成手段と、 前記集合を構成するビット列の適応度を算出する適応度
    算出手段と、 空のビット列を生成する空個体群生成手段と、 前記適応度に基づきビット列を選択する選択手段と、 前記ビット列における交叉位置、交叉区間を決定する交
    叉位置決定手段と、 前記ビット列の要素の一部を交叉区間毎に前記空のビッ
    ト列の対応する交叉区間にコピーし新たなビット列を生
    成する交叉区間交叉手段とを含むことを特徴とする最適
    値探索装置。
  4. 【請求項4】 ビット表現された複数の物理・化学的パ
    ラメータの配列をビット列として定義し、該ビット列の
    各要素にランダムな値を設定したビット列を複数個生成
    するステップと、 物理・化学現象の最適値を既定する前記物理・化学的パ
    ラメータに適応した性能指標を抽出するステップと、 前記性能指標を用いて複数個のビット列を選択するステ
    ップと、 前記選択されたビット列の対応するビット位置の要素を
    交換し新たなビット列を生成するステップと、 該新たなビット列の要素を上位ビットよりも下位ビット
    の方が高い確率となるように変更し、突然変異処理を行
    うステップとを含み、 複数の物理・化学的パラメータの中から最適値を自動的
    に探索することを特徴とする最適値探索方法。
  5. 【請求項5】 前記突然変異処理を行うステップは、 重み付け公比、突然変異率、及び対象ビット位置を設定
    するステップと、 一様乱数を発生するステップと、 前記一様乱数が前記突然変異率よりも小さい場合に、前
    記新たなビット列における対象ビット位置のビット内容
    を変更するステップと、 前記突然変異率と前記重み付け公比との積を新たな突然
    変異率として設定するステップとを少なくとも含むこと
    を特徴とする請求項4記載の最適値探索方法。
  6. 【請求項6】 ビット表現された複数の物理・化学的パ
    ラメータの配列をビット列として定義し、該ビット列の
    各要素にランダムな値を設定したビット列を複数個生成
    するステップと、 物理・化学現象の最適値を既定する前記複数の物理・化
    学パラメータにそれぞれ適応した第1、第2の性能指標
    を抽出するステップと、 前記第1の性能指標に対応した選択確率で第1のビット
    列を選択するステップと、 前記第2の性能指標に対応した選択確率で第2のビット
    列を選択するステップと、 前記第1の性能指標に対応した選択確率で第3、第4の
    ビット列を選択するステップと、 前記第2の性能指標に対応した選択確率で第5、第6の
    ビット列を選択するステップと、 前記第1と前記第2のビット列、前記第3と前記第4の
    ビット列、前記第5と前記第6のビット列の要素の一部
    を交換し、新たなビット列を生成するステップとを含
    み、 複数の性能指標に対応した最適値を自動的に探索するこ
    とを特徴とする最適値探索方法。
  7. 【請求項7】 ビット表現された複数の物理・化学的パ
    ラメータの配列をビット列として定義し、該ビット列の
    各要素にランダムな値を設定したビット列を複数個生成
    するステップと、 物理・化学現象の最適値を既定する前記複数の物理・化
    学パラメータにそれぞれ適応した第1乃至第n(nは2
    以上の整数)の性能指標を算出するステップと、 複数の空のビット列を生成するステップと、 前記第1乃至第nの性能指標に対応した選択確率でそれ
    ぞれ第1乃至第nのビット列を選択するステップと、 前記ビット列における交叉位置、交叉区間を決定するス
    テップと、 第1の交叉区間に係わる第1乃至第nのビット列の内容
    を順に前記複数の空のビット列の第1の交叉区間にコピ
    ーするステップと、 第1乃至第nのビット列の内容をランダムに入れ替える
    ステップと、 入れ替えた第1乃至第nのビット列の第2の交叉区間の
    内容を順に前記複数の空のビット列の第2の交叉区間に
    コピーするステップとを含み、 複数の性能指標に対応した最適値を自動的に探索するこ
    とを特徴とする最適値探索方法。
  8. 【請求項8】 初期集団生成手段、適応度算出手段、選
    択手段、交叉手段、突然変異手段、初期設定手段を含む
    とともに、集合データ記憶装置、選択・交叉データ記憶
    装置、設定データ記憶装置、最適値記憶装置に接続され
    た最適値探索装置を制御するためのプログラムであっ
    て、 ビット表現された複数の物理・化学的パラメータの配列
    をビット列として定義し、該ビット列の各要素にランダ
    ムな値を設定したビット列を複数個生成する命令と、 物理・化学現象の最適値を既定する前記物理・化学的パ
    ラメータに適応した性能指標を抽出する命令と、 前記性能指標を用いて複数個のビット列を選択する命令
    と、 前記選択されたビット列の対応するビット位置の要素を
    交換し新たなビット列を生成する命令と、 該新たなビット列の要素を上位ビットよりも下位ビット
    の方が高い確率となるように変更し、突然変異処理を行
    う命令とを含み、 複数の物理・化学的パラメータの中から最適値を自動的
    に探索することを特徴とする最適値探索プログラム。
  9. 【請求項9】 前記突然変異処理を行う命令は、 重み付け公比、突然変異率、及び対象ビット位置を設定
    する命令と、 一様乱数を発生する命令と、 前記一様乱数が前記突然変異率よりも小さい場合に、前
    記新たなビット列における対象ビット位置のビット内容
    を変更する命令と、 前記突然変異率と前記重み付け公比との積を新たな突然
    変異率として設定する命令とを少なくとも含むことを特
    徴とする請求項8記載の最適値探索プログラム。
  10. 【請求項10】 初期集団生成手段、適応度算出手段、
    選択手段、交叉手段、突然変異手段、初期設定手段を含
    むとともに、集合データ記憶装置、選択・交叉データ記
    憶装置、設定データ記憶装置、最適値記憶装置に接続さ
    れた最適値探索装置を制御するためのプログラムであっ
    て、 ビット表現された複数の物理・化学的パラメータの配列
    をビット列として定義し、該ビット列の各要素にランダ
    ムな値を設定したビット列を複数個生成する命令と、 物理・化学現象の最適値を既定する前記複数の物理・化
    学パラメータにそれぞれ適応した第1、第2の性能指標
    を抽出する命令と、 前記第1の性能指標に対応した選択確率で第1のビット
    列を選択する命令と、 前記第2の性能指標に対応した選択確率で第2のビット
    列を選択する命令と、 前記第1の性能指標に対応した選択確率で第3、第4の
    ビット列を選択する命令と、 前記第2の性能指標に対応した選択確率で第5、第6の
    ビット列を選択する命令と、 前記第1と前記第2のビット列、前記第3と前記第4の
    ビット列、前記第5と前記第6のビット列の要素の一部
    を交換し、新たなビット列を生成する命令とを含み、 複数の性能指標に対応した最適値を自動的に探索するこ
    とを特徴とする最適値探索プログラム。
  11. 【請求項11】 初期集団生成手段、適応度算出手段、
    選択手段、突然変異手段、初期設定手段、空個体群生成
    手段、交叉位置決定手段、交叉区間交叉手段を含むとと
    もに、集合データ記憶装置、選択・交叉データ記憶装
    置、設定データ記憶装置、空個体群記憶装置、最適値記
    憶装置に接続された最適値探索装置を制御するためのプ
    ログラムであって、 ビット表現された複数の物理・化学的パラメータの配列
    をビット列として定義し、該ビット列の各要素にランダ
    ムな値を設定したビット列を複数個生成する命令と、 物理・化学現象の最適値を既定する前記複数の物理・化
    学パラメータにそれぞれ適応した第1乃至第n(nは2
    以上の整数)の性能指標を算出する命令と、 複数の空のビット列を生成する命令と、 前記第1乃至第nの性能指標に対応した選択確率でそれ
    ぞれ第1乃至第nのビット列を選択する命令と、 前記ビット列における交叉位置、交叉区間を決定する命
    令と、 第1の交叉区間に係わる第1乃至第nのビット列の内容
    を順に前記複数の空のビット列の第1の交叉区間にコピ
    ーする命令と、 第1乃至第nのビット列の内容をランダムに入れ替える
    命令と、 入れ替えた第1乃至第nのビット列の第2の交叉区間の
    内容を順に前記複数の空のビット列の第2の交叉区間に
    コピーする命令とを含み、 複数の性能指標に対応した最適値を自動的に探索するこ
    とを特徴とする最適値探索プログラム。
  12. 【請求項12】 被加工材料に対して物理的もしくは化
    学的処理を実施する工程と、 前記物理的もしくは化学的処理の結果を測定する工程
    と、 請求項4、請求項6、又は請求項7の最適値探索方法の
    いずれか1つを用いて、前記測定により得られた測定デ
    ータを読み込み、前記測定データに対応したパラメータ
    の値を設定し、複数の前記パラメータの配列をビット列
    として定義し、該ビット列の要素にランダムな値を設定
    した複数のビット列の集合を生成し、前記パラメータの
    値を計算し、前記測定データとモデル関数との差の二乗
    和を計算し、複数の前記ビット列を選択し、前記ビット
    列の要素の一部を交換し新たなビット列を生成すること
    を含む遺伝的操作制御工程とから少なくとも構成され、 前記測定データと前記モデル関数の差を最小とするよう
    に前記モデル関数を前記測定データにフィッティングす
    ることを特徴とするパラメータ・フィッティング方法。
  13. 【請求項13】 被加工材料に対して物理的もしくは化
    学的処理を実施する工程と、 前記物理的もしくは化学的処理の結果を測定する工程
    と、 請求項4、請求項6、又は請求項7の最適値探索方法の
    いずれか1つを用いて、前記測定により得られた測定デ
    ータを読み込み、前記測定データに対応したパラメータ
    の値を設定し、複数の前記パラメータの配列をビット列
    として定義し、該ビット列の要素にランダムな値を設定
    した複数のビット列の集合を生成し、前記パラメータの
    値を計算し、前記測定データとモデル関数との差の二乗
    和を計算し、複数の前記ビット列を選択し、前記ビット
    列の要素の一部を交換し新たなビット列を生成すること
    により、前記測定データにフィッティングするモデル関
    数を決定する工程と、 該モデル関数を用いてプロセスシミュレーションを行い
    不純物分布及び形状の少なくとも一方に対応する各製造
    工程におけるプロセス条件を決定する工程と、 前記プロセス条件に基づいて、複数の製造工程の一連の
    組み合わせからなる基板工程を半導体基板に対して実施
    する工程とを少なくとも含むことを特徴とする半導体装
    置の製造方法。
JP2001276325A 2001-09-12 2001-09-12 最適値探索装置、最適値探索方法、最適値探索プログラム、パラメータ・フィッティング方法及び半導体装置の製造方法 Pending JP2003085526A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001276325A JP2003085526A (ja) 2001-09-12 2001-09-12 最適値探索装置、最適値探索方法、最適値探索プログラム、パラメータ・フィッティング方法及び半導体装置の製造方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001276325A JP2003085526A (ja) 2001-09-12 2001-09-12 最適値探索装置、最適値探索方法、最適値探索プログラム、パラメータ・フィッティング方法及び半導体装置の製造方法

Publications (1)

Publication Number Publication Date
JP2003085526A true JP2003085526A (ja) 2003-03-20

Family

ID=19101045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001276325A Pending JP2003085526A (ja) 2001-09-12 2001-09-12 最適値探索装置、最適値探索方法、最適値探索プログラム、パラメータ・フィッティング方法及び半導体装置の製造方法

Country Status (1)

Country Link
JP (1) JP2003085526A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005008580A1 (ja) * 2003-07-16 2005-01-27 Evolvable Systems Research Institute Inc. パラメータ調整装置
JP2005172830A (ja) * 2003-12-12 2005-06-30 Timbre Technologies Inc 集積回路構造のプロファイルを決定する方法及びシステム又はコンピュータ読取可能な記録媒体
JP2007121057A (ja) * 2005-10-27 2007-05-17 Dainippon Printing Co Ltd 微細マイクロレンズアレイの形状測定方法
JP2008547201A (ja) * 2005-06-16 2008-12-25 エリコン ユーエスエイ、インコーポレイテッド 進化アルゴリズムを用いる工程変化検出
US8836315B2 (en) 2011-09-02 2014-09-16 Kabushiki Kaisha Toshiba Resistance signal generating circuit with n temperature characteristic adjusting elements
JP2018173942A (ja) * 2017-03-31 2018-11-08 京セラドキュメントソリューションズ株式会社 進化的アプローチにより最適化ドライバー設定を算出する情報処理装置、情報処理方法、及びプログラム
WO2022176576A1 (ja) * 2021-02-22 2022-08-25 株式会社Sumco 加工条件設定装置、加工条件設定方法、及びウェーハの製造システム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005008580A1 (ja) * 2003-07-16 2005-01-27 Evolvable Systems Research Institute Inc. パラメータ調整装置
US7580904B2 (en) 2003-07-16 2009-08-25 Evolvable Systems Research Institute Inc. Parameter adjuster
JP2005172830A (ja) * 2003-12-12 2005-06-30 Timbre Technologies Inc 集積回路構造のプロファイルを決定する方法及びシステム又はコンピュータ読取可能な記録媒体
JP2008547201A (ja) * 2005-06-16 2008-12-25 エリコン ユーエスエイ、インコーポレイテッド 進化アルゴリズムを用いる工程変化検出
JP2007121057A (ja) * 2005-10-27 2007-05-17 Dainippon Printing Co Ltd 微細マイクロレンズアレイの形状測定方法
JP4674859B2 (ja) * 2005-10-27 2011-04-20 大日本印刷株式会社 微細マイクロレンズアレイの形状測定方法
US8836315B2 (en) 2011-09-02 2014-09-16 Kabushiki Kaisha Toshiba Resistance signal generating circuit with n temperature characteristic adjusting elements
JP2018173942A (ja) * 2017-03-31 2018-11-08 京セラドキュメントソリューションズ株式会社 進化的アプローチにより最適化ドライバー設定を算出する情報処理装置、情報処理方法、及びプログラム
JP7052408B2 (ja) 2017-03-31 2022-04-12 京セラドキュメントソリューションズ株式会社 進化的アプローチにより最適化ドライバー設定を算出する情報処理装置、情報処理方法、及びプログラム
WO2022176576A1 (ja) * 2021-02-22 2022-08-25 株式会社Sumco 加工条件設定装置、加工条件設定方法、及びウェーハの製造システム
TWI801142B (zh) * 2021-02-22 2023-05-01 日商Sumco股份有限公司 加工條件設定裝置、加工條件設定方法及晶圓製造系統

Similar Documents

Publication Publication Date Title
Ahvanooey et al. A survey of genetic programming and its applications
Ali et al. Population set-based global optimization algorithms: some modifications and numerical studies
Nyathi et al. Comparison of a genetic algorithm to grammatical evolution for automated design of genetic programming classification algorithms
Srinivas et al. Genetic algorithms: A survey
Ronald Robust encodings in genetic algorithms: A survey of encoding issues
Jensen Topological structural design using genetic algorithms
WO2006111820A2 (en) Pipeline optimizer system
CN111832101A (zh) 一种水泥强度预测模型的构建方法及水泥强度预测方法
Idais et al. Optimal knots allocation in the cubic and bicubic spline interpolation problems
JP2003085526A (ja) 最適値探索装置、最適値探索方法、最適値探索プログラム、パラメータ・フィッティング方法及び半導体装置の製造方法
JP2003248810A (ja) 遺伝的最適化プロセスにおける増殖のための方法およびシステム
CN110879778B (zh) 一种新的动态反馈和改进型补丁评价的软件自动修复方法
Ambjorn et al. Topology induced first-order phase transitions in lattice quantum gravity
CN116452373A (zh) 基于多目标遗传算法的街区建筑体量智能生成方法与系统
CN116010291A (zh) 基于均衡优化理论与灰色预测模型的多路径覆盖测试方法
CN115543803A (zh) 基于改进遗传算法的软件测试用例智能生成方法及系统
Wilson et al. Reducing graphic conflict in scale reduced maps using a genetic algorithm
CN114219605A (zh) 一种风控方法、装置及存储介质
KR102103578B1 (ko) 몬테카를로 유전자 알고리즘을 사용한 포트폴리오 자산 선택방법
van Dijk Genetic algorithms for map labeling
JP2022106186A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
Wuensche Discrete Dynamics Lab: Tools for investigating cellular automata and discrete dynamical networks
CN112765893A (zh) 基于遗传算法的掩模侧壁角控制方法、系统、设备及介质
Li Numerical methodologies for topology optimization of electromagnetic devices
CN112446400A (zh) 基于遗传MinmaxK均值的可变长编码聚类方法