Transcript Lecture 3

Evolutionary Computational
Intelligence
Lecture 3:
Genetic Algorithms
Ferrante Neri
University of Jyväskylä
1
Lecture 3: Genetic Algorithms
GA Quick Overview



Developed: USA in the 1970’s
Early names: J. Holland, K. DeJong, D. Goldberg
Typically applied to:
–

Attributed features:
–
–

not too fast
good heuristic for combinatorial problems
Special Features:
–
–
2
discrete optimization
Traditionally emphasizes combining information from good
parents (crossover)
many variants, e.g., reproduction models, operators
Lecture 3: Genetic Algorithms
Genetic algorithms


Holland’s original GA is now known as the
simple genetic algorithm (SGA)
Other GAs use different:
–
–
–
–
3
Representations
Mutations
Crossovers
Selection mechanisms
Lecture 3: Genetic Algorithms
GAs in EAs
4
Representation
Binary strings
Recombination
N-point or uniform
Mutation
Bitwise bit-flipping with
fixed probability
Parent selection
Fitness-Proportionate
Survivor selection
All children replace
parents
Speciality
Emphasis on
crossover
Lecture 3: Genetic Algorithms
Representation


5
A chromosome is encoded as a binary number
Due to the inner discretization of the binary
encoding GA can turn out more efficient in
discrete optimization
Lecture 3: Genetic Algorithms
Representation in the population


Thus a population of
couple (L,b) can be
seen as a matrix of
binary numbers
Each line is a
chromosome
1 0 1 0 0 1 1 0
1 1 0 1 0 1 1 1
0 1 1 0 1 1 0 0
1 0 0 1 1 0 0 0
0 0 1 1 1 0 0 1
6
Lecture 3: Genetic Algorithms
Parent Selection Mechanisms


The individuals that are undergoing
recombination are selected by means of a
Selection Mechanism
Classical selection mechanisms are
–
–
–
7
Fitness Proportionate
Ranking
Tournament
Lecture 3: Genetic Algorithms
Fitness Proportionate Selection





8
It is the first one used in SGA
It is given a probability to be chosen to each solution
Such probability is proportionate to the fitness value taken by each
single solution
The sum of the probabilities is clearly one
A random number between 0 and 1 is sampled and in a “roulette
stile” the individual is selected
Lecture 3: Genetic Algorithms
Ranking Selection 1/2


Individuals are sorted accoding to their
fitness value and a probability is assigned
according to their position in the list (rank)
Then, the a probability is assigned to each
solution by means of:
–
–
9
Linear Ranking
Exponential Ranking
Lecture 3: Genetic Algorithms
Ranking Selection 2/2

Linear: if 1.0 < s  2.0 and μ is the total number of
ranks, the probability for the individual ranked i is

10
Exponential: if c is a normalize constant factor which
allows the sum of all the probabilities being equal to
1, the probability of the individual ranked i is
Lecture 3: Genetic Algorithms
Tournament Selection



11
Pick up a couple of solutions (at random) and
compare their fitness, the better individual is
in the mating pool
It can work also with groups of individuals
picking up a subset of them
It does not require a sorting or a knowledge
of the fitness distribution over the individuals
of the population
Lecture 3: Genetic Algorithms
Selection Pressure



12
It’s the property of the selection component
in following the promising search directions
In other words, a parent selection
mechanism which selects the best
individuals many times has a high selection
pressure
In linear ranking ruled by s
Lecture 3: Genetic Algorithms
Crossover




13
The selected parents undergo recombination
In a SGA, the recombination is the crossover
Crossover is an operator which combines
two parents in order to produce one, two or
more offspring
The analogy of biological crossover in binary
encoding is very straightforward
Lecture 3: Genetic Algorithms
1-point crossover


14
It’s the original crossover employed by
Holland
It selects a random “cut-point” and switch
head and tail of two chromosomes
Lecture 3: Genetic Algorithms
n-point crossover




15
Choose n random crossover points
Split along those points
Glue parts, alternating between parents
Generalisation of 1 point (still some positional bias)
Lecture 3: Genetic Algorithms
Uniform crossover



16
Usually it is performed by means of a randomly
generated mask
This mask says which genes must be flipped for
generating the first child
Make an inverse copy of the gene for the second child
Lecture 3: Genetic Algorithms
Mutation



It is usually applied to the newly generated
offspring before calculating its fitness value
Alter each gene independently with a probability pm
pm is called the mutation rate
–
17
Typically between 1/pop_size and 1/ chromosome_length
Lecture 3: Genetic Algorithms
Survivor Selection



19
In this course the main feature of a GA is that
the algorithm must be generational (also
called age-based)
In other words, the parents must be replaced
by the newly generated offspring
Some implementation employ elitism: a
restricted number of parents, the best, are
copied for the subsequent generation
Lecture 3: Genetic Algorithms
Generation

20
The loop made up of parent selection,
recombination (crossover) mutation, survivor
selection is called generation
Lecture 3: Genetic Algorithms
Integer representations

Some problems naturally have integer
variables, e.g. TSP, scheduling problems

Crossover and mutation are similar as in the
case of binary encoding
N-point crossover can be applied

22
12345
12321
54321
54345
Lecture 3: Genetic Algorithms
Perturbating mutation



23
It picks up a small subset of genes
Adds (subtracts) a small quantity to the
selected genes
It must be assured that this operation does
not generate a perturbed individual outside
the decision space
Lecture 3: Genetic Algorithms
Crossovers for integer representation





28
It exists a plenty of crossovers designed for
several applications
Order 1 crossover
Partially mapped crossover
Cycle crossover
Edge crossover
Lecture 3: Genetic Algorithms
Real Encoded Representation



29
The original EA with real encoding was
Evolution Strategies
Nevertheless in 80’s several real encoded
GAs were designed
Details will be shown at the next lecture…..
Lecture 3: Genetic Algorithms