首页 > 解决方案 > DEAP合作协同进化

问题描述

我不太理解DEAP 文档中描述的合作共同进化的例子。

target_set评估个人适应度时出现的是什么?为什么更新健身的线

ind.fitness.values = toolbox.evaluate([ind] + r, target_set)

而不是

ind.fitness.values = toolbox.evaluate([ind]) 

?

标签: python-3.xgenetic-algorithmevolutionary-algorithmdeap

解决方案


我的理解是,对来自某个物种的个体的评估只能在来自所有其他物种的其他个体的背景下进行。
将“帮助”评估其他物种的个人是代表。

在第一代中,没有进行评估,因此代表是随机选择的。在对某个物种进行评估后,选择其代表作为最适者。

为了回答你的问题,我将实现评估函数,以便它接收一个个体列表,每个个体来自不同的物种,并且正如他们所说的“可能还有其他一些论点”。由于当前正在评估的物种中的个体将始终位于列表的第一个索引中[ind] + r,因此我也没有看到发送target_set变量的明确理由(此外,他们没有在代码中设置它)。


推荐阅读