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

コルブク

2D配列として表される次の2つの染色体があります。

// First chromosome
[
  [ 12 45 23 ]
  [ 34 01 89 ]
  [ 33 90 82 ]
]

// Second chromosome
[
  [00 45 89 ]
  [00 00 34 ]
]

染色体の制約は、染色体配列内の各配列が一緒に留まらなければならないということです。たとえば、最初の染色体[ 12 45 23 ]は一緒に残っている必要があります。このことを念頭に置いて、上記の染色体構造でクロスオーバーを実行する方法は、水平クロスオーバーポイントをランダムに選択することだと思います。次のような:

// First produced off-spring
[
  [ 12 45 23 ] // First chromosome
  [ 00 00 34 ] // Second chromosome
]

// Second produced off-spring
[
  [ 00 45 89 ] // Second chromosome
  [ 34 01 89 ] // First chromosome
  [ 33 90 82 ] // First chromosome
]

これは、行が無傷のままでなければならない2D染色体配列で突然変異を実行する正しい方法ですか?もしそうなら、このメソッドには特定の名前がありますか?それとも、これはOne-pointクロスオーバーになりますか?

マニオ

このメソッドには特定の名前がありますか?それとも、これはワンポイントクロスオーバーになりますか?

可変長遺伝的アルゴリズムに関するさまざまな論文では、ワンポイントクロスオーバーと呼ばれています。

可変長染色体の場合、1点クロスオーバーがより一般的な方法で提案されることがよくあります。染色体ごとに異なるクロスオーバーポイントを選択できます。例えば

C1 = [ A1, A2, A3, A4, A5, A6]

C2 = [ B1, B2, B3, B4]

クロスオーバーポイント1選択するC13C2次のようになります。

C1 = [ A1 | A2, A3, A4, A5, A6]

C2 = [ B1, B2, B3 | B4]


C1' = [A1 B4]
C2' = [B1, B2, B3, A2, A3, A4, A5, A6]

これにより、染色体の長さが伸び始めます。特定の問題に応じて、それは要件または単に膨満感になる可能性があります(どちらの場合も、適応度関数でそれを説明する必要があるかもしれません)。

これは、行が無傷のままでなければならない2D染色体配列で突然変異を実行する正しい方法ですか?

これは簡単な方法です(とても良い方法です)。均一なクロスオーバーは、もう1つの簡単なアプローチです。

Synapsing Variable-Length Crossover:Meaningful Crossover for Variable-Length Genomes(Benjamin Hutt and Kevin Warwick、IEEE Transactions on Evolutionary Computation、vol。11、no。1、february 2007)は、他の興味深い(より複雑な)可能性について説明しています。

最高のクロスオーバーが非常にある問題の特定

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

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

分類Dev

遺伝的アルゴリズムの並列実行

分類Dev

遺伝的アルゴリズム-多次元配列の交差

分類Dev

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

分類Dev

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

分類Dev

遺伝的アルゴリズム関数JS 2D配列

分類Dev

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

分類Dev

遺伝的アルゴリズムによるTensorflow

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

遺伝的アルゴリズムと従来のアルゴリズムを区別する

分類Dev

遺伝的アルゴリズム-どのデータ構造が必要ですか?

分類Dev

低音モデルの遺伝的アルゴリズムのR実装

分類Dev

遺伝的アルゴリズムと反復局所探索アルゴリズムの違いは何ですか?

分類Dev

Matlabの遺伝的アルゴリズムを使用した画像再構成アルゴリズムの最適化

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

Related 関連記事

  1. 1

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

  2. 2

    遺伝的アルゴリズムの並列実行

  3. 3

    遺伝的アルゴリズム-多次元配列の交差

  4. 4

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

  5. 5

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

  6. 6

    遺伝的アルゴリズム関数JS 2D配列

  7. 7

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

  8. 8

    遺伝的アルゴリズムによるTensorflow

  9. 9

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

  10. 10

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

  11. 11

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

  12. 12

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

  13. 13

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

  14. 14

    遺伝的アルゴリズムと従来のアルゴリズムを区別する

  15. 15

    遺伝的アルゴリズム-どのデータ構造が必要ですか?

  16. 16

    低音モデルの遺伝的アルゴリズムのR実装

  17. 17

    遺伝的アルゴリズムと反復局所探索アルゴリズムの違いは何ですか?

  18. 18

    Matlabの遺伝的アルゴリズムを使用した画像再構成アルゴリズムの最適化

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

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

  23. 23

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

  24. 24

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

  25. 25

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

  26. 26

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

  27. 27

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

  28. 28

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

  29. 29

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

ホットタグ

アーカイブ