SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Introduction to
Genetic Algorithms
Apr 25, 2018
© 2018 CloudBees, Inc. All Rights Reserved. 2
Outline
1. Company introduction
a. Jenkins
b. CloudBees
2. Genetic Algorithms (GA)
a. Introduction to optimization
b. Promise
c. History
d. Genesis
e. Concepts
f. Demo
g. Next steps
© 2018 CloudBees, Inc. All Rights Reserved. 3
Code & Commit Build & Config Scan & Test Release Deploy
Over 1.7 Million users 1400+ plugins cover
every stage of delivery
Jenkins is the Hub of Continuous Delivery
© 2018 CloudBees, Inc. All Rights Reserved. 4
! !
!
!
!
!
!
Jenkins potential Problems
Jenkins sprawl
Do you know who is using
Jenkins and where?
Stability / plugin quality
Do you have difficulty with upgrades and
plugin compatibility?
Lack of security
Can you control who is doing what
in Jenkins?
Impact of downtime
92% of Jenkins survey respondents say
Jenkins is mission critical. Is it for you?
Performance / scalability issues
Do you need your builds to run faster?
Do you need to run at scale?
Lack of monitoring
Would you like to measure performance
for both Jenkins and your builds?
No technical support
Need experts to call for
Jenkins Tech Support?
© 2018 CloudBees, Inc. All Rights Reserved. 5
Speed up and scale Jenkins
Optimized performance, shared
agent pools
CloudBees Jenkins Solutions Make Life Better
Manage Jenkins sprawl
With CloudBees Jenkins
Enterprise
Ensure stability
CloudBees Assurance Program ensures
Jenkins stability and verifies plugins
Apply security to Jenkins
With RBAC and folders for
managing your organization
Make Jenkins highly available
HA and cluster operations features
Monitoring and visualization
Operational and CD Pipeline insight
Expert technical support
CloudBees has the Jenkins
experts on staff
!
! !
!
!
!
!
Genetic Algorithms
© 2018 CloudBees, Inc. All Rights Reserved. 7
Introduction to mathematical optimization
• Gradient descent
• Follow the slope
• Stochastic walk
• Just random steps
• Hill climbing
• Mix of both
• Simulated annealing
• Ant colony algorithm
© 2018 CloudBees, Inc. All Rights Reserved. 8
Promise
• Solve complex problems using simple approach
• Quick approximation of the solution
• Can adapt to a changing environment
• Not requiring complex theory
© 2018 CloudBees, Inc. All Rights Reserved. 9
History
1859
1950
1975
1987
1991
“The Origin of species”, Charles Darwin
First idea using evolution, Alan Turing
First development, John Holland
“Genetic Algorithms in Search, Optimization, and Machine
Learning”, David Goldberg
European Conference on Artificial Life
© 2018 CloudBees, Inc. All Rights Reserved. 10
Genesis of Genetic Algorithms
• Root of the theory: “The Origin of the species”
• The nature selects the most adapted specimens
© 2018 CloudBees, Inc. All Rights Reserved. 11
Concepts of Genetic Algorithms
• Overview
Initial population
Selection
Reproduction /
Crossover
Mutation
Evaluation End
Good enough ?
No
New generation
© 2018 CloudBees, Inc. All Rights Reserved. 12
Concepts of Genetic Algorithms
• Genotype (DNA) vs Phenotype (expression of DNA)
• Selection strategy
• Random
▸ a.k.a. brute-force
• Roulette selection
▸ selection rate depends on their ranking / score
• Pareto
▸ 80% of the time, take the 20% best
• Tournament
▸ pick a subset of the population, take the best
© 2018 CloudBees, Inc. All Rights Reserved. 13
Concepts of Genetic Algorithms
• Selection strategy
• Fitness / adaptation score
▸ normalization
- distribution of the score among the population
▸ multi steps
- reach goal then optimize energy
▸ multi objectives
- maximize quantity and minimize price
▸ constraint satisfaction (penalty score)
- Knapsack problem
© 2018 CloudBees, Inc. All Rights Reserved. 14
Concepts of Genetic Algorithms
• Selection mechanism
• Reproduction / Crossover
▸ Single cut
- Take genes from A until a point, and rest from B
▸ Multiple cuts
▸ Mixing genes
- add quantity of A and B, xoring boolean genes, ...
▸ Random swap
- each gene can be taken from A or B
▸ Problem specific
© 2018 CloudBees, Inc. All Rights Reserved. 15
Concepts of Genetic Algorithms
• Mutation mechanism
• Genes encoding
▸ Binary
- Enable / disable feature
▸ Value
- Quantity, price, velocity, force
▸ Tree
- Operation per node
- Programming element per node
© 2018 CloudBees, Inc. All Rights Reserved. 16
Concepts of Genetic Algorithms
• Mutation mechanism
• Self-Mutation
▸ Ergodic / pseudo-ergodic hypothesis
- Any solution is reachable by one (or a limited amount of) mutation
▸ Percent to mutate genes individually
▸ Total number of mutation
▸ Multiple types of gene modification
- Swap gene / value
- Modify slightly value
- Simplify or expand node in tree
© 2018 CloudBees, Inc. All Rights Reserved. 17
Concepts of Genetic Algorithms
• Exploration vs Exploitation
• Exploration
▸ Testing large portion of the search space in the hope to find good area to refine
- In case of a plane crash at sea, it’s the satellite / aerial overflight to look for something in the
water
• Exploitation
▸ Refine process of a particularly small part of the search space
- It’s when we find some dark area in water that we need to investigate more
• The problem is how to divide time / resources between the two
© 2018 CloudBees, Inc. All Rights Reserved. 18
Concepts of Genetic Algorithms
• Effects of the genetic operators
• Selection alone
▸ Tend to have only the best individual and its clones
• Only selection and crossover
▸ Converge quickly to a good but suboptimal solution (pure exploitation)
• Mutation alone
▸ Random walk (pure exploration)
• Only selection and mutation
▸ Parallel hill climbing approach
© 2018 CloudBees, Inc. All Rights Reserved. 19
Demo
• Citation (Monkey typing)
• Function approximation
• TSP (Travelling salesman problem)
• Smart Rockets
© 2018 CloudBees, Inc. All Rights Reserved. 20
Possible next steps
• GA on GA
• Use GA to determine best parameters for GA
• Diploid instead of haploid
• Double sets of genes instead of just one set
• Real planning application
• Add constraints, real data
• Genetic programming
• Generate compilable code
• Neural network genetic architecture
© 2018 CloudBees, Inc. All Rights Reserved. 21
Thank You
https://gitlab.com/wadeck-public/genetik-presentation/wikis/List-of-runnable-demo

Contenu connexe

Similaire à Introduction aux algorithmes génétiques

Automated Software Enging, Fall 2015, NCSU
Automated Software Enging, Fall 2015, NCSUAutomated Software Enging, Fall 2015, NCSU
Automated Software Enging, Fall 2015, NCSU
CS, NcState
 

Similaire à Introduction aux algorithmes génétiques (20)

WIX3001 Lecture 6 Principles of GA.pptx
WIX3001 Lecture 6 Principles of GA.pptxWIX3001 Lecture 6 Principles of GA.pptx
WIX3001 Lecture 6 Principles of GA.pptx
 
OSDC 2018 | Apache Ignite - the in-memory hammer for your data science toolki...
OSDC 2018 | Apache Ignite - the in-memory hammer for your data science toolki...OSDC 2018 | Apache Ignite - the in-memory hammer for your data science toolki...
OSDC 2018 | Apache Ignite - the in-memory hammer for your data science toolki...
 
Interactive and reproducible data analysis with the open-source KNIME Analyti...
Interactive and reproducible data analysis with the open-source KNIME Analyti...Interactive and reproducible data analysis with the open-source KNIME Analyti...
Interactive and reproducible data analysis with the open-source KNIME Analyti...
 
Master the RETE algorithm
Master the RETE algorithmMaster the RETE algorithm
Master the RETE algorithm
 
Webinar: Deep Learning Pipelines Beyond the Learning
Webinar: Deep Learning Pipelines Beyond the LearningWebinar: Deep Learning Pipelines Beyond the Learning
Webinar: Deep Learning Pipelines Beyond the Learning
 
Large Scale Data Mining using Genetics-Based Machine Learning
Large Scale Data Mining using Genetics-Based Machine LearningLarge Scale Data Mining using Genetics-Based Machine Learning
Large Scale Data Mining using Genetics-Based Machine Learning
 
Willbros GITA Presentation on GIS-Based Risk Assessment
Willbros GITA Presentation on GIS-Based Risk AssessmentWillbros GITA Presentation on GIS-Based Risk Assessment
Willbros GITA Presentation on GIS-Based Risk Assessment
 
Clustering using GA and Hill-climbing
Clustering using GA and Hill-climbingClustering using GA and Hill-climbing
Clustering using GA and Hill-climbing
 
Graph Gurus Episode 8: Location, Location, Location - Geospatial Analysis wit...
Graph Gurus Episode 8: Location, Location, Location - Geospatial Analysis wit...Graph Gurus Episode 8: Location, Location, Location - Geospatial Analysis wit...
Graph Gurus Episode 8: Location, Location, Location - Geospatial Analysis wit...
 
900 keynote abbott
900 keynote abbott900 keynote abbott
900 keynote abbott
 
Tests Your Pipeline Might Be Missing
Tests Your Pipeline Might Be MissingTests Your Pipeline Might Be Missing
Tests Your Pipeline Might Be Missing
 
Flowchart of ga
Flowchart of gaFlowchart of ga
Flowchart of ga
 
Processing malaria HTS results using KNIME: a tutorial
Processing malaria HTS results using KNIME: a tutorialProcessing malaria HTS results using KNIME: a tutorial
Processing malaria HTS results using KNIME: a tutorial
 
Automated Software Enging, Fall 2015, NCSU
Automated Software Enging, Fall 2015, NCSUAutomated Software Enging, Fall 2015, NCSU
Automated Software Enging, Fall 2015, NCSU
 
Container and Kubernetes without limits
Container and Kubernetes without limitsContainer and Kubernetes without limits
Container and Kubernetes without limits
 
Triz Presentation
Triz PresentationTriz Presentation
Triz Presentation
 
7 Habits for Big Data in Production - keynote Big Data London Nov 2018
7 Habits for Big Data in Production - keynote Big Data London Nov 20187 Habits for Big Data in Production - keynote Big Data London Nov 2018
7 Habits for Big Data in Production - keynote Big Data London Nov 2018
 
Forecasting at Scale with Marcello Tomasini
Forecasting at Scale with Marcello TomasiniForecasting at Scale with Marcello Tomasini
Forecasting at Scale with Marcello Tomasini
 
Spark and Deep Learning Frameworks at Scale 7.19.18
Spark and Deep Learning Frameworks at Scale 7.19.18Spark and Deep Learning Frameworks at Scale 7.19.18
Spark and Deep Learning Frameworks at Scale 7.19.18
 
Lessons learned from designing QA automation event streaming platform(IoT big...
Lessons learned from designing QA automation event streaming platform(IoT big...Lessons learned from designing QA automation event streaming platform(IoT big...
Lessons learned from designing QA automation event streaming platform(IoT big...
 

Plus de JUG Lausanne

Reverse engineering Java et contournement du mécanisme de paiement inapp Android
Reverse engineering Java et contournement du mécanisme de paiement inapp AndroidReverse engineering Java et contournement du mécanisme de paiement inapp Android
Reverse engineering Java et contournement du mécanisme de paiement inapp Android
JUG Lausanne
 

Plus de JUG Lausanne (20)

Développer un moteur d'exécution symbolique en partant de rien
Développer un moteur d'exécution symbolique en partant de rienDévelopper un moteur d'exécution symbolique en partant de rien
Développer un moteur d'exécution symbolique en partant de rien
 
Reverse engineering Java et contournement du mécanisme de paiement inapp Android
Reverse engineering Java et contournement du mécanisme de paiement inapp AndroidReverse engineering Java et contournement du mécanisme de paiement inapp Android
Reverse engineering Java et contournement du mécanisme de paiement inapp Android
 
Exemple d'IOT et ML avec Android, Cassandra et Spark
Exemple d'IOT et ML avec Android, Cassandra et SparkExemple d'IOT et ML avec Android, Cassandra et Spark
Exemple d'IOT et ML avec Android, Cassandra et Spark
 
Play! chez Zaptravel - Nicolas Martignole - December 2012
Play! chez Zaptravel - Nicolas Martignole - December 2012Play! chez Zaptravel - Nicolas Martignole - December 2012
Play! chez Zaptravel - Nicolas Martignole - December 2012
 
Playframework Realtime Web - Guillaume Bort & Sadek Drobi - December 2012
Playframework Realtime Web - Guillaume Bort & Sadek Drobi - December 2012Playframework Realtime Web - Guillaume Bort & Sadek Drobi - December 2012
Playframework Realtime Web - Guillaume Bort & Sadek Drobi - December 2012
 
CloudBees - Sacha Labourey - May 2011
CloudBees - Sacha Labourey - May 2011CloudBees - Sacha Labourey - May 2011
CloudBees - Sacha Labourey - May 2011
 
Apache Camel - Stéphane Kay - April 2011
Apache Camel - Stéphane Kay - April 2011Apache Camel - Stéphane Kay - April 2011
Apache Camel - Stéphane Kay - April 2011
 
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...
 
OpenDS - Ludovic Poitou - December 2010
OpenDS - Ludovic Poitou - December 2010OpenDS - Ludovic Poitou - December 2010
OpenDS - Ludovic Poitou - December 2010
 
Spring Batch - Julien Jakubowski - November 2010
Spring Batch - Julien Jakubowski - November 2010Spring Batch - Julien Jakubowski - November 2010
Spring Batch - Julien Jakubowski - November 2010
 
Infinispan - Galder Zamarreno - October 2010
Infinispan - Galder Zamarreno - October 2010Infinispan - Galder Zamarreno - October 2010
Infinispan - Galder Zamarreno - October 2010
 
No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010
 
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
 
Introduction à Scala - Michel Schinz - January 2010
Introduction à Scala - Michel Schinz - January 2010Introduction à Scala - Michel Schinz - January 2010
Introduction à Scala - Michel Schinz - January 2010
 
Introduction Groovy / Grails - Cyril Picat - December 2009
Introduction Groovy / Grails - Cyril Picat - December 2009Introduction Groovy / Grails - Cyril Picat - December 2009
Introduction Groovy / Grails - Cyril Picat - December 2009
 
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
 
Sonar - Freddy Mallet - April 2009
Sonar - Freddy Mallet - April 2009Sonar - Freddy Mallet - April 2009
Sonar - Freddy Mallet - April 2009
 
Maven2 - Philippe Kernevez - March 2009
Maven2 - Philippe Kernevez - March 2009Maven2 - Philippe Kernevez - March 2009
Maven2 - Philippe Kernevez - March 2009
 
Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009
Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009
Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009
 
XML & Java - Raphaël Tagliani - March 2008
XML & Java - Raphaël Tagliani - March 2008XML & Java - Raphaël Tagliani - March 2008
XML & Java - Raphaël Tagliani - March 2008
 

Dernier

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Dernier (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Introduction aux algorithmes génétiques

  • 2. © 2018 CloudBees, Inc. All Rights Reserved. 2 Outline 1. Company introduction a. Jenkins b. CloudBees 2. Genetic Algorithms (GA) a. Introduction to optimization b. Promise c. History d. Genesis e. Concepts f. Demo g. Next steps
  • 3. © 2018 CloudBees, Inc. All Rights Reserved. 3 Code & Commit Build & Config Scan & Test Release Deploy Over 1.7 Million users 1400+ plugins cover every stage of delivery Jenkins is the Hub of Continuous Delivery
  • 4. © 2018 CloudBees, Inc. All Rights Reserved. 4 ! ! ! ! ! ! ! Jenkins potential Problems Jenkins sprawl Do you know who is using Jenkins and where? Stability / plugin quality Do you have difficulty with upgrades and plugin compatibility? Lack of security Can you control who is doing what in Jenkins? Impact of downtime 92% of Jenkins survey respondents say Jenkins is mission critical. Is it for you? Performance / scalability issues Do you need your builds to run faster? Do you need to run at scale? Lack of monitoring Would you like to measure performance for both Jenkins and your builds? No technical support Need experts to call for Jenkins Tech Support?
  • 5. © 2018 CloudBees, Inc. All Rights Reserved. 5 Speed up and scale Jenkins Optimized performance, shared agent pools CloudBees Jenkins Solutions Make Life Better Manage Jenkins sprawl With CloudBees Jenkins Enterprise Ensure stability CloudBees Assurance Program ensures Jenkins stability and verifies plugins Apply security to Jenkins With RBAC and folders for managing your organization Make Jenkins highly available HA and cluster operations features Monitoring and visualization Operational and CD Pipeline insight Expert technical support CloudBees has the Jenkins experts on staff ! ! ! ! ! ! !
  • 7. © 2018 CloudBees, Inc. All Rights Reserved. 7 Introduction to mathematical optimization • Gradient descent • Follow the slope • Stochastic walk • Just random steps • Hill climbing • Mix of both • Simulated annealing • Ant colony algorithm
  • 8. © 2018 CloudBees, Inc. All Rights Reserved. 8 Promise • Solve complex problems using simple approach • Quick approximation of the solution • Can adapt to a changing environment • Not requiring complex theory
  • 9. © 2018 CloudBees, Inc. All Rights Reserved. 9 History 1859 1950 1975 1987 1991 “The Origin of species”, Charles Darwin First idea using evolution, Alan Turing First development, John Holland “Genetic Algorithms in Search, Optimization, and Machine Learning”, David Goldberg European Conference on Artificial Life
  • 10. © 2018 CloudBees, Inc. All Rights Reserved. 10 Genesis of Genetic Algorithms • Root of the theory: “The Origin of the species” • The nature selects the most adapted specimens
  • 11. © 2018 CloudBees, Inc. All Rights Reserved. 11 Concepts of Genetic Algorithms • Overview Initial population Selection Reproduction / Crossover Mutation Evaluation End Good enough ? No New generation
  • 12. © 2018 CloudBees, Inc. All Rights Reserved. 12 Concepts of Genetic Algorithms • Genotype (DNA) vs Phenotype (expression of DNA) • Selection strategy • Random ▸ a.k.a. brute-force • Roulette selection ▸ selection rate depends on their ranking / score • Pareto ▸ 80% of the time, take the 20% best • Tournament ▸ pick a subset of the population, take the best
  • 13. © 2018 CloudBees, Inc. All Rights Reserved. 13 Concepts of Genetic Algorithms • Selection strategy • Fitness / adaptation score ▸ normalization - distribution of the score among the population ▸ multi steps - reach goal then optimize energy ▸ multi objectives - maximize quantity and minimize price ▸ constraint satisfaction (penalty score) - Knapsack problem
  • 14. © 2018 CloudBees, Inc. All Rights Reserved. 14 Concepts of Genetic Algorithms • Selection mechanism • Reproduction / Crossover ▸ Single cut - Take genes from A until a point, and rest from B ▸ Multiple cuts ▸ Mixing genes - add quantity of A and B, xoring boolean genes, ... ▸ Random swap - each gene can be taken from A or B ▸ Problem specific
  • 15. © 2018 CloudBees, Inc. All Rights Reserved. 15 Concepts of Genetic Algorithms • Mutation mechanism • Genes encoding ▸ Binary - Enable / disable feature ▸ Value - Quantity, price, velocity, force ▸ Tree - Operation per node - Programming element per node
  • 16. © 2018 CloudBees, Inc. All Rights Reserved. 16 Concepts of Genetic Algorithms • Mutation mechanism • Self-Mutation ▸ Ergodic / pseudo-ergodic hypothesis - Any solution is reachable by one (or a limited amount of) mutation ▸ Percent to mutate genes individually ▸ Total number of mutation ▸ Multiple types of gene modification - Swap gene / value - Modify slightly value - Simplify or expand node in tree
  • 17. © 2018 CloudBees, Inc. All Rights Reserved. 17 Concepts of Genetic Algorithms • Exploration vs Exploitation • Exploration ▸ Testing large portion of the search space in the hope to find good area to refine - In case of a plane crash at sea, it’s the satellite / aerial overflight to look for something in the water • Exploitation ▸ Refine process of a particularly small part of the search space - It’s when we find some dark area in water that we need to investigate more • The problem is how to divide time / resources between the two
  • 18. © 2018 CloudBees, Inc. All Rights Reserved. 18 Concepts of Genetic Algorithms • Effects of the genetic operators • Selection alone ▸ Tend to have only the best individual and its clones • Only selection and crossover ▸ Converge quickly to a good but suboptimal solution (pure exploitation) • Mutation alone ▸ Random walk (pure exploration) • Only selection and mutation ▸ Parallel hill climbing approach
  • 19. © 2018 CloudBees, Inc. All Rights Reserved. 19 Demo • Citation (Monkey typing) • Function approximation • TSP (Travelling salesman problem) • Smart Rockets
  • 20. © 2018 CloudBees, Inc. All Rights Reserved. 20 Possible next steps • GA on GA • Use GA to determine best parameters for GA • Diploid instead of haploid • Double sets of genes instead of just one set • Real planning application • Add constraints, real data • Genetic programming • Generate compilable code • Neural network genetic architecture
  • 21. © 2018 CloudBees, Inc. All Rights Reserved. 21 Thank You https://gitlab.com/wadeck-public/genetik-presentation/wikis/List-of-runnable-demo