機械学習(遺伝的アルゴリズム)
獲得すべき知識の探索を行うため、様々な手法が作られてきた。
まったくランダムに探索を進めるのではなく、ある方向性を持って、確率的な探索を行う手法のうち代表的な探索法として遺伝的アルゴリズムがある。遺伝的アルゴリズムは、 探索空間の複数の探索点を同時に処理することができる。
各探索点が表現している解の性質は"遺伝子"と呼ばれる情報として与えられる。 多くの場合、遺伝子は0または1の値を持つ"遺伝子座"の並びとして表現される。これらの遺伝子の全体を"遺伝子プール"といい、遺伝子プールの大きさを"プールサイズ"という。
遺伝的アルゴリズムでは、問題の条件の適応の度合いが遺伝子の評価値になる。
この遺伝子の評価値の良し悪しを計算する関数を"適応度関数(fitness function)"という。適応度が高い遺伝子ほど選択され、適応度が低い遺伝子ほど淘汰されていく。
この選択された遺伝子は遺伝的操作により、子孫を作ることができる。
遺伝的操作として、"交叉(crossover)"や"突然変異(mutation)"がある。交叉の方法にもさまざまな種類があるが、交叉によって遺伝子を組み替えることで、多様な遺伝子を作り出すことができる。
しかし、交叉で得られる遺伝子は親に依存してしまう。 そこで、親とまったく異なる情報を得るために、突然変異が必要になってくる。突然変異とはある確率で遺伝子上の情報をランダムに書き換える操作である。
遺伝的アルゴリズムとは
選択・交叉・突然変異に代表される遺伝的操作を遺伝子プールに施すことで環境に適応する遺伝子を生み出すことができる。
結果として、1つの優れた解を探索するのではなく、遺伝子プール全体を対象として平均適応度を向上させることが目的とした探索法である。 まずまずの結果を与える解を素早く求めることを目標に置かれている。