В настоящее время я использую DEAP для генетического алгоритма в Python. Я хочу создать начальную популяцию особей длиной no_sensors
. Моя проблема заключается в том, что из-за функции random.choice(nodes)
некоторые узлы оказываются одинаковыми, а начальная длина оказывается меньше no_sensors
. Мне было интересно, есть ли способ исправить это:
creator.create("FitnessMax", base.Fitness, weights=(2.0, -1.0))
creator.create("Individual", set, fitness=creator.FitnessMax)
toolbox = base.Toolbox()
toolbox.register("attr_item", random.choice, nodes)
toolbox.register("individual", tools.initRepeat, creator.Individual, toolbox.attr_item, n=no_sensors)
toolbox.register("population", tools.initRepeat, list, toolbox.individual)
По сути, мне нужна фиксированная длина уникальных элементов из списка nodes
. Я думал об использовании random.sample(nodes, no_sensors)
, но не могу включить это в код без ошибок.
Вы можете посмотреть другой пример здесь.
no_sensors
заранее или его значение может быть разным для каждого человека? - person usernumber   schedule 05.11.2019