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
を選択するC1
と3
、C2
次のようになります。
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]
コメントを追加