GPsys release 2a - date Wednesday July 5 2000

This release includes important bug fixes and adds additional functionality.
Please note that this verion assumes the use of a Java 2 JVM.

    Bug fixes:
        The most important bug fix is the way branch selection for
        crossover and mutation works.  The release 1.1 had a
        version of branch selection which was never intended to be in
        any final release.  This new release has a crossover operator
        that is more compliant with Koza'a description.  Many thanks
        to Forrest Bennett for bringing this to my attention.  You
        should find that compuational effort reduces significantly with
        these changes.  To tighten up release management, the new code has
        RCS versioning information in headers and javadoc class comments.

    New Features:
        Generational Engine
            The gpsys 1.1 used a steady state engine to reduce space
            requirements.  This new release includes a memory efficient
            implementation of the standard generational engine as
            described in Genetic Programming III.  The GPParameters
            class now has variable called engine which can be set
            according to the GP engine to be used.  The default is to
            use the steady state engine.

    Changes to Previous Code
        The inclusion of the memory efficient generational engine
        required changes to the way the creation of new individuals
        are reported to user via the GPObserver interface.  Previously
        there were two methods used to report a new individual.  These
        methods have been replaced by a single method.  Please check
        the new definitions to make sure your code has the same semantics.

        I have begun the process of coverting the code to make use of
        Java 2 container classes and other utilities such as the newer
        version of the Random class.

Adil Qureshi
