Java Evolutionary Computation Toolkit: различия между версиями
[непроверенная версия] | [отпатрулированная версия] |
← Новая страница: «ECJ – это бесплатная исследовательская система для эволюционных вычислений, напи...» |
РобоСтася (обсуждение | вклад) |
||
(не показано 26 промежуточных версий 21 участника) | |||
Строка 1: | Строка 1: | ||
{{Карточка программы |
|||
⚫ | |||
| name = ECJ |
|||
| logo = |
|||
| screenshot = |
|||
| caption = |
|||
| genre = |
|||
| developer = |
|||
| programming_language = |
|||
| operating_system = [[Кроссплатформенное программное обеспечение]] |
|||
| latest_release_version = 20 |
|||
| latest_release_date = |
|||
| latest_preview_version = |
|||
| latest_preview_date = |
|||
| license = [[Academic Free License|AFL]], [[Лицензия BSD|BSD]] |
|||
| website = http://cs.gmu.edu/~eclab/projects/ecj/ |
|||
}} |
|||
'''ECJ''' — [[свободное ПО|свободная]] исследовательская система для [[эволюционные вычисления|эволюционных вычислений]], написанная на языке программирования Java. |
|||
⚫ | Она представляет собой программный каркас, поддерживающий ряд технологий эволюционных вычислений, таких как: [[генетические алгоритмы]], [[генетическое программирование]], эволюционные стратегии, параллельная эволюция, оптимизация большого числа частиц и дифференциальная эволюция. Данный программный каркас моделирует эволюционный процесс по итерациям, используя последовательность конвейеров, приспособленных для того, чтобы соединить одну или более подпопуляций индивидуумов с помощью селекции, скрещивания (такого, как кроссовер), и операторов мутации, которые порождают новых особей. ECJ имеет открытые исходные тексты и распространяется в рамках лицензии [[Academic Free License|AFL]]. Она была создана Шоном Люком, профессором компьютерных наук в университете Джорджа Мейсона, и поддерживается Шоном Люком и множеством спонсоров. |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
* платформонезависимые контрольные точки и журналирование; |
* платформонезависимые контрольные точки и журналирование; |
||
* иерархические файлы параметров; |
* иерархические файлы параметров; |
||
* многопоточность; |
* многопоточность; |
||
* генератор случайных чисел |
* генератор случайных [[Число Мерсенна|чисел Мерсенна]]; |
||
* абстракции для выполнения множества форм эволюционных вычислений. |
* абстракции для выполнения множества форм эволюционных вычислений. |
||
Возможности эволюционных вычислений: |
Возможности эволюционных вычислений: |
||
* асинхронная островная модель для TCP/IP; |
* асинхронная островная модель для TCP/IP; |
||
* вычисления типа главный/подчинённый для сложных процессоров; |
* вычисления типа главный/подчинённый для сложных процессоров; |
||
* |
* генетические алгоритмы/генетическое программирование устойчивого состояния и эволюция поколений, с использованием либо без элитизма; |
||
* эволюционные стратегии типа (mu,lambda) и эволюция (mu+lambda); |
* эволюционные стратегии типа (mu, lambda) и эволюция (mu+lambda); |
||
* очень гибкая архитектура скрещивания; |
* очень гибкая архитектура скрещивания; |
||
* много операторов селекции; |
* много операторов селекции; |
||
* множественные подпопуляции и виды; |
* множественные подпопуляции и виды; |
||
* межпопуляционные перестановки; |
* межпопуляционные перестановки; |
||
* чтение популяций из файлов; |
* чтение популяций из файлов; |
||
* одно- и многопопуляционная параллельная эволюция; |
* одно- и многопопуляционная параллельная эволюция; |
||
* SPEA2 |
* SPEA2 [[многокритериальная оптимизация]] (Strength Pareto Evolutionary Algorithm); |
||
* оптимизация большого числа частиц; |
* оптимизация большого числа частиц; |
||
* дифференциальная эволюция; |
* [[дифференциальная эволюция]]; |
||
* пространственно вложенные генетические алгоритмы; |
* пространственно вложенные генетические алгоритмы; |
||
* приёмы для других многоцелевых методов оптимизации; |
* приёмы для других многоцелевых методов оптимизации; |
||
* пакеты для экономного воздействия. |
* пакеты для экономного воздействия. |
||
Представления деревьев в генетическом программировании: |
Представления деревьев в генетическом программировании: |
||
* сильно типизированное основанное на множествах генетическое программирование; |
* сильно типизированное основанное на множествах генетическое программирование; |
||
* эфемерные случайные константы; |
* эфемерные случайные константы; |
||
* автоматически определяемые функции и автоматически определяемые макросы; |
* автоматически определяемые функции и автоматически определяемые макросы; |
||
* леса из многочисленных деревьев; |
* леса из многочисленных деревьев; |
||
* 6 алгоритмов для создания деревьев; |
* 6 алгоритмов для создания деревьев; |
||
* огромное множество операторов скрещивания в генетическом программировании; |
* огромное множество операторов скрещивания в генетическом программировании; |
||
* 7 готовых приложений генетического программирования для решения проблем из различных областей (муравей, регрессия, мультиплексор, закон Мура, чётность, два блока, ребро). |
* 7 готовых приложений генетического программирования для решения проблем из различных областей (муравей, регрессия, мультиплексор, закон Мура, чётность, два блока, ребро). |
||
Представления векторов (генетические |
Представления векторов (генетические алгоритмы): |
||
* геном фиксированной и переменной длины; |
* геном фиксированной и переменной длины; |
||
* произвольные представления; |
* произвольные представления; |
||
* 5 векторных приложений для решения проблем из различных областей (сумма, Розенброк, сфера, шаг, шум четвёртой степени). |
* 5 векторных приложений для решения проблем из различных областей (сумма, Розенброк, сфера, шаг, шум четвёртой степени). |
||
Другие представления: |
Другие представления: |
||
Строка 49: | Строка 67: | ||
* геномы, основанные на мультимножественном представлении в линейном пакете, для получения в приближении Питта наборов правил или других представлениях, основанных на множествах. |
* геномы, основанные на мультимножественном представлении в линейном пакете, для получения в приближении Питта наборов правил или других представлениях, основанных на множествах. |
||
==Ссылки== |
== Ссылки == |
||
* [http://cs.gmu.edu/~eclab/projects/ecj/ |
* [http://cs.gmu.edu/~eclab/projects/ecj/ Страница проекта ECJ] |
||
* Wilson, G. C. McIntyre, A. Heywood, M. I. (2004), [http://www.springerlink.com/content/k52u071p8t1052j7/ |
* 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]] |
Текущая версия от 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 векторных приложений для решения проблем из различных областей (сумма, Розенброк, сфера, шаг, шум четвёртой степени).
Другие представления:
- геномы, основанные на мультимножественном представлении в линейном пакете, для получения в приближении Питта наборов правил или других представлениях, основанных на множествах.
Ссылки
[править | править код]- Страница проекта ECJ
- Wilson, G. C. McIntyre, A. Heywood, M. I. (2004), «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. ISSN 1389-2576