* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Lecture 3
Quantitative trait locus wikipedia , lookup
Pharmacogenomics wikipedia , lookup
Dual inheritance theory wikipedia , lookup
Site-specific recombinase technology wikipedia , lookup
Medical genetics wikipedia , lookup
Genetic code wikipedia , lookup
Designer baby wikipedia , lookup
Polymorphism (biology) wikipedia , lookup
Behavioural genetics wikipedia , lookup
Koinophilia wikipedia , lookup
Group selection wikipedia , lookup
Heritability of IQ wikipedia , lookup
History of genetic engineering wikipedia , lookup
Public health genomics wikipedia , lookup
Genetic engineering wikipedia , lookup
Human genetic variation wikipedia , lookup
Genetic drift wikipedia , lookup
Genetic testing wikipedia , lookup
Gene expression programming wikipedia , lookup
Genome (book) wikipedia , lookup
Genetic engineering in science fiction wikipedia , lookup
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