这是因为b的参数已由incrementByFive运算符定义为5。
创建遗传算子
为了快速构建遗传流程,可以使用Toolbox类定制tools模块的现有函数。tools模块包含许多便捷的函数,这些函数包括选择、交叉和变异的遗传算子以及程序的初始化等。
例如,以下代码定义了三个别名函数,用作遗传算子:
from deap import tools
toolbox.register(“select”, tools.selTournament, tournsize=3)
toolbox.register(“mate”, tools.cxTwoPoint)
toolbox.register(“mutate”, tools.mutFlipBit, indpb=0.02)
这三个别名函数的详细说明:
-
select注册为tools函数
selTournament()
的别名,且tournsize参数设置为3。这将创建一个toolbox.select运算符,用于创建锦标赛规模为3的锦标赛选择算子。 -
mate注册为tools函数
cxTwoPoint()
的别名。这将创建执行两点交叉的toolbox.mate算子。 -
mutate注册为tools函数
mutFlipBit()
的别名,并将indpb参数设置为0.02,这将创建一个翻转每个特征的概率为0.02的位翻转突变算子。
tools模块提供了各种遗传算子的实现,以下列示常用遗传算子的实现函数。
选择算子主要包括:
selRoulette() #轮盘选择
selStochas