1 / 59

Genetic Algorithms and Genetic Programming

Genetic Algorithms and Genetic Programming. Evolutionary Computation. Computational procedures patterned after biological evolution Search procedure that probabilistically applies search operators to a set of points in the search space. Biological Evolution. Lamarck and others

marly
Télécharger la présentation

Genetic Algorithms and Genetic Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Genetic Algorithms and Genetic Programming

  2. Evolutionary Computation • Computational procedures patterned after biological evolution • Search procedure that probabilistically applies search operators to a set of points in the search space.

  3. Biological Evolution • Lamarck and others • Species “transmute” over time • Darwin and Wallace • Consistent heritable variation among individuals in the population • Natural selection of the fittest • Mendel and genetics • A mechanism for inheriting traits • genotype -> phenotype mapping

  4. Biological Terminology • gene • functional entity that codes for a specific feature e.g. eye color • set of possible alleles • allele • value of a gene e.g. blue, green, brown • codes for a specific variation of the gene/feature • locus • position of a gene on the chromosome • genome • set of all genes that define a species • the genome of a specific individual is called genotype • the genome of a living organism is composed of several • chromosomes • population • set of competing genomes/individuals

  5. Genotype versus Phenotype • genotype • blue print that contains the information to construct an • organism e.g. human DNA • genetic operators such as mutation and recombination • modify the genotype during reproduction • genotype of an individual is immutable • (no Lamarckian evolution) • phenotype • physical make-up of an organism • selection operates on phenotypes • (Darwin’s principle : “survival of the fittest”

  6. The Genetic Algorithm Directed search algorithms based on the mechanics of biological evolution Developed by John Holland, University of Michigan (1970’s) To understand the adaptive processes of natural systems To design artificial systems software that retains the robustness of natural systems

  7. The Genetic Algorithm (cont.) Provide efficient, effective techniques for optimization and machine learning applications Widely-used today in business, scientific and engineering circles

  8. Components of a GA A problem to solve, and ... Encoding technique (gene, chromosome) Initialization procedure (creation) Evaluation function (environment) Selection of parents (reproduction) Genetic operators (mutation, recombination) Parameter settings (practice and art)

  9. Genotype Operators • recombination (crossover) • combines two parent genotypes into a new offspring • generates new variants by mixing existing genetic material • stochastic selection among parent genes • mutation • random alteration of genes • maintain genetic diversity • in genetic algorithms crossover is the major operator • whereas mutation only plays a minor role

  10. Representation Phenotype space Genotype space = {0,1}L Encoding (representation) 10010001 10010010 010001001 011101001 Decoding (inverse representation)

  11. Simple Genetic Algorithm { initialize population; evaluate population; while TerminationCriteriaNotSatisfied { select parents for reproduction; perform recombination and mutation; evaluate population; } }

  12. The GA Cycle of Reproduction children reproduction modification modified children parents evaluation population evaluated children deleted members discard

  13. Population Chromosomes could be: Bit strings (0101 ... 1100) Real numbers (43.2 -33.1 ... 0.0 89.2) Permutations of element (E11 E3 E7 ... E1 E15) Lists of rules (R1 R2 R3 ... R22 R23) Program elements (genetic programming) ... any data structure ... population

  14. Reproduction children reproduction parents population Parents are selected at random with selection chances biased in relation to chromosome evaluations.

  15. Chromosome Modification Modifications are stochastically triggered Operator types are: Mutation Crossover (recombination) children modification modified children

  16. The simple GA Has been subject of many (early) studies still often used as benchmark for novel GAs Shows many shortcomings, e.g. Representation is too restrictive Mutation & crossovers only applicable for bit-string & integer representations Selection mechanism sensitive for converging populations with close fitness values Generational population model (step 5 in SGA repr. cycle) can be improved with explicit survivor selection

  17. Representing Hypotheses Represent: (Outlook = Overcast v Rain) ^ (Wind = Strong) by Outlook Wind 011 10 Represent: IF Wind = Strong THEN PlayTennis = yes by Outlook Wind PlayTennis 011 10 10

  18. SGA operators: 1-point crossover Choose a random point on the two parents Split parents at this crossover point Create children by exchanging tails Pc typically in range (0.6, 0.9)

  19. SGA operators: mutation Alter each gene independently with a probability pm pm is called the mutation rate Typically between 1/pop_size and 1/ chromosome_length

  20. Alternative Crossover Operators Performance with 1 Point Crossover depends on the order that variables occur in the representation more likely to keep together genes that are near each other Can never keep together genes from opposite ends of string This is known as Positional Bias Can be exploited if we know about the structure of our problem, but this is not usually the case

  21. 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)

  22. Uniform crossover Assign 'heads' to one parent, 'tails' to the other Flip a coin for each gene of the first child Make an inverse copy of the gene for the second child Inheritance is independent of position

  23. Order 1 crossover Idea is to preserve relative order that elements occur Informal procedure: 1. Choose an arbitrary part from the first parent 2. Copy this part to the first child 3. Copy the numbers that are not in the first part, to the first child: starting right from cut point of the copied part, using the order of the second parent and wrapping around at the end 4. Analogous for the second child, with parent roles reversed

  24. Order 1 crossover example Copy randomly selected set from first parent Copy rest from second parent in order 1,9,3,8,2

  25. 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, xover-only-EA would not work

  26. Evaluation The evaluator decodes a chromosome and assigns it a fitness measure The evaluator is the only link between a classical GA and the problem it is solving modified children evaluated children evaluation

  27. Selection Schemes • stochastic sampling • roulette wheel selection • spin wheel N times • stochastic universal sampling • roulette wheel selection • single spin, wheel has N equally • spaced markers • tournament selection • choose k candidates at random with uniform probability • pick best one for reproduction • expected number of offspring • best :  k , average  k ½ k-1 , worst  k 1/N k-1

  28. Replacement Schemes • generational replacement • entire population is replaced each generation • non-overlapping population 10111 01000 01011 10010 01001 11001 Selection Crossover Mutation • steady state replacement • a single individual (worst, random) is replaced by • one offspring • overlapping population 10010 01001 11001 10010 01001 11001 Selection Crossover Mutation 01110

  29. Deletion Generational GA:entire populations replaced with each iteration Steady-state GA:a few members replaced each generation population discarded members discard

  30. An Abstract Example Distribution of Individuals in Generation 0 Distribution of Individuals in Generation N

  31. A Simple Example The Traveling Salesman Problem: Find a tour of a given set of cities so that each city is visited only once the total distance traveled is minimized

  32. Representation Representation is an ordered list of city numbers known as an order-based GA. 1) London 3) Dunedin 5) Beijing 7) Tokyo 2) Venice 4) Singapore 6) Phoenix 8) Victoria CityList1(3 5 7 2 1 6 4 8) CityList2(2 5 7 6 8 1 3 4)

  33. Crossover combines inversion and recombination: * * Parent1 (3 5 7 2 1 6 4 8) Parent2 (2 5 7 6 8 1 3 4) Child (5 8 7 2 1 6 3 4) This operator is called the Order1 crossover. Crossover

  34. Mutation involves reordering of the list: ** Before: (5 8 7 2 1 6 3 4) After: (5 8 6 2 1 7 3 4) Mutation

  35. TSP Example: 30 Cities

  36. Solution i (Distance = 941)

  37. Solution j(Distance = 800)

  38. Solution k(Distance = 652)

  39. Best Solution (Distance = 420)

  40. Overview of Performance

  41. Population Models SGA uses a Generational model: each individual survives for exactly one generation the entire set of parents is replaced by the offspring At the other end of the scale are Steady-State models: one offspring is generated per generation, one member of population replaced, Generation Gap the proportion of the population replaced 1.0 for GGA, 1/pop_size for SSGA

  42. GABIL [de Jong et al, 1993] Learn disjunctive set of propositional rules; competitive with C4.5 Fitness Fitness(h) = (correct(h))2 Representation IF a1=T ^ a2=F THEN c=T; IF a2=T THEN c=F represented by: a1 a2 c a1 a2 c 10 01 1 11 10 0 Genetic operators??? • want variable length rule sets • want only well-formed bit-string hypotheses

  43. Crossover with variable-length bit-strings Start with: a1 a2 c a1 a2 c h1 10 01 1 11 10 0 h1 01 11 0 10 01 0 • choose crossover points for h1, e.g. after bits 1, 8 • now restrict points in h2to those that produce bitstrings with well-defined semantics, e.g. 〈1,3〉, 〈1,8〉, 〈6,8〉. if we choose 〈1,3〉, the results is: a1 a2 c h3:11 10 0 a1 a2 c a1 a2 c a1 a2 c h4: 00 01 1 11 11 0 10 01 0

  44. GABIL extensions Add new genetic operators, also applied probabilistically: • AddAlternative: generalise constraint on a1by changing a 0 to 1 • DropCondition: generalise constraint on ai by changing every 0 to 1. And, add new field to bitstring to determine whether to allow these: a1 a2 c a1 a2 c AA DC 01 11 0 10 01 0 1 0 so now the learning strategy also evolves.

  45. GABIL Results • Performance of GABIL comparable to symbolic rule/tree learning methods C4.5, ID5R, AQ14. • Average performance on a set of 12 synthetic problems: • GABIL without AA and DC operators: 92.1% accuracy • GABIL with AA and DC operators 95.2% accuracy • symbolic learning methods ranged from 91.2% to 96.6%

  46. Extensions to the Simple GA • Encoding schemes • gray encoding • messy genetic algorithms • Replacement schemes • generational replacement • steady state replacement • Fitness scaling • linear scaling • - truncation • ranking • Selection schemes • stochastic sampling • tournament selection

  47. Genetic Programming • automatic generation of computer programs • by means of natural evolution see Koza 1999 • programs are represented by a parse tree (LISP expression) • tree nodes correspond to functions : • - arithmetic functions {+,-,*,/} • - logarithmic functions {sin,exp} • leaf nodes correspond to terminals : • - input variables {X1, X2, X3} • - constants {0.1, 0.2, 0.5 } + X1 * tree is parsed from left to right: (+ X1 (* X2 X3)) X1+(X2*X3) X2 X3

  48. - + X2 / X1 * - X1 X2 X3 X2 X3 Genetic Programming : Crossover parent A parent B - * / + offspring B offspring A X2 X3 X2 X1 - X1 X2 X3

  49. U N I V E R S A L Block-Stacking Problem N stack table U A L S I R V E • objective: place the blocks in the correct order such • that the stack forms the word universal • functions: set of actions, logical operators, do-until loop • terminals: set of sensors that indicate top block on stack, • next suitable block on table etc. • each program tree is tested on 166 different initial • configurations • fitness: #configurations for which the stack was correct • after program execution

  50. CS NN TB Block-Stacking Problem N U A L S I R V E • Sensors: • CS: current stack, name of the top block of the stack • TB: top correct block, name of the topmost block on the stack • such that it and all blocks underneath are in correct order • NN: next block needed, name of the block needed above TB

More Related