このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
適応度のスケーリング
フィットネススコアのスケーリング
フィットネス スケーリングは、適応度関数によって返される生のフィットネス スコアを、選択関数に適した範囲の値に変換します。選択関数は、スケールされた適応度値を使用して、次の世代の親を選択します。選択関数は、スケール値が高い個体に高い選択確率を割り当てます。
スケールされた値の範囲は、遺伝的アルゴリズムのパフォーマンスに影響します。スケール値の変動が大きすぎる場合、最高のスケール値を持つ個体が急速に繁殖し、母集団の遺伝子プールを急速に占領し、遺伝的アルゴリズムがソリューション空間の他の領域を探索できなくなります。一方、スケールされた値がわずかにしか変化しない場合は、すべての個体の繁殖の可能性はほぼ同じになり、探索は非常にゆっくりと進行します。
デフォルトのフィットネス スケーリング オプション Rank は、各個体のスコアではなく、そのランクに基づいて生のスコアをスケーリングします。個体のランクとは、ソートされたスコアにおける位置のことです。最も適合する個体のランクは 1、次に適合する個体は 2 というように続きます。ランクスケーリング関数は、スケールされた値を割り当て、
ランク n の個体のスケール値は に比例します。
母集団全体にわたるスケール値の合計は、次の世代を作成するために必要な親の数に等しくなります。
ランク適応度スケーリングは、生のスコアの広がりの影響を除去します。
次のグラフは、典型的な 20個体の母集団の生のスコアを昇順に並べたものです。

次のプロットは、ランク スケーリングを使用して生のスコアをスケーリングした値を示しています。

アルゴリズムは適応度関数を最小化するため、生のスコアが低いほどスケール値は高くなります。また、ランク スケーリングでは、個体のランクのみに依存する値が割り当てられるため、表示されるスケーリングされた値は、母集団サイズが 20 で親の数が 32 のどの母集団でも同じになります。
ランクとトップスケーリングの比較
スケーリングの効果を確認するには、ランク スケーリングを使用した遺伝的アルゴリズムの結果を、Top などの他のスケーリング オプションの 1 つと比較します。デフォルトでは、トップスケーリングは、最も適合した個体の 40 パーセントを同じスケール値に割り当て、残りの個体に値 0 を割り当てます。デフォルトの選択機能を使用すると、最も適応度の高い個体の 40 パーセントだけが親として選択されます。
次の図は、ランクとトップのスケーリングを使用して、サイズが 20、親の数が 32 の母集団のスケーリングされた値を比較しています。

トップスケーリングでは親を最も適応した個体に制限するため、ランクスケーリングよりも多様性の低い母集団が作成されます。次のプロットは、ランクとトップ スケーリングを使用して各世代の個体間の距離の分散を比較します。
