XIII. 推奨値
GAのパラメータ
この章では、遺伝的アルゴリズムを実行する際に、目安となるいくつかの基本的な推奨値を与えたいと思います。 これらの推奨値は非常に一般的です。 たぶん、特定の問題にたいして自分のGAで実験したいとおもうでしょう。 なぜなら、今日、いかなる問題に対してのGAのパラメータが述べられた一般的な理論がありません。
推奨値は、しばしばバイナリーコーディングのみで行われたGAの経験的な値の結果です。
-
交叉率
交差率は一般的にほぼ80%-95%のように高く設定されます。(ただし、問題によっては交差率 60% が最も良いという結果もあります。) -
突然変異率
一方、突然変異率は非常に低く設定されます。最も良い率は、だいたい0.5%-1%と報告されています。 -
個体群の大きさ
驚くかもしれませんが、非常に大きな個体群の大きさがいつもGAのパフォーマンスを改善させません。(解を見つける速さという目的で) 良い個体群の大きさは20-30です。しかし50-100が最も良いという報告もあります。ある研究では最も良い個体群の大きさはコード化、コード化された文字列の大きさに依存するとしています。それはもし32ビットの大きさの染色体であれば、個体群は32がよいということです。しかし、確実に16ビットの染色体に対するもっとも良い個体群の大きさの2倍以上です。 -
選択
基本的にはルーレット選択方式 が使われます。しかし時々ランク方式の方が良い場合もあります選択に関する章で長所と短所を調べてみてください。またほかにももっと洗練された方法もあります。それはGAの実行中に選択のパラメータをかえることです。基本的にはシミュレーティッドアニーリング(訳注:やきなまし)のように振る舞います。しかし、エリート主義(もし最も良い解を保存するのに他の方法を使いたくないのであれば)が確実に使われます。また定常状態選択を試すことできます。 -
コード化
コード化は問題に依存します そしてまた、問題の事例にも依存します。 コード化に関する章で提案を調べてみてください。もしくは他の資料を参照してみてください。 -
交叉と突然変異のタイプ
オペレータはコード化と問題に依存します。交叉と突然変異の章で提案をみてください。また他のサイトも見てみてください。
GAの応用例
遺伝的アルゴリズムは難しい問題(例えばNPハード問題)、機械学習や単純進化的プログラムに使われます。また芸術や、進化的な画像や音楽にも使われます。
GAの利点はその並列性にあります。GAは個体を越えて(そして表現型よりむしろ遺伝子型で)探索空間を飛びまわります。そして他の方法のように局所解に懸命に取り組みすぎることがあまりありません。
また実行が簡単です。1度あるGAを使えば、別の問題を解くときには新しい染色体を書くだけでよいのです。また同じコード化を使うのなら、適合度関数をかえるだけでも良いのです。一方でコード化の方法や、適合度関数を選ぶことが難しいです。
GAの欠点は計算時間にあります。GAは他の方法にくらべて遅くなる可能性があります。しかし今日のコンピュータでは大した問題にはなりません。
GAによって問題を解決するアイデアを得るためにここに短い応用例のリストがあります。:
- 非線形動的システム - 予測、データ分析
- ニューラルネットワークの設計、構造と重みの両方
- ロボット制御
- 進化的LISPプログラム(遺伝的プログラミング)
- 戦略計画
- タンパク質分子構造の発見
- 巡回セールスマン問題(TSP)とスケジューリング
- イメージを創るための関数
より多くの情報は、付録や他の資料を通して見つけることができます。