发布亮点¶
以下是当前版本中对DEAP所做的更改列表。
API 增强¶
算法: 现在每个算法都返回最终的种群和一个包含进化统计数据的日志簿。
base: 健身对象现在可哈希。
base: 在 Fitness 中添加了一个
dominates
函数,该函数可以被替换。现在,这个函数被大多数多目标特定选择方法使用,而不是isDominated
。基础:健身 -
__repr__
方法的实现。(问题 20)示例:从示例文件名中移除了前缀(ga, gp, pso 等)。
gp: 将
pset
添加到需要它的变异操作符中。gp: 用
PrimitiveTree.__str__()
替换了stringify()
函数。使用str
或print
在树上以读取它们的代码。gp: 当某种类型的原语/终端不可用时,添加了对错误的明确描述。
gp: 在
benchmarks.gp
中添加了符号回归基准测试。gp: 移除了临时生成器。
gp: 为
PrimitiveTree
添加了from_string()
函数。gp: 在
addPrimitive()
中增加了为添加到 PrimitiveSet 中的原语命名的可能性。gp: 为强类型遗传编程添加了面向对象的继承。
gp:
PrimitiveSetTyped
现在需要真实的类作为类型,而不是字符串。请参见 Spambase 示例。gp: 用单一函数
compile()
替换了evaluate()
和lambdify()
。gp: 用
compileADF()
替换了lambdifyADF()
。gp: 新增
graph()
函数,该函数返回一个节点列表、边列表和一个标签字典,这些可以直接输入到 networkx 中以绘制树。gp: 将
deap.gp.genRamped()
重命名为deap.gp.genHalfAndHalf()
。gp: 将
staticDepthLimit()
和staticSizeLimit()
合并为一个函数staticLimit()
,该函数接受一个键函数作为参数,可以返回高度、大小或树应限制的任何属性。工具:修订了
HallOfFame
,使其仅包含唯一的个体。工具:改变了统计数据的计算方式。更多详情请参阅
Statistics
和MultiStatistics
文档,以及教程 记录统计数据 (问题 19)。工具:用
Logbook
替换了EvolutionLogger
。工具:移除了
Checkpoint
类,因为直接进行简单的检查点操作比使用该类更为简便。文档现在包含了一个如何在不使用 Checkpoint 的情况下进行检查点操作的示例。工具:重新组织子模块中的操作符,现在工具是一个包。
工具:Fortin 等人(2013)实现的对数非支配排序,可通过
sortLogNondominated()
获得。工具:变异操作符现在可以接受一个值或一系列值作为参数(如 low, up, sigma 等)。
工具:从源代码中移除了DTM。
工具:移除了 cTools 模块。它没有得到适当的维护,并且很少使用。
工具: 将
cxTwoPoints()
重命名为cxTwoPoint()
工具:将
cxESTwoPoints()
重命名为cxESTwoPoint()
工具:边界以及其他一些相关属性参数现在在交叉和变异中接受可迭代对象或值作为参数。
文档增强¶
错误修复¶
发布 1.0.0
创建者:问题 23:使用 Unicode 源时创建者出现错误。
creator: create 不再处理从
numpy.ndarray
继承的类的适当切片。这容易产生错误且极难维护。现在要求用户在他们的操作中包含numpy.copy()
操作。关于从 numpy 继承的教程即将推出。
发布 1.0.1:
工具:问题 #26:当边界以列表形式提供而不是迭代器时,带边界的操作符无法正常工作。修订:b172432515af,9d4718a8cf2a。
工具:为 sortLogNondominated 添加缺失的参数 (k, first_front_only)。修订:f60a6520b666, 4de7df29dd0f。
gp: 问题 #32:
from_string()
在STGP中使用了错误的参数顺序。修订: 58c1a0711e1f。
发布 1.0.2:
基准测试:修复 DTLZ2、DTLZ3 和 DTLZ4 的计算。
cma 1+Lambda: 修复秩一更新的计算。
gp: 将生成函数的参数 type_ 的默认值从 object 更改为 None。这样做在执行STGP时,可以免除为每个生成函数定义 type_ 参数的义务。
gp: 修复了在任意顺序调用 addPrimitive 和 addTerminal 时 OOGP 的一个错误。
gp: 修复与 mutEphemeral 一起使用的 Ephemeral 再生。修订: ae46705。
gp: 修复问题 #35 - from_string 在处理 OOGP 时存在问题。
修复问题 #26:在四个示例中,文件被打开但从未关闭。