WikiDer > DEAP (программное обеспечение)
Эта статья нужны дополнительные цитаты для проверка. (Сентябрь 2015 г.) (Узнайте, как и когда удалить этот шаблон сообщения) |
Оригинальный автор (ы) | Франсуа-Мишель Де Рейнвиль, Феликс-Антуан Фортин, Марк-Андре Гарднер, Марк Паризо, Кристиан Ганье |
---|---|
Разработчики) | Франсуа-Мишель Де Рейнвиль, Феликс-Антуан Фортин, Марк-Андре Гарднер |
изначальный выпуск | 2009 |
Стабильный выпуск | 1.3.0[1] / 17 июня 2019 |
Репозиторий | |
Написано в | Python |
Операционная система | Кроссплатформенность |
Тип | Эволюционные вычисления рамки |
Лицензия | LGPL |
Интернет сайт | github |
Распределенные эволюционные алгоритмы в Python (DEAP) - это эволюционные вычисления рамки для быстрого прототипирование и проверка идей.[2][3][4] Он включает в себя структуры данных и инструменты, необходимые для реализации наиболее распространенных методов эволюционных вычислений, таких как генетический алгоритм, генетическое программирование, стратегии эволюции, оптимизация роя частиц, дифференциальная эволюция, транспортный поток[5] и оценка алгоритма распределения. Он разработан в Université Laval с 2009 года.
Пример
Следующий код дает краткий обзор того, как оптимизация задачи Onemax с помощью генетического алгоритма может быть реализована с помощью DEAP.
импорт множествоимпорт случайныйиз глухой импорт создатель, основание, инструменты, алгоритмысоздатель.Создайте(«ФитнесМакс», основание.Фитнес, веса=(1.0,))создатель.Создайте("Индивидуальный", множество.множество, код типа='b', фитнес=создатель.FitnessMax)ящик для инструментов = основание.Ящик для инструментов()ящик для инструментов.регистр("attr_bool", случайный.Randint, 0, 1)ящик для инструментов.регистр("индивидуальный", инструменты.initRepeat, создатель.Индивидуальный, ящик для инструментов.attr_bool, 100)ящик для инструментов.регистр("численность населения", инструменты.initRepeat, список, ящик для инструментов.индивидуальный)evalOneMax = лямбда индивидуальный: (сумма(индивидуальный),)ящик для инструментов.регистр("оценивать", evalOneMax)ящик для инструментов.регистр("приятель", инструменты.cxTwoPoint)ящик для инструментов.регистр("мутировать", инструменты.mutFlipBit, indpb=0.05)ящик для инструментов.регистр("Выбрать", инструменты.selTournament, Tournsize=3)численность населения = ящик для инструментов.численность населения(п=300)NGEN = 40за ген в классифицировать(NGEN): потомство = алгоритмы.varAnd(численность населения, ящик для инструментов, cxpb=0.5, mutpb=0.1) подходит = ящик для инструментов.карта(ящик для инструментов.оценивать, потомство) за поместиться, инд в застегивать(подходит, потомство): инд.фитнес.значения = поместиться численность населения = потомство
Смотрите также
Рекомендации
- ^ «Релиз 1.3.0». 17 июня 2019 г.. Получено 28 сентября 2019.
- ^ Фортин, Феликс-Антуан; Ф.-М. Де Рейнвиль; М-А. Гарднер; К. Ганье; М. Паризо (2012). «DEAP: эволюционные алгоритмы стали проще». Журнал исследований в области машинного обучения. 13: 2171–2175.
- ^ Де Рейнвиль, Франсуа-Мишель; Ф.-А Фортин; М-А. Гарднер; К. Ганье; М. Паризо (2014). "DEAP: Включение Nimber Evolutionss" (PDF). SIGEvolution. 6 (2): 17–26.
- ^ Де Рейнвиль, Франсуа-Мишель; Ф.-А Фортин; М-А. Гарднер; К. Ганье; М. Паризо (2012). «DEAP: платформа Python для эволюционных алгоритмов» (PDF). В сопроводительных материалах конференции по генетическим и эволюционным вычислениям.
- ^ «Создание единого алгоритма управления транспортными системами». Открытый репозиторий социального воздействия. Архивировано из оригинал на 2017-09-05. Получено 2017-09-05.