IX. 選択
GAの概要で、すでにご存知のとおり、個体群から交叉を行うための両親となる染色体が選ばれます。 問題はどうやって染色体を選ぶかということです。 ダーウィンの進化論によると、もっともよい物は生き残り、新しい子孫を作るべきだといっています。 もっともよい染色体を選ぶ方法は沢山あります。 ルーレット方式、ボルツマン選択、トーナメント選択、ランキング方式、定常状態再生 などといったものです。
それらのうちいくつかをこの章で紹介します。
ルーレット方式
適合度によって両親が選択されます。 他よりも良い染色体は、選ばれるチャンスも広がります。 個体群のすべての染色体がおかれている。ルーレットを想像してみてください。 どの染色体も、彼らの適合度関数に従って決められた大きさが割り当てられています。
そしてビーダマをなげて、染色体が選ばれます。 より大きな適合度をもった染色体は何度も選ばれるかもしれません。
これは次のようなアルゴリズムでシミュレートできます。
- [和を求める] 個体群内のすべての染色体の適合度の合計を求めます。 - S
- [選択] (0,S)の間の数をランダムに選びます。 - r.
- [ループ] 個体から染色体を1つづつ取り出して適合度を足していきます。足した合計をsとします。 そして、s がrを越えたら、そこで加算のループをやめます。 そして現在の染色体を返します。
もちろんステップ 1 は、どの個体群にも1度だけ行われます。
(訳注:1世代に1回だと思う)
ランキング方式
上の選択法式だと、適合度に非常に大きな差がある場合に問題が発生してしまうかもしれません。 例えば、最も適合度の良い染色体がルーレットの90%をしめてしまうと、他の染色体は非常に選ばれにくくなってしまいます。
ランキング方式は、まず個体群にランク付けを行います。染色体はこのランクから適合度を受けます。 もっとも悪いものは、適合度1をもらいます. 下から2番目のものは2が適合度となります。 これを続けていきます。 そうすると最も良い個体の適合度はN(個体群内の染色体の数)になります。
これですべての染色体に選ばれる可能性がでてきました。 しかしこの方法はゆっくりとした収束になる可能性があります。 それは、もっともよい個体が他のものに比べて大きな違いがないからです。
定常状態選択
これは両親を選択する方法として特別なものではありません。 主な考え方は、染色体の大部分がつぎの世代へ生き残るということです。
GAは次のようのな方法で動きます。 どの世代でも少しの染色体(良い、高い適合度のもの)を子孫を作るために選びます。 そしていくつかの染色体(悪い、適合度が低いもの)を取り除き、新しい染色体をその場所に加えます。 個体群の残りはそのまま新しい世代へ生き残ります。
エリート主義
エリート主義の考え方はすでに紹介されています。 新しい個体群を交叉と突然変異を用いてつくるとき、最良の染色体が失われてしまうことがあります。
エリート主義というのは、まず最も良い染色体(または複数の良い染色体)を新しい世代へコピーするという方法の名前です。 残りは、古典的な方法で選ばれます。 エリート主義は、非常に急速にGAのパフォーマンスを増加させます。 なぜならば、見つかった解で最も良いものを失わずにすむからです。