15

我正在为 JVM 寻找一个好的遗传编程库。(不是遗传算法,而是遗传编程)我尝试了 JGAP (jgap.sourceforge.net) 和 Watchmaker (watchmaker.uncommons.org)。不幸的是,这些工具对遗传编程只有实验性和不成熟的支持(它们主要集中在遗传算法上)。

也许您知道用于 JVM 的更好的基因编程工具(可以用 Java 或任何其他用于 JVM 的编译语言编写)。

我不是在寻找 GP 工具的完整列表,而是在寻找一个好的、流行的工具(就像流行的操作系统是 Windows、Linux 和 Mac,流行的 Java IDE 是 Eclipse、IDEA 和 NetBeans)。

它不一定是基因编程库 (GP),它也可以是(而且可能会更好)基因表达编程库 (GEP)。

编辑(问题两个月后):我分析了您发布的大部分链接,这些链接在 Wiki 中可用,我必须说这些库中的每一个都至少存在以下问题之一:

  • 没有开源,或开源,但非常严格(GPL);

  • 没有文件(或很差的文件);

  • 没有对基因编程或基因表达编程(或实验性编程)的内置支持;

  • 有些使用起来太复杂了。

在这个位置,我最终为该项目编写了自己的简单库(使用基因表达编程方法,这使得它非常简单)。

4

6 回答 6

5

ECJ为 GP 提供了很多东西,包括几个示例项目。

于 2010-10-07T19:20:55.303 回答
2

Java有GenPron-genes等库,Groovy 有JGProg等库。

在遗传编程维基百科文章的实现部分中列出了多种不同语言的更多内容,但正如您提到的,其中许多看起来更适合 GA,因此您必须评估每种语言以查看它是否适合您的需要。

于 2010-10-07T14:50:35.800 回答
1

我刚刚在 Clojure 中构建了自己的遗传编程工具(基于 JVM)。一旦我可以进行符号回归,我意识到这个工具比我想要的要严格得多,而且解决强类型问题也更复杂。我决定使用语法进化工具(遗传编程可以解释为语法进化的一个子集)。GEVA工具是我使用 Grammatical Evolution 工具的第一站。我的理解是它还在开发中(今年(2010 年)最近有一个版本)。

于 2010-10-11T12:47:51.190 回答
1

我有点偏见,因为我是作者之一,但 EpochX 是一个专门用于遗传编程的 Java 库。它支持强类型树表示和 2 个语法引导表示。它主要针对研究人员,但根据您的需要,它可能是合适的。您可以在epochx.org获得更多信息。

于 2010-10-07T22:23:03.440 回答
1

也许你可以使用TinyGP的一部分?它不是一个真正的库,更像是一个 GP 系统,但由于它很小,您可以轻松地对其进行调整以供您使用。

于 2012-02-18T00:29:46.470 回答
0

JGAP(Java 遗传算法包)是一个复杂的 GA 库,可在 jgap.sf.net 免费获得,包括许多示例。

于 2010-10-07T16:51:47.220 回答