|
|
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.
SmallGP Java Applet
The functionality of SmallGP is now implemented as an Java Applet.
Click here to run the applet.
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.
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
|
|