Evolutionary Computation Courseware

When I teach others about Evolutionary Computation, I use two resources: the book I have written on the subject ( Evolutionary Computation: A Unified Approach), and a collection of software that is used to generate the examples in the book and is the basis for homework assignments and projects.

Each time I use this software in one of my courses, I tinker with it, fixing some bugs and adding new features. So, there are really two versions of this software, a frozen version that corresponds to the software used to generate the examples in my book, and the most recent evolving version. The static version is available from the MIT Press website (http://mitpress.mit.edu/evolutionary-computation/DeJong). The most recent version is available here:

This courseware is written entirely in Java and is contained in four folders: EC1, EC2, EC3, and EC4. Each of these folders contains a self-contained version of the software that can be compiled and run independently of the others. EC1 is the simplest version, and the others constitute a sequence of increasingly more complex versions.

One of the goals has been to keep this software as platform independent as possible. It has been successfully compiled and executed on standard Unix, Linux, Windows, amd Mac OS X platforms. So, it is quitely likely that, after downloading this software to your machine, the following should get you up and running:

  cd EC1
  javac EC1.java 
  java EC1

The same sequence should work for each of the four folders. Within each folder is a README file that describes the details of that particular version of the EC system. The behavior of individual EC runs is controlled by a .cfg file. Each folder contains examples of .cfg files. Their format and content is described in detail in the README files in that folder.

The software in these folders is copyrighted and licensed under the Academic Free license v. 2.1. Copies of the licence are in each of the folders.