Biologically Inspired Computing: Introduction to Evolutionary Algorithms This is lecture two of `Biologically Inspired Computing’ Contents: EA intro Introduction to Evolutionary Computation • Natural Evolution • Evolutionary Algorithms • Applications of EAs Natural Evolution as a Problem Solving Method The theory is: given: • a population of organisms that can reproduce (generate new organisms) in a challenging/changing environment (… their chances of reproduction depends on how well they cope with their environment) • a way of continually generating diversity in new `child’ organisms (so –new organisms are not simply copies of old ones) A `survival of the fittest’ principle will naturally emerge: future generations will have mixes of characteristics that tend to go along with being good at surviving in this environment. Giraffes Ears Evolution/Survival of the Fittest The theory of evolution is the statement that all species on Earth have arisen in this way by evolution from one or more very simple self-reproducing molecules in the primeval soup. I.e. we have evolved via the accumulation of countless advantageous (in context) mutations over countless generations, and species have diversified to occupy environmental niches, as a result of different environments favouring different mutations. Evolving humans radiotherapy treatment plans Evolving humans lecture timetables Evolution as an Optimization Method Can view evolution as a way of solving the problem: How can I best survive in this environment? The basic method of it is trial and error. I.e. evolution is in the family of methods that do something like this: 1. Come up with a new solution by randomly changing an old one. Does it work better than previous solutions? If yes, keep it and throw away one of the old ones. Otherwise, discard it. 2. Go to 1. But this appears to be a recipe for problem solving algorithms which take forever, with little or no eventual success! The Magic Ingredients Not so – since there are certain things (and one other sometimes useful thing) we learn from natural evolution, which, with a sprinkling of our own commonsense added, lead to generally superb problem solving methods called evolutionary algorithms: Lesson0: Natural evolution is driven by a complex environment – essentially this calculates an organism’s ‘fitness’ over its lifetime. We can replace that with a much faster calculation! Lesson1: Keep a population/collection of different things on the go. Lesson2: Select `parents’ with a relatively weak bias towards the fittest. It’s not really plain survival of the fittest, what works is the fitter you are, the more chance you have to reproduce, and it works best if even the least fit still have some chance. Lesson3: Use randomised Mutation and/or Recombination (aka crossover) to generate new candidate solutions from the selected ‘parents’ A Generic Evolutionary Algorithm Suppose you have to find a solution to some problem or other, and suppose, given any candidate solution s you have a fitness function f(s) which measures how good s is as a solution to your problem. Generate an initial population P of randomly generated solutions (this is typically 100 or 500 or so). Use f(s) to evaluate the fitness of each. Then: Repeat until a termination condition is reached: 1. Selection: Choose some of P to be parents 2. Variation: Apply ‘genetic operators’ to the parents to produce some children, and then evaluate the fitness of the children. 3. Population update: Update the population P by retaining some of the children and removing some of the incumbents. Simple demo of power of selection+mutation Basic Varieties of Evolutionary Algorithm 1. Selection: Choose some of P to be parents There are many different ways to select – e.g. choose top 10% of the population; choose with probability proportionate to fitness; choose randomly from top 20%, etc … 2. Variation: Apply genetic operators … There are many different ways to do this, and it depends much on the encoding (see next slide). We will learn certain standard ways. 3. Population update: Update the population P by … There are many several ways to do this, e.g. replace entire population with the new children; choose best |P| from P and the new ones, etc. Some of what EA-ists (theorists and practitioners) are concerned with: How to select? Always select the best? Bad results, quickly Select almost randomly? Great results, too slowly How to encode? The ‘Encoding’ or ‘Representation’, is the approach used to specify specify a solution as a datastructure. This is intricately tied up with: How to vary? (mutation, recombination, etc…) small-step mutation preferred, recombination seems to be a principled way to do large steps, but large steps are usually abysmal. What parameters? How to adapt with time? What are they good for ? Suppose we want the best possible schedule for a university lecture timetable. • • • • • • • • • • Or the best possible pipe network design for a ship’s engine room Or the best possible design for an antenna with given requirements Or a formula that fits a curve better than any others Or the best design for a comms network in terms of reliability for Or the best strategy for flying a fighter aircraft Or the best factory production schedule we can get, Or the most accurate neural network for a control problem, Or the best treatment plan (beam shapes and angles) for radiotherapy cancer treatment And so on and so on ….! The applications cover all of optimisation and machine learning. Every Evolutionary Algorithm Given a problem to solve, a way to generate candidate solutions, and a way to assign fitness values: 1. 2. 3. 4. 5. Generate and evaluate a population of candidate solutions Select a few of them Breed the selected ones to obtain some new candidate solutions, and evaluate them Throw out some of the population to make way for some of the new children. Go back to step 2 until finished. Initial population Select Crossover Another Crossover A mutation Another Mutation Old population + children New Population: Generation 2 Generation 3 Generation 4, etc … Bentley.s thesis work Fixed wheel positions, constrained bounding area, Chromosome is a series of slices \fitnesses evaluated via a simple airflow simulation http://www.macs.hw.ac.uk/~dwcorne/Teaching/iea.html Buy it One of the very first applications. Determine the internal shape of a two-phase jet nozzle that can achieve the maximum possible thrust under given starting conditions Ingo Rechenberg was the very first, with pipebend design. This is slightly later work in the same lab, by Schwefel Starting point EA (ES) running Result A recurring theme: design freedom entirely new and better designs based on principles we don’t yet understand. CW1 There follow three example slides (of the kind I expect you to submit), and then a description of the coursework. Example EC Application Scheduling Earth Observing Satellites with Evolutionary Algorithms http://alglobus.net/NASAwork/papers/SMCIT03/SMCIT02paper3.pdf An EOS fleet has specific observation & image capture targets and is subject to many constraints. This looks at two cases involving 1 and 2 satellites in fixed orbits Encoding: is a Permutation of ImageTasks – each is a specific area that must be observed once per day. A ‘scheduler’ routine then determines satellite ‘slews’ and other resources that have to be spent to achieve the requests in this order. Fitness: in these simple cases, fitness was a combination of penalties for (i) unmet ImageTasks, (ii) total time slweing (ii) sum of slew angles. Hence this measured meeting of target with minimal wear and tear and optimised image quality. Results: HC, SA and EA were compared on these simple cases; SA was found best. Also, they found combined scheduling was better than independent scheduling of each satellite in a fleet Example EC Application Design of Reinforced Concrete Frames using a Genetic Algorithm http://http://www.ce.memphis.edu/pezeshk/PDFs/camp_pezeshk_hakan.pdf Design dimensions and steel reinforcement params for structural beams meeting building constraints Various test case scenarios looked at, including the six storey example on the right, inolving a set of RC elements Encoding: simple list of numbers representing depth and height parameters, and number of placement of steel reinforcement sections. Fitness: calculated with standard equations used by standards bodies Results: They found that a simple GA worked adequately, leading to small reduction in structural costs while remaining safe and legal. Example EC Application A genetic algorithm for 2D orthogonal packing http://www.research.att.com/techdocs/TD_7M7QJG.pdf Specific shapes (e.g. PVC, glass, plywood, ...) have to be cut from sheet with minimal waste. E.g. wasteful & optimal solutions shown on right. Tested on many benchmark probs with size ranging from 10—100 shapes. Paper focuses on new fitness function which considers the empty rectangular spaces, aiming to help direct search towards sols that can be more likely improved by mutation. Encoding: two permutations in each solution: (i) order of shapes (ii) order of plaement procedures – each of these is a choice from a small no. of simple heuristics.E.g. “BL” means close as poss to bottom left. Results: New technique does very well, compared with a wide range of approaches on the same roblems CW 1: BSc & 3rd/4th yr Meng Students Produce THREE slides, each briefly describing a different application of evolutionary computation (or another bio-inspired approach) on an optimization problem. The previous three slides are examples of the type of thing I am looking for. EACH SLIDE MUST: (i) contain a URL to a paper, thesis or other source that describes this application (ii) contain at least one graphic/figure (iii) simply and briefly explain key details of the problem, the encoding, the fitness function, and the findings in the paper. HOW MUCH I EXPECT FROM YOU: Use google scholar, or maybe just google, and use sensible and creative search keywords. Don’t go overboard in the time you spend on this – e.g. I did not read in detail the papers summarised in the previous 3 slides. I just tried to grab the key ideas, and make up a slide that simply conveys the gist of them. HAND IN: slide 1 by 23:59pm Sunday October 4th I will give you marks and feedback by midnight October 18th HAND IN: both slide 2 and slide 3 by 23:59pm Sunday October 25th CW 1: MSc and 5th yr Meng Students Produce TWO SETS of slides, each set containing TWO slides. Each set of two slides will briefly describe the application of evolutionary computation (or other bio-inspired approaches) on a specific optimization problem of your choice. Each slide set will compare and contrast at least three different papers that solve the problem in different ways. The previous three slides are therefore NOT quite examples of the type of thing I am looking for. EACH SLIDE SET MUST CONTAIN On slide 1: (i) URLs to the three (or more) sources (paper, thesis or other sources) that describes an application to this problem (ii) a clear / succinct description/explanation of the problem (iii) at least one graphic/figure that helps explain the optimization problem On slide 2: (i) bullet points that describe, compare and contrast the encodings and operators used in the three papers. (ii) bullet points that compare and contrast the results and findings of the three papers. HAND IN: slide set 1 by 23:59pm Sunday October 4th I will give you marks and feedback by midnight October 18th HAND IN: slide set 2 by 23:59pm Sunday October 25th CW1: marking and handin BSc students: Each slide will get 0, 1, 2 or 3 marks. There will be an additional 0 or 1 mark added for the ‘diversity’ among your three applications. MSc and Meng 5th yr students: The first slide (or slide set) will get 0, 1, 2, 3 or 4 marks. The second slide (or slide set) will get 0, 1, 2, 3, 4, 5 or 6 marks. When marking the second slide (or slide set) I will also take into account the difference between the two applications Marking will consider how well your slide text and graphics conveys the things I am asking for, considering clarity, succinctness and correctness. When marking the second slide (or slide set) I will also take into account the difference between the two applications – e.g. you will lose up to two marks if both slidesets are about the same optimization problem. To hand in, please email each individual slide in a separate message, as follows: – send it to dwcorne@gmail.com – include the slide (either ppt or pdf) as an attachment –put your (real) name and degree programme (e.g. BSc CS, MSc AI, whatevs) in the body of the email –Make the subject line: “BIC CW1 Slides N”, where N is either 1, 2, or ‘2 and 3’ Some extra slides if time, illustrating some high-profile EAs An innovative ECdesigned Propellor from Evolgics GmbH, Associated with Rechenberg’s group. Evolving Top Gun strategies Evolving Top Gun strategies Credit Jason Lohn NASA ST5 Mission had challenging requirements for antenna of 3 small spacecraft. EA designs outperformed human expert ones and are nearly spacebound. Credit Jason Lohn Oh no, we knew something like this would happen