Genetic Algorithms is a sub-division of Evolutionary algorithms which mainly works on evolution by natural selection. They are adaptive heuristic search algorithms that are inspired by Charles Darwins theory which is based on the evolutionary ideas of natural selection and genetics. Their invention leads to mummer some of the processes observed in natural evolution. To solve the optimization problem, they represent an intelligent exploitation of a random search. GAs is mainly based on an analogy which shows the genetic structure and behavior of chromosomes within a population.
Steps involved in Genetic Algorithms:
By using a genetic algorithm, you can solve this problem by defining our population. Individuals are part of the population which is a set of initial Hypotheses which undergoes operations every generation to enhance evolved population. The size is constant and the set of chromosomes is considered as our commencing population. After knowing how to represent each individual, you can easily initialize the population by selecting the proper number of individuals.
From the vast population, we can select the chromosomes that fit and can create their off-springs. It is the process of probabilistically selecting the members out of the population. Give more preference to better individuals, allowing them to pass on their genes to the next generation. A Goodness of each individual depends on ones fitness. Subjective judgment or objective function determines the fitness. Fitness function gives the absolute difference between the individuals which need to be selected.
Other than optimization techniques crossover is a prime distinguishing factor of Genetic Algorithm. We have multiple crossover operators, that are, single point, multiple point and uniform. Using the selecting operator two individuals are chosen from the population and crossover sites are chosen randomly. This process mainly represents the mating between two individuals. Thus, genes at the crossover sites are exchanged with creating a completely new individual.
This is the idea which inserts random genes in new individuals to avoid the premature convergence and maintain diversity in the population.
This is the overview of the learning process of the Genetic Algorithm.
Advantages of Genetic Algorithm:
- Inherently parallel
- Does not require any derivative information
- More efficient and easy to understand
- Provides multiple solutions
- Optimizes both continuous and discrete functions
Limitations of Genetic Algorithm:
- If not implemented properly, the genetic Algorithm may not converge to a perfect solution.
- The Fitness value is calculated repeatedly which might be expensive for some problems.
- They are not suited for the problem which is simple
- They dont scale well with complexities
At last, Genetic Algorithms are a very effective way of finding the solution to complex problems. They do a brilliant task in searching a large and complex search space more effectively. Genetic Algorithm thrives you produce solutions to the problems you may never have even considered. A thing which can't be resolved through any other algorithm, genetic algorithm is the best solution to your problem. These steps arent complex you just need to overview and understand the steps involved in it.