A magazine where the digital world meets the real world.
On the web
- Home
- Browse by date
- Browse by topic
- Enter the maze
- Follow our blog
- Follow us on Twitter
- Resources for teachers
- Subscribe
In print
What is cs4fn?
- About us
- Contact us
- Partners
- Privacy and cookies
- Copyright and contributions
- Links to other fun sites
- Complete our questionnaire, give us feedback
Search:
Computer Science and Evolution

Does Darwin apply to the Machines?
Charles Darwin's Theory of Natural Selection revolutionised biology. It is based on a really simple idea that the fittest creatures survive and in doing so have more children. Those children will tend to have the same characteristics that helped their parents do well, so will do well too. Over time more and more of the population will have those features. In this way random changes that give an advantage will build up and start to look as though they are designed for a purpose.
The pressure of evolution applies to all living things and has resulted in creatures from fungi to falcons, penguins to peas being a perfect fit to survive in the environments they have found themselves in.
So what about machines? Could machines ever improve themselves through something like natural selection? Computer scientists have been playing with the idea and software certainly can evolve if we code it too. We can also use computational modelling of the process of evolution to help us understand the subtleties of how evolution works. Just as importantly it has led to a completely new way of programming computers to solve problems, copying the way evolution works on our genes.