Abstract
Many seemingly different problems in machine learning,
artificial intelligence, and symbolic processing can be
viewed as requiring the discovery of a computer program
that produces some desired output for particular
inputs. When viewed in this way, the process of solving
these problems becomes equivalent to searching a space
of possible computer programs for a highly fit
individual computer program. The recently developed
genetic programming paradigm described herein provides
a way to search the space of possible computer programs
for a highly fit individual computer program to solve
(or approximately solve) a surprising variety of
different problems from different fields. In genetic
programming, populations of computer programs are
genetically bred using the Darwinian principle of
survival of the fittest and using a genetic crossover
(sexual recombination) operator appropriate for
genetically mating computer programs. Genetic
programming is illustrated via an example of machine
learning of the Boolean 11-multiplexer function,
symbolic regression of the econometric exchange
equation from noisy empirical data, the control problem
of backing up a tractor-trailer truck, the
classification problem of distinguishing between two
intertwined spirals., and the robotics problem of
controlling an autonomous mobile robot to find a box in
the middle of an irregular room and move the box to the
wall. Hierarchical automatic function definition
enables genetic programming to define potentially
useful functions automatically and dynamically during a
run - much as a human programmer writing a complex
computer program creates subroutines (procedures,
functions) to perform groups of steps which must be
performed with different instantiations of the dummy
variables (formal parameters) in more than one place in
the main program. Hierarchical automatic function
definition is illustrated via the machine learning of
the Boolean 11-parity function.
Users
Please
log in to take part in the discussion (add own reviews or comments).