Inicjatorem programowania ewolucyjnego był Lawrence Fogel (1966 rok). Pierwotnie było ono wykorzystywane do przewidywania ewentualnych zmian w środowisku mogących wystąpić na skutek rozwoju sztucznej inteligencji. W tym przypadku otoczenie opisywane było sekwencją symboli, zaś dane wyjściowe tworzył nowy symbol wyprodukowany przez rozwinięty algorytm. Wyjściowy symbol maksymalizował funkcję wypłaty oceniającą dokładność dokonanego przewidywania. W końcowym stadium eksperymentu maszyny w nim wykorzystane tworzyły chromosomową reprezentację jednostek, która w oparciu o interpretację symboli dostarczała sensowne odzwierciedlenie rzeczywistych zachowań ludzkich. We wczesnych latach dziewięćdziesiątych David Fogel dokonał próby uogólnienia wszystkich technik programowania ewolucyjnego, aby umożliwić rozwiązanie złożonych problemów z zakresu klasyfikacji i optymalizacji numerycznej.





