Version 1.4 13/12/2004 - New source code added Two graphing scripts added under graphing/ Version 1.33 09/03/2004 - Added Support for Decimation Fixed bug in Elitism to better maintain diversity Fixed bug in the grow method for generating initial population. Version 1.32 03/06/2003 - Changed ProgramGenerator::generationIntialPopulation to properly ramp FULL programs as well as GROW programs as per literature for ramped half and half method. Thanks to Andrew Innes for the bug report. Version 1.31 26/03/2003 - Fixed problem where memory was being freed twice. Thanks to Xiang Li for the bug report. Version 1.3 - Changed mpi makefile in examples/symbolic to use mpich which is installed in /usr/local/pkg/mpich/ - Found and fixed a huge memory leak in the MPI code. - Fixed bug in ProgramGenerator, problem generating code when (maxDepth - minDepth) <= 1 (Thanks to Andrei for the bug report) - Modified some error messages to be more helpful :-) - Fixed setNumIndividuals in the Population class to properly handle all situations, fixed a small memory leak which could occur in some situations. - Fixed an array copy in SantaFeFitness which may have caused a problem on some platforms. - Changed "SOLARIS" define to OLD_GCC for compiling using older versions of gcc. - Cleaned up the code which reads in populations from files. - Changed the name of the system from GPsystem to rmitgp. Version 1.2 02/10/2002 - Fixed divide by zero error in the NodeVector class. - Fixed serious bug in ProgramGenerator, in some circumstances grow and full programs could not be generated for a particular depth. Added code to handle this situation (which should be quite rare). - Fixed bug in ProgramGenerator which gave divide by zero when ramping using small populations. Thanks to Andrei Bajurnow for the bug report. - Added method to write out results of an evolved program to a text file along with the expected results from the target function to SymbolicFitness in examples/symbolic2. You can use this file to create a graph to see how well the program matched the function. - Moved getToken and lookAtToken from GeneticProgram to Util.cpp in GPsystem/src. - Fixed some linking errors on grendel (VPAC) - Updated make files to be more vpac friendly - Cleaned up the MPI code in examples/symbolic, there is now a couple of functions which will allow you to easily send and receive information between nodes (GPmpi.cpp/.h) - Fixed bug in GeneticProgram::getRandomNode(int) which was returning invalid nodes in some cases. - *Important* Removed the class GpSystem and replaced it with the GPConfig class. This was necessary to allow co-evolution and other multi-population paradigms. Unfortunately it breaks compatibility with old versions :-( See the examples and documentation to see what changes are required to your own functions/terminals etc Sorry for the changes. - Modified documentation to reflect removal of GpSystem and adding of GPConfig. - Added a co-evolution population and fitness class to the main source code, new classes are CoEvolutionPopulation and CoEvolutionFitness. - Added simple predator prey co-evolution example to examples/coevolution. - Added a "grid" based population class to the main library source, new class is GridPopulation. - Added an example which uses the grid population to do symbolic regression to examples/grid/ Version 1.1 28/08/2002 - Fixed compile error under windows for call to isnan in examples/symbolic2/SymbolicFitness.cpp - Fixed some incorrect defines in examples/symbolic/Makefile.mpi - Fixed bug in default crossover operator with STGP - Fixed bug in mutation where incorrent return type was being propagated - Fixed bug in population where population was not sorted properly for the last generation - Added symbolic3 example to examples directory (STGP example) - Added tutorial for symbolic3 Version 1.0 05/08/2002 Initial release