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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
интервики
категории
Строка 3: Строка 3:


<noinclude>{{К удалению|30 сентября 2009}}</noinclude>
<noinclude>{{К удалению|30 сентября 2009}}</noinclude>
ECJ это бесплатная исследовательская система для [[эволюционные вычисления|эволюционных вычислений]], написанная на языке программирования Java. Она представляет собой программный каркас, поддерживающий ряд технологий эволюционных вычислений, таких как: [[генетические алгоритмы]], [[генетическое программирование]], эволюционные стратегии, параллельная эволюция, оптимизация большого числа частиц и дифференциальная эволюция. Данный программный каркас моделирует эволюционный процесс по итерациям, используя последовательность конвейеров, приспособленных для того, чтобы соединить одну или более подпопуляций индивидуумов с помощью селекции, скрещивания (такого, как кроссовер), и операторов мутации, которые порождают новых особей. ECJ имеет открытые исходные тексты и распространяется в рамках бесплатной академической лицензии. Она была создана Шоном Люком, профессором компьютерных наук в университете Джорджа Мейсона, и поддерживается Шоном Люком и множеством спонсоров.
ECJ — это бесплатная исследовательская система для [[эволюционные вычисления|эволюционных вычислений]], написанная на языке программирования Java. Она представляет собой программный каркас, поддерживающий ряд технологий эволюционных вычислений, таких как: [[генетические алгоритмы]], [[генетическое программирование]], эволюционные стратегии, параллельная эволюция, оптимизация большого числа частиц и дифференциальная эволюция. Данный программный каркас моделирует эволюционный процесс по итерациям, используя последовательность конвейеров, приспособленных для того, чтобы соединить одну или более подпопуляций индивидуумов с помощью селекции, скрещивания (такого, как кроссовер), и операторов мутации, которые порождают новых особей. ECJ имеет открытые исходные тексты и распространяется в рамках бесплатной академической лицензии. Она была создана Шоном Люком, профессором компьютерных наук в университете Джорджа Мейсона, и поддерживается Шоном Люком и множеством спонсоров.


Основные возможности (перечислены со [http://cs.gmu.edu/~eclab/projects/ecj/ страницы проекта ECJ]):
Основные возможности (перечислены со [http://cs.gmu.edu/~eclab/projects/ecj/ страницы проекта ECJ]):


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


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


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


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


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


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


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


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


==Ссылки==
== Ссылки ==
* [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»], ''Genetic Programming And Evolvable Machines'', '''5''' (19): 103—105, Kluwer Academic Publishers. ISBN 1389—2576

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


[[en:Java Evolutionary Computation Toolkit]]
[[en:Java Evolutionary Computation Toolkit]]

Версия от 07:16, 1 октября 2009


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

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

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

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

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

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

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

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

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

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

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

Ссылки