0

私は数学関数を最大化するために遺伝的アルゴリズムを構築しています。最初の母集団はランダムに選択されます。たとえば、20人の個体です。最高のものは次世代のために保たれています。18のトーナメントが行われ、その後、個人をランダムに選択して9つのペアを形成できます。9つのペアから、9人の子供が「生まれる」。これが私の問題です。これらの子供たちの何人かは、許容基準を満たしていません。これらの要素を次世代から削除することにしました。私が必要とするアドバイスは、許容されないために削除された個人の交代に関するものです。ランダムに新しい個体を生み出すことを考えました。他にアイデアはありますか?

ルイス

4

3 に答える 3

1

何をしたいかに応じて、9個の「許容可能な」子が得られるまでランダムなペアで生成を続けるか、単にそれらを捨てて「許容可能な」子のみを進めることができます。それはもっと進化的だろう。

于 2010-09-08T22:09:24.170 に答える
1

「許容できる」子孫を生成するように、ある種のアドホッククロスオーバーを実装してみませんか?

これは標準的な方法です。しかし、この提案が適切でない場合は、「許容されない」とはどういう意味かを明確にしていただけますか?

于 2010-09-10T09:48:17.903 に答える
0

私は有性生殖を使用していません。それはあなたがしていることだと思います。私は良いものを変えずに次の世代に生き残らせ、悪いものを良いものの突然変異に置き換えます(通常、それぞれの子から順番にしきい値よりも優れた「子」を作成するため、子はすべて関連しているわけではありません同じ「良い」個人に)。突然変異とは、新しい完全にランダムな個体を作成するのではなく、優れた「生き物」の1つのプロパティにランダムに小さな変更を加えることを意味することに注意してください。これは、少なくとも私の考えでは、無性生殖をしている個人と、子供のDNAに導入されている少量の突然変異をシミュレートしています。どれだけの突然変異が必要かを理解することは、あなたが実験しなければならないことです。

于 2010-09-08T22:33:56.007 に答える