まず、これは宿題の一部です。
遺伝的アルゴリズムを実装しようとしています。クロスオーバーする親の選択について混乱しています。
私のメモでは(明らかに何かが間違っています)、これは例として行われていることです。
- Pc (交叉の可能性) * 集団サイズ = 交叉する推定染色体数 (偶数でない場合は、最も近い偶数に丸める)
- すべての染色体に対して [0,1] の範囲の乱数を選択し、この数が Pc より小さい場合は、クロスオーバー ペアとしてこの染色体を選択します。
しかし、2 番目のステップが適用されると、選択された染色体数は最初のステップで見つかった結果と等しくなります。ランダム性のため、これは常に保証されるわけではありません。
したがって、これは意味がありません。クロスオーバーの親を選択する方法を検索しましたが、見つけたのはクロスオーバーのテクニック (ワンポイント、カット、スライスなど) と、選択した親の間でクロスオーバーする方法 (これらに問題はありません) だけでした。クロスオーバーのためにどの染色体を選択すればよいかわかりません。提案や簡単な例はありますか?