13

私は遺伝的アルゴリズム、特にドーキンスイタチタイプの最終年度プロジェクトを行っています。定常状態の選択を行うために、ルーレットの選択とトーナメントの選択を行いましたが、それが何であるか正確にはわかりません。オンラインで見つけた参照はすべてかなりあいまいです。

誰かがそれをどのように実装すべきか知っていますか?どんなポインタも素晴らしいでしょう。

どうもありがとう。

4

1 に答える 1

25

通常、遺伝的アルゴリズムの実行は世代に分けられます。世代ごとに、選択と複製のプロセスによって、母集団のすべて(または少なくともほとんど)が置き換えられます。定常状態の遺伝的アルゴリズムでは、一度に数人の個体を置き換えるだけです。

これらの少数の子孫を生み出すために親を選ぶために標準的な選択技術を使用してください。次に、同じ数の個体をランダムに選択し、それらを殺して、それらを子孫に置き換えます(死に適さない個体を選択することもできますが、それは重要な問題で人口の多様性を一掃する可能性があります)。

フィットネスは、個人ごとに1回だけ評価する必要があります。フィットネスを評価した後、それを保存して、将来その数値を再利用します。ヒント:新しい個人が作成されたら、未評価のフラグを付けて、最初に必要になったときに評価します(このように、個人が作成され、使用される前にランダムに死亡するように選択された場合、評価に時間を費やすことはありませんそのフィットネス)。

基本的な実装はかなり単純なはずですが、Essentials of Metaheuristics(45〜46ページ、電子ブックは無料で入手可能)を確認できます。

于 2011-01-23T12:39:15.703 に答える