遺伝的アルゴリズム 【genetic algorithm】 GA

概要

遺伝的アルゴリズム(genetic algorithm)とは、プログラムによって問題に対する最適な解を求める手法の一つで、生物の進化における遺伝のメカニズムに似た操作を取り入れたアルゴリズム。生成論的アルゴリズムとも呼ばれる。1975年に米ミシガン大学のジョン・ホランド(John H. Holland)氏によって提唱された。

解のセットパラメータとして一つのデータにまとめ、これを遺伝子に見立てる。はじめにいくつもの「個体」を用意(ランダムなで生成することが多い)し、それぞれを評価関数にかけてより適合度の高いと思われる遺伝子を残す。

どの遺伝子を残してどれを捨てるか(選択)を決定する手法はいくつか提唱されているが、最もよく知られるルーレット選択では、適応度に比例して残す確率を決める。適応度が高い遺伝子の配列は次世代に多く残され、低い遺伝子はわずかしか残さない。

現世代の個体群から、生物の生殖や遺伝に相当する操作をい、同じ数(個体を増やしていく手法もある)の次世代の個体を生成する。二つの遺伝子を同じ長さだけ相手の同じ位置の配列と入れ替える「交叉」、一定の低い確率でランダムにを変化させる「突然変異」などがわれる。生命の遺伝と異なり、特に成績の良かった個体をそのまま次世代に残す「エリート保存」がわれることもある。

遺伝的アルゴリズムは推論や最適化などの問題に広く応用できる手法だが、良い結果を得るには世代数を大きくする必要があり、問題の種類によっては膨大な計算量が必要となることがある。各世代の個体群は単一の適合度の大小で順位付けするため、複雑な問題の場合は適合度を評価する評価関数を記述するのが難しい場合もある。

(2021.4.18更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる