コンテンツにスキップ

進化的アルゴリズム

出典: フリー百科事典『ウィキペディア(Wikipedia)』

進化的アルゴリズム(しんかてきアルゴリズム、evolutionary algorithmEAと略記)は進化的計算の一分野を意味し、人工知能の一部である。個体群ベースのメタヒューリスティック最適化アルゴリズムの総称である。そのメカニズムとして生殖突然変異遺伝子組み換え自然淘汰適者生存といった進化の仕組みに着想を得たアルゴリズムを用いる。最適化問題の解の候補群が生物の個体群の役割を果たし、コスト関数によってどの解が生き残るかを決定する。それが繰り返された後、個体群の進化が行われる。

EAの例を以下に示す。これらの技法は本質的には同様だが、実装の詳細は異なっており、適用される問題の分野が異なる。

遺伝的アルゴリズム
これは EA の中でも最も一般的な手法である。問題の解を探索するにあたって数値の列を使用し(2進数を使うのが古典的だが、解決すべき問題に合わせて最適な形式が選択され、2進数になるとは限らない)、選択と変異に加えて事実上常に組み換えオペレータを適用する。
遺伝的プログラミング
基本は遺伝的アルゴリズムと同じだが、解は木構造の形式で表し数式やプログラムコードを表現する。適応度関数はその計算能力などで評価する。
進化戦略
実数のベクトルで解を表し、探索を行うと同時に自己変異用のパラメータも更新していく。
進化的プログラミング
解の適応度関数に集団中におけるその解の優位性を表した確率的な関数を用いる。

これらは適応度地形にいかなる仮定も持たないので、進化的アルゴリズムがあらゆるタイプの問題でうまく機能すると信じられている(ただし、ノーフリーランチ定理に注意)。このことは、工学芸術生物学経済学(進化経済学)、遺伝学オペレーションズリサーチロボット工学社会科学物理学化学などの分野で成功を収めていることで裏付けられている。

数学的なオプティマイザとしての使用法は別として、進化的計算とアルゴリズムは進化自然淘汰の仮説の正当性を実験検証するのにも使われてきた。特に人工生命の分野がそれである。進化的アルゴリズムの手法は生物の進化モデルに適用する際には一般に小進化に限定される。もっとも、TierraAvidaのようなコンピュータシミュレーションは大進化のモデル化を意図している。

進化的アルゴリズムの制限として、遺伝子型表現型の区別が不明確という点が挙げられる。実際、受精した卵細胞は胚発生という複雑なプロセスを経て円熟した表現型になる。この間接的エンコーディングによって、間違った突然変異を低減させるなどの遺伝の頑強化がなされていると考えられ、有機体の進化可能性も改善される。人工胚発生や人工発生システムの研究では、これらの懸念への対処が最近の仕事となっている。

関連技術

[編集]

関連項目

[編集]

外部リンク

[編集]