Programowanie ewolucyjne
![]() | Ten artykuł od 2011-06 wymaga zweryfikowania podanych informacji. Należy podać wiarygodne źródła w formie przypisów bibliograficznych. Część lub nawet wszystkie informacje w artykule mogą być nieprawdziwe. Jako pozbawione źródeł mogą zostać zakwestionowane i usunięte. Sprawdź w źródłach: Encyklopedia PWN • Google Books • Google Scholar • Federacja Bibliotek Cyfrowych • BazHum • BazTech • RCIN • Internet Archive (texts / inlibrary) Dokładniejsze informacje o tym, co należy poprawić, być może znajdują się w dyskusji tego artykułu. Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu. |
Programowanie ewolucyjne (ang. evolutionary programming, EP) – podzbiór algorytmów ewolucyjnych.
Podstawy programowania ewolucyjnego opracował Lawrence Fogel, zaś rozwinął je jego syn David Fogel. Celem EP miał być rozwój sztucznej inteligencji, w sensie rozwoju możliwości przewidywania zmian w otoczeniu. Otoczenie opisywane było sekwencją symboli, a algorytm ewolucyjny miał tworzyć nowy symbol. Wyjściowy symbol maksymalizował funkcję wypłaty oceniającą dokładność dokonanego przewidywania.
Reprezentacje używane w programowaniu ewolucyjnym są zwykle dopasowane do domeny problemu. Najczęściej wykorzystywaną reprezentacją jest utworzony z liczb rzeczywistych wektor o stałej długości. Zasadnicza różnica między programowaniem ewolucyjnym a innymi podejściami (GA, GP, ES) polega na tym, że nie zachodzi tu wymiana materiału pomiędzy poszczególnymi członkami populacji. Wykorzystywana jest jedynie mutacja.