My intention with this article is to give an intuitive and non-technical introduction to the field of evolutionary algorithms, particularly with regards to optimisation.
If I get you interested, I think you’re ready to go down the rabbit hole and simulate evolution on your own computer. If not … well, I’m sure we can still be friends.
Survival of the fittest
According to Charles Darwin, the great evolutionary biologist, the human race owes its existence to the phenomenon of survival of the fittest. And being the fittest doesn’t necessarily mean the biggest physical presence.
Once in high school, my lunchbox was targeted by swooping eagles, and I was reduced to a hapless onlooker. The eagle, though smaller in form, was fitter than me because it could take my lunch and fly away – it knew I couldn’t chase it.
As harsh as it sounds, look around you and you will see many examples of the rule of the jungle – the fitter survive while the rest gradually vanish.
The research area, now broadly referred to as Evolutionary Algorithms, simulates this behaviour on a computer to find the fittest solutions to a number of different classes of problems in science, engineering and economics.
The area in which this area is perhaps most widely used is known as “optimisation”.
Optimisation is everywhere
Your high school maths teacher probably told you the shortest way to go from point A to point B was along the straight line joining A and B. Your mum told you that you should always get the right amount of sleep.