遺伝的アルゴリズム (GA)

GA は確定ランダムサーチを使用する試行錯誤的な最適化 方法です。最適化問題の解の候補の集合は、個体集団とみなされます。ある個体の環境適合の度合は、 その適合性で示されます。

検索空間における個体の座標は 染色体 で表現さ れ、その実体は文字列集合となります。遺伝子 は、 1 つの最適化対象のパラメータの値をコード化する染色体の一部です。遺伝 子のコード化には バイナリ または 整数がよく使用されます。

再交配突然変異淘汰といった進化操作を模擬して、検索ポイントに おいて先祖よりも適合性平均が高い、新しい子孫を探します。

"comp.ai.genetic" の FAQ によると、 GA が問題解決用の純粋なランダムサーチでないことは、 それほど強く強調されなくてもよいとしています。GA は推計学的な処理を行ないますが、その結果は厳密には非ランダムです。 (ランダムより良いものです。)

P(t)    時間 t における先祖となる世代
P''(t)  時間 t における子孫となる世代

+=========================================+
|>>>>>>>>>>>  GA アルゴリズム <<<<<<<<<<<<|
+=========================================+
| t := 0 で初期化                         |
+=========================================+
| P(t) を初期化                           |
+=========================================+
| P(t) の適合性を評価                     |
+=========================================+
| 停止基準に達するまで実行                |
|   +-------------------------------------+
|   | P'(t)  := 再交配{P(t)}              |
|   +-------------------------------------+
|   | P''(t) := 突然変異{P'(t)}           |
|   +-------------------------------------+
|   | P(t+1) := 淘汰{P''(t) + P(t)}       |
|   +-------------------------------------+
|   | P''(t) の適合性を評価               |
|   +-------------------------------------+
|   | t := t + 1                          |
+===+=====================================+