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, particle swarm optimization, and differential evolution. The framework models iterative evolutionary processes using a series of pipelines arranged to connect one or more subpopulations of individuals with selection, breeding (such as crossover, and mutation operators that produce new individuals. The framework is open source and is distributed under the Academic Free License. ECJ was created by [http://www.cs.gmu.edu/~sean/ Sean Luke] , a computer science professor at George Mason University, and is maintained by Sean Luke and a variety of contributors.

Features (listed from [http://cs.gmu.edu/~eclab/projects/ecj/ ECJ's project page] ):

General Features:

* GUI with charting
* Platform-independent checkpointing and logging
* Hierarchical parameter files
* Multithreading
* Mersenne Twister Random Number Generators
* Abstractions for implementing a variety of EC forms.

EC Features:

* Asynchronous island models over TCP/IP
* Master/Slave evaluation over multiple processors
* Genetic Algorithms/Programming style Steady State and Generational evolution, with or without Elitism
* Evolutionary-Strategies style (mu,lambda) and (mu+lambda) evolution
* Very flexible breeding architecture
* Many selection operators
* Multiple subpopulations and species
* Inter-subpopulation exchanges
* Reading populations from files
* Single- and Multi-population coevolution
* SPEA2 multiobjective optimization
* Particle Swarm Optimization
* Differential Evolution
* Spatially embedded evolutionary algorithms
* Hooks for other multiobjective optimization methods
* Packages for parsimony pressure

GP Tree Representations:

* Set-based Strongly-Typed Genetic Programming
* Ephemeral Random Constants
* Automatically-Defined Functions and Automatically Defined Macros
* Multiple tree forests
* Six tree-creation algorithms
* Extensive set of GP breeding operators
* Seven pre-done GP application problem domains (ant, regression, multiplexer, lawnmower, parity, two-box, edge)

Vector (GA/ES) Representations:

* Fixed-Length and Variable-Length Genomes
* Arbitrary representations
* Five pre-done vector application problem domains (sum, rosenbrock, sphere, step, noisy-quartic)

Other Representations:

* Multiset-based genomes in the rule package, for evolving Pitt-approach rulesets or other set-based representations.

References

* [http://cs.gmu.edu/~eclab/projects/ecj/ ECJ project page]
* 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


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Java Evolutionary Computation Toolkit — ECJ Операционная система Кроссплатформенное программное обеспечение Последняя версия 20 Лицензия AFL, BSD Сайт ECJ project ECJ  это свободная исследовательская сис …   Википедия

  • 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 …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”