biologically inspired computing: introduction to evolutionary algorithms
DESCRIPTION
Biologically Inspired Computing: Introduction to Evolutionary Algorithms . This is lecture three of `Biologically Inspired Computing’ Contents: EA intro. Introduction to Evolutionary Computation. Natural Evolution Search and Optimisation Hillclimbing Local Search - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/1.jpg)
Biologically Inspired Computing:
Introduction to Evolutionary Algorithms
This is lecture three of `Biologically Inspired Computing’
Contents:EA intro
![Page 2: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/2.jpg)
Introduction to Evolutionary Computation
• Natural Evolution• Search and Optimisation• Hillclimbing • Local Search• Population-Based Algorithms (i.e. Evolutionary Algorithms)• Advantages and Disadvantages of EAs• Applications of EAs
![Page 3: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/3.jpg)
Natural Evolution as a Problem Solving Method
The theory is: given:1. a population of organisms that can reproduce (generate new
organisms) in a challenging/changing environment (so … their chances of reproduction depends on how well they cope with their environment)
2. 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.
![Page 4: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/4.jpg)
Evolution/Survival of the FittestThe 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.
![Page 5: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/5.jpg)
![Page 6: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/6.jpg)
Evolution as a Problem Solving Method
Can view evolution as a way of solving the problem: How can I survive in this environment?
The basic method of it is trial and error. I.e. evolution is in the familyof 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 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!
![Page 7: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/7.jpg)
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’
![Page 8: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/8.jpg)
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 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). 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.
![Page 9: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/9.jpg)
Simple demo of power of selection+mutation
![Page 10: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/10.jpg)
Basic Varieties of Evolutionary Algorithm
1. Selection: Choose some of P to be parents
2. Variation: Apply genetic operators …
3. Population update: Update the population P by …
There are many different ways to select – e.g. choose top 10% of the population; choose with probability proportionateto fitness; choose randomly from top 20%, etc …
There are many different ways to do this, and it depends much on the encoding (see next slide). We will learn certain standard ways.
There are many several ways to do this, e.g. replace entire populationwith the new children; choose best |P| from P and the new ones, etc.
![Page 11: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/11.jpg)
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? Can make all the difference, and 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?
![Page 12: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/12.jpg)
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.
![Page 13: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/13.jpg)
Every Evolutionary Algorithm Given a problem to solve, a way to generate candidate
solutions, and a way to assign fitness values:
1. Generate and evaluate a population of candidate solutions2. Select a few of them3. Breed the selected ones to obtain some new candidate solutions, and evaluate them4. Throw out some of the population to make way for some of the new children. 5. Go back to step 2 until finished.
![Page 14: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/14.jpg)
Initial population
![Page 15: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/15.jpg)
Select
![Page 16: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/16.jpg)
Crossover
![Page 17: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/17.jpg)
Another Crossover
![Page 18: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/18.jpg)
A mutation
![Page 19: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/19.jpg)
Another Mutation
![Page 20: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/20.jpg)
Old population + children
![Page 21: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/21.jpg)
New Population: Generation 2
![Page 22: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/22.jpg)
Generation 3
![Page 23: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/23.jpg)
Generation 4, etc …
![Page 24: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/24.jpg)
Fixed wheel positions, constrained bounding area, Chromosome is a series of slices\fitnesses evaluated via a simple airflow simulation
Bentley.s thesis work
![Page 25: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/25.jpg)
http://www.macs.hw.ac.uk/~dwcorne/Teaching/iea.html
![Page 26: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/26.jpg)
Buy it
![Page 27: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/27.jpg)
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 conditionsIngo Rechenberg was the very first, with pipe-bend 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.
![Page 28: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/28.jpg)
Some extra slides if time, illustrating some high-profile EAs
An innovative EC-designedPropellor from Evolgics GmbH,Associated with Rechenberg’s group.
![Page 29: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/29.jpg)
Evolving Top Gun strategies
![Page 30: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/30.jpg)
Evolving Top Gun strategies
![Page 31: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/31.jpg)
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
![Page 32: Biologically Inspired Computing: Introduction to Evolutionary Algorithms](https://reader030.vdocuments.net/reader030/viewer/2022033108/56815df5550346895dcc2d06/html5/thumbnails/32.jpg)
Oh no, we knew something like this would happen
Credit Jason Lohn