ABSTRACT

In this chapter we are going to start by treating evolution the same way that we treated neuroscience earlier in the book-by cherry-picking a few useful concepts, and then filling in the gaps with computer science in order to make an effective learning method. To see why this might be interesting, you need to view evolution as a search problem. We don’t generally think of it in this way, but animals are competing with each other in all kinds of ways-for example, eating each other-which encourages them to try to find camouflage colours, become toxic to certain predators, etc. Evolution works on a population through an imaginary fitness landscape,

which has an implicit bias towards animals that are ‘fitter,’ i.e., those animals that live long enough to reproduce, are more attractive, and so get more mates, and generate more and healthier offspring. You can find out more from hundreds of books, such as Charles Darwin’s “The Origin of Species” (the original book on the topic, still in print and very interesting) and Richard Dawkin’s “The Blind Watchmaker.” The genetic algorithm models the genetic process that gives rise to evolu-

tion. In particular, it models sexual reproduction, where both parents give some genetic information to their offspring. As is sketched in Figure 12.1, in biological organisms, each parent passes on one chromosome out of their two, and so there is a 50% chance of any gene making it into the offspring. Of the two versions of each gene (one from each parent) one allele (variation) is selected. Hence, children have similarities with their parents, and there is lots of genetic inheritance. However, there are also random mutations, caused by copying errors when the chromosome material is reproduced, which mean that some things do change over time. Real genetics is obviously a lot more complicated than this, but we are taking only the things that we want for our model. The genetic algorithm shows many of the things that are best and worst

about machine learning: it is often, but not always, very effective, it has an array of parameters that are crucial, but hard to set, and it is impossible to guarantee that it will find a result that is any good at all. Having said all that, it often works very well, and it has become a very popular algorithm for people to use when they have no idea of any other way to find a reasonable solution. In the terms that we saw at the end of the previous chapter, genetic al-

FIGURE 12.1: Each adult in the mating pair passes one of their two chromosomes to their offspring.