遺伝的プログラミング(いでんてきプログラミング、英: Genetic Programming, GP)は、メタヒューリスティックなアルゴリズムである遺伝的アルゴリズムを拡張したもので、進化的アルゴリズムの四つの主要な方法論の内の一つでもある。 概要[編集] 遺伝的プログラミングは1990年にジョン・コザ(John Koza)によって提案された。他の進化的アルゴリズムの主要な方法論が同時期に提案され独立して研究が進められていたのに対し、遺伝的プログラミングは最初から遺伝的アルゴリズムの拡張として提案されており、他の三つの方法とは大きく立場を異にする。具体的な内容としては、遺伝的アルゴリズムにおける遺伝子型の表現が主に配列であるのに対し、遺伝的プログラミングでは木構造を用いる。このため、遺伝的アルゴリズムでは表現できなかった数式やプログラムのコードなど、構造を持ったデータを表現することができる
![遺伝的プログラミング - Wikipedia](https://cdn-ak-scissors.b.st-hatena.com/image/square/5b3aef4b121875714c9ccb674790e6730f4837a9/height=288;version=1;width=512/https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fja%2Fthumb%2F5%2F59%2FGP_tree1.png%2F200px-GP_tree1.png)