遺伝的アルゴリズムトーナメントの選択

男性:

私は遺伝的アルゴリズムを書いていて、ルーレットのホイールの選択からトーナメントの選択に移るつもりですが、私の理解に欠陥があるのではないかと思います。

母集団でn / 2個の最適なソリューションのみを選択している場合、確かに私は母集団をすぐに使い果たすでしょうか?

アルゴリズムについての私の理解は:

for(Member m in currentPopulation){
    Member randomMember1 = random member of currentPopulation which is then removed from currentPopulation
    Member randomMember2 = as above;
    //Mutate and crossover

    if(randomMember1.getScore() > randomMember2.getScore()){
        nextGeneration.add(randomMember1);
    } else {
        nextGeneration.add(randomMember2);
    }
}

私はこれを正しく理解していますか?

トムキャッスル:

トーナメントの選択では、選択された個人は母集団から削除されません。同じ個人を選択して、複数のトーナメントに参加することができます。

コードをもう少し詳しく見てみると、もう1つ誤解があるようです。通常、トーナメントのすべてのメンバーを変更またはクロスオーバーすることはありません。代わりに、トーナメントを実行し、そのトーナメントの勝者が突然変異/クロスオーバーを受ける個人として選択されます。つまり、突然変異の場合、トーナメントのサイズは少なくとも2である必要があり、クロスオーバーの場合、サイズは少なくとも3で、最高の2の勝ちとなります(または、2つの別々のトーナメントを実行して、クロスオーバーする各親を選択できます)。

いくつかの疑似コードが役立つかもしれません:

while (nextPopulation too small) {
    Members tournament = randomly choose x members from currentPopulation

    if(crossover){
        Member parents = select best two members from tournament
        Member children = crossover(parents)
        nextPopulation.add(children);
    } else {
        Member parent = select best one member from tournament
        Member child = mutate(parent)
        nextPopulation.add(child);
    }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

遺伝的アルゴリズム:ランガーマンの機能とトーナメントの選択

分類Dev

遺伝的アルゴリズムにおけるトーナメント評価

分類Dev

Golangを使用した遺伝的アルゴリズムでのルーレットホイールの選択

分類Dev

mlr遺伝的アルゴリズムの初期集団の選択

分類Dev

ルーレットホイール選択を使用した遺伝的アルゴリズム

分類Dev

非遺伝的ケースのMatlab遺伝的アルゴリズム

分類Dev

遺伝的アルゴリズムでのフィットネス比例選択(ルーレットホイール)の確率リストを生成します

分類Dev

遺伝的アルゴリズムを使用して、最適なネットワークモデルとパラメーターを選択できますか?

分類Dev

ランダムなサブセットを選択するための遺伝的アルゴリズムの実装

分類Dev

MlroseTSPOpt遺伝的アルゴリズム独自のコスト関数

分類Dev

遺伝的アルゴリズム-親の選択とクロスオーバーの確率

分類Dev

Rの遺伝的アルゴリズム

分類Dev

クロスエントロピーと遺伝的アルゴリズムの違いは何ですか?

分類Dev

遺伝的アルゴリズム:大きな解空間を解くためのパラメーターを選択するための経験則

分類Dev

訓練されたニューラルネットワークの混合-遺伝的アルゴリズム

分類Dev

遺伝的アルゴリズムでブリーダーを選ぶ

分類Dev

Java:遺伝的アルゴリズムのクロスオーバーのために2つのダブルビットストリングを混合する

分類Dev

非優勢ランクベースのソート遺伝的アルゴリズムエリート主義の問題

分類Dev

遺伝的アルゴリズム-収束

分類Dev

DEAP遺伝的アルゴリズム

分類Dev

ナッシュ均衡多目的遺伝的アルゴリズムJava

分類Dev

遺伝的アルゴリズムにおけるエリート\エリート主義モデル

分類Dev

univeristyタイムテーブルの遺伝的アルゴリズム

分類Dev

遺伝的アルゴリズムでフィットネススケーリングが必要なのはなぜですか?

分類Dev

Java、遺伝的アルゴリズム巡回セールスマン問題

分類Dev

遺伝的アルゴリズムの配列ヘルプ

分類Dev

Javaと遺伝的アルゴリズムの効率の向上

分類Dev

Pythonの遺伝的アルゴリズムの問題

分類Dev

多項式の遺伝的アルゴリズムの最適化

Related 関連記事

  1. 1

    遺伝的アルゴリズム:ランガーマンの機能とトーナメントの選択

  2. 2

    遺伝的アルゴリズムにおけるトーナメント評価

  3. 3

    Golangを使用した遺伝的アルゴリズムでのルーレットホイールの選択

  4. 4

    mlr遺伝的アルゴリズムの初期集団の選択

  5. 5

    ルーレットホイール選択を使用した遺伝的アルゴリズム

  6. 6

    非遺伝的ケースのMatlab遺伝的アルゴリズム

  7. 7

    遺伝的アルゴリズムでのフィットネス比例選択(ルーレットホイール)の確率リストを生成します

  8. 8

    遺伝的アルゴリズムを使用して、最適なネットワークモデルとパラメーターを選択できますか?

  9. 9

    ランダムなサブセットを選択するための遺伝的アルゴリズムの実装

  10. 10

    MlroseTSPOpt遺伝的アルゴリズム独自のコスト関数

  11. 11

    遺伝的アルゴリズム-親の選択とクロスオーバーの確率

  12. 12

    Rの遺伝的アルゴリズム

  13. 13

    クロスエントロピーと遺伝的アルゴリズムの違いは何ですか?

  14. 14

    遺伝的アルゴリズム:大きな解空間を解くためのパラメーターを選択するための経験則

  15. 15

    訓練されたニューラルネットワークの混合-遺伝的アルゴリズム

  16. 16

    遺伝的アルゴリズムでブリーダーを選ぶ

  17. 17

    Java:遺伝的アルゴリズムのクロスオーバーのために2つのダブルビットストリングを混合する

  18. 18

    非優勢ランクベースのソート遺伝的アルゴリズムエリート主義の問題

  19. 19

    遺伝的アルゴリズム-収束

  20. 20

    DEAP遺伝的アルゴリズム

  21. 21

    ナッシュ均衡多目的遺伝的アルゴリズムJava

  22. 22

    遺伝的アルゴリズムにおけるエリート\エリート主義モデル

  23. 23

    univeristyタイムテーブルの遺伝的アルゴリズム

  24. 24

    遺伝的アルゴリズムでフィットネススケーリングが必要なのはなぜですか?

  25. 25

    Java、遺伝的アルゴリズム巡回セールスマン問題

  26. 26

    遺伝的アルゴリズムの配列ヘルプ

  27. 27

    Javaと遺伝的アルゴリズムの効率の向上

  28. 28

    Pythonの遺伝的アルゴリズムの問題

  29. 29

    多項式の遺伝的アルゴリズムの最適化

ホットタグ

アーカイブ