通过编写遗传编程类型的应用程序,我在学习 Python 中获得了很多乐趣。
在这个网站上,我从 Torsten Marek、Paul Hankin 和 Alex Martelli 那里得到了一些很好的建议。
该程序有4个主要功能:
- 生成(随机)一个表达式树。
- 评估树的适应度
- 杂交
- 变异
正如所有生成、杂交和变异一样,都称为“评估适应度”。它是最繁忙的功能,也是速度方面的主要瓶颈。
正如遗传算法的本质一样,它必须搜索一个巨大的解决方案空间,所以越快越好。我想加快这些功能中的每一个。我将从健身评估器开始。我的问题是最好的方法是什么。我一直在研究 cython、ctypes 和“链接和嵌入”。它们对我来说都是新的,而且现在已经超出了我的范围,但我期待学习其中的一个,并最终学习所有这些。
“适应度函数”需要将表达式树的值与目标表达式的值进行比较。所以它将由一个后缀评估器组成,它将按后缀顺序读取树。我有python中的所有代码。
我需要关于我现在应该学习和使用的建议:cython、ctypes 或链接和嵌入。
谢谢你。