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

The GA is a heuristic optimization method which operates through determined, randomized search. The set of possible solutions for the optimization problem is considered as a population of individuals. The degree of adaption of an individual to its environment is specified by its fitness.

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

The coordinates of an individual in the search space are represented by chromosomes, in essence a set of character strings. A gene is a subsection of a chromosome which encodes the value of a single parameter being optimized. Typical encodings for a gene could be binary or integer.

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

Through simulation of the evolutionary operations recombination, mutation, and selection new generations of search points are found that show a higher average fitness than their ancestors.

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

According to the "comp.ai.genetic" FAQ it cannot be stressed too strongly that a GA is not a pure random search for a solution to a problem. A GA uses stochastic processes, but the result is distinctly non-random (better than random).

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

 

Structured Diagram of a GA:
---------------------------

P(t)    generation of ancestors at a time t
P''(t)  generation of descendants at a time t

+=========================================+
|>>>>>>>>>>>  Algorithm GA  <<<<<<<<<<<<<<|
+=========================================+
| INITIALIZE t := 0                       |
+=========================================+
| INITIALIZE P(t)                         |
+=========================================+
| evalute FITNESS of P(t)                 |
+=========================================+
| while not STOPPING CRITERION do         |
|   +-------------------------------------+
|   | P'(t)  := RECOMBINATION{P(t)}       |
|   +-------------------------------------+
|   | P''(t) := MUTATION{P'(t)}           |
|   +-------------------------------------+
|   | P(t+1) := SELECTION{P''(t) + P(t)}  |
|   +-------------------------------------+
|   | evalute FITNESS of P''(t)           |
|   +-------------------------------------+
|   | t := t + 1                          |
+===+=====================================+
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                          |
+===+=====================================+