我想构建一个应用程序,它使用遗传编程来弄清楚用户到底在问什么。这是一个面向非程序员的编程应用程序。基本上,用户向应用程序提供一堆示例,并且应用程序将从这些示例中推导出为用户自己的使用/分发构建新程序所需的规则。
我已经使用线性回归构建了原型,但它只能解决简单的问题。这周我用pyevolve进行了遗传编程实验,它的效果比我预期的要好得多!然而,我怀疑它是用纯python编写的,这使得它需要几十秒来解决一个示例,而在我的应用程序中,我最多只有几秒钟的时间。
我一直在努力寻找一个性能更好的库,它和pyevolve一样易于使用,但找不到合适的库。我尝试过openBeagle,但在运行了一个示例,并花了几个小时仔细阅读文档之后,我仍然找不到一种方法来真正地从"Vivarium“中挑选一个人。我见过有人推荐高卢,但那是一个GPL库,会限制我将来如何授权我的应用程序。我试图下载lil-gp,但是ftp下载链接被一所大学的登录屏幕锁定。
由于该应用程序将是Mac可可应用程序,因此我没有考虑Java、C#或Matlab库。
发布于 2011-12-27 12:36:16
作为Open BEAGLE的开发人员,如果您正在寻找快速的GP库,我仍然建议您使用该库。检索最佳个体实际上是通过运行第二个程序来完成的,该程序解析进化结束时记录的XML文件。否则,您可以通过Vivarium.getHallOfFame()方法访问它,然后对它进行排序并使用HallOfFame.operator[]访问第一个元素。你将得到的成员是一个个体的结构,以及它被记录的年代和它是在什么deme中。
这样你就可以接触到你进化过程中最好的个体。
如果你有关于Open BEAGLE的具体问题,我建议你直接向开发者列表询问,我们通常回答得很快。
不过,如果你想在Python语言中尝试一个非常不同的库,我推荐你使用DEAP,它比Pyevolve灵活得多。一些GP示例在PyPy下的运行速度比Python快得多。
https://stackoverflow.com/questions/8628973
复制相似问题