Artificial Intelligence Components of Genetic Algorithm

Components of a genetic algorithm

First of all welcome to our second tutorial on genetic algorithms. Let’s talk about some of the methods we will be implementing in order to build our genetic algorithm.

We will try and build it as a generically as possible to allow for us to use it in other applications going forward in other tutorials.


In our crossover method we need a way to mix two chromosomes with some form of logical method. In general crossover methods don’t have any specific rules. However require some type of ability to cause a diversity effect to keep new fit chromosome to be carried over.

Random chromosome population

We need a method which we can use to generate a random population of individuals to allow for true diversity. Also to allow us to have quite a large gene pool to work off initially.

Mutation factor

Mutation factor is quite important as we need something to constantly introduce new diverse chromosomes into our gene pool. This usually is represented as a percentage of probability of how probable it is for mutation to happen on a particular father mother pairing.

Individual selection

Initially we will need a method which can select individuals from our population randomly. Then select our fitter individuals in subsequent generations after that.

Chromosome handling

We will need a method which we can push our chromosome options into a list to allow for us to select these from a list when generating our population of individuals.

In the next tutorial

Develop some of the methods and start using them. As well as discuss some of the implementation strategy in more detail.

Additional reading

Perhaps before continuing with the next tutorial you want to do some more reading and familiarise yourself a bit more with java script classes. Stronger knowledge in java script constructs and other programming concepts will help you quite a bit in our next tutorial.


Leave a Reply

Your email address will not be published. Required fields are marked *