<programming> (GP) A programming technique which extends the genetic algorithm
to the domain of whole computer programs. In GP, populations of programs are genetically bred to solve problems.
Genetic programming can solve problems of system identification, classification, control, robotics, optimisation, game playing, and pattern recognition
Starting with a primordial ooze of hundreds or thousands of randomly created programs composed of functions and terminals appropriate to the problem, the population is progressively evolved over a series of generations by applying the operations of Darwinian fitness proportionate reproduction and crossover (sexual recombination).