These programs are then made to compete against each other to see which program performs better. Once the competetion is complete, we'll get a ranked list of the programs sorted in the order of best to worst programs.
Next comes the evolution, the best peroforming programs are replicated and modified further in two ways, Mutation and Crossover. Mutation is the simplest way in which certain parts of the program are altered very slightly randomly in hope that it will make it even better. Crossover is the way of taking a portion of the best programs and replacing it with a portion if one of the other best programs. These replications and modifications create mansy new programs that asre based on, but different from the best programs.
At each stage the fitness of the programs are evaluated by competeign against each other. the number of the programs in each stage is kept constant. So the worst ones are eliminated leaving space for newer better programs. each stage is termed as a Generation and the whole procedure is repeated in each stage.
Since only the best programs are being kept and modified, it is expected that with each generation the programs will get better and better.
The new generations keep on coming until a termination occurs when a perfect solution is found or a good enough solution is obtained or there is no progress through generations or the generation limits are exceeded.
Genetic programming has been around since 1980s. The genetic progams are computationally very intensive so in early days they were used only for simple functions. As computers got more powerful the progroblems got bigger. Genetic programming is extensively used by NASA and in photonics, optics and other scientific inventions.
Genetic programming has been used to create programs for playing games like Chess and backgammon.
Learn More on Genetic Programming,


