Genetic-algorithms-effective-implementation

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

効果的な実施

GAは本質的に非常に一般的であり、最適化の問題にそれらを適用するだけでは良い結果が得られません。 このセクションでは、GAデザイナーまたはGA実装者の作業を支援および支援するいくつかのポイントについて説明します。

問題固有のドメイン知識を導入する

より具体的なドメイン固有の知識がGAに組み込まれることが観察されています。より良い客観的な値が得られます。 問題固有のクロスオーバーまたはミューテーション演算子、カスタム表現などを使用して、問題固有の情報を追加できます。

次の画像は、Michalewicz(1990)によるEAの見解を示しています-

効果的な実装

混雑を軽減

混雑は、非常に適合した染色体が多く繁殖するときに発生し、数世代では、人口全体が同様の適合度を持つ同様のソリューションで満たされます。 これは、GAの成功を確実にするための非常に重要な要素である多様性を減らします。 混雑を制限する方法は多数あります。 それらのいくつかは-

  • *突然変異*多様性を導入する。
  • *ランク選択*および*トーナメント選択*に切り替えると、類似のフィットネスを持つ個人のフィットネス比例選択よりも選択圧力が高くなります。
  • フィットネスの共有-この場合、人口にすでに類似の個人が含まれている場合、個人のフィットネスは低下します。

ランダム化が役立ちます!

最良の解決策は、集団に多様性を与えるため、ランダム化された染色体によって駆動されることが実験的に観察されています。 GAの実装者は、最良の結果を得るために十分な量のランダム化と母集団の多様性を維持するように注意する必要があります。

GAとローカル検索のハイブリッド化

ローカル検索とは、特定のソリューションの近傍にあるソリューションをチェックして、より良い客観的な値を探すことです。

GAをローカル検索とハイブリッド化すると便利な場合があります。 次の画像は、ローカル検索をGAに導入できるさまざまな場所を示しています。

GAのハイブリッド化

パラメータとテクニックのバリエーション

遺伝的アルゴリズムには、「すべてに適合するサイズ」や、すべての問題に有効な魔法の式はありません。 最初のGAの準備が整った後でも、母集団のサイズ、突然変異、交差確率などのパラメーターをいじるのに多くの時間と労力がかかります。 特定の問題に合ったものを見つけるために。