Rabbit Plagues, Genetic Algorithms

Image for post
Image for post

The core idea of genetic algorithms is the comparison, combination and induced variation of multiple individual solutions to a given problem.

The steps: population, fitness function, selection, crossover & mutation, ending in eventual convergence and termination. We begin with a population of individuals.

Modeling Historical Bunny-Related Issues

In 1859, Thomas Austin brought 24 European rabbits from England to Australia, and released them into the bush to create a population for hunting. 70 years later, there were 10 billion rabbits in Australia.


In context: It’s the 1950s, and the Aussies have tried everything to contain the furry menace, including a 2,000 mile long rabbit-proof fence (it wasn’t rabbit-proof). They’re really fed up with rabbits. They’ve been getting into the Vegemite and reducing native biodiversity everywhere they go.


The equilibrium-punctuating introduction of myxoma in the outback serves as our fitness function, a method that scores each individual as a potential solution for the problem. Real solutions are as complex as you need them to be, but for simplicity, we’ll model the solution as ‘complete resistance to myxomatosis’ = a string of five 1s.


Next, we select the fittest individuals using the fitness scores. The chromosomes with the most 1s are chosen to reproduce; the rabbits with the most resistance survive while their multitudinous comrades lay dead in the unforgiving Australian bush.


Image for post
Image for post


In some of the new offspring, some genes are subjected to mutation; some bits are flipped at random. This ensures the population has enough diversity to reach the solution without getting ’stuck’ at a performance plateau.


When the population doesn’t produce offspring different enough from the previous generation, it’s essentially reached the best solution it can for the given parameters. This occurs when the population’s change ‘levels out’.

Image for post
Image for post
Image for post
Image for post


Genetic models have a lot of room to tweak parameters. Of a population of 10, elitism is the rate of selection (20% = 2 parents). A crossover rate tells us the number of spliced children (20% = one pair). Mutation rate determines the number of mutant children, and bit flip rates (usually low) determine intensity of mutation.


There are difficulties, however, in implementing them. Fitness functions are difficult to program correctly due to the potential variation in parameters. Heavier loads, especially in parallel ‘island’ models, take a long time to run. They’re non-deterministic, and may arrive at different solutions for the same input and parameters. Overall performance is highly sensitive to the initial population and fine-tuning parameters, and it’s difficult to prove or guarantee optimality. Like evolution, genetic algorithms give the best solution for a specific environment — the winning species might not be the true ‘best’, but merely better than the competitors.

There is No End to Rabbits

In Australia, the myxoma-carrying insects couldn’t survive well in the drier climates of the inner continent, so the deeper bush was still plagued by bunnies. In 1995, Australia released flies carrying Rabbit Hemorrhagic Disease that permeate into arid areas, initially reducing populations by 90%. However, the cooler, humid coastal regions are less favorable for the carrier flies, and resistance has since began to develop; fast breeding means fast mutation and adaptation.

Image for post
Image for post

Written by

data scientist, machine learning engineer. passionate about ecology, biotech and AI. https://www.linkedin.com/in/mark-s-cleverley/

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store