4

私が取り組んでいる遺伝的アルゴリズムの適応突然変異率を実装する方法を検討してきました。現在の個人の適応度と平均集団の適応度を使用して突然変異率を計算するアルゴリズムを見たことがありますが、それが非常に効果的かどうかはわかりません。

私が見たアルゴリズムでは、次のことを行います。

mutationRate = (bestFitness - individualFitness) / (bestFitness - averageFitness) * 0.5

これは良いアプローチでしょうか、それとももっと良い方法がありますか?

4

2 に答える 2

4

「最善の方法」があるとは思いません。突然変異アルゴリズムと突然変異率は、問題/アルゴリズムに固有のものです。

残念なことに、多くの実際の実験によると、自己適応突然変異でさえ簡単に局所最適値に陥る可能性があります。

あなたが使用している適応突然変異アプローチでは、適応度の高い個体はより小さい突然変異確率に対応し、適応度の低い個体は高い突然変異確率に対応します。

この方法は優秀な個体を効果的に保護できますが、局所収束に陥りやすいです。

別の (必ずしもより良いとは限らない) アプローチは、遺伝的多様性が徐々に失われている場合 (検索空間に分布する集団を維持するために)、突然変異率を高めることです。

それ以外の場合、人口の多様性の増加が観察されると、値が減少します。

突然変異率の値のこれらの変化は、探査と搾取の間の良好なバランスのための追加のソースでもあります ( 1を参照)。

参考文献

  1. 遺伝的アルゴリズムで突然変異確率を適応させるための新しい戦略- Natalia Stark、Gabriela Minetti、Carolina Salto
  2. 遺伝的アルゴリズムにおける適応突然変異率制御スキーム- Dirk Thierens
于 2014-10-29T15:23:35.420 に答える
1

GA に特効薬はありません。ミューテーションやその他の要因を実装する方法は複数ありますが、すべては使用するドメイン、制約の量、フィットネス関数、その他すべてによって異なります。

最善の方法は、自分自身を知ることです。さまざまなアプローチを試して、より良い結果が得られるかどうかを確認してください。また、おそらくhttps://cstheory.stackexchange.com/は、そのような質問をするのに適した場所です。

于 2014-10-29T15:10:02.987 に答える