Evolutionary Computational Intelligence Lecture 3: Genetic Algorithms Ferrante Neri University of Jyväskylä Lecture 3: Genetic Algorithms
Lecture 3: Genetic Algorithms GA Quick Overview Developed: USA in the 1970’s 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 Lecture 3: Genetic Algorithms
Lecture 3: Genetic Algorithms Holland’s original GA is now known as the simple genetic algorithm (SGA) Other GAs use different: Representations Mutations Crossovers Selection mechanisms Lecture 3: Genetic Algorithms
Lecture 3: Genetic Algorithms GAs 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 Lecture 3: Genetic Algorithms
Lecture 3: Genetic Algorithms Representation 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 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 Fitness Proportionate Ranking Tournament Lecture 3: Genetic Algorithms
Fitness 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 Lecture 3: Genetic Algorithms
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: Linear Ranking Exponential Ranking Lecture 3: Genetic Algorithms
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 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
Lecture 3: Genetic Algorithms Tournament 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 Lecture 3: Genetic Algorithms
Lecture 3: Genetic Algorithms Selection Pressure 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
Lecture 3: Genetic Algorithms Crossover 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
Lecture 3: Genetic Algorithms 1-point crossover 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
Lecture 3: Genetic Algorithms n-point crossover 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
Lecture 3: Genetic Algorithms Uniform 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 Lecture 3: Genetic Algorithms
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 Typically between 1/pop_size and 1/ chromosome_length Lecture 3: Genetic Algorithms
Lecture 3: Genetic Algorithms Crossover 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 Lecture 3: Genetic Algorithms
Lecture 3: Genetic Algorithms Survivor 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 Lecture 3: Genetic Algorithms
Lecture 3: Genetic Algorithms Generation The loop made up of parent selection, recombination (crossover) mutation, survivor selection is called generation Lecture 3: Genetic Algorithms
Other 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 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 1 2 3 4 5 5 4 3 2 1 1 2 3 2 1 5 4 3 4 5 Lecture 3: Genetic Algorithms
Perturbating 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 Lecture 3: Genetic Algorithms
Lecture 3: Genetic Algorithms Swap mutation Pick two alleles at random and swap their positions Preserves most of adjacency information (4 links broken), disrupts order more Lecture 3: Genetic Algorithms
Lecture 3: Genetic Algorithms Insert 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 Lecture 3: Genetic Algorithms
Inversion 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 Lecture 3: Genetic Algorithms
Scramble 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) Lecture 3: Genetic Algorithms
Crossovers for integer representation 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 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