Tutorial 2
Tutorial 2
Francisco Ferná
Fernández de Vega
Grupo de Evolució
Evolución Artificial
University of Extremadura (Spain)
http://gea.unex.es
Summary:
Introduction.
History.
Parallel GP.
The Island Model.
Successful Applications.
Future.
1
Summary:
Introduction.
History.
Parallel GP.
The Island Model.
Successful Applications.
Future.
Some considerations
Genetic Programming can be considered a Machine
Learning system:
“[machine learning] is the study of computer algorithms that
improve automatically through experience [Mitchell, 1996].
The emphasis is on learning (instead of on
knowledge).
The dream of computers that program themselves
[Samuel, 1963] could be reached soon.
Introduction 4
2
What’s Genetic Programming?
*Banzhaf, W., Nordin, P., Keller, R.E., Francone, F.D. Genetic Programming, an
Introduction. Morgan Kaufmann 1998. Introduction 5
As classified by Banzhaf et al
Introduction 6
3
How does an EA work
A summary:
T=0;
Initialize and evaluate [P(t)]
While not stop_condition do
P´(t)=variation [P(t)]
Evaluate P´(t)
P(t+1)=select [P´(t),P(t)]
T=t+1
end while
Introduction 7
Different
Reproduction
characters:
& Heredity
Genetic programming 8
4
How does GP work?
Genetic Operators:
•Crossover.
Functions
+ •Mutation.
* b
•Selection.
a -
•Reproduction.
b c
Terminals
GP Individual Fitness Function
Genetic programming 9
Genetic Programming
Crossover
point
+ +
* b a /
a - Subtrees to be b -
exchanged
b c b c
C
R After the operation
+
O +
* b a -
S a / b c
S b -
O b c
5
Genetic Programming
+
+
* b
* b
a /
a -
M Mutation
Point b c b -
U + c
Subtree to
T be deleted
a -
b c
A
T
New subtree
I ramdomly
generated
O
Genetic programming 11
N
Genetic Programming
Fitness
Function
S
Fitness
E
values
L
Selection
E
C
T
I
Genetic programming 12
O
6
Genetic Programming
f(x)
b(x) y(x)
…
g(x)
Genetic programming 13
Summary:
Introduction.
History.
Parallel GP.
The Island Model.
Successful Applications.
Future.
7
History
There are two main ideas behind Parallel
Eas:
Increase performances:
in principle, by adding processors, memory and
interconnection networks and putting them to work
together on a given problem.
Modifying the underlying algorithm can also help
in the finding of solutions.
History
8
History
Other researchers began more systematic
studies: Gross, Cohoon, Tanese, Pettey,
Georges-Schleter, Mühlenbein, and
Manderick*.
They studied Hypercubes parallel
architecture, distributed models, theoretic
models, island models, and cellular model.
Parallel GP 18
9
Taxonomy
Parallel EAs can be classyfied attending to different features.
M Nowostawski and R. Poli 1999:
Master/Worker: A single population and the fitness evaluation of
multiple individuals in parallel.
Static subpopulations with migration.
Static overlapping subpopulations without migration.
Massively Parallel genetic algorithms.
Dynamic demes.
Parallel Steady-state Ga
Parallel Messy Ga
Hybrid methods.
Taxonomy
M. Tomassini, 1999:
Global parallel evolutionary algorithm
(parallelization at the fitness level) also called by
the author master/worker model (coarse-grained
model).
Island distributed evolutionary algorithms
(population based approach).
Cellular evolutionary algorithm (fine-grained
model).
10
Structured EAs
Structured populations has been used for improving
EAs.
Two main types of algorithms:
Distributed EAs.
Cellular EAs.
On the oposite side, panmictic EA is the classic
model.
None of the models require a parallel
implementation.
Structured EAs
Subpopulation Individuals
Migrating Interactions
individuals among individuals
11
Nonstandard Structured EAs
We could use different
parameters/representations in different
subpopulations (Tanese, Lin & Punch & Goodman, Herrera &
Lozano & Moraga).
Summary:
Introduction.
History.
Parallel GP.
The Island Model.
Successful Applications.
Future.
12
Parallel Models
Master
Process
Parallel GP 25
Parallel Models
Individuals
Subpopulation
Migrating
individuals
Fine-grained model (also
called Grid or Cellular
model)
Parallel GP 26
13
Parallel GP: A review
Juillé and Pollack 1995 presented one of the first
attempts to parallelize GP.
They implemented a global model, although also
presented some result using sub-populations.
The proposal was somehow specific for the SIMD
model they were using.
One of their aims was to reduce interprocessor
communication.
Parallel GP 27
Parallel GP : A review
Parallel GP 28
14
Parallel GP : A review
Andre and Koza 1996 presented another Parallel
GP Implementation using a network of 66
transputers (VLSI device containing 32 bit on-chip processor, memory and links)
They employed the island-model.
An appropriate migration rate showed improvement
in the computational effort required for the Boolean
5-parity function.(64 demes, SubPop_size=500, Migration_rate=5%)
The main conclusion was that Parallel GP could
achieve super-linear speedups.
Parallel GP 29
Parallel GP : A review
K. Stoffel and L. Spector 1996, implemented a
parallel version of GP using linear programs
evaluated by means of a stack.
Several processors generate independently its own
segment of the next generation.
They implemented crossover in parallel: Individuals
from different processors may undergo crossover.
Parallel GP 30
15
Parallel GP : A review
Oussaidène et al 1997, presented a parallel
implementation of GP for trading model induction.
They employed the global model architecture
(parallelization at the fitness level), employing a
master/worker model, where each node from the
network is in charge of evaluating individuals comming
from a master node.
The master node is in charge of the main GP
algorithm.
The model may undergo a load imbalance problem.
Parallel GP 31
Parallel GP 32
16
Parallel GP : A review
Fernandez et al 1999, presented
experimental results on an island-model
implementation of GP.
Although results were preliminar, this is the
first time some important parameters of the
island-model are tested (communication
topology).
Parallel GP 33
Parallel GP : A review
Folino et al, 2000, presented a new
implementation of GP using the cellular
model.
Fernández et al, 2000, studied more deeply
the relationship among several important
parameters for the island-model (subpop
size, number of subpop, communication
topology).
Parallel GP 34
17
Parallel GP : A review
Parallel GP 35
Parallel GP tools
Parallel GP 36
18
Communication Tools
GLOBUS.
Others (Sockets, Java-RMI…)
Parallel GP 37
Parallel GP tools
Parallel GP 38
19
Parallel GP tools
DREAM project: It is aimed at providing a framework
for evolutionary computation.
It allows distributed computing.
Any Evolutionary Algorithm could be used, by
adjusting some parameters, within DREAM.
Founded by European Union.
See:
http://www.dcs.napier.ac.uk/~benp/dream/dream.ht
m
Parallel GP 39
Parallel GP tools
Paradiseo: Parallel and Distributed Evolving
Objects.
It is based on EO (Evolutionary Computation
Framework).
Includes tools for:
Population Based Metaheuristics.
Single Solution Based Metaheuristics.
Multi-Objective Metaheuristics.
Parallel and Distributed…
Parallel GP 40
20
Parallel GP tools
Summary:
Introduction.
History.
Parallel GP.
The Island Model.
Successful Applications.
Future.
21
Island Model
Important Parameters:
• Size of Subpop.
• Topology.
• Communication rate.
• Granularity.
• Synchronization.
Important concern:
• Comparing results.
22
Island Model – Comparing Results
PEg=i*p*avg_lengthg
23
Island Model – Comparing Results
24
Island Model - Topology
Punch, 1998, used a typical Island model
with ring topology.
He employed that
topology for his
experiments but no
comparisons with
different topologies were
Ring Topology provided in the paper.
25
Island Model - Topology
Ant
80
70
Grid
60
Circle
50
Random
Grid 9-60
Fitness
40 Circle 9-60
Random 9-60
30
20
10
0
0 500000 1000000 1500000 2000000 2500000 3000000 3500000 4000000
Effort
14
12
Circle
10
Random
8
Grid
Fitness
Random 9-500
Circle 9-500
Grid 9-500
6
0
0 2000000 4000000 6000000 8000000 10000000 12000000
Effort
26
Island Model – Migration Rate
How many individuals should migrate each
migration step?
Deppending on the number of individuals, results
are different. The limits are:
0 individuals migrating (isolated populations)
All the individuals migrating.
Different migration rates applied in literature:
Juillé & Pollack: 1 migrating individual per subpopulation.
Andre and Koza: 0%-8% migrating individuals per subpop.
Punch 1998: 2 individuals.
27
Island Model – Migration Rate
5 Populations
100 Individuals/Pop
ANT Problem
FPGA Problem
28
Island Model – Migration Frequency
5 Populations
100 Individuals/Pop
Evenp-5 Problem
29
Island Model – Migration summary
5 Populations
100 Individuals/Pop
FPGA Problem
ANT Problem
30
Island Model – Migration Summary
31
Island Model – Subpop. Size
F. Fernández et al., 2003, presents a set of
trials.
Conclusions:
There is a number of individuals with which best
results are obtained (regardless of the number of
subpops).
We must carefully select the number of subpops,
not any number of populations obtain the same
results.
(250-500)
EVENP 5
T The Island Model 64
64
32
Island Model – Subpop. Size
(250-500)
EVENP 5
The Island Model 65
33
Island Model – Synchronisation
Synchronous - Asynchronous
34
Synchronous - Asynchronous
Tongchim and Chongstitvatana, presented a
comparison among models using a restricted
migration policy.
Their results only focus on a problem, and
shows better performance with the
asynchronous model.
35
Some comments on diversity
36
What about fault tolerance?
37
The Cellular Model
Each individual is
located in a grid
position.
Individuals interact only
with their neighboring
ones.
Summary:
Introduction.
History.
Parallel GP.
The Island Model.
Successful Applications.
Future.
38
Some Applications
Some Applications
Koza et al 2000, presents a list of “Human-
Competitive results obtained by Means of Genetic
Programming”, including:
Synthesis of Analog Circuits.
Synthesis of PID controllers.
Applications to biomedicine (protein detection).
Previously patented inventions, reinvented.
Some patented invention.
39
Summary:
Introduction.
History.
Parallel GP.
The Island Model.
Successful Applications.
Future.
Future
Some topics for future research:
Theoretical models.
Heterogeneous models.
Improvements by means of better scheduling
policies.
Bloat phenomenon.
Future 80
40
References
Tufts, P. “Parallel Case Evaluation of Genetic Programming. In
1993 Lectures in Complex Systems, Es. L. Nadel and D. Stein,
SFI Studies in the Science of Complexity, Lec. Vol. VI, Addison
Wesley, 1995, pp.591-596.
H. Juillé & J. B. Pollack, Parallel Genetic Programming and fine-
grained SIMD architecture” in Working Notes for the AAAI Symp.
Genetic Programming, E. V. siegel and J. R. Koza, Eds.
Cambridge, MA: mit, Nov. 10-12, 1995, AAAI, pp. 31-37.
Stoffel, K., and L. Spector. 1996. High-Performance, Parall,
Stack-Based Genetic Programming. In Koza, John R., Goldberg,
David E., Fogel, David B., and riolo, Rick L. (eds) Genetic
Programming 1996: Proceedings of the First Annual
Conference, 224-229. Cambridge, MA: The MIT Press.
References
41
References
References
42
References
Heywood, M.I and Zincir-Heywood, A. N., “Register based
genetic programming on FPGA computing platforms”, in Proc
EuroGP’2000, R. Poli, W. Banzhaf, W. B. Langdon, J. F. Miller,
P. Nordin, and T. C. Fogarty (eds.), LNCS, vol. 1802, Edinburgh,
Springer: Berlin, 15-16 Apr., 2000, pp-44-59.
F. Fernández & M. Tomassini, “Solving the Ant and the Even
Parity-5 problems by means of parallel genetic programming “,
Late Breaking Papers at the 1999 Genetic and Evolutionary
Computation Conference, Brave and We (eds.), pp 88-92.
References
Folino et al, “Genetic Programming and Simulated Annealing: a
hybrid method to evolve dicision trees.” in R. Poli. Et al (eds),
Proceedings EuroGP 2000, LNCS 1802, pp. 294-303. Springer
Verlag, Berlin, 2000.
G. Spezzano, G. Folino, and C. Pizzuti, “CAGE: A tool for
parallel genetic programming applications”, in Proc.
EuroGP’2001 Genetic Programming, vol. 2038, J. Miller et al
eds., 2001, pp- 64-73.
F. Fernandez et al 2000 “Experimental study of Multipopulation
parallel genetic programming” in R. Poli. Et al (eds), Proceedings
EuroGP 2000, LNCS 1802, pp. 283-293. Springer Verlag, Berlin,
2000.
43
References
References
44
References
References
C. Miccio, E. Sánchez, M. Tomassini, “Parallel Genetic
Programming Induction of Binary Decision Diagrams”, in EPFL
Supercomputing Review, N. 7, 1995. Echle Politechnique
Federale de Lausanne, Switzerland.
F. Fernández, 2001, Fernández, "Distributed Genetic
Programming Models with application to Logic Synthesis on
FPGAs", PhD Thesis. University of Extremadura. February
2001.
F. Fernández, E. Cantú-Paz, Introduction Special Issue on
Parallel Bioinspired Algorithms. Journal of Parallel and
Distributed Computing, Elsevier Volume 66, Issue 8 , August
2006, Pages 989-990
45