Download presentation
Presentation is loading. Please wait.
Published byShavonne Garrison Modified over 9 years ago
1
a l a p a g o s : a generic distributed parallel genetic algorithm development platform Nicolas Kruchten 4 th year Engineering Science (Infrastructure Option)
2
Last Week Introduction to Galapagos: –Background –Motivation –Capabilities –What but not how…
3
Major Points Galapagos is a platform with which we can develop distributed parallel genetic algorithms Galapagos is very flexible –Many (GA-appropriate) problems –Many GA types Operators Population structure –Many distribution schemes
4
Today Technical explanation of Galapagos Approach: 3 views of Galapagos’ flexibility –Problem-domain –GA types & parallel population structure –GA distribution architecture
5
Problem-Domain GAs are optimization tools Need objective function –Not always real function of real variables Galapagos can be used with a wide variety of objective functions
6
Object Oriented Galapagos defines and executes a set of ‘black-box’ steps in a flowchart Internal workings of boxes, and data types they operate on are up to the developer Galapagos provides templates for building new data types and GA operators
7
Initializer Generator Assembler evaluation Convergence end yes no GA Types: Galapagos GA Flow Diagram Migrator Epoch yes no
8
Initializer Generator Assembler evaluation Convergence end yes no Initializer picks the initial population default: random, specified min/max other uses: seeding the population
9
Initializer Generator Assembler evaluation Convergence end yes no evaluation handled by Galapagos usually handed to LightGrid for distributed processing can be handled on local machine (single-computer version)
10
Initializer Generator Assembler evaluation Convergence end yes no Generator Creates a generation of children GA usually works with: A Mutator A Recombiner (compare: EP) each child = mutate(recombine()) (mutate the output of recombination operation)
11
Initializer Generator Assembler evaluation Convergence end yes no evaluation same as above
12
Initializer Generator Assembler evaluation Convergence end yes no Assembler Creates a new population, using an existing population and an incoming generation GA falls roughly in: Simple (‘canonical’) Crowding (‘steady-state’, ‘incremental’, ‘truncation’) Crowding usually implemented using a Selector This is where elitism occurs
13
Initializer Generator Assembler evaluation Convergence end yes no Convergence Defines some end condition for the run Usually based on: A real time measure An ‘algorithm time’ measure Some parameter (mean, std etc.)
14
Initializer Generator Assembler evaluation Convergence end yes no end Run is over Whatever post-processing, logging etc happens here
15
Migrator Epoch yes no Epoch Asynchronously evaluated Defines some timeframe: Real time ‘algorithm time’ Some parameter (mean, std, etc.)
16
Migrator Epoch yes no Migrator Required for Parallel GA (multiple populations) On sending side, defines: migrant destination migrant number migrant selection On destination side, defines: replacement policy usually implemented with: Topology Selector Assembler
17
Supporting Operators Generator: –Mutator –Recombiner Assembler: –Selector Migrator: –Topology –Selector –Assembler (already covered)
18
Mutator Basic EA staple Input: a chromosome Output: a chromosome Function: performs some mutation Usually implemented using a GeneMutator, in which case Mutator selects which genes are mutated, GeneMutator governs how that occurs
19
GeneMutator Usually called from a Mutator Input: a gene Output: a gene Function: mutate that gene according to some rule
20
Recombiner Input: none Output: a chromosome Function: uses an internal Selector to pick parents, creates n children according to some rule If no recombination/crossover occurs, this is EP, not GA
21
Selector Shows up everywhere! EA staple Input: selection pool, n Output: n chromosomes Function: selects n chromosomes according to some rule
22
Topology Required in Parallel GA Defines migrant destination, number per destination Defines nature of PGA: –Coarse-grained/Fine-grained –Deterministic /Stochastic
23
Operators Initializer Generator Assembler Convergence Epoch Migrator Mutator GeneMutator Recombiner Selector Topology
24
Summary Meta-operators and supporting operators provide a well-defined yet flexible GA base Migrator/Epoch/Topology operators allow for wide variety of PGA types
25
Initializer Generator Assembler evaluation Convergence end yes no evaluation handled by Galapagos usually handed to LightGrid for distributed processing can be handled on local machine (single-computer version)
26
LightGrid explained Clients and Resources Dispatcher Generic: can be used to implement any distributed application
27
Master Process Slave Process Slave Process Slave Process Slave Process Resource Pool Job Result Dispatcher Grid Computing
28
Master Worker Master Master / WorkerPeered
29
Worker Master Hybrid: Peered Masters with Worker Pool
30
High-Level Process Diagram ControllerDispatcher Container Evaluator
31
Process view 4 major process types: –Container (LightGrid Clients) –Evaluator (LightGrid Resources) –Controller –LightGrid Dispatcher Each process holds more than one thread of execution (sub-process)
32
Process View II Containers (LightGrid Clients): –Contain and manage populations –Interface between populations and evaluators –Interface between individual populations Evaluators (LightGrid Resources): –Compute the fitness value for a given chromosome
33
Process View III Controller: –‘where the user sits’ –Input/Output, control process –Issues start/stop/reset messages LightGrid Dispatcher: –Dispatches jobs from Clients to Resources and passes the results back
34
High-Level Process Diagram ControllerDispatcher Container Evaluator
35
Controller Process Diagram User Input Listener Container Listener Convergence Checker Population Copies Controller Containers
36
Container Process Diagram Containers User Input Listener Migrant Listener Epoch Checker Populations Container Controllers Dispatchers Dispatcher Listener Controller Listener Sent Jobs
37
Dispatcher Process Diagram User Input Listener Dispatcher Loop Free Resources Dispatcher Containers Evaluators Resource Listener Controller Listener Sent Jobs Unsent Jobs
38
Evaluator Process Diagram User Input Listener Dispatcher Listener Fitness Evaluator Job Evaluator Dispatchers
39
Physical View Given N computers, M populations, what goes where? –Nature of fitness –Nature of operators –Nature of computers –Nature of network Galapagos is flexible enough to be deployed almost anywhere
40
Physical Mappings ControllerDispatcher Container Evaluator
41
Physical Mappings ControllerDispatcher Container Evaluator
42
Physical Mappings ControllerDispatcher Container Evaluator
43
Physical Mappings Controller Dispatcher Container Evaluator Dispatcher
44
Summary Distributed PGA design is very complex: –Problem-domain specifics –GA type & population structure design –Available hardware Galapagos doesn’t provide easy answers but does provide a flexible common basis to work from
45
nicolas@kruchten.com this presentation is available at: http://nicolas.kruchten.com/ Questions? a l a p a g o s
46
a l a p a g o s : a generic distributed parallel genetic algorithm development platform Nicolas Kruchten 4 th year Engineering Science (Infrastructure Option)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.