「遺伝的アルゴリズム」の版間の差分

削除された内容 追加された内容
m編集の要約なし
41行目:
: <math>p_i = \frac{f_i}{\sum^{N}_{k=1}f_k}</math>
 
とする選択方式である。上記の式の ''f<sub>i</sub>'' は個体 ''i'' の適応度を表す。この方式はホランドが最初に提案したときに使われた選択方式であり、最も有名な選択方式であるが適応度が負の数を取らないことが前提になっている。また適応度が高いことが前提になっているため最小値を求める問題では使いづらい。さらに、もし個体間の適応度の格差が激しい場合は適応度の高い個体の選ばれる確率が非常に高くなり、'''初期収束'''(後述)の原因にもなる。このため、実際には適応度をスケーリングした値を使用することが多い。
 
==== ランキング選択 ====
57行目:
'''交叉(組み換え)'''は生物が交配によって子孫を残すことをモデル化したもので、個体の遺伝子の一部を入れ換える操作である。交叉はその性質上、最も重要な遺伝的操作と言うことができる。
 
交叉のアルゴリズムには次のようなものがある。1
 
遺伝子が交叉する場所(交叉点)をランダムで一つ選び、その場所より後ろを入れ換える方式である。ホランドが最初に提案したときの交叉方法であるが、効率は低く現在ではあまり使われていない。
例として次の二つの個体を交叉する。
 
個体A: 0100111010
 
個体B: 1010101011
 
==== 一点交叉 ====
[[File:Computational.science.Genetic.algorithm.Crossover.One.Point.svg|thumb|right|一点交叉]]
遺伝子が交叉する場所(交叉点)をランダムで一つ選び、その場所より後ろを入れ換える方式である。ホランドが最初に提案したときの交叉方法であるが、効率は低く現在ではあまり使われていない。
 
個体A: 01001|'''11010''' ⇒ 01001 '''01011'''