We propose the application of a genotype-phenotype mapping to the solution of constrained optimization problems. The method consists of strictly separating the search space of genotypes from the solution space of phenotypes. A mapping from genotypes into phenotypes provides for the appropriate expression of information represented by the genotypes. The mapping is constructed as to guarantee feasibility of phenotypic solutions for the problem under study. This enforcing of constraints causes multiple genotypes to result in one and the same phenotype.
Neutral variants are therefore frequent and play an important role in maintaining genetic diversity.
Genetic programming addresses the problem of automatic programming, namely the problem of how to enable a computer to do useful things without instructing it, step by step, on how to do it. The rapid growth of the field of genetic programming reflects the growing recognition that, after half a century of research in the fields of artificial intelligence, machine learning, adaptive systems, automated logic, expert systems, and neural networks, we may finally have a way to achieve automatic programming. Hardware speed and capability has leapt forward exponentially. Yet software consistently lags years behind the capabilities of the hardware. The gap appears to be ever increasing.