Digital Darwin
An anonymous reader writes "Using genetic algorithms to breed strings of computer code graphically, this week's Nature magazine describes results from Caltech and Michigan State. Their program is Avida. While they mainly mimic mutation, not genetic cross-over [or inheritance (thus wiping away much memory of initial conditions)], their simulations show how a short-term backward step in survival strategies can generate innovative advances. It is not unlike running a maze which necessarily involves testing alot of dead-ends, and thus shares the graphical look of Conway's classic Game of Life." Here's a National Geographic story about this as well, or see their press release.
And I wish everyone could see them at work. It's really kind of breathtaking how stumbling around in the parameter space, and filtering the bad missteps, can mimic the results of engineering. I think the minor problem of the small number of noisy anti-evolutionists would become even more minor. I mean, it's kind of hard to say that an algorithm doesn't work when you can compile a few thousand lines of c and then watch it work.
Tierra was by Tom Ray, a pioneer in the AL field. It was a great idea, but failed to turn around with interesting biodiversity. You'd create creatures, they'd optimize themselves, some variants and parasites would evolve, but then things would simmer down within a few hours and you'd be in a steady state for ever.
;)
Network Tierra was Ray's response to this. It was supposed to allow a "Cambrian explosion" of biodiversity, by providing tons of (networked computer) space for the little creatures to explode into, and then specialize, in. This led to interesting migration behavior, and one of my all-time favorite web-pages, but it too failed to spark that je ne sais quois, that spark of life.
Anyways, it did spark Avida and the Digital Life Lab at Cal Tech. Avida is essentially a deeper look at the fundamentals behind AL. In Tierra, I think the design philosophy was something like "make it look a lot like a living ecological system and the life-force will appear out of the ether", and actually, Tierra was a great leap forward beyond more mundane genetic programming a la John Koza.
Avida, on the other hand, is much more systematic in exploring the parameter space (which is large and sensitive) for setting up an AL system. This turned out to be fruitful, as Adami found that only when certain, very narrow, environmental conditions were met would the little creatures start outsmarting that Creationist boogeyman, the Second Law of Thermodynamics.
Turns out that Tierra didn't have spatiality (needed to be more restrictive on who could sleep with who) and mutation rates (some power law math that's way over my head) set right.
But the real punch-line to this whole story is that the direct beneficiary of these insights in Microsoft! Hah!
Microsoft was funding Adami's work because Windoze crashed too much. They were searching for a way of programming - in this case using closed instruction sets like Avida's (another deep topic) - that would be inherently robust to problems like seg faults and illegal instructions.... e.g. Adami's instruction set was engineered so that little programs (creatures) couldn't crash the Avida VM when they mutated into new, unknown programs.. or in Windoze's case, when a coder did something stoopid. It's funny that MS was researching this, since releatively low-tech solutions such as protected memory and QA take care of this. (not to mention Java
having just successfully completed an undergraduate project in which i have used genetic algorithms to achieve full adaptive image compression, i have learnt rather a lot about these curious beasts that is seldom mentioned in modern text. the use of genetic algorithms in a computer does in no way prove or disprove any evloution/anti-evolution argument. these algorithms do not magically evolve new creatures, or new solutions. they just search the solution space in a highly parallel manner, and they surprise people because they come up with solutions they did not consider. the solution is there waiting in solution space - but you can't find it because your brain is not capapble, you don't spend enough time on it... whatever. this is not new, its not intelligent, its not the creation of a new species. think of genetic algorithms as exploiting adaptive characteristics, simple as that, i.e. skin colour changing due to intensity of sunlight. of course... there are fields of research that involve using one class of genetic algorithms to derive the schemata (structure) of another class, but the research has come up with nothing to date.
-Drew