A type of programming
that utilizes the same properties of natural selection found in biological evolution. The general idea behind genetic programming is to start with a collection of functions
and randomly combine them into programs; then run the programs and see which gives the best results; keep the best ones (natural selection), mutate some of the others, and test the new generation; repeat this process until a clear best program emerges.
LISP is a popular language for genetic programming.