|The ART project (Artificial
Reasoning Toolkit) is a library devoted to handle:
- Genetic Algorithms;
- Classifier Systems.
It has been engineered in order to be used into
Swarm or others agent based simulation's models, to easy obtain
"minded" agents who are fully autonomous, able to decide
their own behaviors and able to change it to fit in different
environmental conditions.Another main usage of the algorithm is
to search bounded optimal solutions in very wide solution spaces
and for quite undefined problems. This kind of problems are solved
using the convergence method: the best result is assumed to be
achieved when a given convergence of the same solution exist in
the population. It is widely accepted as mathematical proof that
the genetic algorithm, due to its fitness-proportionate reproduction,
converges to better solutions.
The genetic algorithm's implementation, starting
from John Holland's work, introduces some extensions and innovations:
- extended alphabet: each gene can be represented by
up to 32000 values. In a standard representation the genes have
a binary alphabet and so the genomes have to be explicitly translated
into the various aspects composing the solution, which after
some manipulation, as crossover or mutation, can become meaningless.
With the extended alphabet each allele can be a meaningful part
of the solution and the translation process is easier.
- multi genome: each individual of the population is
represented by a chromosome that could be composed by a variable
number of genomes. Each genome of a chromosome represent a "substrategy"
and the chromosome is the genetic algorithm's formalism for
a "strategy" driving the actions of the simulated
agent. The multi genome schema give a high degree of freedom
to the user in formalizing problems in which coexist different
- rescale fitness operator: the natural selection process
has been modified in order to improve efficiency and manage
negative fitness values. The technique utilized consist in rescale
the fitness of all the chromosome.
- univocal genome: using this option each value of the
alphabet is unique whitin the genome, it means that in a genome
there can not be two or more identical genes.