ec.app.regression.README Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ecj Show documentation
Show all versions of ecj Show documentation
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 holds various versions of Koza's Symbolic Regression problem.
QUARTIC: x^4 + x^3 + x^2 + x (Koza I)
Basic class: Regression.java
Using an ERC: java ec.Evolve -file erc.params
Not using an ERC: java ec.Evolve -file noerc.params
Grammatical Evolution Variant:
GE Grammar file: regression.grammar
Using an ERC: java ec.Evolve -file ge.params
Steady State Variant:
Using no ERCs: java ec.Evolve -file steadynoerc.params
QUINTIC: x^5 - 2 * ^3 + x (Koza II)
Basic class: Quintic.java
Using an ERC: java ec.Evolve -file quintic.params
Not using an ERC: java ec.Evolve -file quinticnoerc.params
SEXTIC: x^6 - 2 * x^4 + x^2 (Koza II)
Basic class: Sextic.java
Using an ERC: java ec.Evolve -file sextic.params
Not using an ERC: java ec.Evolve -file sexticnoerc.params
BENCHMARKS
The benchmarks class contains about 50 benchmark examples drawn from the
literature. This class is part of the GP Benchmarks discussion which took
place at GECCO 2011 in Dublin. See the GP Benchmarks Wiki page at:
http://groups.csail.mit.edu/EVO-DesignOpt/GPBenchmarks/
The official definition of these functions is NOT the ECJ definition, but
rather is the paper "Genetic Programming Needs Better Benchmarks", by
James McDermott, David R. White, Sean Luke, Luca MAnzoni, Mauro Castelli,
Leonardo Vanneschi, Wojciech Jaskowski, Krzysztof Krawiec, Robin Harper,
Kenneth De Jong, and Una-May O'Reilly, found at GECCO 2012.
See the benchmark.params file for extensive description of your options.
THE BENCHMARKS CODE IS IN A STATE OF FLUX. It may have bugs and will change
at any time. But it's useful for showing advanced approaches in ECJ for handling
training/test data, different numbers of variables, and distributions of
input variables.
Basic class: Benchmarks.java
Using an ERC: java ec.Evolve -file benchmark.params
NOTE: other benchmarks will require different function sets. So for example, if you say:
java ec.Evolve -file benchmark.params -p eval.problem.type=vladislavleva-3
... you will get the following warning:
WARNING:
The number of variables for the vladislavleva-3 problem (2) is normally
handled by the function set vladislavleva-c2 but you are using korns5.
Hope you know what you're doing. To correct this, try adding the
parameter gp.tc.0.fset=vladislavleva-c2
To fix this, you say:
java ec.Evolve -file benchmark.params -p eval.problem.type=vladislavleva-3 -p gp.tc.0.fset=vladislavleva-c2
© 2015 - 2025 Weber Informatics LLC | Privacy Policy