sofea, a pool-based framework for evolutionary algorithms using couchdb
TRANSCRIPT
SofEA, a Pool-Based Framework for Evolutionary
Algorithms using CouchDB
J. J. Merelo, Antonio Mora, Carlos M. Fernandes, Anna I. Esparcia@jjmerelo, @aiesparciahttp://l-g.me/sofea
Imagen del sof de Miuenski en Flickr http://www.flickr.com/photos/miuenski/2108120061/in/photostream/Combinacin de colores de ColorCombos : ColorCombo20
Why?
Imagen de MagnusVK en http://www.flickr.com/photos/magnusvk/373730052/in/photostream/La primera razn es porque est ah, claro. Es un sistema nuevo que se puede usar para programar, de forma relativamente fcil, algoritmos evolutivos. Pero una vez que queremos hacerlo, cmo lo hacemos?Adems, hacindolo contestamos a una serie de preguntas.
What makes an evolutionary algorithm tick?
Imagen de J. Tegnerud en Flickr http://www.flickr.com/photos/j_tegnerud/4573786918/in/photostream/El zen de los algoritmos evolutivos no depende de que sean generacionales o de estado estacionario o que usemos mutacin o seleccin de una forma determinada: se erige sobre la abstraccin y modelizacin de mecanismos naturales.
What are the ingredients for a massively parallel evolutionary algorithm?
Foto subida por Texas_mustang a Flickr en http://www.flickr.com/photos/astros/3977731447/in/photostream/
How can you use a server/backoffice that does (almost) all the work?
La imagen procede de Corea del Norte y es de gr0uch0 http://www.flickr.com/photos/groucho/6227328244/in/photostream/
Can you achieve fault-tolerance and asynchrony?
Imagen de John Steven en http://www.flickr.com/photos/53966621@N05/5038005080/in/photostream/
SofEA, an evolutionary algorithm based on CouchDBhttp://launchpad.net/sofea
Y que te puedes descargar de http://launchpad.net/sofeaEst hecho en Perl y javascript, con clientes en ambos lenguajes y programacin en el servidor en Javascript.
Introducing COUCHDB
Document-oriented store.Stores key/document pairs
Map/reduce requests using JavaScript.
API RESTful with JSON.
MapReduce is well defined in the wikipedia: http://en.wikipedia.org/wiki/MapReduce SofEA uses basically the map part of map/reduce . However, it was interesting to have the possibility of Reduce handy, just in case.
A pool based algorithm on Couchdb
Imagen de urbanartcore.eu en http://www.flickr.com/photos/streetart-berlin/3671353752/in/photostream/
10110101
10111101
10110101
10111101
10100001
00110101
10101101
00110101
10111101
10101101
10110101
10101101
00110101
10101101
10110101
10101101
10101101=5
10110101=5
10101111=6
10100101
00111101
01110101
Does it work?
http://www.youtube.com/watch?v=r7lcbHH7x6E
El video tambin est en YouTube: http://www.youtube.com/watch?v=TiKaD02MZy4&feature=youtu.beEl cdigo es libre y se puede descargar de http://launchpad.net/sofea
C'mon, seriously
Many free parametersIts influence must be measured
Keeping the balance: starvation vs conflicts.
An empirical examination of the behavior is needed.
Initial population
Mainly used as support for the talk. See paper for details.
Block size
And the number of evaluations
Partitioning attempts
Partitioning attempts
But: conflicts arise
Promising results
Empirical evaluation of the system is needed: fine-tuning of parameters needed for optimal performance.
Imagen de John Wardell en http://www.flickr.com/photos/johnwardell/78148456/in/photostream/ Los resultados se pueden ver en el trabajo publicado.
Eso es todo
Muchas gracias
http://geneura.wordpress.com