進化計算(しんかけいさん、Evolutionary Computation)は、生物進化のメカニズムに基づいて、最適化問題を解決するためのアルゴリズムの総称です。進化計算は主に以下の3つの手法から成り立っています。

  1. 遺伝的アルゴリズム(Genetic Algorithm, GA)
  2. 進化戦略(Evolution Strategy, ES)
  3. 差分進化(Differential Evolution, DE)

これらの手法は、それぞれ異なる特徴を持ち、多様な最適化問題に適用可能です。

一般的な進化計算の手順は以下のようになります。

  1. 遺伝子表現の定義:最適化対象の問題に適した形式の遺伝子表現を定義します。例えば、数値最適化の場合は実数値ベクトル、組合せ最適化の場合はビット列などが用いられます。
  2. 初期個体群の生成:遺伝子表現に基づいて、ランダムに初期個体群を生成します。
  3. 適応度の評価:各個体の適応度(評価関数の値)を算出します。
  4. 親個体の選択:適応度に基づいて、親個体を選択します。
  5. 交叉・突然変異:親個体を元に、交叉や突然変異を行い、新しい子個体を生成します。
  6. 子個体の適応度の評価:新しい子個体の適応度を評価します。
  7. 生存個体の選択:子個体と親個体を合わせて、生存個体を選択します。
  8. 収束判定:解が収束したかどうかを判定します。もし収束していなければ、3から7を繰り返します。

進化計算は、最適化問題だけでなく、機械学習・深層学習などの分野でも利用されています。また、並列計算にも適しており、高速化が可能です。

進化計算の応用例としては、自動車の形状最適化、ロボットの歩行制御、画像解析、金融商品の最適化などがあります。進化計算は、複雑な最適化問題において、従来の最適化手法では解決困難な問題を解決するために有用な手法です。

リンク

Evolutionary Computation[EN]