Co je genetické programování?

Genetické programování je proces zvyšování počítačových programů pomocí algoritmů inspirovaných biologickou evolucí. Programovací jazyky, které se přirozeně hodí pro genetické programování, jsou schopny nativně vyhodnotit svůj vlastní kód. Klasickým příkladem je LISP, jehož charakteristickou datovou strukturou je seznam. Každý program LISP je napsán jako seznam, takže programy LISP jsou velmi dobré při manipulaci a vytváření programů LISP.

Jak to funguje?

Genetický program začíná souborem instrukcí sloužících jako „chromozomy“ a „fitness funkce“, která určuje, které výsledky jsou ideální. Instrukce jsou kombinovány náhodně, aby se vytvořila první "generace" programů, a pak jsou tyto jednotlivé programy testovány na jejich vhodnost.

Nejvhodnější programy - ty, které se blíží dosažení chování definovaného fitness funkcí - jsou vybrány pro "chov". Chromosomy nejvhodnějších programů jsou kombinovány, podobně jako genetický kód je kombinován v biologickém chovu. Některé chromozomy jsou "překřížené" (vyměněné) s těmi v jiných programech a některé jsou "mutované" - změněné náhodně předem definovaným způsobem. Tisíce nebo dokonce milióny programů mohou být produkovány, s každou generací blíže a blížit se k dosažení požadovaného výsledku.

Pokyny, Programovací termíny