Title: Evolutionary Computational Intelligence
1Evolutionary Computational Intelligence
- Lecture 3
- Genetic Algorithms
Ferrante Neri University of Jyväskylä
2GA Quick Overview
- Developed USA in the 1970s
- Early names J. Holland, K. DeJong, D. Goldberg
- Typically applied to
- discrete optimization
- Attributed features
- not too fast
- good heuristic for combinatorial problems
- Special Features
- Traditionally emphasizes combining information
from good parents (crossover) - many variants, e.g., reproduction models,
operators
3Genetic algorithms
- Hollands original GA is now known as the simple
genetic algorithm (SGA) - Other GAs use different
- Representations
- Mutations
- Crossovers
- Selection mechanisms
4GAs in EAs
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
5Representation
- 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
6Representation 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
7Parent Selection Mechanisms
- The individuals that are undergoing recombination
are selected by means of a Selection Mechanism - Classical selection mechanisms are
- Fitness Proportionate
- Ranking
- Tournament
8Fitness Proportionate Selection
- 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
9Ranking 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 - Linear Ranking
- Exponential Ranking
10Ranking Selection 2/2
- Linear if 1.0 lt s ? 2.0 and µ is the total
number of ranks, the probability for the
individual ranked i is - 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
11Tournament Selection
- 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
12Selection Pressure
- Its 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
13Crossover
- 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
141-point crossover
- Its the original crossover employed by Holland
- It selects a random cut-point and switch head
and tail of two chromosomes
15n-point crossover
- Choose n random crossover points
- Split along those points
- Glue parts, alternating between parents
- Generalisation of 1 point (still some positional
bias)
16Uniform crossover
- 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
17Mutation
- 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
- Typically between 1/pop_size and 1/
chromosome_length
18Crossover OR mutation?
- Decade long debate which one is better /
necessary / main-background - Answer (at least, rather wide agreement)
- it depends on the problem, but
- in general, it is good to have both
- both have another role
- mutation-only-EA is possible, crossover-only-EA
seems not to work
19Survivor Selection
- 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
20Generation
- The loop made up of parent selection,
recombination (crossover) mutation, survivor
selection is called generation
21Other representations
- Gray coding of integers (still binary
chromosomes) - The distance between two subsequent decimal
numbers is one bit (unlike binary coding). - Integers
- Floating point variables
22Integer 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
23Perturbating mutation
- 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
24Swap mutation
- Pick two alleles at random and swap their
positions - Preserves most of adjacency information (4 links
broken), disrupts order more
25Insert Mutation
- Pick two allele values at random
- Move the second to follow the first, shifting
the rest along to accommodate - Note that this preserves most of the order and
the adjacency information
26Inversion mutation for permutations
- Pick two alleles at random and then invert the
substring between them. - Preserves most adjacency information (only breaks
two links) but disruptive of order information
27Scramble mutation for permutations
- Pick a subset of genes at random
- Randomly rearrange the alleles in those positions
- (note subset does not have to be contiguous)
28Crossovers for integer representation
- It exists a plenty of crossovers designed for
several applications - Order 1 crossover
- Partially mapped crossover
- Cycle crossover
- Edge crossover
29Real Encoded Representation
- The original EA with real encoding was Evolution
Strategies - Nevertheless in 80s several real encoded GAs
were designed - Details will be shown at the next lecture..