Мы используем файлы cookie.
Продолжая использовать сайт, вы даете свое согласие на работу с этими файлами.
Java Evolutionary Computation Toolkit
Другие языки:

Java Evolutionary Computation Toolkit

Подписчиков: 0, рейтинг: 0
ECJ
Написана на Java
Операционная система Кроссплатформенное программное обеспечение
Аппаратная платформа Java Virtual Machine
Последняя версия 20
Лицензия AFL, BSD
Сайт cs.gmu.edu/~eclab/projec…

ECJ — это свободная исследовательская система для эволюционных вычислений, написанная на языке программирования Java.

Она представляет собой программный каркас, поддерживающий ряд технологий эволюционных вычислений, таких как: генетические алгоритмы, генетическое программирование, эволюционные стратегии, параллельная эволюция, оптимизация большого числа частиц и дифференциальная эволюция. Данный программный каркас моделирует эволюционный процесс по итерациям, используя последовательность конвейеров, приспособленных для того, чтобы соединить одну или более подпопуляций индивидуумов с помощью селекции, скрещивания (такого, как кроссовер), и операторов мутации, которые порождают новых особей. ECJ имеет открытые исходные тексты и распространяется в рамках лицензии AFL. Она была создана Шоном Люком, профессором компьютерных наук в университете Джорджа Мейсона, и поддерживается Шоном Люком и множеством спонсоров.

Основные возможности (перечислены со страницы проекта ECJ):

  • графический интерфейс пользователя с диаграммами;
  • платформонезависимые контрольные точки и журналирование;
  • иерархические файлы параметров;
  • многопоточность;
  • генератор случайных чисел Мерсенна;
  • абстракции для выполнения множества форм эволюционных вычислений.

Возможности эволюционных вычислений:

  • асинхронная островная модель для TCP/IP;
  • вычисления типа главный/подчинённый для сложных процессоров;
  • генетические алгоритмы/генетическое программирование устойчивого состояния и эволюция поколений, с использованием либо без элитизма;
  • эволюционные стратегии типа (mu, lambda) и эволюция (mu+lambda);
  • очень гибкая архитектура скрещивания;
  • много операторов селекции;
  • множественные подпопуляции и виды;
  • межпопуляционные перестановки;
  • чтение популяций из файлов;
  • одно- и многопопуляционная параллельная эволюция;
  • SPEA2 многокритериальная оптимизация (Strength Pareto Evolutionary Algorithm);
  • оптимизация большого числа частиц;
  • дифференциальная эволюция;
  • пространственно вложенные генетические алгоритмы;
  • приёмы для других многоцелевых методов оптимизации;
  • пакеты для экономного воздействия.

Представления деревьев в генетическом программировании:

  • сильно типизированное основанное на множествах генетическое программирование;
  • эфемерные случайные константы;
  • автоматически определяемые функции и автоматически определяемые макросы;
  • леса из многочисленных деревьев;
  • 6 алгоритмов для создания деревьев;
  • огромное множество операторов скрещивания в генетическом программировании;
  • 7 готовых приложений генетического программирования для решения проблем из различных областей (муравей, регрессия, мультиплексор, закон Мура, чётность, два блока, ребро).

Представления векторов (генетические алгоритмы):

  • геном фиксированной и переменной длины;
  • произвольные представления;
  • 5 векторных приложений для решения проблем из различных областей (сумма, Розенброк, сфера, шаг, шум четвёртой степени).

Другие представления:

  • геномы, основанные на мультимножественном представлении в линейном пакете, для получения в приближении Питта наборов правил или других представлениях, основанных на множествах.

Ссылки


Новое сообщение