What is an Evolutionary Algorithm? Chapter 2. A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick.

Slides:



Advertisements
Similar presentations
Genetic Algorithms Chapter 3. A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Algorithms GA Quick Overview Developed: USA in.
Advertisements

Population-based metaheuristics Nature-inspired Initialize a population A new population of solutions is generated Integrate the new population into the.
What is an Evolutionary Algorithm?
What is an Evolutionary Algorithm?
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Evolutionary Computation (EC)
Parameter control Chapter 8. A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Parameter Control in EAs 2 Motivation 1 An EA has many.
Parameter Control A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Chapter 8.
Genetic Algorithms Representation of Candidate Solutions GAs on primarily two types of representations: –Binary-Coded –Real-Coded Binary-Coded GAs must.
EvoNet Flying Circus Introduction to Evolutionary Computation Brought to you by (insert your name) The EvoNet Training Committee The EvoNet Flying Circus.
Non-Linear Problems General approach. Non-linear Optimization Many objective functions, tend to be non-linear. Design problems for which the objective.
Genetic Algorithms Chapter 3.
1 Lecture 8: Genetic Algorithms Contents : Miming nature The steps of the algorithm –Coosing parents –Reproduction –Mutation Deeper in GA –Stochastic Universal.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
Evolutionary Computational Intelligence Lecture 8: Memetic Algorithms Ferrante Neri University of Jyväskylä.
Evolutionary Computational Intelligence
CS 447 Advanced Topics in Artificial Intelligence Fall 2002.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2004.
Evolutionary Computation 22c: 145, Chapter 9. What is Evolutionary Computation? A technique borrowed from the theory of biological evolution that is used.
Genetic Algorithms Overview Genetic Algorithms: a gentle introduction –What are GAs –How do they work/ Why? –Critical issues Use in Data Mining –GAs.
Genetic Programming Chapter 6. A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Genetic Programming GP quick overview Developed: USA.
Prepared by Barış GÖKÇE 1.  Search Methods  Evolutionary Algorithms (EA)  Characteristics of EAs  Genetic Programming (GP)  Evolutionary Programming.
Evolutionary algorithms
Genetic Algorithm.
Evolutionary Intelligence
Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts
Introduction to Evolutionary Algorithms Lecture 1 Jim Smith University of the West of England, UK May/June 2012.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Genetic Algorithms Michael J. Watts
Boltzmann Machine (BM) (§6.4) Hopfield model + hidden nodes + simulated annealing BM Architecture –a set of visible nodes: nodes can be accessed from outside.
Artificial Intelligence Chapter 4. Machine Evolution Biointelligence Lab School of Computer Sci. & Eng. Seoul National University.
A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick EP---January 31, 2012 Please read specification.
Genetic Algorithms 虞台文. Content Evolutional Algorithms Genetic Algorithms Main Components of Genetic Algorithms – Encoding – Fitness Function – Recombination.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Genetic Algorithms Genetic Algorithms – What are they? And how they are inspired from evolution. Operators and Definitions in Genetic Algorithms paradigm.
GENETIC ALGORITHM A biologically inspired model of intelligence and the principles of biological evolution are applied to find solutions to difficult problems.
2005MEE Software Engineering Lecture 11 – Optimisation Techniques.
1 Genetic Algorithms K.Ganesh Introduction GAs and Simulated Annealing The Biology of Genetics The Logic of Genetic Programmes Demo Summary.
Evolutionary Programming
Evolutionary Computing Dialects Presented by A.E. Eiben Free University Amsterdam with thanks to the EvoNet Training Committee and its “Flying Circus”
Genetic Algorithms. 2 Overview Introduction To Genetic Algorithms (GAs) GA Operators and Parameters Genetic Algorithms To Solve The Traveling Salesman.
Evolution strategies Chapter 4. A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Evolution Strategies ES quick overview Developed: Germany.
Probabilistic Algorithms Evolutionary Algorithms Simulated Annealing.
Chapter 12 FUSION OF FUZZY SYSTEM AND GENETIC ALGORITHMS Chi-Yuan Yeh.
Genetic Programming A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Chapter 6.
Evolutionary Computing Chapter 3. / 41 Recap of EC metaphor (1/2) A population of individuals exists in an environment with limited resources Competition.
GENETIC ALGORITHM Basic Algorithm begin set time t = 0;
D Nagesh Kumar, IIScOptimization Methods: M8L5 1 Advanced Topics in Optimization Evolutionary Algorithms for Optimization and Search.
Genetic Algorithms MITM613 (Intelligent Systems).
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
Introduction to Evolutionary Computing II A.E. Eiben Free University Amsterdam with thanks to the EvoNet Training Committee.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
Overview Last two weeks we looked at evolutionary algorithms.
Chapter 2 1 What is an EA A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing.
Genetic Algorithms. Solution Search in Problem Space.
EVOLUTIONARY SYSTEMS AND GENETIC ALGORITHMS NAME: AKSHITKUMAR PATEL STUDENT ID: GRAD POSITION PAPER.
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
Genetic Algorithms Author: A.E. Eiben and J.E. Smith
Genetic Algorithm in TDR System
Genetic Algorithms.
Introduction to Evolutionary Computing
Evolutionary Algorithms Jim Whitehead
Artificial Intelligence Chapter 4. Machine Evolution
Genetic Algorithms Chapter 3.
Genetic Algorithm Soft Computing: use of inexact t solution to compute hard task problems. Soft computing tolerant of imprecision, uncertainty, partial.
Population Based Metaheuristics
Presentation transcript:

What is an Evolutionary Algorithm? Chapter 2

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick Contents Recap of Evolutionary Metaphor Basic scheme of an EA Basic Components: – Representation / Evaluation / Population / Parent Selection / Recombination / Mutation / Survivor Selection / Termination An example Typical behaviours of EA’s EC in context of global optimization

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick Recap of EC metaphor A population of individuals exists in an environment with limited resources Competition for those resources causes selection of those fitter individuals that are better adapted to the environment These individuals act as seeds for the generation of new individuals through recombination and mutation The new individuals have their fitness evaluated and compete for survival. Over time Natural selection causes a rise in the fitness of the population

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick Recap 2: EAs fall into the category of “generate and test” algorithms They are stochastic, population-based algorithms Variation operators (recombination and mutation) create the necessary diversity and thereby facilitate novelty Selection reduces diversity and acts as a force pushing quality

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick General Scheme of EA’s

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick Pseudo-code for typical EA

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick What are the different types of EA’s? Historically different flavours of EAs have been associated with different representations – Binary strings : Genetic Algorithms – Real-valued vectors : Evolution Strategies

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick What are the different types of EA’s? – Finite state Machines: Evolutionary Programming – Trees: Genetic Programming

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick What are the different types of EA’s? – Solutions are sets of objects: e.g. {r1, r3,r4}, {r2,r4} --- no name! – Use problem specific chromosomal representation and mutation, crossover,… operators incorporating domain specific knowledge

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick What EA Approach Should we Use? choose representation to suit problem choose variation operators to suit representation selection operators only use fitness function and thus are independent of representation

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick The Wheel

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick General Scheme of an EA Representations Fitness Function Population Parent Selection Mechanism Mutation Recombination Survivor Selection Initialization / Termination

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick Representations Candidate solutions (individuals) exist in phenotype space They are encoded in chromosomes, which exist in genotype space – Encoding : phenotype=> genotype (not necessarily one to one) – Decoding : genotype=> phenotype (must be one to one) Chromosomes contain genes, which are in (usually fixed) positions called loci (sing. locus) and have a value (allele) In order to find the global optimum, every feasible solution must be represented in genotype space

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick Representations: Reinventing the wheel Each genotype encodes 60 floating-point values in [0.1, 2.0] (corresponding to length of each radii). Genotype: G i = {g 1,..,g n }; n=60, g=[0.1, 2.0] Direct mapping ( No special encoding / decoding needed ) Phenotype:

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick Fitness Function Represents the requirements that the population should adapt to a.k.a. quality function or objective function Assigns a single real-valued fitness to each phenotype which forms the basis for selection – So the more diversity (different values) the better Typically we talk about fitness being maximised – Some problems may be best posed as minimisation problems, but conversion is trivial

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick Fitness of a Wheel Fitness function given as (W : Set of widths, calculated as the set of heights of the bounding boxes at 100 orientations): Intuitively, e represents the amount of ‘bumpiness’ experienced by an object when rolled π radians over a flat surface. Goal of EA is to minimize e.

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick Population Holds (representations of) possible solutions Usually has a fixed size and is a set of genotypes Some sophisticated EAs also assert a spatial structure on the population e.g., a grid. Selection operators usually take whole population into account i.e., parent selection mechanisms are relative to current generation Diversity of a population refers to the relative differences between fitness's / phenotypes / genotypes present (note: not the same thing)

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick A Population of Possible Wheels G 1 = {g 1,.., g 60 },. G 400 = {g 1,.., g 60 };  Genotypes Phenotypes

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick Parent Selection Mechanism Assigns variable probabilities of individuals acting as parents depending on their fitness's Usually probabilistic – high quality solutions more likely to become parents than low quality – but not guaranteed – worst in current population usually has non-zero probability of becoming a parent This stochastic nature can aid escape from local optima

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick Survivor Selection a.k.a. replacement Most EAs use fixed population size so need a way of going from (parents + offspring) to next generation Often deterministic – Fitness based : e.g., rank parents+offspring and take best – Age based: make as many offspring as parents and delete all parents Sometimes do combination (elitism)

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick Parents and Survivors of a Wheel Parent Selection: Of the 400 genotypes in population, the best 20% of genotypes (those with the lowest e) become parents for next generation with 1.0 degree of probability. Survivor Selection: Previous generation (parents) replaced completely. i.e. Parents (80 genotypes) sorted into 40 pairs, where each pair produces (with variation operators): 10 child genotypes.

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick Variation Operators Role is to generate new candidate solutions Usually divided into two types according to their arity (number of inputs): – Arity 1 : mutation operators – Arity ≥ 2 : Recombination operators (e.g. Arity = 2 typically called crossover ) There has been much debate about relative importance of recombination and mutation – Nowadays most EAs use both – Choice of particular variation operators depends upon genotype representation used.

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick Mutation Acts on one genotype and delivers another Element of randomness is essential and differentiates it from other unary heuristic operators Nature of the mutation operator depends upon the genotype representation – for example: - Binary GA’s : mutation works by flipping one or several bits with a given (small) probability. - Most ES people tend to like mutation a lot - GP : rarely used Useful for aiding EA in escape of local optima

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick Recombination Merges information from parents into offspring Choice of what information to merge is stochastic Most offspring may be worse, or the same as the parents Hope is that some are better by combining elements of genotypes that lead to good traits Principle has been used for millennia by breeders of plants and livestock

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick Mutation and Crossover of a Wheel Mutation: Increase a gene value by e α with probability 0.5, and decrease by e α otherwise, where α = random value selected uniformly from [0, 10]. Assuming: e = 0.1; α = 2; Mutation = +/ Gi = {g 0,.., 0.1, 0.3, 0.4}  {g 0,.., 0.1, 0.3, 0.39} Crossover: One-point crossover Gi = {g 0,.., 0.1, 0.3, 0.39} G i+1 = {g 0,.., 0.1, 0.8, 0.39} G k+1 = {g 0,.., 1.0, 0.3, 0.6} Gk = {g 0,.., 1.0, 0.8, 0.6}

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick Initialization / Termination Initialization usually done at random, – Need to ensure even spread and mixture of possible allele values – Can include existing solutions, or use problem-specific heuristics, to “seed” the population Termination condition checked every generation – Reaching some (known/hoped for) fitness – Reaching some maximum allowed number of generations – Reaching some minimum level of diversity – Reaching some specified number of generations without fitness improvement

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick The Evolved Wheel A population was evolved for: 200 generations. Top-left: Best solution from the initial population; Bottom-right: Best solution in the final population; Cart with Reuleaux triangles as wheels.

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick The Evolved Wheel: Summary Representation: Real valued vectors Recombination: One-point crossover Mutation: +/- Value drawn uniformly from: [0, 10] Mutation probability: 1/60 (Average 1 gene per recombination mutated) Parent Selection: Best 20% Survivor Selection: Replace all (generational) Population Size: 400 Initialization: Random Termination Condition: Solution (e = 0) or 200 generations Note: this only one possible set of operators and parameters!

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick Typical behavior of an EA Early phase: quasi-random population distribution Mid-phase: population arranged around/on hills Late phase: population concentrated on high hills Phases in optimizing on a 1-dimensional fitness landscape

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick Typical run: progression of fitness Typical run of an EA shows so-called “anytime behavior” Best fitness in population Time (number of generations)

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick Best fitness in population Time (number of generations) Progress in 1 st half Progress in 2 nd half Are long runs beneficial? Answer: - it depends how much you want the last bit of progress - it may be better to do more shorter runs

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick T: time needed to reach level F after random initialization T Time (number of generations) Best fitness in population F: fitness after smart initialization F Is it worth expending effort on smart (heuristic) initialization? Answer : it depends: - possibly, if good solutions/methods exist. - care is needed, see chapter on hybridisation

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick Evolutionary Algorithms in Context Many views exist on using EA’s as robust and generalized problem solvers; Some advantages of EA’s: – No prior assumptions about the problem space (if we can find a genetic representation, then an EA can be applied); – Wide applicability – Can find many different good solutions – Gets stuck less often compared to other approaches Disadvantages of EA’s: – No guarantee optimal solution is found (contrary to problem- specific algorithms); – A lot of parameter tuning and computing time is needed – Theory is difficult and therefore not so well developed

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick Scale of “all” problems Performance of methods on problems Random search Special, problem tailored method Evolutionary algorithm EA’s as problem solvers: Goldberg’s 1989 view

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick EA’s and domain knowledge Trend in the 90’s: Adding problem specific knowledge to EA’s (e.g. special variation operators) Result: EA performance curve “deformation”: – better on problems of the given type – worse on problems different from given type – amount of added knowledge is variable Recent theory suggests the search for an “all-purpose” algorithm may be fruitless

A.E. Eiben and J.E. Smith, What is an Evolutionary Algorithm? With Additions and Modifications by Ch. Eick What is an EA: Summary EA’s are distinguished by: – Use of population; – Use of multiple, stochastic search operators; – Especially variation operators with arity >1; – Selective reproduction and replacement – “Survival of the fittest” combined with “give some not so great solutions a chance”