小编csh*_*rtt的帖子

如何用DEAP产生不同的随机结果?

我正在使用DEAP库来最大化度量,我注意到每当我重新启动算法(它应该创建一个二进制值的随机列表--1和0)时,它产生相同的初始值.

我开始怀疑并在这里复制了他们的基本DEAP示例,并再次重新运行算法:

import array, random
from deap import creator, base, tools, algorithms

creator.create("FitnessMax", base.Fitness, weights=(1.0,))
creator.create("Individual", array.array, typecode='b', fitness=creator.FitnessMax)

toolbox = base.Toolbox()

toolbox.register("attr_bool", random.randint, 0, 1)
toolbox.register("individual", tools.initRepeat, creator.Individual, toolbox.attr_bool, 10)
toolbox.register("population", tools.initRepeat, list, toolbox.individual)

def evalOneMax(individual):
    return sum(individual),

toolbox.register("evaluate", evalOneMax)
toolbox.register("mate", tools.cxTwoPoints)
toolbox.register("mutate", tools.mutFlipBit, indpb=0.05)
toolbox.register("select", tools.selTournament, tournsize=3)

population = toolbox.population(n=10)

NGEN=40
for gen in range(NGEN):
    offspring = algorithms.varAnd(population, toolbox, cxpb=0.5, mutpb=0.1)
    fits = toolbox.map(toolbox.evaluate, offspring)
    for fit, ind in zip(fits, offspring):
        ind.fitness.values = fit …
Run Code Online (Sandbox Code Playgroud)

python random algorithm genetic-algorithm

2
推荐指数
1
解决办法
2032
查看次数

标签 统计

algorithm ×1

genetic-algorithm ×1

python ×1

random ×1