In general, the machine learning process can be accelerated through the use of heuristic knowledge about the problem solution. Polymorphic typed GP improves over monomorphic and untyped GP by allowing the type information to be expressed in a more generic manner, and yet still imposes constraints on the search space.
Many optimization problems require the satisfaction of constraints in addition to their objectives.
We have identified eleven ways to handle constraints within various stages of an evolutionary algorithm. Five of these methods are experimented on a run-time error constraint in a Genetic Programming system. There are various functional programming techniques that human programmers can use to accelerate the program development process. This research investigated the applicability of some of the functional techniques to GP and analyzed their impact on GP performance. They are polymorphism, implicit recursion and higher-order functions.