Version 0.95b represents some straightforward but useful changes from 0.9b. The plan is to add ADFs to lil-gp and then call it version 1. That will hopefully be sometime this summer. In the meantime...


  • S-expression pretty printer. Program trees in the BST file are now printed across multiple lines with indentation to show their structure.
  • Improved makefile. Makefile uses GNU make. The aux directory contains the old makefiles, if you can't use gmake. Makefiles split into application and kernel portions to ease kernel changes.
  • Two-phase population exchange. Separated subpopulation exchange into separate "to" and "from" phases, allowing different selection methods and exchange counts.
  • User callback changes. The app_new_best_of_run() callback has been replaced by app_end_of_evaluation() and app_end_of_breeding(). The two new callbacks are passed pointers to the entire population so user code can access essentially anything (read-only, please).
  • Parameter file "preprocessor directives". There is a primitive set of C-like parameter file directives ("ifdef", "define", etc.) so multiple sets of options can be contained in one parameter file.
  • Improved output files. The STT file contains statistics for each subpopulation in addition to the overall population. The "output.stt_interval" parameter controls how often (in generations) information is written to the STT file. Program responds to "output.detail" parameter so, for instance, the huge PRG and GEN files aren't written by default.
  • New sample problem. The "pursuer/evader" problem from Koza's first book has been added to the lil-gp distribution.
  • Bug fixes. "inverse_fitness" selection method didn't work. Regression problem seg faulted under Linux. Note past tense on these sentences.
back to the lil-gp home page.
lil-gp changes for version 0.95, Doug Zongker, last modified 4/10/1995