python-3.x - DEAP合作协同进化
问题描述
我不太理解DEAP 文档中描述的合作共同进化的例子。
target_set
评估个人适应度时出现的是什么?为什么更新健身的线
ind.fitness.values = toolbox.evaluate([ind] + r, target_set)
而不是
ind.fitness.values = toolbox.evaluate([ind])
?
解决方案
我的理解是,对来自某个物种的个体的评估只能在来自所有其他物种的其他个体的背景下进行。
将“帮助”评估其他物种的个人是代表。
在第一代中,没有进行评估,因此代表是随机选择的。在对某个物种进行评估后,选择其代表作为最适者。
为了回答你的问题,我将实现评估函数,以便它接收一个个体列表,每个个体来自不同的物种,并且正如他们所说的“可能还有其他一些论点”。由于当前正在评估的物种中的个体将始终位于列表的第一个索引中[ind] + r
,因此我也没有看到发送target_set
变量的明确理由(此外,他们没有在代码中设置它)。
推荐阅读
- java - 如果存在则列为流,否则不更新列表?
- python - (熊猫)如何根据三个相似的数据列创建唯一标识符,其中顺序无关紧要?
- botframework - 发布机器人的问题
- r - R包:演示一个失败的例子
- javascript - 对于给定的时间和偏移量;在javascript中转换为UTC
- html - 如何在 XML 中进行分页?(奥多 10)
- python - 如何在 python 中使用 xlsxwriter 创建 log(x) 图?
- javascript - Qualtrics:如何将管道文本叠加到图像/图形上?
- python - 关于神经网络激活函数的困惑
- sql - 如何过滤掉表中的不同对?