Title: Introduction to Evolutionary Computation
1Introduction to Evolutionary Computation
- Cheng-Hsiung Chiang, Assistant ProfessorDepartmen
t of Information ManagementHsuan Chuang
University - Class E-mail chiang_at_imd.cc
- Class Homepage www.hcu.edu.tw/chchiang/Course/co
urse.htm
2Outlines
- What is evolutionary computation?
- Brief history of EC
- Taxonomy of EC
- Basic function of EC
- Applications of EC
- Advantages and disadvantages of EC
3What is evolutionary computation?
- Evolutionary computation simulates evolution on a
computer. The result of such a simulation is a
series of optimization algorithms, usually based
on a simple set of characteristics the
equivalent of genome - Recall that optimization iteratively improves the
quality of solutions to some problem until an
optimal (or at least feasible) solution is found - Evolutionary Computation is the field of study
devoted to the design, development, and analysis
is problem solvers based on natural selection
(simulated evolution).
4A Brief Procedure of EC
- Procedure EC
- t 0
- Initialize Pop(t)
- Evaluate Pop(t)
- While (Not Done)
-
- Parents(t) Select_Parents(Pop(t))
- Offspring(t) Operating(Parents(t))
- Evaluate(Offspring(t))
- Pop(t1) Replace(Pop(t),Offspring(t))
- t t 1
-
CrossoverMutation, etc.
5A Brief History of EC? Four Types
- L. Fogel 1962 (San Diego, CA) Evolutionary
Programming - J. Holland 1962 (Ann Arbor, MI)Genetic
Algorithms - I. Rechenberg H.-P. Schwefel 1965 (Berlin,
Germany) Evolution Strategies - J. Koza 1989 (Palo Alto, CA)Genetic Programming
6Genetic Algorithms Genetic Programming
- Genetic algorithms (USA, 70s, Holland, DeJong)
- Typically applied to discrete optimization
- Attributed features
- not too fast
- good solver for combinatorial problems
- Special many variants, e.g., reproduction
models, operators - Genetic programming (USA, 90s, Koza)
- Typically applied to machine learning tasks
- Attributed features
- competes with neural nets and alike
- slow
- needs huge populations (thousands)
- Special non-linear chromosomes trees, graphs
7Evolution Strategies Evolutionary Programming
- Evolution strategies (Germany, 70s, Rechenberg,
Schwefel) - Typically applied to numerical optimization
- Attributed features
- fast good optimizer for real-valued
optimization - relatively much theory
- Special self-adaptation of (mutation) parameters
standard - Evolutionary programming (USA, 60s, Fogel et
al.) - Typically applied to machine learning (old EP),
optimization - Attributed features very open framework any
representation and mutation ops OK - Special
- no recombination
- self-adaptation of parameters standard
(contemporary EP)
8The Generations of EC
- First Generation EC
- EP (Fogel)
- GA (Holland)
- ES (Rechenberg, Schwefel)
- EP (Fogel et al.)
- Second Generation EC
- Genetic Evolution of Data Structures
(Michalewicz) - Genetic Evolution of Programs (Koza)
- Hybrid Genetic Search (Davis)
- Tabu Search (Glover)
9The Generations of EC
- Third Generation EC
- Artificial Immune Systems (Forrest)
- Cultural Algorithms (Reynolds)
- DNA Computing (Adleman)
- Ant Colony Optimization (Dorigo)
- Particle Swarm Optimization (Kennedy Eberhart)
- Memetic Algorithms
- Estimation of Distribution Algorithms
- Fourth Generation ????
10Taxonomy of EC
Belongs to Artificial Intelligence
11Basic function of EC
12Components Representation / individuals (1)
- Individuals have two levels of existence
- phenotype object in original problem context,
the outside - genotype code to denote that object, the inside
phenotype
genotype
The link between these levels is called
representation
13Components Representation / individiuals (2)
Genotype space
Phenotype space
Encoding (representation)
R 0 c 0 1 c d
B 0 c 0 1 c d
G 0 c 0 1 c d
Decoding (inverse representation)
14Components selection
- Role
- Gives better individuals a higher chance of
- becoming parents
- surviving
- Pushes population towards higher fitness
E.g. roulette wheel selection
15Components Mutation
Role causes small (random) variance
16Components Recombination
Role combines features from different sources
17Applications of EC
- Aircraft Design
- Routing in Communications Networks,
- Tracking Windshear,
- Game Playing
- Robotics
- Air Traffic Control
- Design
- Scheduling
- Machine Learning
- Pattern Recognition
- Market Forecasting
- Egg Price Forecasting
- Design of Filters
- Barriers
- Data-Mining
- User-Mining
- Resource Allocation
- Path Planning
- Job Shop Scheduling
- VLSI Circuit Layout
- Strike Force Allocation
18Advantages of EC
- No presumptions w.r.t. problem space without
math. model - Widely applicable
- Low development application costs
- Easy to incorporate other methods
- Solutions are interpretable (unlike NN)
- Can be run interactively, accommodate user
proposed solutions - Provide many alternative solutions
19Disadvantages of EC
- No guarantee for optimal solution within finite
time - Weak theoretical basis
- May need parameter tuning
20????? ???