Evolutionary Computational Intelligence Lecture 3 Genetic Algorithms Ferrante























- Slides: 23
Evolutionary Computational Intelligence Lecture 3: Genetic Algorithms Ferrante Neri University of Jyväskylä 1 Lecture 3: Genetic Algorithms
GA Quick Overview l l l Developed: USA in the 1970’s Early names: J. Holland, K. De. Jong, D. Goldberg Typically applied to: – l Attributed features: – – l 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 l l 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 l l 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 l l Thus a population of couple (L, b) can be seen as a matrix of binary numbers Each line is a chromosome 1 0 0 1 1 1 0 1 1 0 0 0 1 1 1 0 0 1 6 Lecture 3: Genetic Algorithms
Parent Selection Mechanisms l l 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 l l l 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 l l 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 l Linear: if 1. 0 < s 2. 0 and μ is the total number of ranks, the probability for the individual ranked i is l 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 l l l 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 l l l 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 l l 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 l l 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 l l 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 l l l 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 l l l 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 l l l 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 l 20 The loop made up of parent selection, recombination (crossover) mutation, survivor selection is called generation Lecture 3: Genetic Algorithms
Integer representations l Some problems naturally have integer variables, e. g. TSP, scheduling problems l Crossover and mutation are similar as in the case of binary encoding N-point crossover can be applied l 22 12345 12321 54345 Lecture 3: Genetic Algorithms
Perturbating mutation l l l 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 l l l 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 l l l 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