移植指南¶
DEAP 开发的高速度和我们拒绝受制于向后兼容性有时会给我们的用户带来一些轻微的困扰。这份简明的指南应该能帮助你将代码从最新版本减去 0.1 迁移到当前版本。
一般¶
遗传算法 (GA)¶
将每个调用
cxTwoPoints()
函数的地方替换为调用cxTwoPoint()
函数。移除任何对 cTools 的导入。如果你需要一个更快的非支配排序实现,使用
sortLogNondominated()
。当继承自 Numpy 时,您必须手动复制切片并用 numpy 比较器比较个体。请参阅 继承自 Numpy 教程。
遗传编程 (GP)¶
在每次调用
addEphemeralConstant()
时,将name
指定为第一个参数。将每个对
lambdify()
和evaluate()
的调用替换为对compile()
的调用。在创建原始树类时,从每个
create()
调用中移除 pset 属性。在工具箱中,将原语集注册为以下变异操作符的
pset
参数:mutUniform()
、mutNodeReplacement()
和mutInsert()
。将每个对函数
genRamped()
的调用替换为对函数genHalfAndHalf()
的调用。将每个对
stringify()
的调用替换为对str()
的调用,或者完全移除该调用。将每个对
lambdifyADF()
的调用替换为对compileADF()
的调用。将装饰器
staticDepthLimit()
和staticSizeLimit()
替换为staticLimit()
。要指定深度、大小或任何其他属性的限制,现在需要指定一个 key 函数。更多信息请参阅staticLimit()
文档。
强类型遗传编程 (STGP)¶
PrimitiveSetTyped
方法现在要求类型参数必须定义为类而不是字符串,例如float
而不是"float"
。
进化策略 (ES)¶
将每个调用
cxESTwoPoints()
函数的地方替换为调用cxESTwoPoint()
。
仍然有问题?¶
我们忽略了某些东西,你的代码仍然无法工作?没问题,请在 deap 用户列表 http://groups.google.com/group/deap-users 上联系我们,我们会立即帮你解决问题。