GA-GPとは
TOP > GA-GPとは

GA-GPとは?

GA-GPとは
生物の進化のメカニズムをまねてデータ構造を変形、合成、選択する工学的手法、『進化論的手法』の目的である、計算システム(進化型システム)を実現する代表例が、遺伝的アルゴリズム(Genetic Algorithms, GA)と遺伝的プログラミング(Genetic Programming, GP)です。
GAの原理
GAの基本的なデータ構造は遺伝学の知見をもとにしています。
GAで扱う情報は、PTYPEとGTYPEの二層構造からなっています。GTYPE(遺伝子コード)ともいい、細胞内の染色体に相当する)は遺伝子型のアナロジーで、低レベルの局所規則の集合です。PTYPEは表現型(発現型)であり、GTYPEの環境内での発達に伴う大域的な行動や構造の発現を表します。環境に応じてPTYPEから適合度(fitnessvalue)が決まり、その為、適合選択はPTYPEに依存します。なお、しばらくは、適合度は大きい数値をとるほど良いものとします。したがって、適合度が1.0と0.3の個体では前者の方が環境により適合し生き残りやすくなります。
この表現をもとに、GAの基本的なしくみを図にしたものが下図です。
GAの基本的なしくみ 何匹かの猫がいて、集団を構成します。これを世代tの猫とします。この猫は各々GTYPEとして遺伝子コードを有し、それが発現したPTYPEに応じて適合度が決まっています。適合度は図では丸の中の数値として示しています。(大きいもの程良い)これらの猫は生殖活動(recombination, reproduction)を行い、次の世代t+1の子孫を作り出します。生殖に際しては適合の良いものほど、よりたくさん子孫をつくりやすいように、そして適合の悪いものほど死滅しやすいようにします。これを生物学用語で選択もしくは淘汰といいます。
この結果、次の世代t+1での各個体の適合度は前の世代よりも良いことが期待されます。そして、集団全体として見た時の適合度が上がっています。同様にして、t+1世代の猫たちが親となってt+2世代の子孫を生みます。これを繰り返していくと世代が進むにつれ、次第に集団全体が良くなっていく、というがGAの基本的なしくみです。
GAからGPへ
遺伝的プログラミング(Genetic Programming, GP)は、遺伝的アルゴリズム(GA)の考え方を応用して、プログラムの自動生成や人工知能(学習、推論、概念形成等)を実現するものです。このために、木やグラフなどの構造的な表現を扱えるように遺伝子型を拡張しています。
GA-GP 応用
GA GPは進化のメカニズムをもとにした計算手法です。一般的な問題解決ツールなので、 を適切に設計すれば、原理的にはどのような問題にも適用することができます。
応用技術として、新幹線N700系電車のフロントノーズの設計には遺伝的アルゴリズムが使用されています。
その他にもロボット、ハードウェア、金融・経済等様々な分野で応用されています。
また、GAGP Traderも応用技術の一つです。
GAGP Trader
[引用・参考文献] 伊庭斉志 著 『Excelで学ぶ遺伝的アルゴリズム』