実数値GA (Real-coded Genetic Algorithms:RCGA)

この前のつづき。
渡された資料では分けが分からん。ここを参考にした(というより、ほとんど)。


RCGAは、ビットストリング(010110…)ではなく、実数ベクトルを用いて表現を行う。
設計変数値が実数値である連続関数最適化問題の場合、親個体の形質を効率よく引き継ぐことができる。
実数値を直接探索に用いるため、ビットストリングのために設計された遺伝的オペレータを用いることができない。
それにより、RCGA特有の遺伝的オペレータを用いなければならない。

RCGAの突然変異操作

一様突然変異(Uniform mutation)

設計変数毎に実行可能領域内に一様乱数により、新しい実数値を発生させる。

5.4 2.1 1.1 2.4 8.0 5.4 1.4 1.1 2.9 8.0

Max10,Min0の範囲で発生。

境界突然変異(Boundary mutation)

上記とほぼ同じ。違いは、「新しい値は実行可能領域内の境界上をとる」ということ。
つまり、設計変数値のとりうる値が0〜10の間だったならば、境界突然変異後の設計変数値の値は0か10のみ。

5.4 2.1 1.1 2.4 8.0 5.4 0.0 1.1 10.0 8.0

RCGAにおける交叉

ブレンド交叉(BLX-α)

両親によって張られる各変数の区間をα倍だけ両側に拡張して得られる超直方立方体から一様乱数によって子個体を生成する。
親個体が状態空間で離れて存在している場合には子個体も広い範囲に生成される。
親個体が互いに近くに存在しているときは、親個体の近傍付近に生成される。
変数間に依存関係のある非線形関数においては極端に性能が落ちる。

単峰性正規分布交叉(UNDX)

UNDX
3つの親個体によって決定される正規乱数を用いて2つの子個体を生成する。
基本的には子個体は2つの親個体を結ぶ軸の周辺に正規分布によって生成される。
そして、3番目の親個体は正規分布標準偏差を決定するために補助的に用いられる。
親個体が状態空間で離れて存在しているときは、子個体は広い範囲で生成される。
親個体が近くに存在しているときは、子個体を親個体の近傍に生成する。
親個体を結ぶ軸の周辺に正規分布に従って子個体を生成するため、親個体を結ぶ軸から離れたところに子個体を生成することは少ない。
UNDX-m
UNDXが多数(m+2)個の親個体を用いれるように拡張したもの。
m=1のとき、UNDX。
UNDXは座標系のスケールへの依存性が高いため、スケーリングが良くない問題においては性能が劣化する。
そのことを克服したもの。
シンプレックス交叉(SPX)
母集団から複数の個体を抽出し、その抽出した個体の分布から一様乱数を発生させて新しい個体を生成する交叉。
ほかの交叉に比べて計算量が多いことが弱点。