Charles Darwin famously said that it is not the strongest of the species that survives, nor the most intelligent, but it is the one that is most responsive to change. This concept lies at the heart of his theory of evolution and provides an insight into how genetics works.
A Genetic Algorithm is a computational method inspired by biology. In biological reproduction male and female cells, containing only one chromosome each, combine to make a cell containing 2 chromosomes. During this process the chromosomes cross-over and genetic material is exchanged between them. Because chromosomes themselves are comprised of genes (blocks of DNA), and each gene provides the genetic code for a specific trait (such as eye colour or height), the resulting offspring bears some characteristics of the mother and some of the father.
A genetic algorithm is an optimisation technique which uses the concepts of evolutionary natural selection to obtain optimal solutions to complex problems; indeed, a genetic algorithm is often referred to as an evolutionary algorithm.
The steps involved in the implementation of a genetic algorithm are as follows:
- Initialisation – define the population and decide how to code the solutions as chromosomes (binary strings).
- Define the Fitness Function – determine what represents ‘better’ (e.g. lower cost, or higher speed).
- Selection – select high fitness chromosomes from the population and allow them to breed (i.e. genetically cross them over to create offspring).
- Mutation – include a small element of mutation (small random changes to the chromosomes) to increase the diversity of the population.
- Assess the fitness of the new offspring and if they are more fit than some in the population then replace those individuals with the new ones.
- Repeat the above steps until a sufficiently good answer is obtained.
Genetic algorithms have many real-world applications; more common ones include:
1. Logistics – traffic or shipment routing (a type of problem often called the Travelling Salesman Problem). Let’s say that in your job as a salesman you have 20 cities to visit, located all over the country, and you wish to make this trip using the shortest possible route. There are more than two billion different possible routes that you could take between 20 cities (to be precise, there 2,432,902,008,176,640,000 different possible answers!), and there’s no way that you could calculate all these possible routes and then choose the shortest. However, a genetic algorithm can solve this problem for you.
2. Engineering Design – the design of complex components makes extensive use of computer simulation to optimise desired characteristics – such as minimum weight for a given load carrying capacity, or maximum fatigue life for a given set of stress conditions. A genetic algorithm can solve this kind of problem.
3. Robotics – machine intelligence is heavily dependent upon the use of genetic algorithms. They are used within learning robots which mimic human behaviour; such robots are already finding applications in fields as diverse as care assistants for the elderly, the control of driverless cars and the automated recognition of human faces in security screening.
Analytics is overwhelming and a very broad term, which includes quantitative and qualitative data analysis. Lots of people think that tracking a different metrics means they have solved their analytics problem. Don’t do it! You need to think about analytics differently. Analytics is about learning how to analyse information, solving problems and making sound decisions. You can improve your analytical skills by attending one of our analytics training courses. GLOMACS offers various analytic courses from basic to advanced courses, designed for delegates who wish to enhance their analytical skills in various areas.