Explore Courses Blog Tutorials Interview Questions
+1 vote
in AI and Deep Learning by (50.2k points)

I'm looking for a good genetic programming library for JVM. (not a genetic algorithm but genetic programming) I tried JGAP ( and Watchmaker ( 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 a 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 has at least one of the following problems:

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

  • no documentation (or a 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 situation, I ended up in writing my own simple library for the project (using a gene expression programming approach, which makes it very very simple).

Genetic Programming library for Java
by (110 points)
@ashely Hi, can you share your library to genetic programming? I start interesting in subject... and want to see how is your approach to this. Thank you in advance!!!!!!!!

1 Answer

0 votes
by (108k points)

Jenetics is a Genetic Programming library, written in Java. It is designed with a clear separation of the several concepts of the algorithm, e.g. Gene, Chromosome, Genotype, Phenotype, Population, and fitness Function. 

Jenetics allows you to minimize and maximize the given fitness function without tweaking it. In contrast to other GA implementations, the library uses the concept of an Evolution Stream for executing the evolution steps. Since the Evolution Stream implements the Java Stream interface, it works smoothly with the rest of the Java Stream API.

You can refer the following link for more knowledge in Jenetics:

If you wish to know more about Genetic Programming then visit this Artificial Intelligence Course.

Browse Categories