ec.app.majority.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 contains two attempts to replicate famous papers regarding
the Majority Classification Problem. In the Majority Classification Problem
you are given a 7-neighborhood toroidal one-dimensional boolean cellular
automaton, and your task is to develop a cellular automaton rule which,
when applied to an automaton of bits, either coverges to all true or all
false depending on whether the majority of those bits were true or false.
It's known to be impossible: the question is how close you can get.
1. Das, Rajarshi; Crutchfield, J. P.; Mitchell, Melanie; Hanson, J. E. (1995). "Evolving globally synchronized cellular automata". In Eshelman, Larry J. ICGA.
This paper used a genetic algorithm to evolve the rules. We have roughly
replicated it in majorityga.params. Though the authors
used a slightly different fitness assessment procedure (which doesn't seem
to work particularly well for us).
2. David Andre , Forrest H. Bennett III, and John R. Koza. Discovery by Genetic Programming of a Cellular Automata Rule that is Better than any Known Rule for the Majority Classification Problem. (1996). GP.
This paper used a genetic programming scheme to evolve the rules as an
s-expression. We have roughly replicated it in majoritygp.params
There are better results than these now. But more importantly, the code we've
added here doesn't seem to produce the amazing results of these two papers;
and we would be interested as to what we're doing wrong. Have fun!
© 2015 - 2025 Weber Informatics LLC | Privacy Policy