ECJ |
ECJ is a research EC and GP system written in Java. It was designed to be highly flexible, with nearly all classes (and their settings) dynamically determined at runtime by a user-provided parameter file. Even so, the system was designed with an eye toward efficiency, and it is reasonably competitive with other GP systems in speed.
Features include:
Before you use this software, you must first carefully read the license agreement. It's pretty lenient but it has a few important items in it which differ from the standard open-source license agreement. Be certain that you agree with them. Keep in mind that the Author is a pretty reasonable guy.
License AgreementThis software is Copyright 2000 by Sean Luke By using the source code, binary code files, or related data included in this distribution, you agree to the following terms of usage for this software distribution. In this license the Author means Sean Luke, and the Agent means any person authorized by the Author to maintain the software at present. You can determine the Agent by referring to the software's present distribution site (which as of January 2000 is located at http://www.cs.umd.edu/users/seanl/ecj/ but is subject to change at any time without notice). The Author hereby grants you a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
In return you agree to the following conditions:
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
This distribution comes with several pieces of documentation:
Some runs which result in the ideal individual being found (in most cases). First, cd to the ec directory. Then add the parent directory of the ec directory to your CLASSPATH. Then issue javac -O *.java */*.java */*/*.java */*/*/*.java
Now you're ready. Here are some problems to try.
After a run, various statistical information is written to the out.stat file.