Genetica: GP-focused language and environment

jbone at jbone at
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 [1] which includes a full 
documentation of the prototype version of GENETICA’s programming 




More information about the FoRK mailing list