There's an article up on MSDN on Genetic Algorithms. Genetic Algorithm is a search algorithm based on the mechanics of natural selection and natural genetics.
In the article, the author demonstrates how he goes about to breed the ant that will gather the maximum amount of food in the minimum number of steps walking a grid that has a weaving trail of food on it. The author demonstrates the implementation of Genetic Algorithms on .NET. He develops a UI that displays the problem grid and allows the user to control the execution. The UI can be used to study the successive generations of ants. Any ant from any generation can be selected for study. Its generated C# code can be viewed, and the trail that it walked can be displayed on the grid.
The article brought back memories of reading Michael Chrichton's Prey. One of the most interesting books I've read so far! I don't know if the fact that in the book, a Software Engineer saves the world, has got anything to do with that :-)
In the book Genetic Algorithms introduced to a community of nano-robots, with the intention of making them smart enough with each successive generation, to be able to withstand the force of the wind to stay together as a cloud of dust, turns against the scientists. The robots become smarter than they were initially expected to be. They attack living organisms because they carry bacteria along with them, which function as nano-assemblers to produce more nano-robots, and the bacteria need to feed. It was a very exciting book to read!
Leave me a comment if you know of a similar book where a Software Engineer saves the world ! ;-) I'll most probably enjoy reading it!