Genetic Algorithms are search algorithms that are based on Darwin’s Theory of Evolution. This algorithm is an artificial intelligence technique inspired by the idea that the one that survives is the one that is best adapted to the environment. This, thereby, underlies the theory of evolution formulated by Charles Darwin and that combines that idea of evolution with genetics.
Must Read – What is Artificial Intelligence?
Genetic Algorithms lead to a population of individuals, or a set of possible solutions to the problem, subjecting it to random actions similar to biological evolution such as genetic mutations and recombination. These algorithms also help to make the selection according to the defined criterion, based on which it is decided which are the most adapted individuals, who survive, and which are the least fit, who are discarded.
You may also be interested in exploring:
|Popular Data Science Basics Online Courses & Certifications||Popular Machine Learning Online Courses & Certifications|
|Popular Statistics for Data Science Online Courses & Certifications||Popular Deep Learning Online Courses & Certifications|
Structure of a Genetic Algorithm
In order to explain the structure of genetic algorithms, you would need to understand some other useful terms –
Individual – Individuals of a population are the possible solutions to the problem we are dealing with.
Population – Set of individuals
Coding scheme – A possible solution to the represented problem.
Coming to the structure of a genetic algorithm. Let’s understand the structure of a genetic algorithm through the below flowchart –
Fitness Function – Fitness function forms the base of a genetic algorithm. It evaluates individuals and determines the fitness of an individual based on the criteria the algorithm is optimizing for. It further assigns them a score based on how good solutions they are to the problem.
Evaluation function – The individuals of the population with fitness function are evaluated. The evaluation function assigns a numerical adaptation value to the individuals and that is supposed to be proportional to the utility or ability of the individual represented. The evaluation function indicates whether an individual is capable of solving the problem posed.
An initial population of individuals is generated, usually randomly.
Selection phase – The best individuals are selected.
Reproduction phase – The selected individuals are crossed by means of the crossing function, giving rise to a new generation that will replace the previous one.
Crossover Function – Crossover functions generate two ‘descendants’ from the combination of genes from their ‘parents’. This feature is specially designed for the problem at hand and generally ensures that children are better solutions than their parents are.
Mutation Phase – Mutations are introduced into certain individuals in the new population at random. Mutation allows the introduction of the new chromosomal material into the population, just like what happens in their biological equivalents.
Three basic operators: reproduction, crossing, and mutation
Explore ML courses
Parameters that control the performance of the genetic algorithm: the probability of crossing, probability of mutation, population size, number of generations, etc.
We have a new generation, usually with better solutions than the previous one.
In practice, the most common encoding of solutions is through binary strings, although real numbers and letters or characters have also been used to represent chromosomes. The first of these schemes has been very popular because it is easy to implement. Simple bit operations allow crossover, mutation, and other operations. Although a great deal of research has been done on variable-length strings and other structures, most genetic algorithms have focused on fixed-length strings.
Genetic algorithms end either when they reach a specific number of generations or when they fulfill a stop condition.
Explore the most popular data structure and algorithms courses
Applications of Genetic Algorithms
There are a large number of problems that can be solved by genetic algorithms, take a look –
Route optimization – Used in optimizing the routes. It allows you to find the shortest or fastest route between cities or areas in a very short time. It is also very useful in Smart cities, to try to reduce CO2 emissions.
Task optimization -When it comes to getting things done in the shortest time possible, optimizing them is critical. With genetic algorithms, the calculation is also fast and efficient.
Automated management of industrial equipment – It is possible to make a calculation in real-time to optimize an automated process of industrial equipment.
Learning human-guided robot behavior – Robot learning is possible with respect to a cost function. With these algorithms, learning is done faster and more efficiently.
Financial systems – An interesting application in finance is that these algorithms allow discovering investment rules that indicate when to enter and exit a market to obtain the maximum benefits. On the other hand, in Split wise methods, the method of sharing expenses between different users can be optimized.
Finding Errors in Programs – It allows you to detect errors in the programs of the developers, which helps to save time and money in their implementation.
We can say that genetic algorithms have proved to be very useful tools to give fast results in search and optimization problems. Although finding the exact solution to the problem is not always guaranteed, but the approximation is good enough.
If you have recently completed a professional course/certification, click here to submit a review.
Download this article as PDF to read offlineDownload as PDF