SlideShare a Scribd company logo
Optimizing evolutionary algorithms
at program level
JJ Merelo, A. M. Mora, Pedro Castillo,
Juan L. Jiménez Laredo, Carlos Fernandes
GeNeura team: http://geneura.wordpress.com
Departamento de Arquitectura y Tecnología de
Computadores: http://atc.ugr.es
University of Granada: http://www.ugr.es
Evolutionary Algorithms
 EAs are population-based algorithms that
rely on a certain number of parameters and
operators
Best parameter values and competence of
operators are well studied.
We know the limits of the EAs scalability
However…
Little attention is devoted to
evolutionary algorithm
implementation
Even as it allows to design better algorihtms and
obtain substantial improvement at the algorithm
and runtime level
Used tools
Monitors
Running time, used
memory, resource
usage
Profilers
Parts that are
responsible for
waisting resources
Profiler usage
Problem setup
Fitness = MaxOnes
Canonical
evolutionary
algorithm, élite = 2
Varied population and
chromosome size
Free software:
http://bit.ly/bOk3z3
Evolving an evolutionary algorithm
program
Eliminated
Added
Size always matters
Caché for
fitness
computations
Use of the tr
Perl-specific
function for
computing
fitness
If we are more, we'll take more
Using a profiler for
finding a bottleneck:
the sort function
Change by
Sort::Key
It improves worst-case
behavior.
Blue uses previous
slide function
Conclusions
Running time improves up to two orders of
magnitude (for some population sizes) through
changes in implementation.
It is convenient to always bear in mind usual
programming techniques and good practices.
Future work: apply this to complex EA libraries
such as Algorithm::Evolutionary, written in Perl,
and other languages (Lua)
Thank you
Questions?

More Related Content

PPTX
Simulation
PPTX
Computer Simulation And Modeling
PPTX
Pherogenic Drawings
PPT
Icec2010 presentation
PDF
Abstracting the abstract
PPTX
Sandpile lion'11
ODP
Poster: A search for scalable evolutionary solutions to the game of MasterMind
PPTX
From Pherographia To Color Pherographia
Simulation
Computer Simulation And Modeling
Pherogenic Drawings
Icec2010 presentation
Abstracting the abstract
Sandpile lion'11
Poster: A search for scalable evolutionary solutions to the game of MasterMind
From Pherographia To Color Pherographia

Viewers also liked (11)

PPTX
Towards a 2-dimensional Self-organized Framework for Structured Population-ba...
PPSX
Using Self-Organized Criticality for Adjusting the Parameters of a Particle S...
PPSX
Sandpile evo star 2011
PDF
Benchmarking languages for evolutionary algorithms
ODP
Estudio de un Operador de Mutación para Algoritmos Genéticos Basado en la Teo...
PDF
Data mining in security: Ja'far Alqatawna
PDF
This was a triumph: Evolving intelligent bots for videogames. And for Science.
PDF
Towards Automatic StarCraft Strategy Generation Using Genetic Programming
PDF
Evolutionary Deckbuilding in Hearthstone
PDF
Mathematical support for preventive maintenance periodicity optimization of r...
ODP
Benchmarking languages for evolutionary computation
Towards a 2-dimensional Self-organized Framework for Structured Population-ba...
Using Self-Organized Criticality for Adjusting the Parameters of a Particle S...
Sandpile evo star 2011
Benchmarking languages for evolutionary algorithms
Estudio de un Operador de Mutación para Algoritmos Genéticos Basado en la Teo...
Data mining in security: Ja'far Alqatawna
This was a triumph: Evolving intelligent bots for videogames. And for Science.
Towards Automatic StarCraft Strategy Generation Using Genetic Programming
Evolutionary Deckbuilding in Hearthstone
Mathematical support for preventive maintenance periodicity optimization of r...
Benchmarking languages for evolutionary computation
Ad

Similar to Optimizando e as-meta (20)

PDF
IRJET- Machine Learning Techniques for Code Optimization
PDF
Understanding Mahout classification documentation
PPTX
Machine Learning Contents.pptx
PPTX
UNIT - 1 INTRODUCTION OF MACHINE LEARNING and Foundation of ML
PDF
Engineering Ambient Intelligence Systems using Agent Technology
PDF
TensorFlow vs PyTorch: Quick Framework Overview
PDF
A_Proposed_Genetic_Algorithm_Model_to_Im.pdf
PPTX
the application of machine lerning algorithm for SEE
PDF
EMOTION DETECTION USING AI
PPTX
Multi-Class Animal Recognition for wildlife conservation - AI.pptx
PPTX
INTRODUCTIONTOML2024 for graphic era.pptx
PDF
AUTOMATED BUG TRIAGE USING ADVANCED DATA REDUCTION TECHNIQUES
PDF
Essential Skills You Need to Become a Deep Learning Expert | IABAC
PPT
performance
PDF
Bug Triage: An Automated Process
PDF
Implementation of reducing features to improve code change based bug predicti...
DOCX
Deep Learning Vocabulary.docx
PDF
Initializing & Optimizing Machine Learning Models
PPTX
A DEEP LEARNING APPROACH FOR SEMANTIC SEGMENTATION IN BRAIN TUMOR IMAGES
IRJET- Machine Learning Techniques for Code Optimization
Understanding Mahout classification documentation
Machine Learning Contents.pptx
UNIT - 1 INTRODUCTION OF MACHINE LEARNING and Foundation of ML
Engineering Ambient Intelligence Systems using Agent Technology
TensorFlow vs PyTorch: Quick Framework Overview
A_Proposed_Genetic_Algorithm_Model_to_Im.pdf
the application of machine lerning algorithm for SEE
EMOTION DETECTION USING AI
Multi-Class Animal Recognition for wildlife conservation - AI.pptx
INTRODUCTIONTOML2024 for graphic era.pptx
AUTOMATED BUG TRIAGE USING ADVANCED DATA REDUCTION TECHNIQUES
Essential Skills You Need to Become a Deep Learning Expert | IABAC
performance
Bug Triage: An Automated Process
Implementation of reducing features to improve code change based bug predicti...
Deep Learning Vocabulary.docx
Initializing & Optimizing Machine Learning Models
A DEEP LEARNING APPROACH FOR SEMANTIC SEGMENTATION IN BRAIN TUMOR IMAGES
Ad

More from Carlos M. Fernandes (15)

PDF
Hidden landscapes
PDF
Art, Science and Distributed Creativity
PDF
Arte, Ciência e Criatividade Distribuída
PDF
Nível 2 (aula 1)
PDF
Nível 2 (aula 2)
PPTX
Performance and Scalability of Particle Swarms with with dynamic and Partiall...
PDF
Adapting the Bak-Sneppen Model to a Dynamic and Partially Connected Grid of H...
PPTX
Fotografia, tecnologia e ciência
PPT
Varying the Population Size of Artificial Foraging Swarms on Time Varying Lan...
PPT
A Self-Organized Criticality Mutation Operator for Dynamic Optimization Problems
PPTX
Desenhos ferogénicos e outras paisagens escondidas ii
PPT
UMDAs for Dynamic Optimization Problems
PPT
Kaluptein. Photography by Carlos M. Fernandes
PPTX
Particle swarm optimization (pso)
PPTX
Da photographia à pherographia – notas sobre arte
Hidden landscapes
Art, Science and Distributed Creativity
Arte, Ciência e Criatividade Distribuída
Nível 2 (aula 1)
Nível 2 (aula 2)
Performance and Scalability of Particle Swarms with with dynamic and Partiall...
Adapting the Bak-Sneppen Model to a Dynamic and Partially Connected Grid of H...
Fotografia, tecnologia e ciência
Varying the Population Size of Artificial Foraging Swarms on Time Varying Lan...
A Self-Organized Criticality Mutation Operator for Dynamic Optimization Problems
Desenhos ferogénicos e outras paisagens escondidas ii
UMDAs for Dynamic Optimization Problems
Kaluptein. Photography by Carlos M. Fernandes
Particle swarm optimization (pso)
Da photographia à pherographia – notas sobre arte

Recently uploaded (20)

PPTX
A Presentation on Artificial Intelligence
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PPTX
TLE Review Electricity (Electricity).pptx
PPTX
OMC Textile Division Presentation 2021.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
cloud_computing_Infrastucture_as_cloud_p
PPTX
A Presentation on Touch Screen Technology
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
August Patch Tuesday
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Mushroom cultivation and it's methods.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
1. Introduction to Computer Programming.pptx
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
WOOl fibre morphology and structure.pdf for textiles
A Presentation on Artificial Intelligence
Univ-Connecticut-ChatGPT-Presentaion.pdf
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
TLE Review Electricity (Electricity).pptx
OMC Textile Division Presentation 2021.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
cloud_computing_Infrastucture_as_cloud_p
A Presentation on Touch Screen Technology
Programs and apps: productivity, graphics, security and other tools
Building Integrated photovoltaic BIPV_UPV.pdf
Web App vs Mobile App What Should You Build First.pdf
A novel scalable deep ensemble learning framework for big data classification...
August Patch Tuesday
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Mushroom cultivation and it's methods.pdf
NewMind AI Weekly Chronicles - August'25-Week II
1. Introduction to Computer Programming.pptx
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
WOOl fibre morphology and structure.pdf for textiles

Optimizando e as-meta

  • 1. Optimizing evolutionary algorithms at program level JJ Merelo, A. M. Mora, Pedro Castillo, Juan L. Jiménez Laredo, Carlos Fernandes GeNeura team: http://geneura.wordpress.com Departamento de Arquitectura y Tecnología de Computadores: http://atc.ugr.es University of Granada: http://www.ugr.es
  • 2. Evolutionary Algorithms  EAs are population-based algorithms that rely on a certain number of parameters and operators Best parameter values and competence of operators are well studied. We know the limits of the EAs scalability However…
  • 3. Little attention is devoted to evolutionary algorithm implementation Even as it allows to design better algorihtms and obtain substantial improvement at the algorithm and runtime level
  • 4. Used tools Monitors Running time, used memory, resource usage Profilers Parts that are responsible for waisting resources
  • 6. Problem setup Fitness = MaxOnes Canonical evolutionary algorithm, élite = 2 Varied population and chromosome size Free software: http://bit.ly/bOk3z3
  • 7. Evolving an evolutionary algorithm program Eliminated Added
  • 8. Size always matters Caché for fitness computations Use of the tr Perl-specific function for computing fitness
  • 9. If we are more, we'll take more Using a profiler for finding a bottleneck: the sort function Change by Sort::Key It improves worst-case behavior. Blue uses previous slide function
  • 10. Conclusions Running time improves up to two orders of magnitude (for some population sizes) through changes in implementation. It is convenient to always bear in mind usual programming techniques and good practices. Future work: apply this to complex EA libraries such as Algorithm::Evolutionary, written in Perl, and other languages (Lua)

Editor's Notes

  • #4: La imagen está tomada de http://www.flickr.com/photos/dahlstroms/4083220012/
  • #5: Imagen obtenida de http://www.flickr.com/photos/sebilden/3429805384/
  • #6: Devel::NYTProf, un profiler para Perl desarrollado inicialmente para trabajar en el NYTimes (de ahí el nombre) y liberado; actualmente disponible en CPAN; es la mejor herramienta y más detallada que hay ahora mismo en Perl, produciendo una salida en HTML.
  • #7: Imagen CC obtenida de http://www.flickr.com/photos/rbanks/2292915/
  • #8: En el repositorio se pueden ver como diferentes versiones del mismo programa todos los programas que se han usado en la serie, usando la herramienta de diferencia entre programas que da Launchpad.
  • #9: The use of caché decreases running time by a constant, which is approximately the percentage of chromosomes that are generated repeatedly during the evolutionary algorithm. This gives also some insight over the algorithm itself: the one we're using is generating repeated chromosomes, independently of size. On the other hand, using tr, which is a function that translates letters in a string to other letters; in this case, 1 to nothing. As a side effect, it returns the number of translations. This is quite efficient since it runs over the string only once, and it does so in machine code, not language code. This means that, even as running time increases linearly with chromosome size, it does so less steeply
  • #10: No es la única mejora, se probaron también otros algoritmos como mergesort, y otros que no tuvieron tanto éxito. El comportamiento de los lenguajes de programación