Genetic programming

related topics
{math, number, function}
{system, computer, user}
{theory, work, human}
{specie, animal, plant}
{work, book, publish}
{black, white, people}

In artificial intelligence, genetic programming (GP) is an evolutionary algorithm-based methodology inspired by biological evolution to find computer programs that perform a user-defined task. It is a specialization of genetic algorithms (GA) where each individual is a computer program. It is a machine learning technique used to optimize a population of computer programs according to a fitness landscape determined by a program's ability to perform a given computational task.

Contents

History

In 1954, GP began with the evolutionary algorithms first used by Nils Aall Barricelli applied to evolutionary simulations. In the 1960s and early 1970s, evolutionary algorithms became widely recognized as optimization methods. Ingo Rechenberg and his group were able to solve complex engineering problems through evolution strategies as documented in his 1971 PhD thesis and the resulting 1973 book. John Holland was highly influential during the 1970s.

In 1964, Lawrence J. Fogel, one of the earliest practitioners of the GP methodology, applied evolutionary algorithms to the problem of discovering finite-state automata. Later GP-related work grew out of the learning classifier system community, which developed sets of sparse rules describing optimal policies for Markov decision processes. The first statement of modern "tree-based" Genetic Programming (that is, procedural languages organized in tree-based structures and operated on by suitably defined GA-operators) was given by Nichael L. Cramer (1985),.[1] This work was later greatly expanded by John R. Koza, a main proponent of GP who has pioneered the application of genetic programming in various complex optimization and search problems.[2]

Full article ▸

related documents
Bash
Key (cryptography)
Pike (programming language)
Modula-2
PL/I
S-expression
Reverse Polish notation
Standard Generalized Markup Language
Esoteric programming language
ElGamal encryption
QuakeC
HMAC
HyperTalk
Linear congruential generator
Unified Modeling Language
Monomorphism
Triangle inequality
Harmonic series (mathematics)
Initial and terminal objects
Entailment
Fuzzy set
Discrete space
Infinite product
Torsion subgroup
Principal ideal
Coset
Bézout's theorem
PSPACE
Inverse element
Burali-Forti paradox