## 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.