* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Genetic Algorithms - Department of Computer Science
Genetic code wikipedia , lookup
Designer baby wikipedia , lookup
Medical genetics wikipedia , lookup
Quantitative trait locus wikipedia , lookup
Pharmacogenomics wikipedia , lookup
Biology and consumer behaviour wikipedia , lookup
History of genetic engineering wikipedia , lookup
Dual inheritance theory wikipedia , lookup
Behavioural genetics wikipedia , lookup
Genetic engineering wikipedia , lookup
Group selection wikipedia , lookup
Public health genomics wikipedia , lookup
Polymorphism (biology) wikipedia , lookup
Human genetic variation wikipedia , lookup
Heritability of IQ wikipedia , lookup
Genetic testing wikipedia , lookup
Genetic drift wikipedia , lookup
Genome (book) wikipedia , lookup
Gene expression programming wikipedia , lookup
Koinophilia wikipedia , lookup
COMP305. Part II. Genetic Algorithms. Genetic Algorithms 1 Topic 2. Computational appeal of the Genetic Algorithms. Genetic Algorithms 2 Darwinian theory of Evolution (macroscopic). Species adapt to the environment via natural selection. The selection favors those species for survival and further evolution that are best adapted to the environmental condition – “survival of the fittest”. Phenotype is the manner of response and physical embodiment of an individual. There occur small, apparently random and undirected variations between the phenotypes of parents and their offspring. These mutations prevail through selection, if they prove their worth in light of the current environment; otherwise they perish. Genetic Algorithms 3 NeoDarwinism - synthetic theory of Evolution (microscopic). Genes are transfer units of heredity, and genotype is the total genetic information of an individual. Selection acts on an individual, thus an individual is a selection unit. Population is the evolving unit. It confines a common gene pool including genotypes of all individuals. Modern biochemistry and genetics explain microscopic mechanisms of heredity. Genetic Algorithms 4 Natural Evolution. What is the Fitness ? Individual fitness is measured indirectly as the individual growth rate in comparison to others. The fitness is the individual propensity to survive and reproduce in a particular environment. Thus, Natural Selection according to the individual fitness is NOT an active driving force, IS differential survival and reproduction within a population. SO, what is the fitness? I mean, can we 1. map a given genotype into the corresponding phenotype and 2. map the phenotype into the individual fitness to survive and reproduce? Not, actually… But the idea is so beautiful... Genetic Algorithms 5 Natural Evolution. Computational appeal. SO, what is the fitness? I mean, can we 1. map a given genotype into the corresponding phenotype and 2. map the phenotype into its fitness ? Question: How does Nature solve the problem? Genetic Algorithms 6 Natural Evolution. Computational appeal. SO, what is the fitness? I mean, can we 1. map a given genotype into the corresponding phenotype and 2. map the phenotype into its fitness ? … Question: How does Nature solve the problem? … Genetic Algorithms 7 Natural Evolution. Computational appeal. SO, what is the fitness? I mean, can 1. 2. we … map a given genotype into the corresponding phenotype and The Nature does it in parallel !!! map the phenotype into its fitness ? Question: How does Nature solve the problem? … Genetic Algorithms 8 Natural Evolution. Computational appeal. SO, what is the fitness? I mean, … can we 1. map a given genotype into a corresponding phenotype and 2. map the phenotype into the fitness ? The Nature does it in parallel !!! … Coming up with better fitted population: Genetic Algorithms 9 Natural Evolution. Computational appeal. 1. Parallelism. … 2. Adaptation to a changing environment. The Nature does it in parallel and comes up with better fitted population. 3. Optimisation. … Genetic Algorithms 10 Natural Evolution. Computational appeal. 1. Parallelism. … Every individual in the population is tested independently in parallel with the others, and that speeds up evolution of the population. The Nature does it in parallel and comes up with better fitted population. 2. Adaptation to a changing environment. … 3. Optimisation. Genetic Algorithms 11 Natural Evolution. Computational appeal. 1. Parallelism. … 2. Adaptation to a changing environment. The Nature does it in parallel and comes up with better fitted population. Due to the natural selection, only those individuals best fitted for the current environment do survive. The selection results in the population as a whole best adapted to the environment. … 3. Optimisation. Genetic Algorithms 12 Natural Evolution. Computational appeal. 1. 2. Parallelism. Adaptation to a changing environment. … The Nature does it in parallel and comes up with better fitted population. 3. Optimisation. Due to the natural selection, only individuals best fitted or “optimal” for the current environment do survive and reproduce. Thus, the selection also performs optimisation on an individual level. … Genetic Algorithms 13 Natural Evolution. Computational appeal. 1. Parallelism. 2. Adaptation to a changing environment. 3. Optimisation. The listed features of the natural selection are very attractive for many problems in computer science. As these parallelism, adaptation, and optimisation are achieved in nature by very simple manipulation of individual DNA sequences, it is tempting to use the algorithm for non-bio problem solving in engineering, computer science, etc. Genetic Algorithms 14 Genetic Algorithms. Historical Introduction. By 1950s, it became clear that if a solution of a computational problem might be formulated, i.e. coded, in a form of string of “characters”, then the optimal solution to the problem might be searched for using the natural selection technique among a “population”, i.e. set of candidate solutions. Genetic Algorithms 15 Genetic Algorithms. Historical Introduction. 1950s-1960s - several computer scientists independently studied evolutionary systems with the idea to use the algorithm to solve optimisation problems in engineering. 1960s – Rechenberg introduced “evolutionary strategies” as a method to optimise real-valued parameters for airfoils 1966 – Fogel, Owens, and Walsh developed “evolutionary programming”. They represented candidate solutions to a problem as a finite-state machines evolving by randomly mutating their state-transition diagrams and selecting the fittest. Genetic Algorithms 16 Genetic Algorithms. Historical Introduction. 1960s – Genetic Algorithms (GAs) were invented by John Holland of Michigan University and further developed by his students, colleagues, and himself in the 1960s and 1970s. In contrast with “evolutionary strategies” and “evolutionary programming”, Holland was not interested in finding solutions to particular problems, but rather formally studied the phenomenon of adaptation as it occurs in nature and how the algorithm might be used in the computer systems. 1975 – Holland’s book “Adaptation in Natural and Artificial Systems” presented the genetic algorithm as an abstraction of natural evolution and gave a theoretical framework for adaptation under GA. Genetic Algorithms 17 GAs by John Holland. Holland introduced a “population” of binary strings which he called “chromosomes”. The “population” evolves using kind of “natural selection” together with the genetics-inspired operators of crossover, mutation, and inversion. Bits in a “chromosome” represent genes, and each “gene” is an instance of a particular “allele”, 0 or 1. The selection operator chooses those chromosomes in the population that will be allowed to reproduce, and on average the fitter chromosomes produce more offspring than the less fit ones. Crossover exchange subparts of two chromosomes Mutation randomly changes the allele values at some locations in the chromosome. Inversion reverses the order of a contiguous section of the chromosome rearranging the genes order. Genetic Algorithms 18 Coding for Genetic Algorithms. In contrast with Nature, there is no universal code in GAs, every coding is problem dependent. The art of coding, though left beyond the scope, is very important in Genetic Algorithms, as from the very beginning the approach depends on whether or not the problem can be coded as a string of characters at all. The above implies serious restrictions on the class of problems capable of solving by GAs. Genetic Algorithms 19