Title: Evolutionary Algorithms
1Evolutionary Algorithms
An Introduction
"Genetic algorithms are based on a biological
metaphor They view learning as a competition
among a population of evolving candidate problem
solutions. A 'fitness' function evaluates each
solution to decide whether it will contribute to
the next generation of solutions. Then, through
operations analogous to gene transfer in sexual
reproduction, the algorithm creates a new
population of candidate solutions."
Matthias Trapp, Diploma Student - Computer
Science, Theoretical Ecology Group - University
of Potsdam, Stanislaw Lem Workshop on Evolution
10.-14. October - Lviv 2005, trapp.matthias_at_freene
t.de
2Agenda
- Introduction
- Structure of an EA
- Genetic Operators
- Classification
- Implementation
- Discussion
3Introduction
4Motivation - The Problem(s)
- Global optimization problem
- Function has many local optima
- Function is changing over time
- Function have many parameters
- ? very large search space
- Combinatorial problems / Data Mining
- Classical NP-hard problems
- TSP
- SAT
5Overview Application Domains
6Evolution and Problem Solving
- Algorithm Automated Problem Solver
- Broad Scope Natural Computing
- Family of algorithms which mimickingnatural
processes - Neural Networks
- Simulated Annealing
- DNA Computing
- Evolutionary Algorithms
Evolution vs. Problem Solving
Environment ?? Problem
Individual ?? Candidate Solution
Fitness ?? Quality
Approximation ?? Optimization
7Evolutionary Algorithms
- EAs are adaptive heuristic search algorithms
- Metaphor trail and error (a.k.a generate and
test) - EAs are inspired by Darwin's theory of evolution
- problems are solved by an evolutionary
process resulting in a best (fittest) solution
(survivor) from a population of solution
candidates - EAs has been successfully applied to a wide range
of problems - Aircraft Design, Routing in Communications
Networks, Tracking Windshear, Game Playing,
Robotics, Air Traffic Control, Design,
Scheduling, Machine Learning, Pattern
Recognition, Job Shop Scheduling, VLSI Circuit
Layout, Strike Force Allocation, Market
Forecasting,Egg Price Forecasting, Design of
Filters and Barriers, Data-Mining, User-Mining,
ResourceAllocation, Path Planning, Theme Park
Tours
8Characteristics
- Differences to classical algorithms/optimization
methods - EAs search a set of possible solutions in
parallel - EAs do not require derivative information
- EAs use probabilistic transition rules
- EAs are generally straightforward to apply
- EAs provide a number of potential solutions
- EAs are able to apply self-adaptation
? Another useful hammer ?
? If yes, then how can that be achieved ?
9Structure of an EA
10EA Components
- Representation mechanism (definition of
individuals) - Evaluation function (or fitness function)
- Population as container data structure
- Parent/Survivor selection mechanism
- Variation operators (Recombination, Mutation)
- Initialization procedure / Termination condition
11General Schema EA
Evolutionary Search (Flow Chart Model)
12General Schema EA
Evolutionary Search (Pseudo Code)
procedure EA t 0 Initialize(Pop(t))
Evaluate(Pop(t)) while(!TerminalCondition(Pop(t
)) Parents(t) ParentSelection(Pop(t)) Off
spring(t) Recombination(Parents(t)) Offspring(
t) Mutation(Offspring(t)) Evaluate(Offspring(t
)) Pop(t1) Replace(Pop(t),Offspring(t)) t
t 1
13Representation x E(D(x))
- Mapping Problem context ?Problem solving space
- Phenotype space P (candidate solution,individuals)
- Genotype space G (chromosomes, individuals)
- Encoding E P ? G
- Decoding D G ? P
- Encoding Technical representation of individuals
- GABinary Encoding (1110110000100) 7556
- ES Valued vectors (ABDJEIFJDHDIE)(1365
78924) - EP Finite state machines
-
- GP Tree of objects (LISP)
(IF_THEN_ELSE(gt x 0)(SetX(( x 3) (- 4
y)))(SetY( x (- y 1))))
14Population P(t) x1t,..., xnt
- Multi-set of genotypes unit of evolution
- Invariants
- Population Size n
- static (common)
- dynamic (unusually)
- Non-overlapping (Simple GA)
- entire population is replaced each generation
- Overlapping (Steady-State GA)
- few individuals are replaced each generation
- Sometimes associated with spatial structure
- Diversity number of different solutions in P(t)
- Multi-Population approaches (Pohlheim, 1995)
15Genetic Operators
16Selection/Sampling Operators
- Distinguish between parent and survivor selection
- Typically probabilistic work on population level
- Use fitness assignment of solution candidates
- Role pushing quality improvement
- Generational selection vs. steady-state selection
- Common steady state selection methods
Elitist Selection Roulette Wheel Selection Tournament Selection Scaling Selection Rank Selection Fitness-proportionate Selection Hierarchical Selection Boltzmann Selection Remainder stochastic sampling Stochastic uniform sampling
17Mutation Operator mi G? G
- Unary operator, always stochastic
- Bit-Strings Bit-flips (00101) ? (10101)
- Tree
- Sub tree destructive
- Sub tree/Node swap
- List
- Generative/Destructive
- Node/Sequence Swap
- Array
- Destructive
- Element Flip/Swap
18Recombination ci G G ? G
- Inherit genotype traits, typically stochastic
- Often binary operator Offspring Sex(Mum, Dad)
- Bit-Strings
- k-Point Recombination
- Uniform Recombination
- Genetic Programming(seldom used)
19A Simple Example
EA for Knapsack Problem
Representation 0,1n
Recombination 1-Point Crossover
Recombination probability 70
Mutation Uniform Bit-Flip
Mutation probability pm 1/n
Parent selection Best out of random two
Survival selection Generational
Population size 500
Number of offspring 500
Initialization Random
Termination condition No improvement in last 25 generations
20Effects of Genetic Operators
- Selection alone will tend to fill the population
with copies of the best individual - Selection and crossover operators will tend to
cause the algorithms to converge on a good but
sub-optimal solution - Mutation alone induces a random walk through the
search space. - Selection and mutation creates a parallel,
noise-tolerant, hill-climbing algorithm
21Terminal Conditions
- Discovery of an optimal solution (precision e gt
0), - Discovery of an optimal or near optimal solution,
- Convergence on a single or set of similar
solutions, - A user-specified threshold has been reached,
- A maximum number of cycles are evaluated,
- EA detects the problem has no feasible solution
? often disjunction of different conditions
22Classification
23Classification - Overview
- 1948 Alan Turing genetically or evolutionary
search - gt1950 Idea
- simulate evolution to solve engineering and
design problems - Box, 1957
- Friedberg, 1958
- Bremermann, 1962
24Genetic Algorithms (GA)
- By Holland (1975), USA
- concerned with developing robust adaptive systems
- Initially as abstraction of biological evolution
- Use of bit-strings for solution representation
- First EA which uses recombination
- Recombination seen as main operator
- very successful for combinatory optimization
problems
25Evolutionary Strategies (ES)
- By Rechenberg (1973), Schwefel (1981), Germany
- Parameter optimization of real-valued functions
- Accentuation on mutation
- Selection (µ Parents, ? Offspring)
- (µ, ?) choose fittest of ? gt µ offspring
- (µ ?) choose fittest of ? µ solutions
- Recombination (u,v parent vectors, w child
vector) - More soon (Implementation Example)
26Evolutionary Programming (EP)
- By Fogel, Owens, and Walsh (1966), USA
- Application Artificial Intelligence,
- Initially for evolution of finite-state machines,
- Using mutation and selection,
- Later applications to mainly real-valued
functions - Strong similarity to evolutionary strategies
Example Prediction of binary cycles
27Genetic Programming (GP)
- Koza (1992), developed to simulate special
functions - Application Function fitting f(x)
-
- Using parse trees of Terminal and Non-Terminals
- Assumptions
- Completeness
- Seclusion
- Problems
- Variable count
- Variable types
28Implementation and Software
void garank(void) fitness_struct temp int
pos calc_fitness() for (int pass1
passltPOP_SIZE pass) temp
rankingspass pos pass while ((pos gt 0)
temp.fitness lt rankingspos-1.fitness)
rankingspos rankingspos-1 --pos
rankingspos temp best_sol
rankings0.fitness worst_sol
rankingsPOP_SIZE-1.fitness if (best_sol lt
best_overall) best_overall best_sol if
(worst_sol gt worst_overall) worst_overall
worst_sol
29Another Simple Example
- Search Space
- Evolutionary strategy
- Solution candidate (no encoding necessary)
-
- Fitness-Function
-
- Parent selection Elitist
- Recombination 1-Point, fixed
- Non-overlapping population
? Hybrid approach evolutionary strategy and
genetic program
30Applying Self-Adaptation
- Evolution of the Evolution
- Self-adaptation specific on-line parameter
calibration technique - Random number from Gaussian
distribution with zero mean and standard
deviation s - Mutation operator
- Extending the candidate representation
31Working of an EA
- Distinct search phases
- Exploration
- Exploitation
- Trade-Off between exploration and exploitation
- Inefficient search vs. Propensity to quick search
focus - Premature Convergence climbing the wrong hill
- Losing diversity ? Converge in local optimum
- Techniques to prevent this well-known effect
- Any-time behaviour
32Multiobjective EA
- Multiobjective GA (MOGA)(Fonseca und Fleming
(1993)), - Niched Pareto GA (NPGA)(Horn und Nafpliotis
(1993)), - Nondominated Sorting GA (NSGA-II)(Deb u. a.
(2000)) , - Strength Pareto EA (SPEA)(Zitzler und Thiele
(1998)), - Strength Pareto EA (SPEA2)(Zitzler u. a. (2001))
33Parallel Implementation of EA
- Subpopulation on MIMD (Belew and Booker (1991))
- Decrease of execution time
- Migration Model
- Unrestricted migration
- Ring migration
- Neighbourhood migration
- Global Model (Worker/Farmer)
- Diffusion Model
- handles every individual separately
- selects the mating partner in a local
neighbourhood - diffusion of information takes place
34API Comparison
Name Language Licence Target
PGAPack Fortran / C Freeware All
EO C GNU LGPL All
GALib C BSD Lnx,Win
GAGS C Freeware Lnx,Win
JAGA Java Freeware All
JGAP Jave Freeware All
35Discussion
36EA Advantages
- Applicable to a wide range of problems
- Useful in areas without good problem specific
techniques - No explicit assumptions about the search space
necessary - Easy to implement
- Any-time behaviour
..is a good designer of complex structures that
are well adapted to a given environment or task.
37EA Disadvantages
- Problem representation must be robust
- No general guarantee for an optimum
- No solid theoretically foundations (yet)
- Parameter tuning trial-and-error Process(but
self-adaptive variants in evolution strategies) - Sometimes high memory requirements
- Implementation High degree of freedom
38Summary
an EA is the second best algorithm for any
problem
- EAs are different from classical algorithms
- Less effort to develop an EA which
- Delivers acceptable solutions,
- In acceptable running time,
- Low costs of men and time
- EAs are distributable (Belew and Booker (1991))
- Subpopulations on MIMD,
- Via network
- EAs are easy to implement
In order to make evolutionary computing work
well, there must be a programmer that sets the
parameters right.
39Thank You !
Questions, Concerns, Comments, Sarcasm,
Insults
40Sources
- Spears, W. M., De Jong, K. A., Bäck, T., Fogel,
D. B., and de Garis, H. (1993). An Overview of
Evolutionary Computation, The Proceedings of the
European Conference on Machine Learning, v667,
pp. 442-459. - A.E. Eiben, Evolutionary computing the most
powerful problem solver in the universe? - Zbigniew Michalewicz, Genetic Algorithms Data
Structures Evolution Programs, Springer, 1999,
3-540-60676-9 - Lawrence J. Fogel, Alvin J. Owens, Michael J.
Walsh Artificial intelligence through simulated
evolution, Wiley Verlag 1966 - John R. Koza Genetic Programming on the
programming of computers by means of natural
selection, MIT Verlag 1992