Genetic-algorithms-crossover

提供:Dev Guides
移動先:案内検索

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

この章では、クロスオーバー演算子が他のモジュールと一緒に何であるか、それらの用途と利点について説明します。

クロスオーバーの概要

クロスオーバー演算子は、生殖および生物学的クロスオーバーに似ています。 これでは、複数の親が選択され、親の遺伝物質を使用して1つ以上の子孫が生成されます。 通常、クロスオーバーはGAで p〜c〜 の確率で適用されます。

クロスオーバー演算子

このセクションでは、最も一般的に使用されるクロスオーバー演算子のいくつかについて説明します。 これらのクロスオーバー演算子は非常に汎用的であり、GA Designerは問題固有のクロスオーバー演算子も実装することを選択する場合があることに注意してください。

ワンポイントクロスオーバー

この1点交差では、ランダムな交差点が選択され、その2つの親の尾が交換されて、新しい子孫が得られます。

ワンポイントクロスオーバー

マルチポイントクロスオーバー

マルチポイントクロスオーバーは、1つのポイントのクロスオーバーを一般化したもので、交互のセグメントを交換して新しい子孫を取得します。

マルチポイントクロスオーバー

均一なクロスオーバー

均一なクロスオーバーでは、染色体をセグメントに分割せず、各遺伝子を個別に扱います。 この場合、基本的に各染色体のコインを反転させて、子孫に含めるかどうかを決定します。 また、コインを片方の親に偏らせて、その親からの子供により多くの遺伝物質を持たせることができます。

ユニフォームクロスオーバー

全算術組換え

これは一般的に整数表現に使用され、次の式を使用して2つの親の加重平均を取ることにより動作します-

  • Child1 =α.x+(1-α).y
  • Child2 =α.x+(1-α).y

明らかに、α= 0.5の場合、次の図に示すように、両方の子は同一になります。

全算術組換

デイビスのオーダークロスオーバー(OX1)

OX1は、相対的な順序に関する情報を子孫に送信することを目的とした、置換ベースのクロスオーバーに使用されます。 次のように動作します-

  • 親に2つのランダムなクロスオーバーポイントを作成し、それらの間のセグメントを最初の親から最初の子孫にコピーします。
  • 次に、2番目の親の2番目のクロスオーバーポイントから開始し、残りの未使用の番号を2番目の親から最初の子にコピーして、リストを折り返します。
  • 親の役割を逆にして、2番目の子についても繰り返します。

Davis ’Order Crossover

部分的にマッピングされたクロスオーバー(PMX)、順序ベースのクロスオーバー(OX2)、シャッフルクロスオーバー、リングクロスオーバーなど、他にも多くのクロスオーバーが存在します。