Genetic-algorithms-fitness-function

提供:Dev Guides
移動先:案内検索

遺伝的アルゴリズム-フィットネス関数

単純に定義された適応度関数は、問題の*候補解を入力として、出力として*検討中の問題に対する解の「適合度」を生成する関数です。

フィットネス値の計算はGAで繰り返し実行されるため、十分に高速である必要があります。 フィットネス値の計算が遅いと、GAに悪影響を及ぼし、例外的に遅くなる可能性があります。

ほとんどの場合、適応度関数と目的関数は、目的が与えられた目的関数を最大化または最小化することと同じです。 ただし、複数の目的と制約を持つより複雑な問題の場合、*アルゴリズムデザイナー*は異なるフィットネス関数を選択する場合があります。

フィットネス関数は、次の特性を持っている必要があります-

  • フィットネス関数は、計算するのに十分に高速でなければなりません。
  • 特定のソリューションがどの程度適合しているか、または特定のソリューションから個人がどれだけ適合できるかを定量的に測定する必要があります。

場合によっては、当面の問題の固有の複雑さのために、フィットネス関数を直接計算することができない場合があります。 そのような場合、ニーズに合わせて適合度近似を行います。

次の画像は、0/1ナップザックの解のフィットネス計算を示しています。 これは、ピックされているアイテム(1のあるアイテム)の利益値を合計し、ナップザックがいっぱいになるまで要素を左から右にスキャンする単純なフィットネス関数です。

バイナリ表現