遺伝的アルゴリズムの実現方法


ここでは遺伝的アルゴリズム(GA: Genetic Algorithms)を実現する方法,すなわち実際の問題に適用する方法について,主として最適問題を想定して,述べます.GAの実現は大別してつぎのステップを踏んで行われます. 以下,上記について節を改めて説明する.

全体方式の決定

GAの最大の特長は対象とするものを遺伝子で表現でき,それに従って適合値を計算できれば,いかなる問題も解くことができることである.数値計画法のように問題種類ごとにアルゴリズムを考える必要がない.その意味で汎用性のある手法といえる.しかし,一方こうして得られた解が最適であるとの保証はなく,多くの場合準最適値となる点は承知しておく必要があるが,実用的な問題では必ずしも最適値ではなくてもそれに近い解が得られれば十分な場合が多い.またGAの行う探索はランダム探索の一種であり,広帯域の探索を行うので極値解を抜け出ることができる優れた点を持っている.
GAの基本的な考えは適合値を指標にしてこれを最大にする方向に遺伝子を進化させることにある.従って,プログラムの基本的な部分は適合値を入力として最適な遺伝子を出力とするように作られる.この部分は対象とするシステムには直接関係しないので,標準プログラムとしてパッケージ化が可能であり,そのようなパッケージがパブリックドメインソフトとして流通している.一方,遺伝子が与えられてその適合値を求める部分は対象システムに直接関係するので,対象ごとにプログラムを作成する必要がある.従って多くの場合,図に示すように標準のパッケージソフトと個別の対象システムごとに作成した適合値計算ソフトと組合わせて全体システムを作成する方法を採用する場合が多い. GAのパッケージソフトについては別に GA用ツール にて説明している. この他,得られた結果のグラフィックによる表示プログラムなどは個別に作成する必要がある. もちろん全てのプログラムを一体として作成する場合もある.
To top of page

遺伝子表現の決定

GAを適用する際に決めねばならないことがいくつかあるが,その中でも最も基本的なものがこの遺伝子表現である.GAは人工物なので生物と異なり各種の表し方があるが, その中でも代表的なものがつぎの2つである. 上記が代表的な表現方法であるが,この他に多くの表現方法が用いられている. その中でいくつか挙げるとつぎのものがある. 対象を遺伝子に表現する方法はひとつではなく,複数考えられる場合が多い.その場合にどれを採用するかは以下の点を考慮して決めるのがよい.
To top of page

適合値計算方法の決定

適合値の計算方法は適用する問題により大きく変わってくる.例えばセールスマン巡回問題では適合値は都市間の巡回距離の合計が使用されるので その計算は簡単であるが,シート材の最適切断で順序数表現を使用した場合は 所要のシートの長さを適合値に採用しているが,順序数で表した並べ方の順番から シートの長さを求めるにはかなり複雑な処理を必要とする. 従って,このような適合値の計算アルゴリズムが求まれば問題の大半が解けたと言っても過言ではない.この方法は問題によって大きく異なってくるので,具体的な問題の取り扱いを通して学ぶより他に方法はない.しかし,例えば最適問題を解く際にそのための アルゴリズムを考え出すのに比べて適合値の計算アルゴリズムを求めるのは一般に 容易であり,このことがGAの特長になっている.
なお,適合値は必ずしも計算でのみ求める必要はなく,例えば人間の感性を問題にする場合には人間の感性により与える方法もある.
制約条件付き最適化問題或いは多目的最適化問題などでは,それを処理する方法として 適合値の計算でつぎの扱いをすることが多い.
To top of page

遺伝的オペレータの決定

GAを適用するに際してこれまで述べてきたほかに各種のものを決める必要がある. その主なものを簡単に述べる.
To top of page

パラメータ値の決定

GAを適用する際にはつぎに述べる各種パラーメータ値を決める必要がある. 一般にこれらの値は理論的に定めることが難しく,多くの場合は類似のシステムから推定される適当値を最初に与え,シミュレーションを通じて最適値を見つけ出す方法を用いる場合が多い.
To top of page

その他

以上に述べた他につぎの事項を検討する必要がある.
To top of page
小野 俊彦 (Toshihiko Ono)