DEAP (программное обеспечение) - DEAP (software)

DEAP
Оригинальный автор (ы)Франсуа-Мишель Де Рейнвиль, Феликс-Антуан Фортин, Марк-Андре Гарднер, Марк Паризо, Кристиан Ганье
Разработчики)Франсуа-Мишель Де Рейнвиль, Феликс-Антуан Фортин, Марк-Андре Гарднер
изначальный выпуск2009 (2009)
Стабильный выпуск
1.3.0[1] / 17 июня 2019; 17 месяцев назад (17 июня 2019 г.)
Репозиторий Отредактируйте это в Викиданных
Написано вPython
Операционная системаКроссплатформенность
ТипЭволюционные вычисления рамки
ЛицензияLGPL
Интернет сайтgithub.com/ deap

Распределенные эволюционные алгоритмы в 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. ^ «Релиз 1.3.0». 17 июня 2019 г.. Получено 28 сентября 2019.
  2. ^ Фортин, Феликс-Антуан; Ф.-М. Де Рейнвиль; М-А. Гарднер; К. Ганье; М. Паризо (2012). «DEAP: эволюционные алгоритмы стали проще». Журнал исследований в области машинного обучения. 13: 2171–2175.
  3. ^ Де Рейнвиль, Франсуа-Мишель; Ф.-А Фортин; М-А. Гарднер; К. Ганье; М. Паризо (2014). "DEAP: Включение Nimber Evolutionss" (PDF). SIGEvolution. 6 (2): 17–26.
  4. ^ Де Рейнвиль, Франсуа-Мишель; Ф.-А Фортин; М-А. Гарднер; К. Ганье; М. Паризо (2012). «DEAP: платформа Python для эволюционных алгоритмов» (PDF). В сопроводительных материалах конференции по генетическим и эволюционным вычислениям.
  5. ^ «Создание единого алгоритма управления транспортными системами». Открытый репозиторий социального воздействия. Архивировано из оригинал на 2017-09-05. Получено 2017-09-05.

внешняя ссылка