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

Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 

Dernier (20)

Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 

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