Java Evolutionary Computation Toolkit

Java Evolutionary Computation Toolkit
ECJ
Операционная система

Кроссплатформенное программное обеспечение

Последняя версия

20

Лицензия

AFL, BSD

Сайт

ECJ project

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

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

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

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

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

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

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

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

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

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

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

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

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Java Evolutionary Computation Toolkit" в других словарях:

  • Java Evolutionary Computation Toolkit — ECJ is a freeware evolutionary computation research system written in Java. It is a framework that supports a variety of evolutionary computation techniques, such as genetic algorithms, genetic programming, evolution strategies, coevolution,… …   Wikipedia

  • Java (значения) — …   Википедия

  • Evolutionary algorithm — In artificial intelligence, an evolutionary algorithm (EA) is a subset of evolutionary computation, a generic population based metaheuristic optimization algorithm. An EA uses some mechanisms inspired by biological evolution: reproduction,… …   Wikipedia

  • History of evolutionary thought — This article is about the history of evolutionary thought in biology. For the history of evolutionary thought in the social sciences, see Sociocultural evolution. For the history of religious discussions, see History of the creation evolution… …   Wikipedia

  • MASON (Java) — Developer(s) Sean Luke Initial release 2003 (2003) Stable release 15 / December 17, 2010; 10 months ago (2010 12 17) …   Wikipedia

  • ECJ — usually refers to the European Court of Justice, the Supreme Court of the European UnionECJ may also mean: * Evolutionary Computation Journal, a scientific journal on Evolutionary computation * Java Evolutionary Computation Toolkit, a Java based… …   Wikipedia

  • Comparison of agent-based modeling software — In the last few years, the agent based modeling (ABM) community has developed several practical agent based modeling toolkits that enable individuals to develop agent based applications. More and more such toolkits are coming into existence, and… …   Wikipedia

  • Genetic algorithm — A genetic algorithm (GA) is a search heuristic that mimics the process of natural evolution. This heuristic is routinely used to generate useful solutions to optimization and search problems. Genetic algorithms belong to the larger class of… …   Wikipedia

  • Data mining — Not to be confused with analytics, information extraction, or data analysis. Data mining (the analysis step of the knowledge discovery in databases process,[1] or KDD), a relatively young and interdisciplinary field of computer science[2][3] is… …   Wikipedia

  • Сравнение средств разработки для создания мультиагентных систем — Платформа Основное назначение Лицензия Требуемый язык программирования Требуемая ОС Поддержка пользователя Соответствует ли требованиям FIPA Возможности ГИС Трехмерные возможности ABLE …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»