The premise behind genetic programming is that computer programs can be evolved based on their ability to solve a particular problem.
The programs which best solve the problem are selected for breeding more frequently than others. This allows good code to be propagated amongst other members of the population.
This has similarites to the phenomenon of natural selection found in nature.