Introduction to Evolutionary Computation/ Evolutionary Computation Tutorial 1 Ata Kaban A.Kaban@cs.bham.ac.uk http://www.cs.bham.ac.uk/~axk School of Computer Science University of Birmingham 2003 An example: find the maximal peak of the function (difficult optimisation) – see Fig.1. Solution – see Fig.2. Another example: Prisoner's dilemma • Abstract formulation through a payoff matrix See Table 1. • Individuals = strategies • How to encode a strategy by a string? • Let memory depth of previous moves=1 Fix a canonical order of cases: A: B: – Case 1: C C – Case 2: C D – Case 3: D C – Case 4: D D e.g. strategy encoding (for A): ‘CDCD’ • Now let memory dept of previous moves=3 – How many cases? ……… • Case 1: …….. • Case 2: …….. • … – How many letters are needed to encode a strategy as a string? …………… – How many strategies there are? …………. • Is that a large number? • Experiment 2 – changing environment: the evolving strategies played against each other. • Results – Found strategies similar in essence with the winner human-designed strategy • Idealised model of evolution & co-evolution When to use Genetic Algorithms? • The space to be searched is large – What if it is not? • The space to be searched is known not to be perfectly smooth and unimodal – Otherwise? • The search space is not well understood – If it is? • Quickly finding a sufficiently good solution is enough • Noisy data – Think about it, why? Types of evolutionary algorithms • 1) Genetic Algorithms (GAs) Proposed & studied by John Holland & his students Numerical optimisation and adaptive systems design – Simulate Darwinian Evolution – Recombination (Crossover) important – Mainly binary representation – Schema Theorem classical GA theory Types of Evolutionary Algorithms • 2) Genetic Programming (GP) Developed by Koza et al. Evolved LISP programs – Tree Representation – Widest variety of applications Term also used by De Garis for evolution of ANNs Types of Evolutionary Algorithms • 3) Evolutionary Programming (EP) Developed by Fogel for simulated intelligence Finite State Machine representation – Close to Lamarckian inheritance – No recombination – Adaptive mutation (and others) – Applied to phenotypes Types of Evolutionary Algorithms • 4) Evolution Strategies Introduced by Rechenberg and Schwefel for numerical optimisation Real valued representation – Mutation-based – Adaptive mutation • What to do about programming exercises? – If you complete a programming exercise, write up about half page text on your findings. Send it to me by email (only the half page text, not your code!). A.Kaban@cs.bham.ac.uk – Will allocate a few minutes at tutorial lectures to present / discuss interesting findings. Fig.1. Fig.2. Table 1. Cooperate Defect Cooperate 3,3 0,5 Defect 5,0 1,1