About 1.01

For imperscrutable reasons it seems nobody had sofar tested jrgp 1.0b
with Jython 2.1 final (or a3, us included) to discover that it does not
work. At least nobody had reported the problem.
Now 1.01 fixes this problem and should work both with Jython 2.0 and 2.1.

Introduction

jrgp is a set of free software Genetic Programming tools written in Java and jython.
Working with jrgp requires writing java code (to define and run problems),
on the other hand some tools are included that offers shortcuts and defaults to that
(customizing them through direct coding should also be possible).

jrgp consists of three parts:

'gap' is a genetic programming runtime library that supports creation and
evolution of populations of programs. Following features are worth to mention:

strong typed;

supports ADFs with arbitrary links;

each ADF can have its own function set;

function set modifications of existing populations allowed;

built-in parser which transform text strings in program trees;

bytecode generator which compiles program trees in self-standing
java classes;

GP-programs can easily drive an external object.

'fs-d' is a tool that simplifies the definition of a GP-problem:
it is able to extract function set definitions from the methods
of a compiled java class, producing subclasses
of the program tree node class.

'gool' is a graphical interface to setup and run GP-problems.
Features:

Installation

You can execute it with: jython -jar jrgpXXX.jar.
It will extract the required files, you can select an installation dir,
and the right kind of launch scripts for your OS should be automatically
chosen and created (otherwise you can modify the default or disable
their creation).

(Note: in order to uninstall jrgp simply remove the installation dir)

Getting Started

The installation process should have created a script to launch 'gool' in the main
jrgp dir. Assuming that this is on the PATH you can start gool with: gool
or: gool project-dir

For example (assuming that jrgp main dir is your current working dir) the examples
can be loaded with:

gool examples/symbolic_regression

gool examples/ant

See the tutorial for further info on them.

Note: fsd in the main jrgp dir - if correctly created - is the standalone launch script for 'fs-d'.

Note: if necessary you can run both 'gool' and 'fs-d' directly with jython:
(assuming that jrgp main dir is your current working dir)

jython -Dpython.options.internalTablesImpl=soft tools/rungool.py ...

jython tools/fsd.py ...

do the job.

Note: in order to use gap runtime from your java or jython programs the jars in the 'lib' subdir should be added to the CLASSPATH.

Documentation

jrgp (html) documentation is available online and is also installed locally under the 'doc' subdir of the main jrgp directory, there you can read: