我想在GP中使用多种突变方法,例如mutUniform和mutEmphemeral。但是所有算法只能接收一个参数。有什么方法可以解决这个问题?
答案 0 :(得分:0)
假设您已经定义了mutUniform
和mutEmphemeral
,则可以定义一个同时运行两个突变的新突变函数,并将该新函数注册到您的工具箱中。
这看起来像是
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)