SlideShare une entreprise Scribd logo
1  sur  45
INTRODUCTION TO
GENETIC
ALGORITHMS
BY
AHMED MEDHAT OTHMAN
@amedhat3
AGENDA
1. Introduction
2. Natural Inspired Computing
3. Classical Computation vs. bio-inspired computing
4. Evolution in the real world
5. Collaborative discussion
6. Problem solving
7. Genetic Algorithms (GA)
8. Anatomy of a GA
9. Advantages of GA
10. Limitations of GA
11. Related techniques
12. Summary
2
INTRODUCTION
3
INTRODUCTION
4
INTRODUCTION
5
INTRODUCTION
6
INTRODUCTION
7
INTRODUCTION
8
INTRODUCTION
• The only intelligent systems on this planet are biological.
• Biological intelligences are designed by natural
evolutionary processes.
• They often work together in groups, swarms, or flocks.
• They don't appear to use logic, mathematics, complex
planning, complicated modeling of their environment.
• They can achieve complex information processing and
computational tasks that current artificial intelligences
find very challenging indeed.
9
NATURAL INSPIRED
COMPUTING
10
NATURAL INSPIRED
COMPUTING
• In other words Biologically Inspired Computing.
• Biological organisms cope with the demands of their
environments.
• They uses solutions quite unlike the traditional human-
engineered approaches to problem solving.
• They exchange information about what they’ve discovered
in the places they have visited.
• Bio-inspired computing is a field devoted to tackling
complex problems using computational methods modeled
after design principles encountered in nature.
11
CLASSICAL COMPUTATION
VS.
BIO-INSPIRED COMPUTING
12
CLASSICAL COMPUTATION
VS.
BIO-INSPIRED COMPUTING
• Classical computing is good at:
• Number-crunching
• Thought-support (glorified pen-and-paper)
• Rule-based reasoning
• Constant repetition of well-defined actions.
• Classical computing is bad at:
• Pattern recognition
• Robustness to damage
• Dealing with vague and incomplete information;
• Adapting and improving based on experience
13
CLASSICAL COMPUTATION
VS.
BIO-INSPIRED COMPUTING
• Bio-inspired computing takes a more evolutionary
approach to learning.
• In traditional AI, intelligence is often programmed from
above. The Programmer create the program and imbues it
with its intelligence.
• Bio-inspired computing, on the other hand, takes a more
bottom-up, decentralized approach.
• Bio-inspired computing often involve the method of
specifying a set of simple rules, a set of simple organisms
which adhere to those rules.
14
EVOLUTION IN THE
REAL WORLD
• Each cell of a living thing contains
chromosomes - strings of DNA.
• Each chromosome contains a set of
genes - blocks of DNA.
• Each gene determines some aspect
of the organism (like eye colour).
• A collection of genes is sometimes
called a genotype.
• A collection of aspects (like eye
characteristics) is sometimes called
a phenotype.
15
EVOLUTION IN THE
REAL WORLD
• Reproduction involves recombination of genes from parents
and then small amounts of mutation (errors) in copying.
• The fitness of an organism is how much it can reproduce
before it dies.
• Evolution based on “survival of the fittest”.
16
COLLABORATIVE
DISCUSSION
• What we can learn from nature?
• Applications of nature in the engineering field.
17
PROBLEM SOLVING
• Suppose you have a problem.
• You don’t know how to solve it.
• What can you do?
• Can you use a computer to somehow find a solution?
• This would be nice! Can it be done?
18
PROBLEM SOLVING
Brute-Force Solution
A “blind generate and test” algorithm:
Repeat
Generate a random possible solution
Test the solution and see how good it is
Until solution is good enough
19
PROBLEM SOLVING
Can we use this Brute-Force idea?
• Sometimes - YES:
• if there are only a few possible solutions
• and you have enough time
• then such a method could be used
• For most problems - NO:
• many possible solutions
• with no time to try them all
• so this method cannot be used
20
PROBLEM SOLVING
Search Techniques
Calculus Base
Techniques
Guided random search
techniques
Enumerative
Techniques
BFSDFS Dynamic
Programming
Tabu Search Hill
Climbing
Simulated
Annealing
Evolutionary
Algorithms
Genetic
Programming
Genetic
Algorithms
Fibonacci Sort
21
GENETIC ALGORITHMS
22
Initialize Population
satisfy constraints ?
Evaluate Fitness
Select Survivors
Output Results
Randomly Vary Individuals
Yes
No
GENETIC ALGORITHMS
How do you encode a solution?
• Obviously this depends on the problem!
• GA’s often encode solutions as fixed length “bitstrings”
(e.g. 101110, 111111, 000101)
• Each bit represents some aspect of the proposed solution
to the problem
• For GA’s to work, we need to be able to “test” any string
and get a “score” indicating how “good” that solution is.
23
GENETIC ALGORITHMS
• The set of all possible solutions [0..1000] is called the
search space or state space.
• In this case it’s just one number but it could be many
numbers.
• Often GA’s code numbers in binary producing a bitstring
representing a solution.
• We choose 1,0 bits which is enough to represent 0..1000
24
GENETIC ALGORITHMS
• Example: encoding 4 parameters
• Param1 value = 1000 = 8
• Param2 value = 1011 = 11
• Etc.,
25
Binary Representation
GENETIC ALGORITHMS
Search Space
• For a simple function f(x) the search space is one
dimensional.
• But by encoding several values into the chromosome
many dimensions can be searched e.g. two dimensions
f(x,y).
• Search space can be visualised as a surface or fitness
landscape in which fitness dictates height.
• Each possible genotype is a point in the space.
• A GA tries to move the points to better places (higher
fitness) in the the space.
26
GENETIC ALGORITHMS
Fitness landscapes
27
GENETIC ALGORITHMS
Implicit fitness functions
• Most GA’s use explicit and static fitness function
• Some GA’s (such as in Artificial Life or Evolutionary Robotics) use
dynamic and implicit fitness functions - like “how many obstacles
did I avoid”
Individual’s fitness
Average fitness of population
28
GENETIC ALGORITHMS
Example - Drilling for Oil
• Imagine you have to drill for oil somewhere along a single
1 km desert road.
• Problem: choose the best place on the road that produces
the most oil per day.
• We could represent each solution as a position on the
road.
• Say, a whole number between [0..1000]
29
GENETIC ALGORITHMS
Where to drill for oil?
30
0 500 1000
Road
Solution2 = 900Solution1 = 300
GENETIC ALGORITHMS
In GA’s these encoded strings are sometimes called
“genotypes” or “chromosomes” and the individual bits are
sometimes called “genes”
31
512 256 128 64 32 16 8 4 2 1
900 1 1 1 0 0 0 0 1 0 0
300 0 1 0 0 1 0 1 1 0 0
102
3
1 1 1 1 1 1 1 1 1 1
Convert to binary string
GENETIC ALGORITHMS
32
0 1000
Road
Solution2 = 900
(1110000100)
Solution1 = 300
(0100101100)
OIL
Location
30
5
ANATOMY OF GA
Selecting Parents
• Many schemes are possible so long as better scoring
chromosomes more likely selected
• Score is often termed the fitness
• “Roulette Wheel” selection can be used:
• Add up the fitness's of all chromosomes
• Generate a random number R in that range
• Select the first chromosome in the population that - when all
previous fitness’s are added - gives you at least the value R
33
ANATOMY OF GA
34
Example population
No. Chromosome Fitness
1 1010011010 1
2 1111100001 2
3 1011001100 3
4 1010000000 1
5 0000010000 3
6 1001011111 5
7 0101010101 1
8 1011100111 2
ANATOMY OF GA
35
Roulette Wheel Selection
1 2 3 1 3 5 1 2
0 18
21 3 4 5 6 7 8
Rnd[0..18] = 7
Chromosome4
Parent1
Rnd[0..18] = 12
Chromosome6
Parent2
ANATOMY OF GA
36
Crossover - Recombination
0100101100
1110000100
Crossover
single point -
random
0100000100
1110101100
Parent1
Parent2
Offspring1
Offspring2
With some high probability (crossover rate) apply
crossover to the parents.
(typical values are 0.8 to 0.95)
Why does crossover work?
• A lot of theory about this and some controversy
• The idea is that crossover preserves “good bits” from
different parents, combining them to produce better
solutions
• A good encoding scheme would therefore try to preserve
“good bits” during crossover and mutation
37
ANATOMY OF GA
ANATOMY OF GA
38
Mutation
1011011111
1010000000
Offspring1
Offspring2
1011001111
1000000000
Offspring1
Offspring2
mutate
Original offspring Mutated offspring
With some small probability (the mutation rate) flip each bit in
the offspring (typical values between 0.1 and 0.001)
ANATOMY OF GA
39
Many Variants of GA
• Different kinds of selection (not roulette)
• Tournament
• Elitism, etc.
• Different recombination
• Multi-point crossover
• 3 way crossover etc.
• Different kinds of encoding other than bitstring
• Integer values
• Ordered set of symbols
• Different kinds of mutation
ADVANTAGES OF GA
• Concepts are easy to understand
• Genetic Algorithms are intrinsically parallel.
• Always an answer; answer gets better with time
• Inherently parallel; easily distributed
• Less time required for some special applications
• Chances of getting optimal solution are more
40
LIMITATIONS OF GA
• The population considered for the evolution should be
moderate or suitable one for the problem (normally 20-30 or 50-
100)
• Crossover rate should be 80%-95%
• Mutation rate should be low i.e. 0.5%-1% assumed as best
• The method of selection should be appropriate
• Writing of fitness function must be accurate
41
RELATED TECHNIQUES
• Genetic programming
• Evolutionary programming
• Swarm intelligence
• Ant colony optimization
• Particle swarm optimization
• Intelligent Water Drops
• Bees algorithm
• Neural Networks
42
SUMMARY
43
Representation Binary strings
Recombination N-point or uniform
Mutation Bitwise bit-flipping with fixed
probability
Parent selection Fitness-Proportionate
Survivor selection All children replace parents
Speciality Emphasis on crossover
44
THANKS
• Contact information
• Email: amedhat3@gmail.com
• Website: http://amedhat.info
• Twitter: @amedhat3
• Linkedin: linkedin.com/in/amedhat
45

Contenu connexe

Tendances

Genetic algorithm raktim
Genetic algorithm raktimGenetic algorithm raktim
Genetic algorithm raktimRaktim Halder
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithmJari Abbas
 
GENETIC ALGORITHM
GENETIC ALGORITHMGENETIC ALGORITHM
GENETIC ALGORITHMHarsh Sinha
 
Genetic_Algorithm_AI(TU)
Genetic_Algorithm_AI(TU)Genetic_Algorithm_AI(TU)
Genetic_Algorithm_AI(TU)Kapil Khatiwada
 
Genetic Algorithms - Artificial Intelligence
Genetic Algorithms - Artificial IntelligenceGenetic Algorithms - Artificial Intelligence
Genetic Algorithms - Artificial IntelligenceSahil Kumar
 
MACHINE LEARNING - GENETIC ALGORITHM
MACHINE LEARNING - GENETIC ALGORITHMMACHINE LEARNING - GENETIC ALGORITHM
MACHINE LEARNING - GENETIC ALGORITHMPuneet Kulyana
 
Genetic Algorithm
Genetic AlgorithmGenetic Algorithm
Genetic AlgorithmSHIMI S L
 
Genetic Algorithm by Example
Genetic Algorithm by ExampleGenetic Algorithm by Example
Genetic Algorithm by ExampleNobal Niraula
 
Genetic Algorithms
Genetic AlgorithmsGenetic Algorithms
Genetic Algorithmsadil raja
 
Flowchart of GA
Flowchart of GAFlowchart of GA
Flowchart of GAIshucs
 
Genetic Algorithm in Artificial Intelligence
Genetic Algorithm in Artificial IntelligenceGenetic Algorithm in Artificial Intelligence
Genetic Algorithm in Artificial IntelligenceSinbad Konick
 
Genetic algorithms in Data Mining
Genetic algorithms in Data MiningGenetic algorithms in Data Mining
Genetic algorithms in Data MiningAtul Khanna
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithmgarima931
 

Tendances (20)

Genetic algorithm raktim
Genetic algorithm raktimGenetic algorithm raktim
Genetic algorithm raktim
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithm
 
Ga ppt (1)
Ga ppt (1)Ga ppt (1)
Ga ppt (1)
 
GENETIC ALGORITHM
GENETIC ALGORITHMGENETIC ALGORITHM
GENETIC ALGORITHM
 
Genetic_Algorithm_AI(TU)
Genetic_Algorithm_AI(TU)Genetic_Algorithm_AI(TU)
Genetic_Algorithm_AI(TU)
 
Genetic Algorithms - Artificial Intelligence
Genetic Algorithms - Artificial IntelligenceGenetic Algorithms - Artificial Intelligence
Genetic Algorithms - Artificial Intelligence
 
Genetic Algorithm
Genetic AlgorithmGenetic Algorithm
Genetic Algorithm
 
MACHINE LEARNING - GENETIC ALGORITHM
MACHINE LEARNING - GENETIC ALGORITHMMACHINE LEARNING - GENETIC ALGORITHM
MACHINE LEARNING - GENETIC ALGORITHM
 
Genetic Algorithm
Genetic AlgorithmGenetic Algorithm
Genetic Algorithm
 
Genetic Algorithm by Example
Genetic Algorithm by ExampleGenetic Algorithm by Example
Genetic Algorithm by Example
 
Genetic Algorithm
Genetic AlgorithmGenetic Algorithm
Genetic Algorithm
 
Genetic Algorithms
Genetic AlgorithmsGenetic Algorithms
Genetic Algorithms
 
Genetic Algorithms
Genetic AlgorithmsGenetic Algorithms
Genetic Algorithms
 
Genetic Algorithm
Genetic AlgorithmGenetic Algorithm
Genetic Algorithm
 
Flowchart of GA
Flowchart of GAFlowchart of GA
Flowchart of GA
 
Genetic algorithm
Genetic algorithm Genetic algorithm
Genetic algorithm
 
Introduction to Genetic Algorithms
Introduction to Genetic AlgorithmsIntroduction to Genetic Algorithms
Introduction to Genetic Algorithms
 
Genetic Algorithm in Artificial Intelligence
Genetic Algorithm in Artificial IntelligenceGenetic Algorithm in Artificial Intelligence
Genetic Algorithm in Artificial Intelligence
 
Genetic algorithms in Data Mining
Genetic algorithms in Data MiningGenetic algorithms in Data Mining
Genetic algorithms in Data Mining
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithm
 

Similaire à Introduction to Genetic Algorithms

Genetic algorithm_raktim_IITKGP
Genetic algorithm_raktim_IITKGP Genetic algorithm_raktim_IITKGP
Genetic algorithm_raktim_IITKGP Raktim Halder
 
Genetic Algorithms - GAs
Genetic Algorithms - GAsGenetic Algorithms - GAs
Genetic Algorithms - GAsMohamed Talaat
 
Ff meeting 25nov03
Ff meeting 25nov03Ff meeting 25nov03
Ff meeting 25nov03moniajit
 
Introduction to genetic algorithms
Introduction to genetic algorithmsIntroduction to genetic algorithms
Introduction to genetic algorithmsshadanalam
 
Data Science - Part XIV - Genetic Algorithms
Data Science - Part XIV - Genetic AlgorithmsData Science - Part XIV - Genetic Algorithms
Data Science - Part XIV - Genetic AlgorithmsDerek Kane
 
A genetic algorithm approach to static job shop scheduling
A genetic algorithm approach to static job shop schedulingA genetic algorithm approach to static job shop scheduling
A genetic algorithm approach to static job shop schedulingNagendra Bvs
 
GA of a Paper 2012.pptx
GA of a Paper 2012.pptxGA of a Paper 2012.pptx
GA of a Paper 2012.pptxwaqasjavaid26
 
Evolutionary algorithms
Evolutionary algorithmsEvolutionary algorithms
Evolutionary algorithmsM S Prasad
 
introduction of genetic algorithm
introduction of genetic algorithmintroduction of genetic algorithm
introduction of genetic algorithmritambharaaatre
 
Introduction to Genetic Algorithms
Introduction to Genetic AlgorithmsIntroduction to Genetic Algorithms
Introduction to Genetic AlgorithmsVanessa Camilleri
 
Geneticalgorithms 100403002207-phpapp02
Geneticalgorithms 100403002207-phpapp02Geneticalgorithms 100403002207-phpapp02
Geneticalgorithms 100403002207-phpapp02Amna Saeed
 
A Review On Genetic Algorithm And Its Applications
A Review On Genetic Algorithm And Its ApplicationsA Review On Genetic Algorithm And Its Applications
A Review On Genetic Algorithm And Its ApplicationsKaren Gomez
 
CS464-SoftCom-2022-Lec1 GA-Intro .pptx
CS464-SoftCom-2022-Lec1 GA-Intro .pptxCS464-SoftCom-2022-Lec1 GA-Intro .pptx
CS464-SoftCom-2022-Lec1 GA-Intro .pptxtesttest888534
 

Similaire à Introduction to Genetic Algorithms (20)

Genetic algorithm_raktim_IITKGP
Genetic algorithm_raktim_IITKGP Genetic algorithm_raktim_IITKGP
Genetic algorithm_raktim_IITKGP
 
Genetic Algorithms - GAs
Genetic Algorithms - GAsGenetic Algorithms - GAs
Genetic Algorithms - GAs
 
Genetic Algorithm
Genetic Algorithm Genetic Algorithm
Genetic Algorithm
 
Ff meeting 25nov03
Ff meeting 25nov03Ff meeting 25nov03
Ff meeting 25nov03
 
Introduction to genetic algorithms
Introduction to genetic algorithmsIntroduction to genetic algorithms
Introduction to genetic algorithms
 
Data Science - Part XIV - Genetic Algorithms
Data Science - Part XIV - Genetic AlgorithmsData Science - Part XIV - Genetic Algorithms
Data Science - Part XIV - Genetic Algorithms
 
A genetic algorithm approach to static job shop scheduling
A genetic algorithm approach to static job shop schedulingA genetic algorithm approach to static job shop scheduling
A genetic algorithm approach to static job shop scheduling
 
CI_L02_Optimization_ag2_eng.pdf
CI_L02_Optimization_ag2_eng.pdfCI_L02_Optimization_ag2_eng.pdf
CI_L02_Optimization_ag2_eng.pdf
 
GA of a Paper 2012.pptx
GA of a Paper 2012.pptxGA of a Paper 2012.pptx
GA of a Paper 2012.pptx
 
Evolutionary algorithms
Evolutionary algorithmsEvolutionary algorithms
Evolutionary algorithms
 
introduction of genetic algorithm
introduction of genetic algorithmintroduction of genetic algorithm
introduction of genetic algorithm
 
Introduction to Genetic Algorithms
Introduction to Genetic AlgorithmsIntroduction to Genetic Algorithms
Introduction to Genetic Algorithms
 
0101.genetic algorithm
0101.genetic algorithm0101.genetic algorithm
0101.genetic algorithm
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithm
 
CI_L11_Optimization_ag2_eng.pptx
CI_L11_Optimization_ag2_eng.pptxCI_L11_Optimization_ag2_eng.pptx
CI_L11_Optimization_ag2_eng.pptx
 
Genetic Algorithms
Genetic AlgorithmsGenetic Algorithms
Genetic Algorithms
 
Geneticalgorithms 100403002207-phpapp02
Geneticalgorithms 100403002207-phpapp02Geneticalgorithms 100403002207-phpapp02
Geneticalgorithms 100403002207-phpapp02
 
A Review On Genetic Algorithm And Its Applications
A Review On Genetic Algorithm And Its ApplicationsA Review On Genetic Algorithm And Its Applications
A Review On Genetic Algorithm And Its Applications
 
Genetic algorithms
Genetic algorithmsGenetic algorithms
Genetic algorithms
 
CS464-SoftCom-2022-Lec1 GA-Intro .pptx
CS464-SoftCom-2022-Lec1 GA-Intro .pptxCS464-SoftCom-2022-Lec1 GA-Intro .pptx
CS464-SoftCom-2022-Lec1 GA-Intro .pptx
 

Dernier

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Dernier (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

Introduction to Genetic Algorithms

  • 2. AGENDA 1. Introduction 2. Natural Inspired Computing 3. Classical Computation vs. bio-inspired computing 4. Evolution in the real world 5. Collaborative discussion 6. Problem solving 7. Genetic Algorithms (GA) 8. Anatomy of a GA 9. Advantages of GA 10. Limitations of GA 11. Related techniques 12. Summary 2
  • 9. INTRODUCTION • The only intelligent systems on this planet are biological. • Biological intelligences are designed by natural evolutionary processes. • They often work together in groups, swarms, or flocks. • They don't appear to use logic, mathematics, complex planning, complicated modeling of their environment. • They can achieve complex information processing and computational tasks that current artificial intelligences find very challenging indeed. 9
  • 11. NATURAL INSPIRED COMPUTING • In other words Biologically Inspired Computing. • Biological organisms cope with the demands of their environments. • They uses solutions quite unlike the traditional human- engineered approaches to problem solving. • They exchange information about what they’ve discovered in the places they have visited. • Bio-inspired computing is a field devoted to tackling complex problems using computational methods modeled after design principles encountered in nature. 11
  • 13. CLASSICAL COMPUTATION VS. BIO-INSPIRED COMPUTING • Classical computing is good at: • Number-crunching • Thought-support (glorified pen-and-paper) • Rule-based reasoning • Constant repetition of well-defined actions. • Classical computing is bad at: • Pattern recognition • Robustness to damage • Dealing with vague and incomplete information; • Adapting and improving based on experience 13
  • 14. CLASSICAL COMPUTATION VS. BIO-INSPIRED COMPUTING • Bio-inspired computing takes a more evolutionary approach to learning. • In traditional AI, intelligence is often programmed from above. The Programmer create the program and imbues it with its intelligence. • Bio-inspired computing, on the other hand, takes a more bottom-up, decentralized approach. • Bio-inspired computing often involve the method of specifying a set of simple rules, a set of simple organisms which adhere to those rules. 14
  • 15. EVOLUTION IN THE REAL WORLD • Each cell of a living thing contains chromosomes - strings of DNA. • Each chromosome contains a set of genes - blocks of DNA. • Each gene determines some aspect of the organism (like eye colour). • A collection of genes is sometimes called a genotype. • A collection of aspects (like eye characteristics) is sometimes called a phenotype. 15
  • 16. EVOLUTION IN THE REAL WORLD • Reproduction involves recombination of genes from parents and then small amounts of mutation (errors) in copying. • The fitness of an organism is how much it can reproduce before it dies. • Evolution based on “survival of the fittest”. 16
  • 17. COLLABORATIVE DISCUSSION • What we can learn from nature? • Applications of nature in the engineering field. 17
  • 18. PROBLEM SOLVING • Suppose you have a problem. • You don’t know how to solve it. • What can you do? • Can you use a computer to somehow find a solution? • This would be nice! Can it be done? 18
  • 19. PROBLEM SOLVING Brute-Force Solution A “blind generate and test” algorithm: Repeat Generate a random possible solution Test the solution and see how good it is Until solution is good enough 19
  • 20. PROBLEM SOLVING Can we use this Brute-Force idea? • Sometimes - YES: • if there are only a few possible solutions • and you have enough time • then such a method could be used • For most problems - NO: • many possible solutions • with no time to try them all • so this method cannot be used 20
  • 21. PROBLEM SOLVING Search Techniques Calculus Base Techniques Guided random search techniques Enumerative Techniques BFSDFS Dynamic Programming Tabu Search Hill Climbing Simulated Annealing Evolutionary Algorithms Genetic Programming Genetic Algorithms Fibonacci Sort 21
  • 22. GENETIC ALGORITHMS 22 Initialize Population satisfy constraints ? Evaluate Fitness Select Survivors Output Results Randomly Vary Individuals Yes No
  • 23. GENETIC ALGORITHMS How do you encode a solution? • Obviously this depends on the problem! • GA’s often encode solutions as fixed length “bitstrings” (e.g. 101110, 111111, 000101) • Each bit represents some aspect of the proposed solution to the problem • For GA’s to work, we need to be able to “test” any string and get a “score” indicating how “good” that solution is. 23
  • 24. GENETIC ALGORITHMS • The set of all possible solutions [0..1000] is called the search space or state space. • In this case it’s just one number but it could be many numbers. • Often GA’s code numbers in binary producing a bitstring representing a solution. • We choose 1,0 bits which is enough to represent 0..1000 24
  • 25. GENETIC ALGORITHMS • Example: encoding 4 parameters • Param1 value = 1000 = 8 • Param2 value = 1011 = 11 • Etc., 25 Binary Representation
  • 26. GENETIC ALGORITHMS Search Space • For a simple function f(x) the search space is one dimensional. • But by encoding several values into the chromosome many dimensions can be searched e.g. two dimensions f(x,y). • Search space can be visualised as a surface or fitness landscape in which fitness dictates height. • Each possible genotype is a point in the space. • A GA tries to move the points to better places (higher fitness) in the the space. 26
  • 28. GENETIC ALGORITHMS Implicit fitness functions • Most GA’s use explicit and static fitness function • Some GA’s (such as in Artificial Life or Evolutionary Robotics) use dynamic and implicit fitness functions - like “how many obstacles did I avoid” Individual’s fitness Average fitness of population 28
  • 29. GENETIC ALGORITHMS Example - Drilling for Oil • Imagine you have to drill for oil somewhere along a single 1 km desert road. • Problem: choose the best place on the road that produces the most oil per day. • We could represent each solution as a position on the road. • Say, a whole number between [0..1000] 29
  • 30. GENETIC ALGORITHMS Where to drill for oil? 30 0 500 1000 Road Solution2 = 900Solution1 = 300
  • 31. GENETIC ALGORITHMS In GA’s these encoded strings are sometimes called “genotypes” or “chromosomes” and the individual bits are sometimes called “genes” 31 512 256 128 64 32 16 8 4 2 1 900 1 1 1 0 0 0 0 1 0 0 300 0 1 0 0 1 0 1 1 0 0 102 3 1 1 1 1 1 1 1 1 1 1 Convert to binary string
  • 32. GENETIC ALGORITHMS 32 0 1000 Road Solution2 = 900 (1110000100) Solution1 = 300 (0100101100) OIL Location 30 5
  • 33. ANATOMY OF GA Selecting Parents • Many schemes are possible so long as better scoring chromosomes more likely selected • Score is often termed the fitness • “Roulette Wheel” selection can be used: • Add up the fitness's of all chromosomes • Generate a random number R in that range • Select the first chromosome in the population that - when all previous fitness’s are added - gives you at least the value R 33
  • 34. ANATOMY OF GA 34 Example population No. Chromosome Fitness 1 1010011010 1 2 1111100001 2 3 1011001100 3 4 1010000000 1 5 0000010000 3 6 1001011111 5 7 0101010101 1 8 1011100111 2
  • 35. ANATOMY OF GA 35 Roulette Wheel Selection 1 2 3 1 3 5 1 2 0 18 21 3 4 5 6 7 8 Rnd[0..18] = 7 Chromosome4 Parent1 Rnd[0..18] = 12 Chromosome6 Parent2
  • 36. ANATOMY OF GA 36 Crossover - Recombination 0100101100 1110000100 Crossover single point - random 0100000100 1110101100 Parent1 Parent2 Offspring1 Offspring2 With some high probability (crossover rate) apply crossover to the parents. (typical values are 0.8 to 0.95)
  • 37. Why does crossover work? • A lot of theory about this and some controversy • The idea is that crossover preserves “good bits” from different parents, combining them to produce better solutions • A good encoding scheme would therefore try to preserve “good bits” during crossover and mutation 37 ANATOMY OF GA
  • 38. ANATOMY OF GA 38 Mutation 1011011111 1010000000 Offspring1 Offspring2 1011001111 1000000000 Offspring1 Offspring2 mutate Original offspring Mutated offspring With some small probability (the mutation rate) flip each bit in the offspring (typical values between 0.1 and 0.001)
  • 39. ANATOMY OF GA 39 Many Variants of GA • Different kinds of selection (not roulette) • Tournament • Elitism, etc. • Different recombination • Multi-point crossover • 3 way crossover etc. • Different kinds of encoding other than bitstring • Integer values • Ordered set of symbols • Different kinds of mutation
  • 40. ADVANTAGES OF GA • Concepts are easy to understand • Genetic Algorithms are intrinsically parallel. • Always an answer; answer gets better with time • Inherently parallel; easily distributed • Less time required for some special applications • Chances of getting optimal solution are more 40
  • 41. LIMITATIONS OF GA • The population considered for the evolution should be moderate or suitable one for the problem (normally 20-30 or 50- 100) • Crossover rate should be 80%-95% • Mutation rate should be low i.e. 0.5%-1% assumed as best • The method of selection should be appropriate • Writing of fitness function must be accurate 41
  • 42. RELATED TECHNIQUES • Genetic programming • Evolutionary programming • Swarm intelligence • Ant colony optimization • Particle swarm optimization • Intelligent Water Drops • Bees algorithm • Neural Networks 42
  • 43. SUMMARY 43 Representation Binary strings Recombination N-point or uniform Mutation Bitwise bit-flipping with fixed probability Parent selection Fitness-Proportionate Survivor selection All children replace parents Speciality Emphasis on crossover
  • 44. 44
  • 45. THANKS • Contact information • Email: amedhat3@gmail.com • Website: http://amedhat.info • Twitter: @amedhat3 • Linkedin: linkedin.com/in/amedhat 45

Notes de l'éditeur

  1. The only indisputably intelligent systems on this planet are biological. Biological intelligences share several characteristics: they were all designed by natural evolutionary processes, they are typically controlled by nervous systems, and they often work together in groups, swarms, or flocks. In contrast to human beings (and to many of the artificial intelligences designed by human beings) the vast majority of these biological intelligences are simple creatures: they don't appear to use logic, mathematics, complex planning, complicated modeling of their environment, or even memory in some cases. Nevertheless, even the simplest of these natural intelligences can achieve complex information processing and computational tasks that current artificial intelligences find very challenging indeed.
  2. Biological organisms cope with the demands of their environments using solutions quite unlike the traditional human-engineered approaches to problem solving. Bio-inspired computing is a field devoted to tackling complex problems using computational methods modeled after design principles encountered in nature.
  3. Biological organisms cope with the demands of their environments using solutions quite unlike the traditional human-engineered approaches to problem solving. Bio-inspired computing is a field devoted to tackling complex problems using computational methods modeled after design principles encountered in nature.
  4. The way in which bio-inspired computing differs from traditional artificial intelligence (AI) is in how it takes a more evolutionary approach to learning, as opposed to the what could be described as 'creationist' methods used in traditional AI. In traditional AI, intelligence is often programmed from above: the programmer is the creator, and makes something and imbues it with its intelligence. Bio-inspired computing, on the other hand, takes a more bottom-up, decentralized approach; bio-inspired techniques often involve the method of specifying a set of simple rules, a set of simple organisms which adhere to those rules, and a method of iteratively applying those rules. After several generations of rule application it is usually the case that some forms of complex behavior arise.
  5. Genetic programming - Here the solutions are in the form of computer programs, and their fitness is determined by their ability to solve a computational problem.Evolutionary programming - Similar to genetic programming, but the structure of the program is fixed and its numerical parameters are allowed to evolve.Swarm intelligence is a sub-field of evolutionary computing.Ant colony optimization (ACO) uses many ants (or agents) to traverse the solution space and find locally productive areas. While usually inferior to genetic algorithms and other forms of local search, it is able to produce results in problems where no global or up-to-date perspective can be obtained, and thus the other methods cannot be applied.Particle swarm optimization (PSO) is a computational method for multi-parameter optimization which also uses population-based approach. A population (swarm) of candidate solutions (particles) moves in the search space, and the movement of the particles is influenced both by their own best known position and swarm's global best known position. Like genetic algorithms, the PSO method depends on information sharing among population members. In some problems the PSO is often more computationally efficient than the GAs, especially in unconstrained problems with continuous variablesIntelligent Water Drops or the IWD algorithm [35] is a nature-inspired optimization algorithm inspired from natural water drops which change their environment to find the near optimal or optimal path to their destination. The memory is the river's bed and what is modified by the water drops is the amount of soil on the river's bed.Neuroevolution - Similar to genetic programming but the genomes represent artificial neural networks by describing structure and connection weights. The genome encoding can be direct or indirect.