Evolutionary algorithms

libyantawdryAI and Robotics

Oct 23, 2013 (4 years and 17 days ago)

81 views


Prepared by

Barış GÖKÇE

1


Search Methods


Evolutionary Algorithms (EA)


Characteristics of EAs


Genetic Programming (GP)


Evolutionary Programming (EP)


Genetic Algorithms (GA)


Evolutionary Strategies (ES)


Summary


References

2


Search is very comman problem which is
included nearly all types of problems.


It is as difficult for computers as for humans.


In general, domain space is very huge, and it is
impossible to make a search by trying all
possible configurations.


There are many search methods which use
different heuristics.


3

4


A type of Guided Random Search


Used for optimization problems


Based on the idea of biological evolution


The power of the evolutionary algorithms is
limited by the lack of a clear genotype
-
phenotype distinction.


It has its own parameters.


EAs are known as global optimization methods
which work well on ‘noisy’ functions which
have many local optima

5


Parameters of EAs may differ from one type to
another. Main parameters:


Population size


Maximum number of generations


Elitism factor


Mutation rate


Cross
-
over rate


There are six main characteristics of EAs


Representation


Selection


Recombination


Mutation


Fitness Function


Survivor Decision

6


t:=0;


InitPopulation(P,t);


EvaluateFitness(P,t);


while not terminate(P,t)


begin


t:=t+1;


SelectParents(P,Ps);


Recombine(Ps);


Mutate(Ps);


EvaluateFitness(Ps,t);


Survive(P,Ps);


end;

7


Representation:


How to define an individual


The way to store the optimization parameters.


Determined according to the problem.


Different types:


Binary representation


Real
-
valued representation


Lisp
-
S expression representation


Selection


Used to determine parents used to generation of next
population


Some types:


Truncation selection


Roulette wheel selection


Tournament selection


Neighborhood selection

8


Recombination


Determines how to combine the genes of selected parents


Types is determined according to the representation. These types:


Bits of the genes


Values of the genes


Mutation


Change on a single gene of the individual


Types is determined according to the representation. These types:


Switching bits


Updating the value of the gene


Fitness Function


Gives an intuition about how good the individual is.


Depends on directly to the problem


Survivor Decision


Idea of survival of the best individuals. It is about Elitism factor.


Usage of it is not advised. In general, overall best individual is
stored as a different individual not to loose reached best parameter
set, but they are not used during other operations.

9


It is used to find the proper program for given
problem.


It requires very high computation power, so it
is suitable for only simple problems.


There is no comman representation. But the
most famous representation is the Lisp
expression.


While the main operator is the cross
-
over,
mutation is used as secondary operator.

10


Cross
-
over method is to replace a gene of the
individual with that of another individual.
Individual pairs are selected randomly.


Mutation can be applied to only one of the
genes or to whole individual.


Meta
-
Genetic Programming is like to find the
program which finds the program. Even the
GP is suitable for simple problems, Meta
-
Genetic Programming is suitable for simpler
problems

11


Because genetic programming and meta
-
genetic programming are suitable relatively
simpler problems, there are not enough
samples for this type of algorithm.


Especially meta
-
genetic algorithm is a new
research area, so documentation on this
method is very sparse.


A good sample for genetic programming is:

http://alphard.ethz.ch/gerber/approx/default.html

12


There is no fixed structure for representation.


There is only mutation operation, and cross
-
over is not used in this method.


Each child is determined by its parent in a way
of mutation.


So, we can conclude that there are three steps:


Initialize population and calculate fitness values for
initial population


Mutate the parents and generate new population


Calculate fitness values of new generation and
continue from the second step.

13


Mutation is at a very critical point, because it is
the only method which leads to the variation.


Main application areas:


Cellular design problems.


Constraint optimization


Testing students’ code


......


Not a widely used evolutionary algorithm,
because the variation between individuals is
very small and the convergence speed is not
enough.

14


It is used to find an optimum parameter set by
using the randomness.


It can be classified as global search heuristics,
because it uses many evolutionary biology
techniques, and randomness helps it to find
optimum parameter set.


Individuals are represented by byte arrays. So,
it is not feasible for real
-
valued application.
Gray coding is a very popular representation.


Genetic representation of solution domain and
fitness function are the two requirements of the
GA.

15


Main operator of the GA is the cross
-
over. Cross
-
over method:



a pool is constructed from the parents.


During the generation of next population, pairs are
selected from that pool


Children are generated by the application of cross
-
over.


Mutation is the background operation. It is applied
to the children which are generated by cross
-
over.
Methods of the mutation are as follows:


One point


Two point


Cut and splice


16


Most popular selection algorithms for GA are
roulette wheel selection and tournament
selection.


Fitness function of GA is the scaled fitness
function.


GA is not effective in problems which the
fitness values of individuals are calculated as 1
or 0.


Samples:

http://homepage.sunrise.ch/homepage/pglaus/gentore.htm

http://www.ads.tuwien.ac.at/raidl/tspga/TSPGA.html


17


This method is used for nearly all types of
problems. Some of them are:


Scheduling


Timetabling


Face recognition


NLP


Distributed computer network topologies


Learning robot behavior


Molecular structure optimizationGait


Software Engineering


Traveling Salesman Problem

18


Main property of ES is the usage of the real
-
vectors as coding representation.


ES uses many operands which are based on
randomness; selection, cross
-
over and
mutation.


ES is a very flexible technique in the view of
the operands. Functionality of operands are
determined according to the problem
definition.


19


Representation: It allows us to represent
floating. By this way, search is done on the
continuous domain space. In addition to the
floating point representation, real
-
vector
representation can be used.


Selection: In selection, neighborhood method is
applied.
There are two different types of ES

according to the selection set*:


plus selection (both parent and child)


comma selection (only parent)


Fitness function: Not scaled. It is calculated as
objective function values.

20


Recombination & Mutation: These operands
are very similar to the those of GA. The main
difference is that mutation amount is not
constant in ES. There are additional
parameters, sigma, which are used as the
mutation amount of the original mutation
amount. So, the mutation amount also gets
closer to the optimum value.


As recombination function, three main
functions can be used:


Arithmetic mean of the parents


Geometric mean of the parents


Discrete cross
-
over method.

21


Pseudocode of the ES is as follows:



generationNumber

= 0;



initialization (β
0
);



while ( !
stoppig_criteria

)


for ( l = 0; l< λ ; l++)


Ώ
l

= reproduction (
β
g

, ρ );


s
l

=
s_recombination

(
Ώ
l
, ρ );


s
l
' =
s_mutation

(
s
l

);


y
l

=
y_recombination

(
Ώ
l
, ρ );


y
l
' =
y_mutation

(
y
l


);


F
l

= F(
y
l
');



β
g
' = {
y
l
',
s
l
', F
l

};


switch
selection_type


case comma
-
selection:


β
g+1
' = selection(
β
g
' );


break;


case plus
-
selection:


β
g+1
' = selection(
β
g
',
β
g

);


break;


g = g + 1;

22


where β
n

represents the parents of n
th

population,


β
n
' represents the offsprings of n
th

population,


Ώ
l
represents the offsprings after cross over process,


s
l

represents the sigma values of the offspring l,


s
l
' represents the mutated sigma values of the
offspring l,


y
l

represents the genes of the offspring l,


y
l
' represents the mutated genes of the offspring l.


g represents the generation number.


23


There are many application areas of the ES.
Some of them:


The
Quadruped

Gait parameter optimization


Optimization of Road Networks


Local Minority Game


Multi
-
Criterion Optimization


Optical Fibre Design


.....

24

25


Informed Search Algorithms slayts of the course CmpE 540.


http://en.wikipedia.org/wiki/Evolutionary_algorithm


http://www.cs.sandia.gov/opt/survey/ea.html


http://www.faqs.org/faqs/ai
-
faq/genetic/part2/section
-
3.html


http://en.wikipedia.org/wiki/Genetic_programming


http://alphard.ethz.ch/gerber/approx/default.html


http://en.wikipedia.org/wiki/Evolutionary_programming


http://en.wikipedia.org/wiki/Genetic_algorithm


http://homepage.sunrise.ch/homepage/pglaus/gentore.htm


http://www.ads.tuwien.ac.at/raidl/tspga/TSPGA.html


http://en.wikipedia.org/wiki/Evolution_strategy

26

?

27