Java Evolutionary Computation Toolkit: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
 
(не показано 18 промежуточных версий 16 участников)
Строка 1: Строка 1:
{{Значимость}}
{{Карточка программы
{{Карточка программы
| name = ECJ
| name = ECJ
Строка 9: Строка 8:
| programming_language =
| programming_language =
| operating_system = [[Кроссплатформенное программное обеспечение]]
| operating_system = [[Кроссплатформенное программное обеспечение]]
| latest_release_version = 19
| latest_release_version = 20
| latest_release_date =
| latest_release_date =
| latest_preview_version =
| latest_preview_version =
| latest_preview_date =
| latest_preview_date =
| license = [[Academic Free License|AFL]], [[Лицензия BSD|BSD]]
| license = [[Academic Free License|AFL]], [[Лицензия BSD|BSD]]
| website = [http://cs.gmu.edu/~eclab/projects/ecj/ ECJ project]
| website = http://cs.gmu.edu/~eclab/projects/ecj/
}}
}}
ECJ — это бесплатная исследовательская система для [[эволюционные вычисления|эволюционных вычислений]], написанная на языке программирования Java. Она представляет собой программный каркас, поддерживающий ряд технологий эволюционных вычислений, таких как: [[генетические алгоритмы]], [[генетическое программирование]], эволюционные стратегии, параллельная эволюция, оптимизация большого числа частиц и дифференциальная эволюция. Данный программный каркас моделирует эволюционный процесс по итерациям, используя последовательность конвейеров, приспособленных для того, чтобы соединить одну или более подпопуляций индивидуумов с помощью селекции, скрещивания (такого, как кроссовер), и операторов мутации, которые порождают новых особей. ECJ имеет открытые исходные тексты и распространяется в рамках лицензии {{не переведено|:en:Academic Free License|Лицензия AFL|AFL}}. Она была создана Шоном Люком, профессором компьютерных наук в университете Джорджа Мейсона, и поддерживается Шоном Люком и множеством спонсоров.
'''ECJ''' — [[свободное ПО|свободная]] исследовательская система для [[эволюционные вычисления|эволюционных вычислений]], написанная на языке программирования Java.
Она представляет собой программный каркас, поддерживающий ряд технологий эволюционных вычислений, таких как: [[генетические алгоритмы]], [[генетическое программирование]], эволюционные стратегии, параллельная эволюция, оптимизация большого числа частиц и дифференциальная эволюция. Данный программный каркас моделирует эволюционный процесс по итерациям, используя последовательность конвейеров, приспособленных для того, чтобы соединить одну или более подпопуляций индивидуумов с помощью селекции, скрещивания (такого, как кроссовер), и операторов мутации, которые порождают новых особей. ECJ имеет открытые исходные тексты и распространяется в рамках лицензии [[Academic Free License|AFL]]. Она была создана Шоном Люком, профессором компьютерных наук в университете Джорджа Мейсона, и поддерживается Шоном Люком и множеством спонсоров.


Основные возможности (перечислены со [http://cs.gmu.edu/~eclab/projects/ecj/ страницы проекта ECJ]):
Основные возможности (перечислены со [http://cs.gmu.edu/~eclab/projects/ecj/ страницы проекта ECJ]):
Строка 39: Строка 40:
* чтение популяций из файлов;
* чтение популяций из файлов;
* одно- и многопопуляционная параллельная эволюция;
* одно- и многопопуляционная параллельная эволюция;
* SPEA2 многоцелевая оптимизация (Strength Pareto Evolutionary Algorithm);
* SPEA2 [[многокритериальная оптимизация]] (Strength Pareto Evolutionary Algorithm);
* оптимизация большого числа частиц;
* оптимизация большого числа частиц;
* [[дифференциальная эволюция]];
* [[дифференциальная эволюция]];
Строка 67: Строка 68:


== Ссылки ==
== Ссылки ==
* [http://cs.gmu.edu/~eclab/projects/ecj/ страница проекта ECJ]
* [http://cs.gmu.edu/~eclab/projects/ecj/ Страница проекта ECJ]
* Wilson, G. C. McIntyre, A. Heywood, M. I. (2004), [http://www.springerlink.com/content/k52u071p8t1052j7/ «Resource Review: Three Open Source Systems for Evolving Programs-Lilgp, ECJ and Grammatical Evolution»], ''Genetic Programming And Evolvable Machines'', '''5''' (19): 103—105, Kluwer Academic Publishers. ISBN 1389—2576
* Wilson, G. C. McIntyre, A. Heywood, M. I. (2004), [http://www.springerlink.com/content/k52u071p8t1052j7/ «Resource Review: Three Open Source Systems for Evolving Programs-Lilgp, ECJ and Grammatical Evolution»]{{Недоступная ссылка|date=2020-03|bot=InternetArchiveBot }}, ''Genetic Programming And Evolvable Machines'', '''5''' (19): 103—105, Kluwer Academic Publishers. {{ISSN|1389-2576}}


[[Категория:Научное программное обеспечение]]
[[Категория:Научное программное обеспечение]]
[[Категория:Свободное программное обеспечение]]
[[Категория:Искусственный интеллект]]
[[Категория:Искусственный интеллект]]
[[Категория:Свободное программное обеспечение, написанное на Java]]

[[en:Java Evolutionary Computation Toolkit]]

Текущая версия от 08:14, 17 июля 2024

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 векторных приложений для решения проблем из различных областей (сумма, Розенброк, сфера, шаг, шум четвёртой степени).

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

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