abstract = "Genetic programming is a powerful method for
automatically generating computer programs via the
process of natural selection (Koza, 1992). However, in
its standard form, there is no way to restrict the
programs it generates to those where the functions
operate on appropriate data types. In the case when the
programs manipulate multiple data types and contain
functions designed to operate on particular data types,
this can lead to unnecessarily large search times
and/or unnecessarily poor generalisation performance.
Strongly typed genetic programming (STGP) is an
enhanced version of genetic programming that enforces
data-type constraints and whose use of generic
functions and generic data types makes it more powerful
than other approaches to type-constraint enforcement.
After describing its operation, we illustrate its use
on problems in two domains, matrix/vector manipulation
and list manipulation, which require its generality.
The examples are (1) the multidimensional least-squares
regression problem, (2) the multidimensional Kalman
filter, (3) the list manipulation function NTH, and (4)
the list manipulation function MAPCAR.",