Evolutionary algorithms are not straightforward to implement and the lack of any specialised language forces users to reinvent the wheel every time they want to write a new program. Over the last years, evolutionary libraries have... more
Evolutionary algorithms are not straightforward to implement and the lack of any specialised language forces users to reinvent the wheel every time they want to write a new program. Over the last years, evolutionary libraries have appeared, trying to reduce the amount of work involved in writing such algorithms from scratch, by offering standard engines, strategies and tools. Unfortunately, most of these libraries are quite complex to use, and imply a deep knowledge of object programming and C++. To further reduce the amount of work needed to implement a new algorithm, without however throwing down the drain all the man-years already spent in the development of such libraries, we have designed EASEA (acronym for EAsy Specification of Evolutionary Algorithms): a new high-level language dedicated to the specification of evolutionary algorithms. EASEA compiles .ez files into source files in a target language, containing function calls to a chosen existing library. The resulting source file is in turn compiled and linked with the library to produce an executable file implementing the evolutionary algorithm specified in the original .ez file. EASEA v0.4 is available at: http://www-rocq.inria.fr/EVO-Lab/ .
The fly algorithm is a fast artificial evolution-based technique devised for the exploration of parameter space in pattern recognition applications. It evolves a population of particles which constitutes a three-dimensional representation... more
The fly algorithm is a fast artificial evolution-based technique devised for the exploration of parameter space in pattern recognition applications. It evolves a population of particles which constitutes a three-dimensional representation of the scene. Each individual may be fitted with optional velocity parameters. Evolution is controlled by a fitness function which contains all pixel-level calculations, and uses classical evolutionary operators (sharing, mutation, crossover). The combined individual approach, low complexity fitness function and asynchronous input and output allow fast processing and promising real-time capabilities, illustrated through an application to obstacle avoidance in mobile robotics.