NEATアルゴリズム:互いに素な遺伝子と過剰な遺伝子をクロスオーバーする方法は?

トムB。

私は現在、元の論文を参考にして、KennethStanleyによって開発されたNEATアルゴリズムを実装しています。

クロスオーバー方式について説明しているセクションで、少し混乱します。

ここに画像の説明を入力してください

したがって、上の図はNEATのクロスオーバー方法を示しています。遺伝子がどの親から受け継いだかを決定するために、この論文は次のように述べています。

一致する遺伝子はランダムに継承されますが、互いに素な遺伝子(途中で一致しないもの)と過剰な遺伝子(最後に一致しないもの)は、より適切な親から継承されます。

一致する遺伝子(1〜5)については、理解しやすいです。Parent1またはParent2のいずれかからランダムに継承します(両方の確率が50%です)。しかし、互いに素な(6-8)遺伝子と過剰な(9-10)遺伝子については、Parent1またはParent2のいずれかにしか遺伝子がないため、より適切な親から継承することはできません。

例えば:

Parent1の適合度はParent2の適合度よりも高くなっています。互いに素な遺伝子6はParent2にのみ存在します(もちろん、互いに素で過剰な遺伝子は1つの親でのみ発生するため)。したがって、より適切な親からこの遺伝子を継承することを決定することはできません。同じことが他のすべてのばらばらで過剰な遺伝子にも当てはまります。それらが存在する親からのみ継承できます。

だから私の質問は:あなたはおそらくより適切な親からすべての一致する遺伝子を継承し、ばらばらで過剰な遺伝子を引き継ぐだけですか?それとも私はここで何かを誤解していますか?

前もって感謝します。

カントルダスト

実際の実装を見て、それがどのように処理されるかを確認すると役立つ場合があります。ここにある元のC ++コード(2085行目以降を参照)では、不適合な親からの互いに素で過剰な遺伝子はスキップされているようです。

あなたの実装では、不適合な親から互いに素で過剰な遺伝子を継承することができますが、確率1でそれらを無効にして、後でそれらに点ごとの突然変異を行うことができます(無効から有効に切り替えます)。ただし、これによりゲノムが大幅に肥大化する可能性があるため、何が機能するかをテストして確認してください。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

遺伝的アルゴリズム-クロスオーバーと突然変異が正しく機能しない

分類Dev

2次元配列でクロスオーバーを実行する方法-遺伝的アルゴリズム

分類Dev

遺伝的アルゴリズムの過剰適合を回避する方法

分類Dev

オーダークロスオーバー(OX)-遺伝的アルゴリズム

分類Dev

遺伝的アルゴリズムの「ユニークな」クロスオーバー-TSP

分類Dev

遺伝的アルゴリズム、重複データなしでクロスオーバー

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

c ++クロスオーバー遺伝的アルゴリズムpush_backベクトルは古いものを上書きします

分類Dev

遺伝的アルゴリズムに部分的に一致したクロスオーバーを使用する場合の重複の処理

分類Dev

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

分類Dev

遺伝的アルゴリズム-部分的にマッピングされたクロスオーバー-Java

分類Dev

クロスオーバー遺伝子演算子を使用する利点と欠点は何ですか?

分類Dev

多変数遺伝的アルゴリズムのゲノムに対して遺伝的操作を実行するさまざまな方法のパフォーマンスへの影響

分類Dev

遺伝的アルゴリズム-染色体は木になることができますか?

分類Dev

"AWT-EventQueue-0" java.lang.StackOverflowErrorをスローするテール再帰遺伝的アルゴリズム

分類Dev

私の遺伝的アルゴリズムは収束しない/極小値に達する

分類Dev

遺伝的アルゴリズム/遺伝的プログラミングソリューションの良い例は何ですか?

分類Dev

Aforge遺伝的アルゴリズムライブラリを使用して、遺伝子を兼ねる染色体を実装しますか?

分類Dev

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

分類Dev

SBMLの遺伝子にアノテーションを追加する方法は?

分類Dev

IDと位置に関して遺伝子をグループ化する方法、python

分類Dev

遺伝的アルゴリズムにおける(非)均一突然変異とはどういう意味ですか?

分類Dev

遺伝的アルゴリズムが極小値に収束するのを防ぐ方法は?

分類Dev

Javaの遺伝的アルゴリズムにガウス突然変異演算子を実装する方法

分類Dev

遺伝的アルゴリズムにおける探索と活用の違い

分類Dev

最大(または最小)フィットネス停止条件をマルチプロセッシングdeappython遺伝的アルゴリズムに追加する方法

分類Dev

データセット機能で遺伝的アルゴリズムを変更する方法

Related 関連記事

  1. 1

    遺伝的アルゴリズム-クロスオーバーと突然変異が正しく機能しない

  2. 2

    2次元配列でクロスオーバーを実行する方法-遺伝的アルゴリズム

  3. 3

    遺伝的アルゴリズムの過剰適合を回避する方法

  4. 4

    オーダークロスオーバー(OX)-遺伝的アルゴリズム

  5. 5

    遺伝的アルゴリズムの「ユニークな」クロスオーバー-TSP

  6. 6

    遺伝的アルゴリズム、重複データなしでクロスオーバー

  7. 7

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

  8. 8

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

  9. 9

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

  10. 10

    c ++クロスオーバー遺伝的アルゴリズムpush_backベクトルは古いものを上書きします

  11. 11

    遺伝的アルゴリズムに部分的に一致したクロスオーバーを使用する場合の重複の処理

  12. 12

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

  13. 13

    遺伝的アルゴリズム-部分的にマッピングされたクロスオーバー-Java

  14. 14

    クロスオーバー遺伝子演算子を使用する利点と欠点は何ですか?

  15. 15

    多変数遺伝的アルゴリズムのゲノムに対して遺伝的操作を実行するさまざまな方法のパフォーマンスへの影響

  16. 16

    遺伝的アルゴリズム-染色体は木になることができますか?

  17. 17

    "AWT-EventQueue-0" java.lang.StackOverflowErrorをスローするテール再帰遺伝的アルゴリズム

  18. 18

    私の遺伝的アルゴリズムは収束しない/極小値に達する

  19. 19

    遺伝的アルゴリズム/遺伝的プログラミングソリューションの良い例は何ですか?

  20. 20

    Aforge遺伝的アルゴリズムライブラリを使用して、遺伝子を兼ねる染色体を実装しますか?

  21. 21

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

  22. 22

    SBMLの遺伝子にアノテーションを追加する方法は?

  23. 23

    IDと位置に関して遺伝子をグループ化する方法、python

  24. 24

    遺伝的アルゴリズムにおける(非)均一突然変異とはどういう意味ですか?

  25. 25

    遺伝的アルゴリズムが極小値に収束するのを防ぐ方法は?

  26. 26

    Javaの遺伝的アルゴリズムにガウス突然変異演算子を実装する方法

  27. 27

    遺伝的アルゴリズムにおける探索と活用の違い

  28. 28

    最大(または最小)フィットネス停止条件をマルチプロセッシングdeappython遺伝的アルゴリズムに追加する方法

  29. 29

    データセット機能で遺伝的アルゴリズムを変更する方法

ホットタグ

アーカイブ