com.anji classes implement a neuroevolution framework based on NEAT and built upon a modified version of the open source project JGAP. Modification to NEAT was made as outlined in James and Tucker's "A Comparative Analysis of Simplification and Complexification in the Evolution of Neural Network Topologies" paper for GECCO 2004. Persistence and presentation data are stored in XML. Run and network data models are consistent with NEVT XML data model.

org.jgap classes were modified by Tucker and James to support ANJI. examples classes contain JGAP examples unrelated to ANJI. A summary of changes:

A good starting point for navigating this code is the com.anji.neat.Evolver class. Its main(String[]) method is the starting point for performing evolutionary runs. Configuration parameters are loaded into a com.anji.util.Properties object and passed to various components of the system via init(Properties) methods. The org.jgap.Genotype.evolve() method is also a pivotal point in the system, as this contains the logic for processing a generation.