Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Genetic Programming library for Java [closed]

I'm looking for a good genetic programming library for JVM. (not genetic algorithm but genetic programming) I tried JGAP (jgap.sourceforge.net) and Watchmaker (watchmaker.uncommons.org). Unfortunately, those tools have only experimental and immature support for genetic programming (they are mainly focused on genetic algorithms).

Perhaps do you know any better tool for genetic programming, for JVM (can be written in Java or any other compiled language for JVM).

I'm not looking for a comprehensive list of GP tools, I'm rather looking for a good, popular tool (just like popular operating systems are Windows, Linux and Mac, and popular Java IDEs are Eclipse, IDEA and NetBeans).

It doesn't have to be genetic programming library (GP), it can also be (and it would probably better) a gene expression programming library (GEP).

EDIT (after two months since the question): I analyzed most of the links You posted and which are available in Wiki and I must say that each of those libraries have at least one of the following problems:

  • no open-source, or open-source, but very restrictive (GPL);

  • no documentation (or very poor one);

  • no built-in support for genetic programming or gene expression programming (or experimental one;

  • some are just too complex in use.

In this sitation I ended up in writing my own simple library for the project (using gene expression programming approach, which makes it very very simple).

like image 343
iirekm Avatar asked Oct 07 '10 13:10

iirekm


3 Answers

ECJ has a lot of stuff for GP, and including several example projects.

like image 62
Joel Rein Avatar answered Oct 20 '22 05:10

Joel Rein


There are libraries like GenPro and n-genes for Java, and JGProg for Groovy.

There are more listed for several different languages in the Implementations section of the Genetic programming Wikipedia article, but as you mentioned many of those look like they're more for GA, so you'll have to evaluate each one to see if it suits your needs.

like image 2
Bill the Lizard Avatar answered Oct 20 '22 06:10

Bill the Lizard


I am somewhat biased because I'm one of the authors, but EpochX is a Java library solely for Genetic Programming. It has support for a strongly-typed tree representation, and 2 grammar guided representations. It is primarily aimed at researchers, but it may be suitable depending on what you require it for. You can get more information at epochx.org.

like image 1
Tom Castle Avatar answered Oct 20 '22 06:10

Tom Castle