On evolving software
On evolving software:
Robustness is good, but the single biggest advantage of Evolutionary Programming is the final thing it has in common with biological evolution: it can solve problems that humans are unable to solve, or come up with solutions better than any human solution. In the biological world, animals can climb stairs, avoid obstacles, catch prey, and do many other things that humans have failed to get a robot to do well. In the a-life world, there are evolved programs like the 22s in Tierra. Lockheed Martin have evolved code that works out how to maneuver spacecraft from one orientation to another. It achieves the goal within 2% of the theoretical minimum time -- which is around 10% faster than any human-written code can manage.
Pretty awesome stuff – emergent behaviour from a few simple rules, insanely compact programs evolving, algorithms smaller than the most compact human-written design.