python - 深海中是否有可能存在可变长度的基因组?

标签 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("Individual", list, fitness=creator.FitnessMax)
toolbox.register("individual", tools.initRepeat, creator.Individual, random.random)

print(toolbox.individual(n=2))
print(toolbox.individual(n=5))
<小时/>

如果您想创建一个每个个体都有不同长度的群体,您可以查看 Knapsack problem from the DEAP documentation 。主要思想归结为以这种方式定义您的人口:

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)

关于python - 深海中是否有可能存在可变长度的基因组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57509121/

相关文章:

python - 如何在 linux 上运行单个 python 脚本的最佳实例数

python - 如何防止 mutGaussian 在 DEAP Python 中将超出范围的值放入染色体基因组中

python - 是否可以让算法.eaSimple 返回包含运行时所有统计数据的日志?

python - Python DEAP mutFlipBit 的类型错误

python - 如何使用 DEAP 定义遵循特定顺序模式的自定义遗传算法个体

Python 抓取删除重复项

python - wxPython 网格中的自动换行和换行

python - 使用Python测量音频输出电平?

javascript - 视频编辑和观看的首选平台 - 可执行程序/基于网络?