swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GA & GP


From: glen e. p. ropella
Subject: Re: GA & GP
Date: Wed, 12 Feb 1997 07:51:37 -0700

>       I have a questiong regarding GA (Genetic Algorithm) & GP (Genetic
> Programming). Sorry if this is too basic for the discussion group. 
> 
> What *exactly* is the difference between GA & GP?
[...]
> Kyle Chuang
> The Wharton School

The exact difference is that GP uses a GA to evolve programs.  Genetic
Algorithms are a class of algorithms that operate over a population of
individuals who compete for the survival of themselves or their
offspring.  There are lots of types of individuals that can be used as
the *data* over which a GA operates.  Where the data are programs is
called GP.  (This is not always true.  Programs are just variable
bit-strings at heart.... but, these are not the usual target of the
referent "GP" because GP tries to operate in a domain whose atoms are
functions and expressions instead of bits.)

There are a few peculiarities to GP that, to me, make it more
interesting than GAs over other data.  One of those peculiarities is
that the product (the evolved program) is human readable (assuming,
you read lisp or s-expressions).  Most GAs that use other types of
data are encoded strings that require some transform to extract
sensical objects.  Another is that the fitness functions used are
actually fitness data.  In most GAs, the fitness function is the final
word in how well an individual is doing.  In GP, one uses a data set
that was probably extracted from an ideal function and that data set,
not the ideal function, is the final word.  This allows me to make a
more well-behaved metaphor between GP individuals and animals.  I
usually think of individuals as operating over data provided by their
environment, not as pieces of data being operated over by their
environment.  But, this is probably peculiar to me. [grin]

glen


reply via email to

[Prev in Thread] Current Thread [Next in Thread]