
確率的普遍サンプリング(SUS )は、進化アルゴリズムにおいて、組み換えに有用な可能性のある解を選択するために用いられる選択手法である。ジェームズ・ベイカーによって提唱された。[1]
SUSは、適応度比例選択(FPS)の発展形であり、偏りがなく、ばらつきが最小限に抑えられています。FPSでは、ランダムサンプリングを繰り返して母集団から複数の解を選択しますが、SUSでは、単一のランダム値を用いて、等間隔ですべての解を選択します。これにより、母集団の中で適応度が低いメンバーにも(適応度に応じて)選択される機会が与えられます。
FPSは、集団のあるメンバーが他のメンバーと比較して非常に大きな適応度を持つ場合、パフォーマンスが低下する可能性があります。SUSは櫛状の定規を用いて、小さな乱数から開始し、残りの集団から次の候補を選択します。これにより、最も適応度の高いメンバーが候補空間を飽和させないようにします。
疑似コード
アルゴリズムとして説明すると、SUS の疑似コードは次のようになります。
SUS( Population , N )
F := Population
の総適応度N := 保持する子孫の数
P := ポインタ間の距離 ( F / N )
Start := 0 からP
の間の乱数Pointers := [ Start + i * P | i in [0..( N -1)]]
return RWS( Population , Pointers )
RWS( Population , Points )
= []
を維持し、 PがPoints I := 0
の場合、Population [0.. I ]の適応度合計< P I ++
Population [ I ] をKeep
に
追加し、 Keepを返す
配列インデックス 0 からIまでの個体の集合はどこでしょうか。
Population[0..I]
ここで、RWS() は適応度比例選択(「ルーレットホイール選択」とも呼ばれる)の大部分を表します。真の適応度比例選択では、パラメータPointsは常に 0 からFまでの乱数の(ソートされた)リストです。上記のアルゴリズムは、標準的なものではなく、説明を目的としています。
参照
参考文献
- ^ ベイカー、ジェームズ・E. (1987). 「選択アルゴリズムにおけるバイアスと非効率性の低減」.第2回遺伝的アルゴリズムとその応用に関する国際会議議事録. ニュージャージー州ヒルズデール: L. エルバウム・アソシエイツ: 14–21 .