なぜクロスオーバーは遺伝的アルゴリズムの一部ですか?


8

遺伝的アルゴリズムは、ターンベースの戦略のコンピューターゲームのコンピューターの対戦相手を修正または改善しようとするときに、最近私の注目になりました。

クロスオーバーを使用せず、ランダムな突然変異のみを使用した単純な遺伝的アルゴリズムを実装しました。この場合はうまくいくようで、私は考え始めました:

なぜクロスオーバーは遺伝的アルゴリズムの一部ですか?突然変異は十分ではないでしょうか?

これは古いAIサイトのデータダンプからのものです。質問者のUIDは7でした。

回答:


7

突然変異は通常グローバルオペレーターとして定義されます。つまり、反復突然変異は(最終的には)ゲノムによって定義されたベクトル空間のすべての点に到達できます。その意味では、突然変異だけでも確かに「十分」です。

クロスオーバーの動機について-Essentials of Metaheuristics、p42から:

クロスオーバーは元々、フィット感の高い個人がビルディングブロックと呼ばれる特定の特性を共有することが多いという前提に基づいていました。たとえば、ブール型の個人10110101では、おそらく*** 101 * 1がビルディングブロックになる可能性があります。

(*は「0または1」を意味します)

つまり、クロスオーバーは、構成要素を人口全体にすばやく広げることによって機能するという考えです。

クロスオーバー法はまた、染色体上の遺伝子間にある程度の連鎖があると仮定します。つまり、グループ内の特定の遺伝子の設定は、適応度の改善と強く相関しています。たとえば、遺伝子AとBが両方とも1に設定されている場合にのみ、フィットネスに寄与する可能性があります。一方が0に設定されている場合、もう一方が1に設定されていても何も起こりません。

また、クロスオーバーはグローバル演算子ではないことに注意してください。唯一の演算子がクロスオーバーの場合(これもp42から):

結局、人口は収束し、多くの場合(残念ながら)時期尚早に同じ個体のコピーに収束します。この段階では脱出はありません。個人が自分自身と交差しても、新しいものは何も生成されません。

このため、クロスオーバーは一般的にいくつかのグローバル突然変異演算子と一緒に使用されます。


5

クロスオーバーでは、2つの親を組み合わせることができます(1つの親のみを使用する突然変異と比較して)。場合によっては便利です(たとえば、FPSボットをトレーニングする場合、ある親が射撃が得意で、別の親が移動が得意であれば、それらを組み合わせるのが理にかなっています)。他のいくつかのケースでは、そうではありません。


4

クロスオーバーについて考えるとき、フィットネスの状況について考えることが重要です。

2つのタスクで十分に機能するソリューションを見つけるために遺伝的アルゴリズムを適用している架空のシナリオを考えます。これは、AIのフランクの例(移動と射撃)から、または遺伝的機械学習シナリオで2つの出力が予測される可能性がありますが、GAが適用されるほとんどのシナリオは同義です(単一のタスクを解決する場合でも、対処するタスクのさまざまな側面である)。

両方のタスクで適度に良好なパフォーマンスを示した個人1がいるとします。一連の突然変異によって2つの新しい個人2と3が生成され、それぞれタスク1と2で個人1よりもパフォーマンスが優れていたとします。これらは両方とも改善ですが、理想的には一般的に優れたソリューションを見つけたいので、有益であるとわかった機能を組み合わせたいと思います。

これがクロスオーバーの出番です。個人2と個人3のゲノムを組み合わせることで、パフォーマンスの混合を生み出す新しい個人を見つけることができます。そのような個人は、個人2または個人3に適用された一連の変異によって生成される可能性がありますが、景観は単にこれに適合しない場合があります(たとえば、その方向に有利な変異がない場合があります)。

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

したがって、あなたは部分的に正しいです。クロスオーバーの利点を一連の変異で再現できる場合もあります。場合によってはこれが当てはまらない場合があり、クロスオーバーによってGAの適合性のランドスケープがスムーズになり、最適化が高速化され、GAがローカルの最適化を回避できるようになります。


突然変異演算子がグローバルである(つまり、検索スペース内のすべての点を表現できる)場合(そうでなければなりません)、突然変異(のいくつかのシーケンス)を介して交差の結果を表現することは常に可能です。ただし、(私の回答によると)その逆は当てはまりません。
NietzscheanAI

それは本当です、私はあなたとフランクによって作られたポイントを例で説明したかっただけです:)
ティム・アトキンソン

例は常に良いです-私はそれらの多くを含める必要があります;-)
NietzscheanAI
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.