回答

3

坦白地说很难说。 ParadisEO似乎是非常活跃,是一个非常大的图书馆,包括除GP外的各种metaheuristics。请注意,它是EO库的超集。 OpenBEAGLE很好,但自2007年以来它一直没有更新过。Watchmaker现在非常好并且非常活跃,但它现在只有GP的概念实现证明。这里有很多图书馆,很难说哪一个是最好的。要推出自己的GP并不难,所以请牢记这一可能性。

0

我ECJ的粉丝,“一个基于Java的进化计算研究系统”:

http://cs.gmu.edu/~eclab/projects/ecj/

邮件列表通常是适度活跃,指示我该项目的整体健康状况良好。我几乎所有的GA和GP研究都使用ECJ,它有很多有趣的内置功能和几个第三方贡献。

ECJ的创造者,肖恩·卢克,还写了一个真棒和免费下载书籍:cs.gmu.edu/~sean/book/metaheuristics/

0

你可以试试这个C#.NET 4.0肖恩·卢克的欧洲法院(进化计算在Java中)的端口:

http://branecloud.codeplex.com

它是非常灵活和强大的软件!但是它的入门也相对容易,因为它包括许多开箱即用的控制台样本(以及在转换过程中开发的许多有用的单元测试)。

正如上面提到的,如果你在Java程序中,你应该直接访问肖恩卢克的网站:

http://cs.gmu.edu/~eclab/projects/ecj/

它一直在积极发展了13年!

1

HeuristicLab有一个非常复杂的实现,既快。例如,在一个独立的benchmark中,您可以看到HeuristicLab解释器的速度等于包含优化的新编码的简约C++解释器。它也非常灵活,您可以配置在GUI环境中创建树的语法。因此您可以创建应该例如只有某些变量作为输入,但不是全部。实施基于悠久的代码传统,这是非常积极的开发,并在每次发布之前进行审查,以确保持续的质量。 HeuristicLab支持回归,分类以及自定义问题,如Santa Fe trail或草坪割草机(其中存在可帮助您实现自定义问题的教程)。有交叉验证,你可以利用训练,验证和测试分离来检测过度拟合。你会得到每个变量在整个人群中存在多少,你的符号在人口中存在多少,所以你可以估计什么变量是重要的。这随着时间的推移显示为图表。还有一个帕雷托分析器,您可以通过质量和复杂性来显示所有解决方案。 HeuristicLab还包含最近(GECCO2012)新兴的GP基准库,使人们能够测试和比较结果。除GP外,还有其他回归和分类算法,如SVM,随机森林,k-NN等。

它在C#中实现并在.Net 4上运行(目前仅在Windows上,单声道支持接近完成) 。