Evolution for all purposes
If evolution can produce such complex and successful organisms as trees, bacteria, and us, how can we harness the principles of evolution to evolve solutions to difficult problems or even to evolve programs?This is the motivating question behind the field of evolutionary computation (EC). Evolutionary computation uses the principles of evolution as guidelines for creating algorithms that automatically evolve programs and solutions. Evolutionary computation has proven to be one of the most successful methods to automatically generate solutions to complex problems, particularly the problem of creating programs without relying on a human programmer. Examples of applications include the design of anteneas (currently in use on NASA sateilite), chosing investments (several major investment firms currently use evolutionary computation to help pick investments), and designing circuits (a number of patents have been awarded for evolved circuits). At the University of Idaho we have a number of research programs focused on evolutionary computation.
Here are some other evolutionary computation related sites:
The Agent Society