Adventures of a multidimensional freak

This is Juan Julián Merelo Guervós English-language blog. He teaches computer science at the University of Granada, in southern Spain. Come back here to read about politics, technology, with a new twist

Next week the deadline for the first (and hopefully not last) edition of the International Workshop on Distributed Evolutionary Computation on Informal Environments will arrive, and maybe we need a bit of explanation on what we consider informal or unconventional. And we will do it by way of a negative definition. What is not informal?
Well, mostly everything published in journal or conferences. Most algorithms take place in static, single node environments using a conventional procedural language by performing a sequence of steps; even parallel evolutionary computation mostly follows a conventional master-slave or island model, with each island performing a conventional (as above) evolutionary algorithm and advancing in lockstep, with all nodes being of exactly the same capabilities.
That is all good and well, and allows everybody to focus on the improvement of the algorithm such as it is, if you have got a good gamer computer or server and a cluster to perform the experiments. This is what would be called conventional.
However, it all looks very sixties; programming has changed incredibly and new languages, and even language paradigms, are being created every single day. Even old tried and true techniques such as databases, threads, map-reduce, AJAX, many techniques that are used everyday in applications haven't trickled down to changing the paradigm of evolutionary computation; these techniques are, besides, in cases much more biologically inspired than the single-thread, single-node that is the mainstream.
And all this is interesting for several reasons. First one, the scientific one: there is science in creating an evolutionary algorithm that goes with the grain of the implementation (hardware, language, operating system, everything). An evolutionary algorithm in Go (the language, not the game) is different in many subtle ways from other languages, the same as it might be in Erlang or in D.
And the second is performance; to take advantage of the full range of capabilities of a particular environment (language + OS + hardware) sometimes concessions must be made to these changes. Threads are needed to fully use modern CPUs; P2P networks are the most adequate for current dynamic networks, and Javascript might be the best option for programming a distributed evolutionary algorithm that will run on browser.
If you do that kind of thing, please consider sending a paper to IWDECIE. It will be a small workshop, single day, tightly scheduled, and we'll be able to discuss the issues related to this kind of thing. And in New Orleans, together with the Congress on Evolutionary Computation.

I actually like what you’ve acquired here, really like what you’re stating and the way in which you say it. You make it enjoyable and you still take care of to keep it sensible. I can not wait to read far more from you. source