JAGA, the Java API for Genetic Algorithms
JAGA is a generic Java API for implementing genetic algorithm and genetic programming applications in Java. It has been created as a research tool at the computer science department of the University College London.
Presently JAGA runs on Java 1.4 or later.
The plug-in style design of JAGA and its extensibility allow implementing any type of GA or GP application very quickly. A range of ready-to-use genetic algorithms and operators is included and new ones can be created easily by implementing the provided interfaces.
The following plug-in features are currently provided:
(further features can be easily realised by extending these features)
- GA Algorithms:
- Simple GAs
- Elitist GAs with best and worst cut-offs
- Simple & Elitist GAs with specified initial populations
- Genotype representations for:
- Grey coded numbers (integers & arbitrary precision decimals)
- Boolean formulas (in form of function trees)
- Protein sequences (in form of amino acid patterns)
- For each of the above genotypes following operators are available:
- Crossover (with various parameters)
- Mutation (different types with various parameters)
- Elongation (only for amino acid patterns)
- Analysis tools:
- Tracing of every change in the population
- Tracing of all fitness evaluations
- Graphical and numerical analysis of population statistics, such as best fitness, worst fitness, average fitness, std. deviation of fitness for each generation, overall best fitness tracking and others