Those who know me know that evolutionary computing has fascinated me since high school, when I first come upon papers describing experiments at evolving tiny computer lifeforms that interacted and competed in order to obtain the most energy (food) as efficiently as possible.
Completely aside from the expectations of the developers of the system, evolution took these tiny organisms in directions they never expected. Rather than just directly competing, they found ways to attack each other. Some became parasites – abandoning much of their code in exchange for greater speed of execution and latching on to other organisms – using their victims code to gather the energy and then siphoning it away.
An arms race followed, with anti-parasite organisms and anti-anti-parasite organisms. I was enthralled.
Whilst at university, one of my lecturers introduced me to the work of Karl Simms, who, using similar but slightly different techniques, managed to evolve artwork on his computer. By “breeding” works of randomly generated art together, you could guide its evolution and create some truly amazing pictures that, in theory, were made by the computer rather than by you.
Many people (including seminal authors F. Kenton Musgrave and Darwyn Peachy) have taken this much further – and if you’ve been following gaming news, the upcoming “Spore” uses these techniques to create entire worlds, as well as the animation and actions of the creatures in them.
Electric sheep has taken it to the web, creating a massive shared delusion amongst our computers. They are all dreaming of electric sheep.
You can download the screensaver client from them and immediately become part of the network. ‘Sheep’, or colourful fractral screensavers, will be downloaded to your harddrive and displayed as your screensaver. At any time you have the option to vote them up or down – those with the highest votes have a better chance of being “Bred” against other screensavers to produce the next generation of sheep.
At the same time, electric sheep takes advantage of your idle processor by farming out small pieces of the new-born sheep to your computer, which then renders a frame and sends it back. As a single sheep can consist of thousands of frames – and any individual frame can take quite a long time to render – this leverages distributed computing in a very successful way.
Anyone who wants a unique screensaver experience, or is interested in genetic evolutionary computing, i’d suggest you check it out. If you’re interested in the more technical aspects, the code is all gpl’d so you can browse to your hearts content.