私の質問はこの1つにリンクされています: Roulette-wheel selection in Genetic algorithm. Population needs to be sorted first? 私たちは人口をソートしない場合は、それのためのルーレットホイールの選択を整理する方法は何ですか? 確かに、私たちは線形方法で検索しなければなりません。この場合、C++またはJavaでコードスニペットがありますか?遺伝的アルゴリズムでソートされていない集団に対してルーレットホイールの選択をどのように構成すべきですか?
5
A
答えて
12
人口はまったくソートする必要はありません - ルーレット選択の鍵は、特定の個人が再生のために選択される確率がその適応度に比例することです。
は、次のように適応度と、ソートされていない人口を持って言う:
[12, 45, 76, 32, 54, 21]
をルーレット選択を実行するには、あなただけの240までの範囲0で乱数(人口のフィットネスの合計)を選ぶ必要があります。次に、リストの最初の要素から始めて、乱数がゼロ以下になるまで各個人の適応度を減算します。したがって、上記の場合、ランダムに112を選択すると、次のようになります。
Step 1: 112 - 12 = 100. This is > 0, so continue.
Step 2: 100 - 45 = 55. This is > 0, so continue.
Step 3: 55 - 76 = -21. This is <= 0, so stop.
したがって、私たちは#3の再生を選択します。どのように集団を並べ替える必要がないかに注意してください。
ので、擬似コードでは、それはつまるところ:最終ラインで- 1
は、我々がしたにも関わらずあるため、ループの最後の反復(内で行われますincrement i
に対抗するためにあることを
let s = sum of population fitness
let r = random number in range [0, s].
let i = 0.
while r > 0 do:
r = r - fitness of individual #i
increment i
select individual #i - 1 for reproduction.
注意私たちが望む個体を発見した、それにかかわらず増分する)。
関連する問題
- 1. Cで遺伝的アルゴリズムのための母集団を生成
- 2. 遺伝的アルゴリズムの選択
- 3. 遺伝的アルゴリズムにおけるルーレットホイールの選択。母集団は最初にソートする必要がありますか?
- 4. 遺伝的アルゴリズムの選択演算子
- 5. どのような遺伝的アルゴリズム/プログラミングライブラリを使用していますか?
- 6. 遺伝的アルゴリズムを使用して、2つのニューラルネットワーク構造に基づいて子孫を作成するにはどうすればよいですか?
- 7. 遺伝的アルゴリズムトーナメントの選択
- 8. 遺伝的アルゴリズムの環境を作成するにはどうすればよいですか?
- 9. この遺伝的アルゴリズムをどのようにコーディングするのですか?
- 10. 構造体/遺伝的アルゴリズムの使用
- 11. Pythonの遺伝的アルゴリズムのデータ型はどれですか?
- 12. MPIでサポートされている最速の遺伝アルゴリズムC++ライブラリ
- 13. 遺伝的アルゴリズム:Langermannの関数とトーナメントの選択
- 14. タイムテーブルの生成Javaの遺伝的アルゴリズムを使用して
- 15. 遺伝的アルゴリズム - 定常状態の選択とは何ですか?
- 16. 適性関数と遺伝的アルゴリズムの選択
- 17. "有権者"遺伝的アルゴリズムで生き残っている個体群を選択する
- 18. Matlab遺伝的アルゴリズムの制約を設定するにはどうすればよいですか?
- 19. 遺伝的アルゴリズムのコアアルゴリズム
- 20. 遺伝的アルゴリズムコードのランキング選択
- 21. ディープコピーと遺伝的アルゴリズム
- 22. 遺伝的アルゴリズムSVM後
- 23. matlabで遺伝的アルゴリズムどのようにフィットネス機能として分類精度を使用する
- 24. 遺伝的アルゴリズムによって訓練されている人工ニューラルネットワークにバイアスを加えるべきですか?
- 25. テーブルから選択し、選択されていない他のすべてのエントリを削除するにはどうすればよいですか?
- 26. 実際の世代数が遺伝的アルゴリズムに指定されていない理由R
- 27. フローショップスケジューリングのための遺伝的アルゴリズム
- 28. PyBrainの遺伝的アルゴリズムの例/チュートリアル?
- 29. 遺伝的アルゴリズムにおける遺伝子と染色体の表現
- 30. 遺伝的アルゴリズムとタイムテーブルのシミュレーテッドアニーリング