artificial intelligence evolutionary computing
play

ARTIFICIAL INTELLIGENCE Evolutionary computing Lecturer: Silja - PowerPoint PPT Presentation

Utrecht University INFOB2KI 2019-2020 The Netherlands ARTIFICIAL INTELLIGENCE Evolutionary computing Lecturer: Silja Renooij These slides are part of the INFOB2KI Course Notes available from www.cs.uu.nl/docs/vakken/b2ki/schema.html What is


  1. Utrecht University INFOB2KI 2019-2020 The Netherlands ARTIFICIAL INTELLIGENCE Evolutionary computing Lecturer: Silja Renooij These slides are part of the INFOB2KI Course Notes available from www.cs.uu.nl/docs/vakken/b2ki/schema.html

  2. What is it? Evolutionary computing (EC) = the use of evolutionary algorithms (EAs):  Population‐based, stochastic search algorithms based on mechanisms of natural evolution. – Evolution viewed as search algorithm or problem solver – Natural evolution only used as metaphor for computational system design

  3. Why the metaphor?  Ability to efficiently guide a search through a large solution space  Ability to adapt solutions to changing environments  Goal: design high quality solutions through “emergent” behavior

  4. Darwinian process characteristics 5 key requirements of a Darwinian system: 1. Structures carry information (e.g. DNA) 2. Structures are copied (next generation) 3. Copies partially vary from the original (inheritance) 4. Structures compete for limited resources (Struggle for life  selection) 5. Relative reproductive success depends on environment (Survival of the fittest) There is no evolution without competition.

  5. Darwinian characteristics in EC 1. Structures  e.g. binary strings, real‐valued vectors, programs,… 2. Structures are copied  Selection algorithm: e.g. tournament selection, … 3. Copies partially vary from the original  Mutation & crossover operators 4. Structures compete for limited resources  New offspring (partly) replaces parents in fixed size population 5. Relative reproductive success depends on environment  User‐defined fitness function

  6. EC streams EC unites four traditionally distinct streams, based on historical differences in representation :  Genetic algorithms (GA) – Solutions encoded as discrete structures, e.g. bit‐strings  Evolution strategies (ES) – Encoding using real‐valued vectors  Evolutionary programming (EP) – Encoding with finite state machines  Genetic programming (GP) – Encoding using trees Nowadays we just use what seems most appropriate.

  7. EAs: Main idea  Take a population of candidate solutions to a given problem  Use operators inspired by the mechanisms of natural genetic variation  Apply selective pressure toward certain properties (what does “fit” mean?)  Evolve a more fit solution

  8. General Scheme of EAs generation Based upon replacement strategy

  9. Evolutionary terminology Inspired by biology:  Individuals: candidate solutions  Phenotypes: solutions in the real world  Genotypes: individuals within the EA  Population: – (representations of) possible solutions – usually fixed size multiset of genotypes – Diversity of a population refers to the number of different fitness’s / phenotypes / genotypes present (note not the same thing)  Also: genes, chromosomes, …

  10. Design of an Evolutionary Algorithm

  11. The Steps - I In order to build an evolutionary algorithm we have to perform various steps. External to the evolving system:  Design a representation for individuals: – A data‐structure – A mapping between phenotype and genotype (encoding and decoding)  Decide how to initialize a population  Decide when to stop the algorithm

  12. The Steps - II In order to build an evolutionary algorithm we have to perform various steps. Internal to the evolving system:  Design a way of evaluating an individual  Decide how to select parent individuals  Design suitable recombination operator(s)  Design suitable mutation operator(s)  Decide how to select surviving individuals Variation operators

  13. The external design steps

  14. Initialisation Usually done at random  Uniformly on search space if possible – Binary strings: 0 or 1 with probability 0.5 – Real‐valued representations: uniformly on a given interval Or: seed the population with previous results or those from heuristics.  With care: – Possible loss of genetic diversity – Possible unrecoverable bias

  15. Stopping criterion Termination condition checked every generation  Reaching some (known/hoped for) fitness optimum  Limit on CPU resources:  Reaching some maximum allowed number of generations  Reaching some minimum level of diversity  Limit on user’s patience:  Reaching some specified number of generations without fitness improvement

  16. Designing a Representation  Method/ data structure for representing an individual as a genotype (encoding) – often takes the form of a bit string in GAs – usually different parts of structure represent different aspects of solution  Choice depends on – the problem to solve – how genotypes will be evaluated – what genetic operators might be used/suitable

  17. Discrete Representation  an individual can be represented using discrete values – binary; integer; any other system with discrete set of values CHROMOSOME Example: binary representation GENE

  18. Discrete Representation  for each genotype there must be a phenotype Example: Phenotype: • Integer 8 bits Genotype • Real Number • Schedule • ... • Anything?

  19. Example: genotype to phenotype  Phenotype could be integer numbers Genotype: Phenotype: = 163 1*2 7 + 0*2 6 + 1*2 5 + 0*2 4 + 0*2 3 + 0*2 2 + 1*2 1 + 1*2 0 = 128 + 32 + 2 + 1 = 163  Phenotype could be real numbers Phenotype: (between 2.5 and 20.5) Genotype: = 14.00 163       x 2 . 5 20 . 5 2 . 5 14 . 00 255

  20. Example: genotype to phenotype  Phenotype could be a schedule Time Job Step 1 2 Genotype: 2 1 3 2 4 1 = Phenotype 5 1 6 1 7 2 8 2  Phenotype could be …

  21. The internal design steps

  22. Evaluating an Individual  Often based upon fitness – A measure of the goodness of the organism – The more values the fitness function distinguishes the better for selection – Can also be based on results of some external process: e.g. competing models for a game  This is by far the most costly step for real applications  You could use approximate fitness ‐ but not for too long

  23. Parent Selection Mechanism  Selection pressure: ensure that selection of better individuals is more probable than of less good individuals  drives population forward  ! less good individuals may still include some useful genetic material  Methods (a.o): – Proportionate selection  typical textbook method; not often used in practice – Rank‐based selection • Truncation selection • Tournament selection

  24. Fitness proportionate selection I Selection based on absolute fitness values  Given a population of N individuals, individual i is � selected with probability � � � ���  Selecting again N parents  expected number of times individual i is selected for mating is: f where is average fitness � �

  25. Fitness proportionate selection II Best Better (fitter) individuals have:  more space in population pool  more chances to be selected Worst Disadvantages:  Danger of premature convergence: (seemingly) outstanding individuals take over entire population very quickly  Low selection pressure when fitness values are near each other  local optima

  26. Truncation selection  Rank based selection: use relative rather than absolute fitness  Individuals are sorted on their fitness value from best to worse.  Select the top τ %  Copy each selected solution 100/ τ times (for fixed population size)

  27. Tournament selection For a tournament of size k :  Select k random individuals for tournament (with or without replacement)  Select only the best individual as parent Hold N tournaments to get a population of N

  28. Variation operators with examples for discrete structures (GAs)

  29. Recombination/Crossover We can have one or more recombination operator for a representation.  Mimics biological recombination – Some portion of genetic material is swapped between chromosomes – Typically the swapping produces offspring  Offspring inherits parts from each of m ≥ 2 parents  Recombination should produce m valid chromosomes  Stochastic: – n cross‐over point(s) selected randomly – Operator applied with a certain probability

  30. 1-point cross-over Whole Population: . . . Each chromosome is cut into 2 pieces (at same cutpoint) which are recombined: cut cut parents 1 1 1 1 1 1 1 0 0 0 0 0 0 0 offspring 1 1 1 0 0 0 0 0 0 0 1 1 1 1

  31. n-point & uniform cross-over  n‐point cross‐over: each chromosome is cut into n+1 pieces which are recombined  Uniform cross‐over: for each position, swap with a certain probability

  32. Mutation We can have one or more mutation operators for a representation.  Mechanism for preserving variety in the population  At least one mutation operator should allow every part of the search space to be reached  Mutation should produce valid chromosome  Stochastic: – Alters the structure in a position with some probability – Operator applied with a certain probability

  33. Mutation parent before 1 1 1 1 1 1 1 after 1 1 1 0 1 1 1 offspring mutated gene Mutation usually happens with small probability p m for each ` gene’

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend