Pool based distributed evolutionary algorithms: a minimalistic survey

During the PPSN 2012 conference, we have participated in a workshop on parallel techniques in search, optimization and learning. The style of the workshop has made possible to present a survey paper that describes the different ways how a pool (a set of tuples with create/read/update/delete functions) can be used profitably for evolutionary computation and the tradeoffs involved in the different ways it can be used.
You can access the paper Using Pool-based Evolutionary Algorithms for Scalable and Asynchronous Distributed computing at the workshop site. Here’s the presentation, which I can’t embed.
After the presentation there was a lively discussion on the scalability we should expect and the types of interaction that would work the best; also on security issues and how to check that the client is not cheating.
This survey builds on our work on pool based evolutionary algorithms, which we presented in EvoStar, and relates it to work made on the free Dropbox platform


Pool based evolutionary algorithm presented in EvoStar 2012

This is the first internationally published paper (it was previously published in a Spanish conference of a series that deals with a system, intended for volunteer computing, that uses a pool for implementing distributed evolutionary algorithms. The basic idea is that the population resides in a pool (implemented using CouchDB), with clients pulling individuals from the pool, doing stuff on them, and putting them back in the pool. The algorithm uses, as much as possible, CouchDB features (such as revisions and views) to achieve good performance. All the code (for this and, right now, for the next papers) is available as open-source code.
The paper was accepted in the first edition of EvoPar as poster, and mainly concentrates on studying the effect of different parameters on scaling and performance, and comparing it with a canonical GA. Here’s the poster
Pool-based distributed evolutionary algorithms using an object database
The paper Pool-Based Distributed Evolutionary Algorithms Using an Object Database is available from SpringerLink if your university subscribes to it. If it does not, please send us an email.

Presentando el algoritmo genético basado en CouchDB

Se trata básicamente de usar CouchDB, una base de datos NoSQL basada en almacenar claves/valores, como base para un algoritmo genético basado en pool. Estos algoritmos desacoplan la población del programa, colocándola en un almacén persistente.

El trabajo ha sido presentado en el congreso MAEB de metaheurísticas y algoritmos evolutivos y bionspirados, y es el primero de una serie. El código os lo podéis descargar de el repositorio junto con los datos y demás; os podéis también descargar el trabajo completo
Aquí tenemos un video del algoritmo funcionando: