ML - Unit1 - GA SKG
ML - Unit1 - GA SKG
By
Dr. Santosh Kumar
Professor, SCSE
History of Genetic Algorithms
• “Evolutionary Computing” was introduced in the 1960s by I. Rechenberg.
2
What Are Genetic Algorithms
(GAs)?
Genetic Algorithms are search and optimization techniques based on
Darwin’s Principle of Natural Selection.
“problems are solved by an evolutionary process resulting in a best (fittest) solution (survivor) ,
-In Other words, the solution is evolved”
1. Inheritance – Offspring acquire characteristics
2. Mutation – Change, to avoid similarity
3. Natural Selection – Variations improve survival
4. Recombination - Crossover
3
Chromosome
Genetics
All Living organisms consists of cells. In each cell there is a same set of Chromosomes.
Chromosomes are strings of DNA and consists of genes, blocks of DNA.
Each gene encodes a trait, for example color of eyes.
Reproduction
• During reproduction, recombination (or crossover) occurs first. Genes from parents combine
to form a whole new chromosome. The newly created offspring can then be mutated. The
changes are mainly caused by errors in copying genes from parents.
• The fitness of an organism is measure by success of the organism in its life (survival)
Citation:
http://ocw.mit.edu/NR/rdonlyres/Aeronautics-and-Astronautics/16-888Spring-2004/D66C4396-90C8-49BE-BF4A-4EBE39CEAE6F/0/MSDO_L11_GA.pdf
4
Principle Of Natural Selection
• “Select The Best, Discard The Rest”
5
Methodology Associated with GAs
Begin
Initialize
population
Evaluate
Solutions
T =0 (first step)
Optimum N
Solution?
Selection
Y
Mutation
6
Citation: http://cs.felk.cvut.cz/~xobitko/ga/
Nature Vs Computer - Mapping
Nature Computer
Population Set of solutions.
Individual Solution to a problem.
Fitness Quality of a solution.
Chromosome Encoding for a Solution.
Gene Part of the encoding of a solution.
Reproduction Crossover
7
Encoding
• The process of representing the solution in
the form of a string that conveys the
necessary information.
8
Encoding Methods
• Binary Encoding – Most common method of encoding. Chromosomes are
strings of 1s and 0s and each position in the chromosome represents a
particular characteristic of the problem.
Chromosome A 10110010110011100101
Chromosome B 11111110000000011111
Chromosome A 1 5 3 2 6 4 7 9 8
Chromosome B 8 5 6 7 2 3 1 4 9
9
Encoding Methods (contd.)
• Value Encoding – Used in problems where complicated values, such as
real numbers, are used and where binary encoding would not suffice.
Good for some problems, but often necessary to develop some specific
crossover and mutation techniques for these chromosomes.
10
Encoding Methods (contd.)
• Tree Encoding – This encoding is used mainly for evolving programs or
expressions, i.e. for Genetic programming.
• Tree Encoding - every chromosome is a tree of some objects, such as
values/arithmetic operators or commands in a programming language.
Citation:
http://ocw.mit.edu/NR/rdonlyres/Aeronautics-and-Astronautics/16-888Spring-2004/D66C4396-90C8-49BE-BF4A-4EBE39CEAE6F/0/MSDO_L11_GA.pdf
11
GA Operators
13
Citation: http://www.ewh.ieee.org/soc/es/May2001/14/GA.GIF
Basic GA Operators
Recombination
14
Fitness function
• quantifies the optimality of a solution (that is,
a chromosome): that particular chromosome
may be ranked against all the other
chromosomes
16
So, how to select the best?
– Roulette Selection
– Rank Selection
– Tournament Selection
17
Roulette wheel selection
Main idea: the fitter is the solution with the
most chances to be chosen
HOW IT WORKS ?
18
Example of Roulette wheel selection
No. String Fitness % Of Total
3 01000 64 5.5
Citation: : www.cs.vu.nl/~gusz/ 19
Roulette wheel selection
Chromosome1
Chromosome 2
Chromosome 3
Chromosome 4
All you have to do is spin the ball and grab the chromosome at the
point it stops
20
Crossover
Main idea: combine genetic material ( bits ) of
2 “parent” chromosomes ( solutions ) and
produce a new “child” possessing
characteristics of both “parents”.
How it works ?
Several methods ….
21
Crossover methods
• Single Point Crossover- A random point is chosen on the individual chromosomes (strings) and the genetic material is exchanged at this point.
Citation: http://www.ewh.ieee.org/soc/es/May2001/14/CROSS0.GIF
22
Crossover methods
• Two-Point Crossover- Two random points are
chosen on the individual chromosomes (strings) and
the genetic material is exchanged at these points.
23
Crossover methods
• Uniform Crossover- Each gene (bit) is selected
randomly from one of the corresponding genes of
the parent chromosomes.
24
Crossover (contd.)
• Crossover between 2 good solutions MAY NOT
ALWAYS yield a better or as good a solution.
25
Elitism
Main idea: copy the best chromosomes
(solutions) to new population before applying
crossover and mutation
26
Mutation
Main idea: random inversion of bits in
solution to maintain diversity in
population set
29
What is GA
• A genetic algorithm (or GA) is a search technique
used in computing to find true or approximate
solutions to optimization and search problems.
• Genetic algorithms are categorized as global
search heuristics.
• Genetic algorithms are a particular class of
evolutionary algorithms that use techniques
inspired by evolutionary biology such as
inheritance, mutation, selection, and crossover
(also called recombination).
What is GA
• Genetic algorithms are implemented as a computer simulation
in which a population of abstract representations (called
chromosomes or the genotype or the genome) of candidate
solutions (called individuals, creatures, or phenotypes) to an
optimization problem evolves toward better solutions.
9-32
Role of GAs in Global Problems
• GA largely motivated for global search/optimization problems
– Global problem generally very difficult
– GAs (and related) have long history of success in global
problems
– Some global problems essentially impossible to solve
• Much solid research and applications with GAs
• Unfortunately, more misrepresentations, dubious claims, and
“hype” than other methods. For example, GA software ads:
– “…can handle the most complex problems, including
problems unsolvable by any other method.”
– “…uses GAs to solve any optimization problem!”
• No clear indication of problem class(es) for which GAs are
superior to other methods
9-33
What is GA
• The evolution usually starts from a population of
randomly generated individuals and happens in
generations.
• Phenotype:
– Physical characteristic of the genotype
(smart, beautiful, healthy, etc.)
Genotype and Phenotype
GA Requirements
• A typical genetic algorithm requires two things to be
defined:
• a genetic representation of the solution domain, and
• a fitness function to evaluate the solution domain.
9-47
General Algorithm for GA
• Selection
• During each successive generation, a proportion of the
existing population is selected to breed a new
generation.
• Individual solutions are selected through a fitness-based
process, where fitter solutions (as measured by a fitness
function) are typically more likely to be selected.
• Certain selection methods rate the fitness of each
solution and preferentially select the best solutions.
Other methods rate only a random sample of the
population, as this process may be very time-consuming.
• Most functions are stochastic and designed so that a
small proportion of less fit solutions are selected. This
helps keep the diversity of the population large,
preventing premature convergence on poor solutions.
Popular and well-studied selection methods include
roulette wheel selection and tournament selection.
Crossover
• Crossover provides means of “mixing” two parents (from
selection step) to provide two offspring
• For given parents, crossover occurs with specified
probability 1
– Else, parents placed directly into next generation (clones)
• Examples of crossover operator:
A. One-point crossover
B. Two-point crossover
9-49
Mutation
• Mutation operator introduces spontaneous variability (as in random search algorithms)
• Mutation generally makes only small changes to solution
• Bit-based coding and real (floating point) coding require different type of mutation
– Bit-based mutation generally involves “flipping” bit(s)
– Real-based mutation often involves adding small (Monte Carlo) random vector to
chromosomes
• Example below shows mutation on one element in chromosome in bit-based coding:
9-50
General Algorithm for GA
• In roulette wheel selection, individuals are
given a probability of being selected that is
directly proportionate to their fitness.
CityList1 (3 5 7 2 1 6 4 8)
CityList2 (2 5 7 6 8 1 3 4)
Crossover
Crossover combines inversion and
recombination:
* *
Parent1 (3 5 7 2 1 6 4 8)
Parent2 (2 5 7 6 8 1 3 4)
Child (5 8 7 2 1 6 3 4)
* *
Before: (5 8 7 2 1 6 3 4)
After: (5 8 6 2 1 7 3 4)
TSP Example: 30 Cities
120
100
80
y 60
40
20
0
0 10 20 30 40 50 60 70 80 90 100
x
Solution i (Distance = 941)
TSP30 (Performance = 941)
120
100
80
y 60
40
20
0
0 10 20 30 40 50 60 70 80 90 100
x
Solution j(Distance = 800)
44
62 TSP30 (Performance = 800)
69
67 120
78
64 100
62
54
80
42
50
40 y 60
40
38 40
21
35
67 20
60
60 0
40 0 10 20 30 40 50 60 70 80 90 100
42 x
50
99
Solution k(Distance = 652)
TSP30 (Performance = 652)
120
100
80
y 60
40
20
0
0 10 20 30 40 50 60 70 80 90 100
x
Best Solution (Distance = 420)
42
38 TSP30 Solution (Performance = 420)
35
120
26
21
35 100
32
7
80
38
46
44 y 60
58
60 40
69
76
20
78
71
69 0
67 0 10 20 30 40 50 60 70 80 90 100
62 x
84
94
Overview of Performance
TSP30 - Overview of Performance
1800
1600
1400
1200
e
c 1000
n
a
t
s
i 800
D
600
400
200
0 Best
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31
Worst
Generations (1000)
Average
Example
• f(x) = {MAX(x2): 0 <= x <= 32 }
• Encode Solution: Just use 5 bits (1 or 0).
• Generate initial population.
A 0 1 1 0 1
B 1 1 0 0 0
C 0 1 0 0 0
D 1 0 0 1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
Checkboard example Cont’d
– Chromosomes represent the way the checkboard is
colored.
– Chromosomes are not represented by bitstrings but by
bitmatrices
– The bits in the bitmatrix can have one of the four values 0,
1, 2 or 3, depending on the color.
– Crossing-over involves matrix manipulation instead of
point wise operating.
– Crossing-over can be combining the parential matrices in
a horizontal, vertical, triangular or square way.
– Mutation remains bitwise changing bits in either one of
the other numbers.
Checkboard example Cont’d
• This problem can be seen as a graph with n
nodes and (n-1) edges, so the fitness
f(x) is defined as:
f(x) = 2 · (n-1) ·n
Checkboard example Cont’d
• Fitnesscurves for different cross-over rules:
Lower-Triangular Crossing Over Square Crossing Over
180 180
170 170
160 160
Fitness
150 150
140 140
130 130
0 100 200 300 400 500 0 200 400 600 800
170 170
160 160
Fitness
150 150
140 140
130 130
0 200 400 600 800 0 500 1000 1500
Generations Generations
THANK YOU