Głównym wyzwaniem informatyki jest doprowadzenie do sytuacji, w której komputer wykonałby określone zadanie nie wymagając od użytkownika podania sposobu jego wykonania. Programowanie genetyczne jest najlepszym sposobem realizacji tego przedsięwzięcia. Umożliwia ono osiągnięcie zamierzonego celu poprzez wykorzystanie metody automatycznego tworzenia roboczego programu komputerowego w języku wysokiego poziomu. Programowanie genetyczne (nazywane również syntezą lub indukcją programu) realizuje proces genetycznego wychowania populacji złożonej z programów komputerowych stosując się do zasad naturalnej selekcji Darwina i innych procesów biologicznych. W celu odnalezienia w przestrzeni zawierającej wszystkie możliwe programy komputerowe najlepszego z nich, utworzona zostaje populacja programów wykonawczych, które wzajemnie ze sobą rywalizują. Słabe programy "umierają", zaś silne powielają się tworząc nową generację lepszych programów. Po kilku powtórzeniach, dzięki procesowi ewolucyjnemu, otrzymujemy najlepszy program zdolny do rozwiązania danego problemu.





