Artificial Intelligence - Genetic Programming
Artificial Intelligence - Genetic Programming
In the meantime, it is an appealing idea that Pollack J B 1990 Recursive distributed representations. Artificial
representation and learning techniques from both Intelligence 46(1–2): 77–106
symbolic processing models and connectionist net- Quillian M 1968 Semantic memory. In: Minsky M (ed.) Semantic
work models shall be brought together to tackle prob- Information Processing. MIT Press, Cambridge, MA, pp.
216–60
lems that neither type of model alone can apparently Quinlan R 1986 Inductive learning of decision trees. Machine
handle very well. Learning 1: 81–106
One such problem is the modeling of human Russell S J, Norvig P 1995 Artificial Intelligence: A Modern
cognition, which requires dealing with a variety of Approach. Prentice-Hall, Englewood Cliffs, NJ
cognitive capacities. Several researchers (e.g., Smol- Shavlik J W, Dietterich T G 1990 Reading in Machine Learning.
ensky 1988, Dreyfus and Dreyfus 1986) have con- Morgan Kaufmann, San Mateo, CA
sistently argued that cognition is multifaceted and Shastri L, Ajjanagadde V 1993 From simple associations to
better captured with a combination of symbolic and systematic reasoning: A connectionist representation of rules,
connectionist processes. Many methods and fram- variables and dynamic bindings using temporal synchrony.
eworks reviewed above share the belief that conn- Behaioral and Brain Sciences 16(3): 417–51
Smolensky P 1988 On the proper treatment of connectionism.
ectionist and symbolic methods can be usefully in- Behaioral and Brain Sciences 11(1): 1–23
tegrated, and such integration may lead to significant Sun R 1994 Integrating Rules and Connectionism for Robust
advances in our understanding of cognition. It thus Commonsence Reasoning. Wiley, New York
appears that hybridization is a theoretically sound Sun R, Alexandre F (eds.) 1997 Connectionist Symbolic In-
approach, in addition to being a practically expedient tegration. Erlbaum, Mahwah, NJ
approach. Sun R, Bookman L A (eds.) 1995 Computational Architectures
Integrating Neural and Symbolic Processes. Kluwer,
Boston
See also: Artificial and Natural Computation; Arti- Sun R, Peterson T 1998 Autonomous learning of sequential
ficial Intelligence: Connectionist and Symbolic Ap- tasks: Experiments and analyzes. IEEE Transactions on Neural
proaches; Artificial Intelligence in Cognitive Science; Networks 9(6): 1217–34
Artificial Neural Networks: Neurocomputation; Turing A 1950 Computing machinery and intelligence. Mind 59:
Connectionist Approaches; Connectionist Models of 433–60
Concept Learning; Connectionist Models of Lan- Waltz D, Feldman J A (eds.) 1988 Connectionist Models and Their
guage Processing; Intelligence: History of the Con- Implications. Ablex, Norwood, NJ
Zadeh L A 1988 Fuzzy logic. Computer 21(4): 83–93
cept; Knowledge Representation; Scientific Discovery,
Computational Models of R. Sun
Bibliography
Barnden J A, Pollack J B (eds.) 1991 Adances in Connectionist
and Neural Computation Theory. Ablex Publishing Co., Artificial Intelligence: Genetic
Norwood, NJ
Davis E 1990 Representations of Commonsense Knowledge. Programming
Morgan Kaufmann, San Mateo, CA
Dreyfus H L, Dreyfus S E 1986 Mind Oer Machine. Free
Press, New York 1. Introduction
GilesC L,Gori M1998 AdaptieProcessingof Sequences and Data
Structures. Springer, New York
The term genetic programming (GP) describes a
Lange T, Dyer M 1989 High-level inferencing in a connectionist research area within artificial intelligence (AI) that
network. Connection Science 1: 181–217 deals with the evolution of computer code. The term
McCarthy J L 1968 Programs with common sense. In: Minsky M evolution refers to an artificial process analogous to
(ed.) Semantic Information Processing. MIT Press, Cambridge, natural evolution of living organisms, but which has
MA been abstracted and stripped of most of its intricate
Rumelhart D E, McClelland J L, PDP Research Group 1986 details. The resultant algorithms then yield approxi-
Parallel Distributed Processing: Explorations in the Micr- mate solutions to problems in machine learning or
ostructures of Cognition. MIT Press, Cambridge, MA induce precise solutions in the form of grammatically
Michalski R S 1983 A theory and methodology of inductive correct (language) structures for the automatic pro-
learning. Artificial Intelligence 20: 111–61
gramming of computers.
Miikkulainen R, Dyer M 1991 Natural language processing with
modular PDP networks and distributed lexicons. Cognitie
Genetic programming is part of the growing set of
Science 15(3): 343–99 evolutionary algorithms which apply search principles
Newell A, Simon H 1976 Computer science as empirical inquiry: analogous to those of natural evolution in a variety of
Symbols and search. Communication of ACM 19: 113–26 different problem domains, notably parameter optimi-
Pearl J 1988 Probabilistic Reasoning in Intelligent Systems. zation. Evolutionary programming, evolutionary
Morgan Kaufmann, San Mateo, CA strategies, and genetic algorithms are three other
789
Artificial Intelligence: Genetic Programming
790
Artificial Intelligence: Genetic Programming
problem domains, especially in optimization. How- schema theory of genetic algorithms (Goldberg 1989,
ever, it was unclear for a long time whether the Vose 1999) has been a primary target of knowledge
principles of evolution could be applied to computer transfer. In the meantime, a number of different
code, with all its dependencies and structural brittle- schema theorems have been formulated for GP.
ness. Negative results from early experiments seemed When analyzing search spaces of programs it was
to indicate that evolution of computer code was not realized that their size is many orders of magnitude
possible. Successes were all in the area of constraint larger than search spaces of combinatorial optimiz-
optimization (Michalewicz 1996), where methods were ation problems. A typical size for a program search
made available for how to deal with structural brittle- space might be 10"!!,!!!, as opposed to a typical search
ness. These methods found their way into program- space for a combinatorial optimization problem of the
ming and gave rise to the new field of GP (Koza 1992). order of 10"!!. Although this might be interpreted as
discouraging for search mechanisms, it was also
realized that the solution density in program spaces is,
3. Progress and State-of-the-art above a certain threshold, constant with changing
complexity (Langdon 1999). In other words, there are
In his seminal work of 1992, Koza established the field proportionally many more valid solutions in program
of GP by arguing convincingly that manipulation of spaces than in the spaces of combinatiorial optimiz-
symbolic tree structures is possible with evolutionary ation problems.
algorithms and that the resulting technique would
have a wide variety of applications. In subsequent
years, the field experienced both broadening and 4. Applications
deepening (Banzhaf et al. 1998). Many different
representations for GP were studied, among them The main application areas of GP are (from narrow to
other generic data structures such as sequences of wide) (Banzhaf et al. 1998): computer science, science,
instructions or directed graphs, as well as more exotic engineering, and art and entertainment. In computer
data structures such as stacks or neural networks. science, the development of algorithms has been a
Today, different approaches are considered as GP, focus of attention. By being able to manipulate
from the evolution of parse trees to the evolution of symbolic structures, genetic programming is one of the
arbitrary structures. The overarching principle is to few heuristic search methods for algorithms. Sorting
subject structures with variable complexity to forces of algorithms, caching algorithms, random number
evolution by applying mutation, crossover, and generators, and algorithms for automatic parallel-
fitness-based selection. The results must not necess- ization of code (Ryan 2000), to name a few, have been
arily be programs. studied. The spectrum of applications in computer
An ever-present difficulty with GP is that the science spans from the generation of proofs for
evolution of structures of variable complexity leads predicate calculus to the evolution of machine code for
often to large structures with considerable redun- accelerating function evaluation. The general tendency
dancy. Notably, variable complexity often leads to is to try to automate the design process for algorithms
inefficient and space-consuming code. It was subse- of different kinds.
quently recognized that the evolutionary forces
exerted a pressure toward more complex solutions, Typical applications in science are to modeling and
most of which could be removed after evolution pattern recognition. Modeling certain processes in
without doing any harm to the evolved solution. By physics and chemistry with the unconventional help of
drawing an analogy from biological evolution of evolutionary creativity supports research and under-
genomes, this phenomenon was called ‘intron growth,’ standing of the systems under study. Pattern rec-
or growth of ineffective code. Thought the explanation ognition is a key ability in molecular biology and other
for this phenomenon is not fully understood yet, it was branches of biology, as well as in science in general.
found that at least two different influences were at Here, GP has delivered first results that are competitive
work promoting the growth of complexity during if not better than human-generated results.
evolution. The most important one has to do with the In engineering, GP is used in competition or
protection effect of redundant code if subjected to the cooperation with other heuristic methods such as
action of crossover or mutation. Redundant code was neural networks or fuzzy systems. The general goal is
resistant to crossover and mutation and allowed its again to model processes such as production plants, or
carrier solution to survive better, compared to other to classify results of production. Control of man-made
individuals which did not possess the redundancy. apparatus is another area where GP has been used
Currently, many researchers are working to transfer successfully, with process control and robot control
results from research in genetic algorithms to genetic the primary applications.
programming. To achieve results in GP is generally In art and entertainment, GP is used to evolve
more difficult since it works with variable complexity realistic animation scenes and appealing visual graph-
and multiple fitness cases for fitness scoring. The ics. It also has been used to extract structural in-
791
Artificial Intelligence: Genetic Programming
792