x - School of Computer Science and Software Engineering

pumpkincentersulkyΒιοτεχνολογία

16 Δεκ 2012 (πριν από 4 χρόνια και 9 μήνες)

159 εμφανίσεις


Andrew
Cannon

Yuki Osada

Angeline Honggowarsito

Contents

What are Evolutionary Algorithms (EAs
)?

Why are EAs Important?

Categories of EAs

Mutation

Self
Adaptation

Recombination

Selection

Application

Evolutionary
Algorithms

Search methods that mimic the process of natural
evolution

Principle of
“Survival of the Fittest”

In each
generation, select the fittest parents

Re
-
combine those parents to produce new
offspring

Perform mutations on
the new
offspring

Why
are EAs
Important?

Flexibility

Adaptable Concept to Problems

Problem examples:
Travelling Salesman,
Knapsack, Trading Prediction in Stock Market,
etc
.

Algorithms to solve those problems are either too
specialised or too
generalised

Categories
of
EAs

Genetic Algorithms

Evolutionary Strategies

Evolutionary
Programming

Genetic Programming

More similarities than
differences

Genetic
Algorithms

In 1950s, Biologists
used computers
for biological
system simulation.

First introduced in 1960s by John Holland from
the
University
of Michigan

Modeling
Adaptive Process

Designed to solve discrete/integer optimization
problem

Genetic
Algorithms

Operate
on Binary Strings, binary as the
representation of individuals

Applying
recombination
operator with mutation as
background operator

Evolutionary
Strategies

First developed by Rechenberg in 1973

Solved parameter optimization
problems

Individuals
represented
as a pair
of float
-
valued
vectors

Apply both
recombination
and
self adaptive
mutation

Evolutionary
Strategies

Similar
to
Genetic
Algorithms
in
recombination
and
mutation
processes

Differences with Genetic
Algorithms

Evolutionary Strategies
are
better
at
finding local
maximum while Genetic
Algorithms are
more
suitable
at
finding global
maximum

Thus, Evolutionary Strategies
are
faster than
Genetic
Algorithms

Evolutionary Strategies
are
represented as real
number vector while
GAs are
represented using
bitstrings

Evolutionary
Programming

Developed by Lawrence Fogel in 1962

Aimed at evolution of Artificial Intelligence in
developing ability to predict changes in
environment


Use Finite State Machine for prediction

Evolutionary
Programming

Predict output of 011101 with
initial state C, produce

output of 110111

No recombination

Representation based on real
-
valued
vectors

1/1

0/0

0/c

0/1

1/1

1/0

A

B

C

Genetic
Programming

Developed by Koza to allow the program to
evolve by itself during the evolution process

Individuals are represented by Tree or
Graphs

Genetic
Programming

Different from GA,ES,EP where representation
is linear (bit strings and real value vectors),
Tree is non
-
linear

Size depend on Depth and Width, while other
representations have a
fixed
size

Only requires crossover OR
mutation

Mutation

Binary Mutation:

Flipping the bits, as there
are
only two states of
binary values : 0 and
1

Mutating (0,1,0,0,1) will produce (1,0,1,0,1)

Mutation

Real Value Mutation:

Randomly created value added to the variables
with some predefined mutation rate


Mutation rate and Mutation step need to be
defined

Mutation rate is inversely proportional to the
number of variables (dimensions
)

Sources & References

Eiben A.E 2004, “What is Evolutionary Algorithm”,
Available from: <http://www.cs.vu.nl/~gusz/ecbook/Eiben
-
Smith
-
Intro2EC
-
Ch2.pdf>.[29 August 2012 ].

Michalewicz, Z., Hinterding, R., and Michalewicz, M.,
Evolutionary Algorithms,

Chapter 2 in Fuzzy Evolutionary
Computation, W. Pedrycz (editor), Kluwer Academic, 1997.

T. Bäck, U. Hammel, and H.
-
P. Schwefel, “Evolutionary
computation: comments on the history and current state”,
IEEE Transactions on Evolutionary Computation 1(1), 1997

X. Yao, “Evolutionary computation: a gentle introduction”,
Evolutionary Optimization, 2002

Whitley, D 2001, “An Overview of Evolutionary Algorithm:
Practical Issues and Common Pitfalls”, Information and
Software Technology, vol.43, pp. 817
-
831


Self Adaptation


Don’t know what values to assign to parameters


so let
them evolve!


Population consisting of real vectors

x

= (x
1
,x
2
,…,x
n
)


We produce offspring by adding random vectors to
them

Step Size


Schwefel (1981): add vectors whose components are
Gaussian random variates with mean 0


What standard deviation should be used?


The standard deviation evolves as the algorithm is
running

Step Size


Represent entities as (
x
,
s
)


the individual itself (
x
)
and a step vector (
s
)


We start by producing an offspring
s’

from
s
:




s
i
’ = s
i
exp
(c
n
-
1/2
N
(0,1)

+ d
n
-
1/4
N
i
(0,1)
)






n = generation number, c,d>0 constants


We produce an offspring
x’

from
x
:


x
i
’ = x
i

+ s
i

N
i
(0,1)

Self Adaptation


Other parameters can evolve using similar ideas


Sources:

Bäck
T, Hammel, U & Schwefel, H
-
P 1997, ‘
Evolutionary computation:
comments on the history and current state’,
IEEE Transactions on
Evolutionary Computation
, vol. 1, no. 1, pp. 3
-
17. Available from: IEEE
Xplore Digital Library [23
rd

August 2012].


Beyer, HG 1995, ‘Toward a Theory of Evolution Strategies: Self
-
Adaptation’,
Evolutionary Computation
, vol. 3, no. 3, pp. 311
-
348.


Saravanan, N, Fogel, DB & Nelson, KM 1995, ‘A comparison of methods for
self
-
adaptation in evolutionary algorithms’,
BioSystems
, vol. 36, no. 2, pp.
157
-
166. Available from: Science Direct [26
th

August 2012].



Schwefel, H
-
P 1981,
Numerical Optimization of Computer Models
,

Wiley,
Chichester.

Recombination


Produce offspring from 2 or more entities in the
original population


Most easily addressed using bitstring representations

One
P
oint Crossover


Entities are represented in the population as bitstrings
of length
n


Randomly select a crossover point
p

from 1 to
n

(inclusive)


Take the substring formed by the first
p

bits of the first
string and append to it the last
n
-
p

bits of the second
string to give offspring

One
P
oint Crossover


Bitstrings of length 8:

01011100 and 00001111


Choose crossover point of 6


Take the first 6 bits from
010111
00


Take the last 2 bits from 000011
11


Form the offspring
010111
11

Uniform Crossover


Form a new offspring from 2 parents by selecting bits
from each parent with a particular probability


For example, given strings:

11001011 and 01010101


Select bits from the first string with probability ½

Uniform Crossover


Rolled a die 8 times: 2, 3, 6, 6, 3, 1, 3, 5


Whenever the result is 3 or less, take a bit from the
first string, otherwise, take a bit from the second
string:

23
66
313
5 23
66
313
5

11
00
101
1 and 01
01
010
1


Produce offspring:
11
01
101
1


Other Variants


Multiple crossover points


Multiple parents


Probabilistic application



Source:

Bäck T, Hammel, U & Schwefel, H
-
P 1997, ‘
Evolutionary
computation: comments on the history and current state’,
IEEE
Transactions on Evolutionary Computation
, vol. 1, no. 1, pp. 3
-
17.
Available from: IEEE Xplore Digital Library [23
rd

August 2012].


Selection


How individuals and their offspring from one
generation are selected to fill the next generation


May be probabilistic or deterministic



Proportional Selection


Probabilistic method


Assume that fitness f(x)>0 for every entity x in the
population


p(y) = f(y) / (sum of f(x) for every x)

Tournament Selection


Probabilistic method


Select q individuals randomly from the population
with uniform probability


The best individual of this set goes into the next
generation


Repeat until the next generation is filled


(
μ
,
λ
)
-
Selection


Deterministic method


From a generation of
μ

individuals,
λ
>
μ

offspring are
produced


The next generation is produced from the
μ

fittest
individuals of the
λ

offspring


The fittest member of the next generation may not be
as fit as the fittest member of the previous generation


(
μ
+
λ
)
-
Selection


Deterministic method


From a generation of
μ

individuals,
λ

offspring are
produced


The next generation is produced from the
μ

fittest
individuals from the
μ
+
λ

parents and offspring


The fittest members will always survive


Selection


Best method (or methods) will be problem specific


Sources:

Bäck
T 1994, ‘
Selective pressure in evolutionary algorithms: a
characterization of selection mechanisms’,
Proceedings of the First
IEEE Conference on Evolutionary Computation
, pp. 57
-
62. Available
from: IEEE Xplore Digital Library [28
th

August 2012].


Bäck
T, Hammel, U & Schwefel, H
-
P 1997, ‘
Evolutionary computation:
comments on the history and current state’,
IEEE Transactions on
Evolutionary Computation
, vol. 1, no. 1, pp. 3
-
17. Available from: IEEE
Xplore Digital Library [23
rd

August 2012].

Travelling Salesman Problem (TSP)


Travelling salesman problem:


This is a hard problem (NP
-
hard, "at least as hard as
the hardest problems in NP
")


The
DP solution is
O(n
2
.2
n
)


Genes are a sequence representing the order that the
cities are visited
in


Example: [0 5 3 4 8 2 1 6 7 9
]

Crossover in TSP


A possible crossover: The greedy crossover.


"Greedy crossover selects the first city of one parent,
compares the cities leaving that city in both parents, and
chooses the closer one to extend the tour. If one city has
already appeared in the tour, we choose the other city. If
both cities have already appeared, we randomly select a
non
-
selected city."


Sources:


J. J. Grefenstetts, R. Gopal, B. Rosmaita, and D. Van Gucht.
Genetic Algorithms for the Traveling Salesman problem
. In
Proceedings of an International Conference on Genetic
Algorithms and Their Applications, pages 160

168, 1985
.

Mutation in TSP


A possible mutation: The greedy
-
swap.


"The basic idea of greedy
-
swap is to randomly select two
cities from one chromosome and swap them if the new
(swapped) tour length is shorter than the old one"


Sources:


S. J. Louis, R. Tang.
Interactive Genetic Algorithms for
the Travelling Salesman Problem.

Genetic Adaptive
Systems Lab, University of Neveda, Reno. 1999.

Applications


EAs are a very powerful computational
tool


EAs find application in:


bioinformatics


phylogenetics


computational
science


engineering


economics


chemistry


manufacturing


mathematics


physics and other
fields

Applications


Computer
-
automated design


Automotive design


Design composite materials and aerodynamic shapes to provide faster,
lighter, more fuel efficient and safer
vehicles


No
need to spend time in labs working with
models


Engineering design


Optimise the design of many tools/components ie.
turbines

Applications


Game playing


Sequence of actions can be learnt to win a
game


Encryption and code breaking


Telecommunications


DP problems:


Travelling salesman problem


Plan for efficient routes and scheduling for travel planners.


Knapsack problem

Sources

T. Bäck, U. Hammel, and H.
-
P. Schwefel,
“Evolutionary computation: comments on the
history and current state”, IEEE Transactions
on Evolutionary Computation 1(1), 1997

X. Yao, “Evolutionary computation: a gentle
introduction”, Evolutionary Optimization,
2002