Download ppt

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts

Microevolution wikipedia, lookup

Gene expression programming wikipedia, lookup

Population genetics wikipedia, lookup

Epistasis wikipedia, lookup

Genetic drift wikipedia, lookup

Koinophilia wikipedia, lookup

Transcript
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 [email protected]
– 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