All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ec.gp.build.README Maven / Gradle / Ivy

Go to download

ECJ, A Java-based Evolutionary Computation Research System. ECJ is a research EC system written in Java. It was designed to be highly flexible, with nearly all classes (and all of their settings) dynamically determined at runtime by a user-provided parameter file. All structures in the system are arranged to be easily modifiable. Even so, the system was designed with an eye toward efficiency. ECJ is developed at George Mason University's ECLab Evolutionary Computation Laboratory. The software has nothing to do with its initials' namesake, Evolutionary Computation Journal. ECJ's sister project is MASON, a multi-agent simulation system which dovetails with ECJ nicely.

The newest version!
This directory contains GPNodeBuilder subclasses other than the most common
ones (GPHalfBuilder, GPGrowBuilder, GPFullBuilder) found in the 'koza'
directory.  A good description of most of these algorithms may be found in
"A Survey and Comparison of Tree Generation Algorithms" by Sean Luke and
Liviu Panait, GECCO 2001.  Google for it.



ec.gp.build.PTC1

Implements the PTC1 algorithm, a variation of the GROW algorithm which
guarantees that generated trees will have a certain mean size.


ec.gp.build.PTC2

Implements the PTC2 algorithm, which guarantees that generated trees will
be "more or less" a certain desired size.


ec.gp.build.PTCFunctionSet

A subclass of GPFunctionSet with additional probabilistic arguments required
by the PTC1 and PTC2 algorithms.


ec.gp.RandomBranch

Implements the RANDOMBRANCH algorithm (Chellapilla), which creates roughly
evenly distributed algorithms 


ec.gp.RandTree

Implements the RandTree algorithm (Iba), which picks trees uniformly according
to structure, then labels the tree with appropriate nodes.  Note that we
believe this code may be flakey and do not recommend it.


ec.gp.Uniform

Implements an algorithm from (Bohm and Geyer-Schulz) which draws trees 
entirely uniformly.  The version in ECJ aso considers set and atomic types.


If you're struggling to pick a more versatile tree generator than the Koza
standard ones, we strongly suggest PTC2.




© 2015 - 2025 Weber Informatics LLC | Privacy Policy