genetic-algorithm - 高性能且易于使用的非 GPLed 遗传编程库

标签 genetic-algorithm genetic-programming gaul

我想构建一个应用程序,它使用遗传编程来弄清楚用户到底在问什么。它是非程序员的编程应用程序。基本上,用户向应用程序提供一堆示例,应用程序将从这些示例中导出构建新程序所需的规则,供用户自己使用/分发。

我已经使用线性回归构建了原型(prototype),但它只能解决简单的问题。这周我使用 pyevolve 进行了基因编程实验,它的效果比我预期的要好得多!但是,我怀疑它是用纯 Python 编写的,因此需要几十秒来解决一个示例,而在我的应用程序中,我最多只有几秒钟的时间。

我一直在努力寻找一个性能更高的库,该库与 pyevolve 一样易于使用,但找不到合适的库。我尝试了 openBeagle,但是在运行了一个示例,并在之后仔细研究了文档之后,我仍然找不到从“Vivarium”中实际挑选一个人的方法。我见过有人推荐 GAUL,但它是一个 GPL 库,会限制我 future 应用程序的许可方式。我尝试下载 lil-gp,但 ftp 下载链接被大学的登录屏幕锁定。

由于该应用程序将是 Mac OS X cocoa 应用程序,因此我没有考虑 Java、C# 或 Matlab GP ​​库。

最佳答案

作为 Open BEAGLE 的开发人员,如果您寻求快速的 GP 库,我仍然建议您使用该库。检索最佳个体实际上是通过运行第二个程序来完成的,该程序解析在进化结束时记录的 XML 文件。否则,您可以通过 Vivarium.getHallOfFame() 方法访问它,然后对其进行排序并使用 HallOfFame.operator[] 访问第一个元素。您将获得的 Member 是个人的结构,其中记录了它的世代以及它所在的族群。

这样您就可以接触到您进化过程中最优秀的人。

如果您有关于 Open BEAGLE 的具体问题,我建议您直接向开发人员列表提问,我们通常会很快回答。

尽管如此,如果您想在 Python 中尝试一个非常不同的库,我建议您 DEAP这比 Pyevolve 具有更大的灵 active 。一些 GP 示例在 PyPy 下的运行速度比 Python 快得多。

关于genetic-algorithm - 高性能且易于使用的非 GPLed 遗传编程库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8628973/

相关文章:

algorithm - 在 "voter"遗传算法中选择幸存种群

genetic-algorithm - 如果我的 GA 快速收敛到正确的解决方案,如何知道我是否过于强制收敛?

genetic-algorithm - 预置遗传算法

algorithm - 当顺序很重要时如何处理交叉?

python - 如何修复 "gp.generate tried to add a primitive but there is none available"?

java - 如何将测试函数应用于遗传算法

r - 遗传规划适应度函数

c# - 当它的一些参数是委托(delegate)时,是否可以在 C# 中使用 "C++ Library Function"?