ДЕАП (программное обеспечение)
Эта статья нуждается в дополнительных цитатах для проверки . ( сентябрь 2015 г. ) |
Оригинальный автор(ы) | Франсуа-Мишель Де Ренвиль, Феликс-Антуан Фортен, Марк-Андре Гарднер, Марк Паризо, Кристиан Ганье |
---|---|
Разработчик(и) | Франсуа-Мишель де Ренвиль, Феликс-Антуан Фортен, Марк-Андре Гарднер |
Первоначальный выпуск | 2009 |
Стабильная версия | 1.4.1 [ 1 ] ![]() |
Репозиторий | |
Написано в | Питон |
Операционная система | Кросс-платформенный |
Тип | Эволюционная вычислительная система |
Лицензия | LGPL |
Веб-сайт | github |
Распределенные эволюционные алгоритмы на Python (DEAP) — это эволюционная вычислительная среда для быстрого прототипирования и тестирования идей. [ 2 ] [ 3 ] [ 4 ] Он включает в себя структуры данных и инструменты, необходимые для реализации наиболее распространенных методов эволюционных вычислений, таких как генетический алгоритм , генетическое программирование , стратегии эволюции , оптимизация роя частиц , дифференциальная эволюция , транспортный поток. [ 5 ] и оценка алгоритма распределения . Он разрабатывается в Университете Лаваля с 2009 года.
Пример
[ редактировать ]Следующий код дает краткий обзор того, как оптимизация задачи Onemax с помощью генетического алгоритма может быть реализована с помощью DEAP.
import array
import 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, 100)
toolbox.register("population", tools.initRepeat, list, toolbox.individual)
evalOneMax = lambda individual: (sum(individual),)
toolbox.register("evaluate", evalOneMax)
toolbox.register("mate", tools.cxTwoPoint)
toolbox.register("mutate", tools.mutFlipBit, indpb=0.05)
toolbox.register("select", tools.selTournament, tournsize=3)
population = toolbox.population(n=300)
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
population = offspring
См. также
[ редактировать ]- Python SCOOP (программное обеспечение)
Портал бесплатного программного обеспечения
Ссылки
[ редактировать ]- ^ «Выпуск 1.4.1» . 21 июля 2023 г. Проверено 30 июля 2023 г.
- ^ Фортен, Феликс-Антуан; Ф.-М. Де Рейнвиль; МА. Гарднер; К. Ганье; М. Паризо (2012). «DEAP: эволюционные алгоритмы стали проще» . Журнал исследований машинного обучения . 13 : 2171–2175.
- ^ Де Рейнвиль, Франсуа-Мишель; Ф.-А Фортен; НО. Гарднер; К. Ганье; М. Паризо (2014). «DEAP: Обеспечение эволюции Nimber» (PDF) . ACM SIGEVOlution . 6 (2): 17–26. дои : 10.1145/2597453.2597455 . S2CID 14949980 .
- ^ Де Рейнвиль, Франсуа-Мишель; Ф.-А Фортен; МА. Гарднер; К. Ганье; М. Паризо (2012). «DEAP: платформа Python для эволюционных алгоритмов» (PDF) . В сопутствующих материалах конференции по генетическим и эволюционным вычислениям .
- ^ «Создание единого алгоритма управления дорожными системами» . Открытый репозиторий социального воздействия . Архивировано из оригинала 5 сентября 2017 г. Проверено 5 сентября 2017 г.