我可以在GP中使用多个突变功能吗?

时间:2019-07-23 07:55:52

标签: deap

我想在GP中使用多种突变方法,例如mutUniform和mutEmphemeral。但是所有算法只能接收一个参数。有什么方法可以解决这个问题?

1 个答案:

答案 0 :(得分:0)

假设您已经定义了mutUniformmutEmphemeral,则可以定义一个同时运行两个突变的新突变函数,并将该新函数注册到您的工具箱中。

这看起来像是

def mutMyWay(individual, mutpb, uniform_parameters, emphemeral_parameters):
    if random.random()<mutpb:
        individual = mutUniform(individual, *uniform_parameters)
        individual = mutEmphemeral(individual, *emphemeral_parameters)

toolbox.register('mutate', mutMyWay)