本報告は,実数値遺伝的アルゴリズム(Real-coded Genetic Algorithms: RCGA)の概要について報告を行う. RCGAは,探索に用いる個体を従来のGAのようなビットストリングでなく,実数ベクトルを用いて表現を行う. それにより,RCGA特有の遺伝的オペレータを用いなければならない.本報告では,RCGAに用いる遺伝的オペレータ の説明を行う.
実数値遺伝的アルゴリズム(Real-coded Genetic Algorithms: RCGA)は,探索に用いる個体を従来のGAのようなビットストリングでなく,実数ベクトルを 用いて表現する.設計変数値が実数値である連続関数最適化問題の場合,RCGAは親個体の形質 を効率よく引き継ぐことができる点で,ビットストリングGAと比較して,効率的な解探索が可能で ある.また実数値を直接探索に用いるため,ビットストリングのために設計された遺伝的オペレー タを用いることはできない.そのため実数値GAのために設計された遺伝的オペレータを用いる必要 がある.
RCGAの概要を以下のFig 2.1に示す.
設計変数ごとに,実行可能領域内に一様乱数により,新しい実数値を発生させる. 一様突然変異の概要を以下のFig 3.1に示す.
一様乱数とほぼ同様ではあるが,新しい値は実行可能領域の境界上にとる.つまり,設計変数値の取りうる値が 0から10であった場合,境界突然変異後の設計変数値の値は0か10のいずれかである.
実数値GAでは,境界上の個体を発生さる確率が低いため,境界上に個体を発生させる突然変異操作が必要となる.
境界突然変異の概要を以下のFig 3.2に示す.
ブレンド交叉(Blend Crossover: BLX-α)はEshelemanによって考案された交叉法であり,親個体の実数ベクトルの各変 数の区間di を両側にαdi だけ拡張した区間から一様乱数に従ってランダムに子個体を生成する. すなわち,親個体の周辺の各辺が軸に平行な超直方体の領域が子個体の生成領域となる.Fig. 4.1に2次元におけるBLX-αによる子個体生成の例を示す.
BLX-αでは親個体が状態空間で離れて存在している場合には子個体も広い範囲に生成され, 親個体が互いに近くに存在している場合には親個体の近傍付近に生成される特徴がある.この 特徴により,ビットストリングGAと比較して,探索の中盤から終盤における探索効率の向上 すると報告されている.(参考文献2)
単峰性正規分布交叉(Unimodal Normal Distribution Crossover : UNDX)は小野らによって考案された交叉法であり, Fig 4.2に示すように,3 つの親個体によって決定さ れる正規乱数を用いて2つの子個体を生成する.基本的には子個体は2 つの親個体を結ぶ軸の 周辺に正規分布により生成され,第3 番目の親個体は正規分布の標準偏差を決定するために補 助的に用いられる.正規分布の標準偏差は,その主軸成分,すなわち2 つの親個体間の距離に 比例させ,それ以外の軸の成分は,第3 の親個体と主軸との距離に比例させる.ここで,主軸 以外の標準偏差に1/√n .1 (n : Dimensions) をかけることで,次元が増加しても親個体から 極端に離れた子個体を生成する可能性は減少する.
UNDXは,親個体が状態空間上において離れて存在している場合には子個体は広い範囲で生成される. また親個体が近くに存在している場合には子個体を親個体の近傍に生成する. 親個体を結ぶ軸の周辺に正規分布にしたがって子個体を生成することから, 親個体を結ぶ軸から遠く離れた子個体を生成する可能性は少ない. したがって,設計変数間に依存関係のある問題に対して効率的に探索を行う能力を持っていると考えられる.
UNDXに多数(m+2)個の親個体を用いるように拡張(UNDX-m)する.m=1の場合が従来のUNDXに相当する. UNDXでは基本的には2つの親個体を結ぶ直線の近傍に子個体を生成する. そのため,探索空間上を網目状に覆った形でしか子個体が生成されない.これに対して,Fig 4.3のように, xA,xB,xCをすべて用いて主探索成分をより高次元空間上で生成すれば,探索空間をより蜜に覆うことが可能になる. これがUNDX-mのコンセプトである.
シンプレックス交叉(Simplex Crossover: SPX)は,母集団から複数の個体を抽出し,抽出した個体の分布から 一応乱数を発生させ新しい個体を生成する交叉である. SPXのアルゴリズムは以下のようになる.
また,Fig 4.4 にSPXによる子個体生成範囲を示す.
UNDXでは,複数の親個体に正規乱数を用いて子個体を発生させていた.しかし,Parent Centric Recombination(PCX)では, 親個体の周辺のみを発生させる交叉手法である.
PCXでは,まず母集団内から任意のm個の個体数を選択する.その個体数の重心をgベクトルとする. 次世代の個体は下記の式で求めることができる.
xpは,母集団内から選択された同一の確率で選択された親個体であり,dはその選択された親個体と重心 の距離ベクトルである.Dは距離ベクトルdと親個体の垂直ベクトルの平均である.直交する部分空間(副探索空間と呼ぶ)の正規直交基底とする. wは異なる正規乱数とである.
従来の交叉は集団内部への探索バイアスが強いため,誤った領域に一度収束した場合, 集団を適切な領域に移動させる能力が乏しい.これを補うためには外挿的な領域での探索を考慮する必要がある. 外挿的交叉(Extrapolation-Directed Crossover: EDX)とは,UNDX-mやSPX等の交叉と併用するための,外挿的な探索領域を持つ新しい探索オペレータである. 交叉による内挿的な探索とEDXによる外挿的な探索を分担するGAを設計する.
3つの親ベクトルx1,x2, x3から,子ベクトルxcをサンプリングする.ただし,f(x1) > f(x2)とする.fは適合度関数とする.また,x1, x2を主親,x3を副親と呼ぶ.EDXは子個体を以下の式に従いサンプリングする.
ただし,nは問題の次元数,Dはx1とx2を結ぶ直線とx3の距離,eiはx1 - x2に直交する部分空間の任意の正規直交基底ベクトル,viは平均0,分散s2hの正規分布からランダムサンプルされたベクトルである.shは喜多らによって推奨に従い[0.35/(ヨn)]を採用する.EDXによる子個体の生成をxc ← EDX(x1, x2, x3)と書く.EDXのアルゴリズムを以下に示す.また,Fig:3 にEDXによる子個体生成の概念図を示す.
従来の交叉と,EDXを併用するGAの世代交代モデルを設計する.世代交代モデルは佐藤らMGGに基づいている.UNDX-mとEDXを併用した場合のアルゴリズムを以下に示す.
各交叉手法をまとめた表をTable 4.1に示す.
| 形質遺伝性 | 変数間依存性 | 座標軸方向への依存性 | スケールへの依存性 | 統計量の遺伝 | 子個体の分布 | |
| バイナリ | × | × | ? | ? | × | ? |
| BLX-a | ○ | × | × | ○ | △ | 一様 |
| UNDX | ○ | ○ | ○ | × | ○ | 正規分布 |
| UNDX-m | ○ | ○ | ○ | △ | ○ | 正規分布 |
| SPX | ○ | ○ | ○ | ○ | ○ | 一様 |
| PCX | ○ | ○ | ○ | ? | ○ | 正規乱数 |
本報告では,実数値遺伝的アルゴリズム(Real-coded Genetic Algorithms: RCGA)の概要について報告を行った.. RCGAは,特有の遺伝的オペレータを適用する必要があるため,本報告では, 突然変異,交叉といったRCGA特有の操作も報告を行った.
Copyright (C) 2005 Tomoyuki Hiroyasu, All rights reserved. Copyright (C) 2005 Mitsunori Miki, All rights reserved. Copyright (C) 2005 Satoshi Hirai, All rights reserved. No part of this document may be reproduced, copied, distributed, transferred, modified, or transmitted, in any form or by any means, without the prior written permission of the authors. In no event shall the authors be liable for any damages caused in any way out of the use of this document.