Top Banner
Evolutionary Computation 22c: 145, Chapter 9
64

Evolutionary Computation

Feb 25, 2016

Download

Documents

eljah

Evolutionary Computation. 22c: 145, Chapter 9. What is Evolutionary Computation?. A technique borrowed from the theory of biological evolution that is used to create optimization procedures or methodologies, usually implemented on computers, that are used to solve problems. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Evolutionary Computation

Evolutionary Computation

22c: 145, Chapter 9

Page 2: Evolutionary Computation

What is Evolutionary Computation?A technique borrowed from the

theory of biological evolution that is used to create optimization procedures or methodologies, usually implemented on computers, that are used to solve problems.

Page 3: Evolutionary Computation

Classes of Search Techniques

F in on acci N ew ton

D ire ct m eth ods Ind ire c t m e th ods

C a lcu lus -ba sed techn iq ues

Evo lu tio na ry s tra teg ies

C en tra lized D is tr ibu ted

Para llel

S te ady-sta te G en era tio n al

Seq uen tial

G enetic a lgo rith m s

Evo lutio nary alg o rith m s S im u late d a nne a ling

G u id ed ra nd om search tec hn iqu es

D ynam ic p rog ram m ing

Enu m e ra tive tech n iqu es

Search tech n iqu es

Page 4: Evolutionary Computation

It Is A Search Technique

Page 5: Evolutionary Computation

Genetic Algorithm Flow Chart

Page 6: Evolutionary Computation

The ArgumentEvolution has optimized biological

processes;therefore

Adoption of the evolutionary paradigm to computation and other problems can help us find optimal solutions.

Page 7: Evolutionary Computation

Evolutionary Computing Genetic Algorithms

invented by John Holland (University of Michigan) in the 1960’s

Evolution Strategies invented by Ingo Rechenberg

(Technical University Berlin) in the 1960’s

Started out as individual developments, but converged in the later years

Page 8: Evolutionary Computation

Natural Selection

Limited number of resources Competition results in struggle for

existence Success depends on fitness --

fitness of an individual: how well-adapted an individual is to their environment. This is determined by their genes (blueprints for their physical and other characteristics).

Successful individuals are able to reproduce and pass on their genes

Page 9: Evolutionary Computation

When changes occur ... Previously “fit” (well-adapted)

individuals will no longer be best-suited for their environment

Some members of the population will have genes that confer different characteristics than “the norm”. Some of these characteristics can make them more “fit” in the changing environment.

Page 10: Evolutionary Computation

Genetic Change in Individuals Mutation in genes

may be due to various sources (e.g. UV rays, chemicals, etc.)

Start:1001001001001001001001

Location of MutationAfter Mutation:1001000001001001001001

Page 11: Evolutionary Computation

Genetic Change in Individuals Recombination (Crossover)

occurs during reproduction -- sections of genetic material exchanged between two chromosomes

Page 12: Evolutionary Computation

Recombination (Crossover)

Image from http://esg-www.mit.edu:8001/bio/mg/meiosis.html

Page 13: Evolutionary Computation

The Nature of Computational Problems Require search through many

possibilities to find a solution (e.g. search through sets of rules for one set that

best predicts the ups and downs of the financial markets)

Search space too big -- search won’t return within our lifetimes

Require algorithm to be adaptive or to construct original solution

(e.g. interfaces that must adapt to idiosyncrasies of different users)

Page 14: Evolutionary Computation

Why Evolution Proves to be a Good Model for Solving these Types of Problems

Evolution is a method of searching for an (almost) optimal solution

Possibilities -- all individuals Best solution -- the most “fit” or well-adapted individual

Evolution is a parallel process Testing and changing of numerous species and

individuals occur at the same time (or, in parallel) Evolution can be seen as a method that

designs new (original) solutions to a changing environment

Page 15: Evolutionary Computation

The Metaphor

EVOLUTION

IndividualFitness

Environment

PROBLEM SOLVING

Candidate SolutionQualityProblem

Page 16: Evolutionary Computation

Individual Encoding

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

Page 17: Evolutionary Computation

Genetic Algorithms Closely follows a biological

approach to problem solving

A simulated population of randomly selected individuals is generated then allowed to evolve

Page 18: Evolutionary Computation

Encoding the Problem Example: Looking for a new site which is

closest to several nearby cities. Express the problem in terms of a bit

stringz = (1001010101011100)

where the first 8 bits of the string represent the X-coordinate and the second 8 bits represent the Y-coordinate

Page 19: Evolutionary Computation

Basic Genetic Algorithm Step 1. Generate a random population

of n individuals Step 2. Assign a fitness value to each

individual Step 3. Repeat until n children have

been produced Choose 2 parents based on fitness proportional

selection Apply genetic operators to copies of the parents Produce new chromosomes

Page 20: Evolutionary Computation

Notes: GAs fall into the category of “generate and

test” algorithms They are stochastic, population-based

algorithms Variation operators (recombination and

mutation) create the necessary diversity and thereby facilitate novelty

Selection reduces diversity and acts as a force pushing quality

Page 21: Evolutionary Computation

Fitness Function For each individual in the population,

evaluate its relative fitness

For a problem with m parameters, the fitness can be plotted in an m+1 dimensional space

Page 22: Evolutionary Computation

Sample Search Space A randomly generated population

of individuals will be randomly distributed throughout the search space

Image from http://www2.informatik.uni-erlangen.de/~jacob/Evolvica/Java/MultiModalSearch/rats.017/Surface.gif

Page 23: Evolutionary Computation

An Abstract Example

Distribution of Individuals in Generation 0

Distribution of Individuals in Generation N

Page 24: Evolutionary Computation

Genetic Operators Cross-over

Mutation

Page 25: Evolutionary Computation

Production of New Chromosomes 2 parents give rise to 2 children

Page 26: Evolutionary Computation

Generations As each new generation of n individuals

is generated, they replace their parent generation

To achieve the desired results, typically 500 to 5000 generations are required

Page 27: Evolutionary Computation

The Evolutionary Cycle

Recombination

MutationPopulation

Offspring

ParentsSelection

Replacement

Page 28: Evolutionary Computation

Ultimate Goal Each subsequent generation will evolve

toward the global maximum

After sufficient generations a near optimal solution will be present in the population of chromosomes

Page 29: Evolutionary Computation

Example: Find the max value of f(x1, …, x100).

Population: real vectors of length 100.

Mutation: randomly replace a value in a vector.

Combination: Take the average of two vectors.

Page 30: Evolutionary Computation

Dynamic Evolution Genetic algorithms can adapt to a

dynamically changing search space

Seek out the moving maximum via a parasitic fitness function as the chromosomes adapt to the

search space, so does the fitness function

Page 31: Evolutionary Computation

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

Page 32: Evolutionary Computation

RepresentationRepresentation is an ordered list of

citynumbers known as an order-based

GA.1) London 3) Iowa City 5) Beijing 7)

Tokyo2) 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)

Page 33: Evolutionary Computation

CrossoverCrossover 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)

(1) Copy a randomly selected portion of Parent1 to Child(2) Fill the blanks in Child with those numbers in Parent2 from

left to right, as long as there are no duplication in Child.This operator is called the Order1 crossover.

Page 34: Evolutionary Computation

Mutation involves swapping two numbers of the list:

* *Before: (5 8 7 2 1 6 3 4)

After: (5 8 6 2 1 7 3 4)

Mutation

Page 35: Evolutionary Computation

TSP Example: 30 Cities

0

20

40

60

80

100

120

0 10 20 30 40 50 60 70 80 90 100

y

x

Page 36: Evolutionary Computation

Solution i (Distance = 941)

0

20

40

60

80

100

120

0 10 20 30 40 50 60 70 80 90 100

y

x

TSP30 (Performance = 941)

Page 37: Evolutionary Computation

Solution j(Distance = 800)44626967786462544250404038213567606040425099

0

20

40

60

80

100

120

0 10 20 30 40 50 60 70 80 90 100

y

x

TSP30 (Performance = 800)

Page 38: Evolutionary Computation

Solution k(Distance = 652)

0

20

40

60

80

100

120

0 10 20 30 40 50 60 70 80 90 100

y

x

TSP30 (Performance = 652)

Page 39: Evolutionary Computation

Best Solution (Distance = 420)

423835262135327

3846445860697678716967628494

0

20

40

60

80

100

120

0 10 20 30 40 50 60 70 80 90 100

y

x

TSP30 Solution (Performance = 420)

Page 40: Evolutionary Computation

Overview of Performance

0

200

400

600

800

1000

1200

1400

1600

1800

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31

Dis

tanc

e

Generations (1000)

TSP30 - Overview of Performance

Best

Worst

Average

Page 41: Evolutionary Computation

Typical run: progression of fitness

Typical run of an EA shows so-called “anytime behavior”

Bes

t fitn

ess

in p

opul

atio

n

Time (number of generations)

Page 42: Evolutionary Computation

Bes

t fitn

ess

in p

opul

atio

n

Time (number of generations)

Progress in 1st half

Progress in 2nd half

Are long runs beneficial?

• Answer: - it depends how much you want the last bit of progress - it may be better to do more shorter runs

Page 43: Evolutionary Computation

T: time needed to reach level F after random initialisation

TTime (number of generations)

Bes

t fitn

ess

in p

opul

atio

n

F: fitness after smart initialisationF

Is it worth expending effort on smart initialisation?

• Answer : it depends: - possibly, if good solutions/methods exist.- care is needed

Page 44: Evolutionary Computation

Basic Evolution Strategy

1. Generate some random individuals2. Select the p best individuals based on

some selection algorithm (fitness function)

3. Use these p individuals to generate c children

4. Go to step 2, until the desired result is achieved (i.e. little difference between generations)

Page 45: Evolutionary Computation

Many Variants of GA Different kinds of selection (not

roulette) Tournament Elitism, etc.

Different recombination Multi-point crossover 3 way crossover etc.

Different kinds of encoding other than bitstring Integer values Ordered set of symbols

Different kinds of mutation

Page 46: Evolutionary Computation

A Combination Operator for Expressions

Page 47: Evolutionary Computation

Encoding Individuals are encoded as vectors

of real numbers (object parameters) op = (o1, o2, o3, … , om)

The strategy parameters control the mutation of the object parameters sp = (s1, s2, s3, … , sm)

These two parameters constitute the individual’s chromosome

Page 48: Evolutionary Computation

Fitness Functions Need a method for determining if one

solution is more optimal than another Mathematical formula Main difference from genetic

algorithms is that only the most fit individuals are allowed to reproduce (elitist selection)

Page 49: Evolutionary Computation

Forming the Next Generation

Number of individuals selected to be parents (p) too many: lots of persistent bad traits too few: stagnant gene pool

Total number of children produced (c) limited by computer resources more children faster evolution

Page 50: Evolutionary Computation

Mutation Needed to add new genes to the

pool optimal solution cannot be reached if

a necessary gene is not present bad genes filtered out by evolution

Random changes to the chromosome object parameter mutation strategy parameter mutation

changes the step size used in object parameter mutation

Page 51: Evolutionary Computation

Discrete Recombination Similar to crossover of genetic

algorithms Equal probability of receiving each

parameter from each parent(8, 12, 31, … ,5) (2, 5, 23, … , 14)

(2, 12, 31, … , 14)

Page 52: Evolutionary Computation

Intermediate Recombination

Often used to adapt the strategy parameters

Each child parameter is the mean value of the corresponding parent parameters

(8, 12, 31, … ,5) (2, 5, 23, … , 14)

(5, 8.5, 27, … , 9.5)

Page 53: Evolutionary Computation

Evolution Process p parents produce c children in

each generation Four types of processes:

p,c p/r,c p+c p/r+c

Page 54: Evolutionary Computation

p,c p parents produce c children using

mutation only (no recombination) The fittest p children become the

parents for the next generation Parents are not part of the next

generation c p p/r,c is the above with

recombination

Page 55: Evolutionary Computation

Forming the Next Generation

Similar operators as genetic algorithms mutation is the most important

operator (to uphold the principal of strong causality)

recombination needs to be used in cases where each child has multiple parents

The parents can be included in the next generation smoother fitness curve

Page 56: Evolutionary Computation

p+c p parents produce c children using

mutation only (no recombination) The fittest p individuals (parents or

children) become the parents of the next generation

p/r+c is the above with recombination

Page 57: Evolutionary Computation

Tuning a GA “Typical” tuning parameters for a small

problem

Other concerns population diversity ranking policies removal policies role of random bias

Population size: 50 – 100Children per generation:

= population size

Crossovers: 0 – 3Mutations: < 5%Generations: 20 – 20,000

Page 58: Evolutionary Computation

Domains of Application

Numerical, Combinatorial Optimization

System Modeling and Identification Planning and Control Engineering Design Data Mining Machine Learning Artificial Life

Page 59: Evolutionary Computation

Drawbacks of GA Difficult to find an encoding for a

problem Difficult to define a valid fitness

function May not return the global

maximum

Page 60: Evolutionary Computation

Why use a GA? requires little insight into the problem the problem has a very large solution space the problem is non-convex does not require derivatives objective function need not be smooth variables do not need to be scaled fitness function can be noisy (e.g. process

data) when the goal is a good solution

Page 61: Evolutionary Computation

When NOT to use a GA? if global optimality is required if problem insight can:

significantly impact algorithm performance simplify problem representation

if the problem is highly constrained if the problem is smooth and convex

use a gradient-based optimizer if the search space is very small

use enumeration

Page 62: Evolutionary Computation

Taxonomy

N eura lN etw orks

EvolutionaryProgram ming

EvolutionStrategies

GeneticA lgorithm s

GeneticProgram ming

EvolutionaryA lgorithm s

FuzzySystem s

C O M PU TATION ALIN TELLIGEN C E

orSOFT C OM PU TING

Page 63: Evolutionary Computation

What are the different types of EAs Historically different flavours of EAs have been

associated with different representations Binary strings : Genetic Algorithms Real-valued vectors : Evolution Strategies Finite state Machines: Evolutionary Programming LISP trees: Genetic Programming

These differences are largely irrelevant, best strategy

choose representation to suit problem choose variation operators to suit representation

Selection operators only use fitness and so are independent of representation

Page 64: Evolutionary Computation

Some GA Application TypesDomain Application TypesControl gas pipeline, pole balancing, missile evasion, pursuit

Design semiconductor layout, aircraft design, keyboardconfiguration, communication networks

Scheduling manufacturing, facility scheduling, resource allocation

Robotics trajectory planning

Machine Learning designing neural networks, improving classificationalgorithms, classifier systems

Signal Processing filter design

Game Playing poker, checkers, prisoner’s dilemma

CombinatorialOptimization

set covering, travelling salesman, routing, bin packing,graph colouring and partitioning