Genetic Algorithm (GA)
Genetic Algorithms are the heuristic search and optimization techniques that mimic the process of natural evolution.
- A genetic algorithm is a local search technique used to find approximate solutions to Optimisation and search problems.
- It is an efficient, and effective techniques for both optimization and machine learning applications.
- It is widely-used today in business, scientific and engineering disciplines.
- Genetic algorithms are one of the evolutionary algorithms that use techniques inspired by Darwin’s theory
about evolution such that inheritance, mutation, selection, and crossover.
- This algorithm is implemented as a computer program simulation in which a population of abstract representations (called as the chromosomes) of candidate solutions (called as the individuals) to an Optimisation problem evolves toward the better solutions.
- The genetic algorithm is started with a set of solutions (represented by chromosomes) called population.
- The solutions from one population are taken and used to form a new population. Each new population is called as a generation. This is motivated by a hope, that the new population will be better than the old one.
- In each generation, the fitness of the whole population is evaluated, multiple individuals are stochastically selected from the current population (based on their fitness) and modified (mutated or recombined) to form a new population.
- This process is repeated until some condition is satisfied.
Advantages/Benefits of Genetic Algorithm
- The concept is easy to understand.
- GA search from a population of points, not a single point.
- GA use payoff (objective function) information, not derivatives.
- GA supports multi-objective optimization.
- GA use probabilistic transition rules, not deterministic rules.
- GA is good for “noisy” environments.
- GA is robust w.r.t. to local minima/maxima.
- GA is easily parallelised.
- GA can operate on various representation.
- GA is stochastic.
- GA work well on mixed discrete/continuous problem.
Disadvantages of Genetic Algorithm
- GA implementation is still an art.
- GA requires less information about the problem, but designing an objective function and getting the representation and operators right can be difficult.
- GA is computationally expensive i.e. time-consuming.