GA
GA
By
Dr. Rajyalakshmi G
Professor
School of
Mechanical
Engineering, VIT,
What is Genetic Algorithm
Nature has always been a great source of inspiration to all mankind.
Genetic Algorithms (GAs) are search based algorithms based on the concepts of
natural selection and genetics.
GAs are a subset of a much larger branch of computation known
as
Evolutionary Computation.
GAs were developed by John Holland and his students and colleagues at the
University of Michigan, most notably David E. Goldberg and has since been
tried on various optimization problems with a high degree of success.
Genetic algorithms simulate the process of natural selection which means those species who can
adapt to changes in their environment are able to survive and reproduce and go to next
generation.
Introduction – Optimization Problem
Genetic Algorithms are good at taking large, potentially huge search spaces and
navigating them, looking for optimal combinations of things, solutions you might not
otherwise find in a lifetime.
In GAs, we have a pool or a population of possible solutions to the given problem.
Each individual (or candidate solution) is assigned a fitness value (based on its objective
function value) and the fitter individuals are given a higher chance to mate and yield more
“fitter” individuals. This is in line with the Darwinian Theory of “Survival of the Fittest”.
In this way we keep “evolving” better individuals or solutions over generations, till we reach
a stopping criterion.
Genetic Algorithms are sufficiently randomized in nature, but they perform much better than
random local search (in which we just try various random solutions, keeping track of the best so
Advantages of GAs
GAs have various advantages which have made them immensely popular. These
include −
Does not require any derivative information (which may not be available for many real-world
problems).
Is faster and more efficient as compared to the traditional methods.
Has very good parallel capabilities.
Optimizes both continuous and discrete functions and also multi-objective problems.
Provides a list of “good” solutions and not just a single solution.
Always gets an answer to the problem, which gets better over the time.
Useful when the search space is very large and there are a large number of
parameters involved.
Limitations of GAs
Like any technique, GAs also suffer from a few limitations. These include −
GAs are not suited for all problems, especially problems which are simple
and for which derivative information is available.
Fitness value is calculated repeatedly which might be
computationally expensive for some problems.
Being stochastic, there are no guarantees on the optimality or the quality of
the solution.
If not implemented properly, the GA may not converge to the
optimal solution.
GA – Motivation
Genetic Algorithms have the ability to deliver a “good-enough” solution “fast-
enough”. This makes genetic algorithms attractive for use in solving optimization
problems.
In computer science, there is a large set of problems, which are NP-Hard. What
this essentially means is that, even the most powerful computing systems
take a very long time (even years!) to solve that problem.
In such a scenario, GAs prove to be an efficient tool to provide usable near-
Phenotype − Phenotype is the population in the actual real world solution space in which
solutions are represented in a way they are represented in real world situations.
Decoding and Encoding − For simple problems, the phenotype and genotype spaces are the
same. However, in most of the cases, the phenotype and genotype spaces are different.
Decoding is a process of transforming a solution from the
genotype to the phenotype space, while encoding is a
process of transforming from the phenotype to genotype
space.
Decoding should be fast as it is carried out
repeatedly in aGAduring
thefitnessvaluecalculation.
Basic Terminology
Fitness Function − A fitness function simply
defined is a function which takes the solution as
input and produces the suitability of the
solution as the output.
Initial
Population
The process begins with a set of individuals which is
called a Population. Each individual is a solution to the
problem you want to solve.
An individual is characterized by a set of parameters
(variables) known as Genes. Genes are joined into a string
to form a Chromosome (solution).
In a genetic algorithm, the set of genes of an individual
is represented using a string, in terms of an alphabet.
Usually, binary values are used (string of 1s and 0s). We
say that we encode the genes in a chromosome.
Basic Terminology
Fitness Function
Selection
Crossover is the most significant phase in a genetic algorithm. For each pair of parents to be mated,
a crossover point is chosen at random from within the genes.
For example, consider the crossover point to be 3 as shown Single Point Crossover: A point on both
below.
parents’ chromosomes is picked randomly
Offspring are created by exchanging the and designated a ‘crossover point’. Bits to
genes of parents among themselves until the right of that point are exchanged
the crossover point is reached.
between the two parent chromosomes.
Two-Point Crossover: Two
crossover points are picked
randomly
parent from
chromosomes. the
The bits in between
the two points are swapped between the
The new offspring are added to the population. parent organisms.
Uniform Crossover: In a uniform
crossover, typically, each bit is chosen
from either parent with equal probability.
Basic Terminology
Mutation
Termination