Genetic programming

bankpottstownΤεχνίτη Νοημοσύνη και Ρομποτική

23 Οκτ 2013 (πριν από 3 χρόνια και 11 μήνες)

99 εμφανίσεις

Genetic programming

Genetic programming

(
GP
) is an automated methodology inspired by
biological evolution

to find
computer programs

that best perform a user
-
defined task. It is therefore a particular
machine learning

technique that uses a
n
evolutionary algorithm

to optimize a population of computer programs according
to a
fitness landscape

determined by a program's ability to perform a given computational task. The first
experiments with GP were reported by
Stephen F. Smith

(1980) a
nd
Nichael L. Cramer

(1985), as
described in the famous book
Genetic Programming: On the Programming of Computers by Means of
Natural Selection

by
John Koza

(1992).

Computer programs in GP can be written in a variety of
programming languages
. In the early (and
tradit
ional) implementations of GP, program instructions and data values were organized in
tree
-
structures
, thus favoring the use of languages that naturally embody such a structure
(an important
example pioneered by Koza is
Lisp
). Other forms of GP have been suggested and successfully
implemented, such as the simpler
linear representation

which suits the more traditional
imperative
languages

[see, for example, Banzhaf
et al.

(1998)]. The commercial GP software
Discipulus
, for
example, uses
linear genetic programming

combined with
machine code

language to achieve better
performance. Differently, the
MicroGP

uses an internal representation similar to
linear genetic
programming

to ge
nerate programs that fully exploit the syntax of a given assembly language.

GP is very computationally intensive and so in the 1990s it was mainly used to solve relatively simple
problems. However, more recently, thanks to various improvements in GP techno
logy and to the well
known
exponential growth in CPU power
, GP has started delivering a number of outstanding results. At
the time of writing, nearly 40
human
-
competitive

results have been gathered, in areas such as
quantum
computing
, electronic design, game playing, sorting, searching and many more. These results include the
replication or infringement of several post
-
year
-
2000 inventions, and the production of two patentable
new inventions.

Developing a theory for
GP has been very difficult and so in the 1990s genetic programming was
considered a sort of pariah amongst the various techniques of search. However, after a series of
breakthroughs in the early 2000s, the theory of GP has had a formidable and rapid develo
pment. So much
so that it has been possible to build exact probabilistic models of GP (schema theories and
Markov chain

models) and to show that GP is more general than, and in fac
t includes,
genetic algorithms
.

Genetic Programming techniques have now been applied to
evolvable hardware

as well as computer
programs.

Meta
-
Genetic Programming

is the technique of evolving a genetic programming system using genetic
programming itself. Critics have argued that it is theoretically impossible, but more research is needed
.