「遺伝的アルゴリズム」とは|テクスタ辞書


「遺伝的アルゴリズム」とは、コンピュータプログラムで問題に対する最適な答えを求める方法の一つで、生物の進化における遺伝のメカニズムのような操作を取り入れた解決手段のことです。

遺伝的アルゴリズムの特徴

幾つかあるアルゴリズ中で遺伝的アルゴリズムでは、データを遺伝子とみなして、複数のデータの中から最も良いと思われるものを残し、それらを掛け合わせることで新しいデータを作るという作業を繰り返してデータを進化させるという、特徴があります。まさに生物の進化をアルゴリズムで表現したものです。

遺伝的アルゴリズムの考え方

遺伝的アルゴリズムでは、データを遺伝子として見なしています。最初にいくつもの遺伝子を用意し、それぞれを評価関数にかけて、より適していると思われる遺伝子を残します。そして、残った遺伝子を掛け合わせて新しい遺伝子を作り評価するという操作を何世代も繰り返すことによって、段階的に最適な解に近づけていくという手法になっています。新しい遺伝子を作る時には、低い確率ではありますがランダムにデータを変化させる「突然変異」のメカニズムも考慮しています。

遺伝的アルゴリズムにおける問題点

遺伝的アルゴリズムは、データの探索や最適化に関する問題に幅広く応用できる方法ですが、対象となる問題の何を遺伝子としてパラメータ化するか、どのような評価関数で適合度を評価するかによっては、想定していたはずの良好な結果が得られないというような場合もあります。そのため、遺伝的アルゴリズムを用いる時には、その遺伝子をどう評価するかといったことが、想定していた結果に結び付けるためのポイントになります。