Genetica: GP-focused language and environment
jbone at place.org
jbone at place.org
Mon Oct 20 07:47:22 PDT 2003
Haven't drilled into this deep enough to know how it's advantageous to
e.g. a Scheme or Lisp + appropriate GP framework, but thought this
might be interesting around these parts:
GENETICA is a problem solving computer language integrated in a
programming environment that includes a compiler, an evolutionary
computational system and a user interface. The problem statement is
represented as a GENETICA program while the solution process is
realized within the evolutionary computational system. Problem solving
is based on the evolution of data generated at runtime while the
solution is represented as a data structure. GENETICA can cope with
confirmation problems, i.e. problems of which the solution is evaluated
in a boolean manner, optimization problems i.e. problems of which the
solution is evaluated in a quantitative manner, and problems combining
both confirmation and optimization goals.
GENETICA includes the partial recursive functions, the logical
operations, the basic arithmetic operations and the quantifiers.
GENETICA’s atomic terms are integers, reals and symbols represented as
strings. Non atomic terms are lists—simple or nested—of atomic terms.
Lists can be both constructed and processed in GENETICA by LISP-like
formulae. GENETICA’s formulae can be also treated as terms, which makes
possible high order modes of expression.
Given a GENETICA program, the computational system performs successive
executions of the program, where each execution results to a different
data generation scenario. Differences between data generation scenarios
are caused by the non deterministic elementary decisions occurring
during the program execution. These decisions depend on genes both
created and structured by the computational system at run-time.
Specific gene structures constitute genotypes, referred to as “genetic
lists” (GLs), each one deterministically defining a data generation
scenario. The successive program executions performed by the
computational system result to a population of GLs. The computational
system evaluates the performance of each data generation scenario in
either confirming a specific formula or optimizing the value of a
specific function within the program. The evaluation provides a fitness
value for the GL of the data generation scenario. The computational
system evolves the population by performing genetic operations on high
fitness GLs, estimating the fitness of the GLs resulting from the
genetic operations, and substituting low fitness GLs in the population.
The best fitness GL of the population, after the evolution procedure,
defines the data generation scenario that results to the solution. The
latter is a data structure constructed by a specific formula within the
Download the file GENETICA_Documentation.PDF  which includes a full
documentation of the prototype version of GENETICA’s programming
More information about the FoRK