Python 在deap中有可能有可变长度的基因组吗?

Python 在deap中有可能有可变长度的基因组吗?,python,deap,Python,Deap,我似乎不知道如何在DEAP中拥有可变长度的基因组 我查阅了DEAP文档,没有发现任何与可变长度基因组相关的信息。如果您定义您的个体而不指定n参数,那么您可以创建许多具有不同长度的个体。比如说 from deap import base, tools, creator import random toolbox = base.Toolbox() creator.create("FitnessMax", base.Fitness, weights=(1.0,)) creator.create("

我似乎不知道如何在DEAP中拥有可变长度的基因组


我查阅了DEAP文档,没有发现任何与可变长度基因组相关的信息。

如果您定义您的个体而不指定
n
参数,那么您可以创建许多具有不同长度的个体。比如说

from deap import base, tools, creator
import random

toolbox = base.Toolbox()

creator.create("FitnessMax", base.Fitness, weights=(1.0,))
creator.create("Individual", list, fitness=creator.FitnessMax)
toolbox.register("individual", tools.initRepeat, creator.Individual, random.random)

print(toolbox.individual(n=2))
print(toolbox.individual(n=5))

如果要创建每个个体长度不同的总体,可以查看。主要思想归结为以这种方式定义您的人口:

from deap import creator, base, tools
import random

creator.create("Fitness", base.Fitness, weights=(-1.0, 1.0))
creator.create("Individual", set, fitness=creator.Fitness)

toolbox = base.Toolbox()
toolbox.register("attr_item", random.randrange, 5)
toolbox.register("individual", tools.initRepeat, creator.Individual, 
    toolbox.attr_item, 3)
toolbox.register("population", tools.initRepeat, list, toolbox.individual)

toolbox.population(n=5)

如果您定义个人而不指定
n
参数,则可以创建具有不同长度的多个个人。比如说

from deap import base, tools, creator
import random

toolbox = base.Toolbox()

creator.create("FitnessMax", base.Fitness, weights=(1.0,))
creator.create("Individual", list, fitness=creator.FitnessMax)
toolbox.register("individual", tools.initRepeat, creator.Individual, random.random)

print(toolbox.individual(n=2))
print(toolbox.individual(n=5))

如果要创建每个个体长度不同的总体,可以查看。主要思想归结为以这种方式定义您的人口:

from deap import creator, base, tools
import random

creator.create("Fitness", base.Fitness, weights=(-1.0, 1.0))
creator.create("Individual", set, fitness=creator.Fitness)

toolbox = base.Toolbox()
toolbox.register("attr_item", random.randrange, 5)
toolbox.register("individual", tools.initRepeat, creator.Individual, 
    toolbox.attr_item, 3)
toolbox.register("population", tools.initRepeat, list, toolbox.individual)

toolbox.population(n=5)