Complex adaptive systems are all those special cases when you put a bunch of simple elements together and they interact and adapt and learn and work as a whole. Social insects, the free market, evolution, all the single cells in your brain that create a single consciousness; they’re all complex adaptive systems. Scientists are starting to realize the importance of these systems, and how understanding them can give us insights into all sorts of seemingly unrelated things.
It can help us understand human phenomenon like traffic congestion and the stock market, all sorts of social issues, biological issues, everything really. It has practical applications too. Scientists can use genetic algorithms to help find solutions to complex problems. Basically like evolving a solution. And that’s just what this guy did, he put together a simple flash program with an evolving car. Check out the program and a description here:
If you want to evolve the most efficient car, you program the computer to run a random wheeled object through some type of course, and every time it fails, you change some parameters on the car. If the car performs better, that was a change in the right direction, if it performs worse, it was a change in the wrong direction. The computer keeps track of those things, and over time it works out the most efficient car based on the programming.
The guy who wrote this program is named Matthew, and he said, “This is a GA (genetic algorithm) I wrote to design a little car for a specific terrain. It runs in real-time in Flash. The fitness function is the distance traveled before the red circles hit the ground, or time runs out. The degrees of freedom are the size and initial positions of the four circles, and length, spring constant and damping of the eight springs. The graph shows the ‘mean’ and ‘best’ fitness.”
Pretty cool, eh?