:: SmallGP


:: blog
:: publications
:: smallgp
:: pix
:: about
:: contact

JavaEva

If you are interested in Evolutionary Computation with Java, youe HAVE to take a look at JavaEva. It's a very powerfull award-winning evolutionary optimization package in pure Java.
It is developed at the Univeryity of Tübingen by a small group of people. (including me ;) We are very proud, that our product has won the 2. price (among 50 contestants) at the doit-Software-Award 2004.

  - Evolutionary Algorithms library

SmallGP - a lean Genetic Programming System for Symbolic Regression

Introduction

SmallGP is a implementation of Symbolic Regression wich is compact by means of lines of code and memory usage, developed as an entry for the "Tiny GP"-Coding-Contest at the Genetic and Evolutionary Computation Conference 2004. It did not win however. But I still think that it contains some ideas that may be useful to someone interested or new in the area.

SmallGP is free software released under the GNU GPL.

NEW: SmallGP Java Applet

The functionality of SmallGP is now implemented as an Java Applet. If you have the Sun Java Plugin with Swing just click here and and enjoy.

Download

Screenshot: 1

tar.gz: smallgp-1.0.tar.gz
zip: smallgp-1.0.zip

NEW!!! Microsoft Windows Version of SmallGP 1.0

The zip-file below contains an adapted version of SmallGP. It includes an executable (created with Microsoft Visual C++).

zip: smallgp-1-win32.zip

Installation Instructions

gcc and make are needed to compile SmallGP. It has succesfully been compiled under Linux, FreeBSD, Solaris and Win32. I recommend the Cygwin-Environment for Win32. It should work for all Win32-C-Compilers too however.

Unpack smallgp-1.0.tar.gz:
> tar xvfz smallgp-1.0.tar.gz

Move to the created directory:
> cd smallgp-1.0

Run Make:
> make

Some compiler warnings may occur, but after compilation you should find a working version of smallgp in the same directory.

Usage

SmallGP is a commandline-tool. All important parameters can be changed easily.

Display the help with

> smallgp -h

to learn which parameters are avaiable.

Most of the parameters and their default values are explained in this specs.
Example parameters for a test run:

dataset: test.data
population size: 10000
tournament size: 100
maximum generations: 80
maximum prog. length: 50
maximum depth: 7
#constants: 200
Pcross: 0.7
Pmut/Node: 0.1

To start smallgp with these parameters just run
> smallgp -i test.data -p 10000 -t 100 -g 80 -l 50 -d 7 -r 200 -c 0.7 -m 0.1

.
Warning: Parameters are not checked for validity (ex. negative probabilities etc.).

More details, please?!

You can find a few more details in the documentation (plain text). If you have any questions about the code, please contact me. I'll try to comment the code asap however.

SmallGP is listed by:

Mathtools.net

Vielen Dank auch an die Hommingberger Gepardenforelle und die andere Hommingberger Gepardenforelle!!
:: by Hannes Planatscher