Ga

263 views
208 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
263
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Ga

  1. 1. Genetic Algorithms: A Tutorial “Genetic Algorithms are good at taking large, potentially huge search spaces and navigating them, looking for optimal combinations of things, solutions you might not otherwise find in a lifetime.” - Salvatore Mangano Computer Design, May 1995Wendy W illiams 1 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  2. 2. The Genetic Algorithm Directed search algorithms based on the mechanics of biological evolution Developed by John Holland, University of Michigan (1970’s) ♦ To understand the adaptive processes of natural systems ♦ To design artificial systems software that retains the robustness of natural systemsWendy W illiams 2 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  3. 3. The Genetic Algorithm (cont.) Provide efficient, effective techniques for optimization and machine learning applications Widely-used today in business, scientific and engineering circlesWendy W illiams 3 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  4. 4. Classes of Search Techniques S e a rc h te c h n iq u e s C a lc u lu s - b a s e d t e c h n iq u e s G u id e d ra n d o m s e a rc h te c h n iq u e s E n u m e r a t iv e t e c h n iq u e s D ir e c t m e t h o d s I n d ir e c t m e t h o d s E v o lu tio n a ry a lg o rith m s S im u la t e d a n n e a lin g D y n a m ic p r o g r a m m in gF in o n a c c i N e w to n E v o lu t io n a r y s t r a t e g ie s G e n e tic a lg o rith m s P a ra lle l S e q u e n tia l C e n tra liz e d D is trib u te d S te a d y -s ta te G e n e ra tio n a lWendy W illiams 4 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  5. 5. Components of a GAA problem to solve, and ... Encoding technique (gene, chromosome) Initialization procedure (creation) Evaluation function (environment) Selection of parents (reproduction) Genetic operators (mutation, recombination) Parameter settings (practice and art)Wendy W illiams 5 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  6. 6. Simple Genetic Algorithm{ initialize population; evaluate population; while TerminationCriteriaNotSatisfied { select parents for reproduction; perform recombination and mutation; evaluate population; }}Wendy W illiams 6 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  7. 7. The GA Cycle of Reproduction children reproduction modification modified parents children population evaluation evaluated children deleted members discardWendy W illiams 7 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  8. 8. Population populationChromosomes could be: ♦ Bit strings (0101 ... 1100) ♦ Real numbers (43.2 -33.1 ... 0.0 89.2) ♦ Permutations of element (E11 E3 E7 ... E1 E15) ♦ Lists of rules (R1 R2 R3 ... R22 R23) ♦ Program elements (genetic programming) ♦ ... any data structure ...Wendy W illiams 8 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  9. 9. Reproduction children reproduction parents populationParents are selected at random withselection chances biased in relation tochromosome evaluations.Wendy W illiams 9 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  10. 10. Chromosome Modification children modification modified children Modifications are stochastically triggered Operator types are: ♦ Mutation ♦ Crossover (recombination)Wendy W illiams 10 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  11. 11. Mutation: Local Modification Before: (1 0 1 1 0 1 1 0) After: (0 1 1 0 0 1 1 0) Before: (1.38 -69.4 326.44 0.1) After: (1.38 -67.5 326.44 0.1) Causes movement in the search space (local or global) Restores lost information to the populationWendy W illiams 11 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  12. 12. Crossover: Recombination *P1 (0 1 1 0 1 0 0 0) (0 1 0 0 1 0 0 0) C1P2 (1 1 0 1 1 0 1 0) (1 1 1 1 1 0 1 0) C2Crossover is a critical feature of geneticalgorithms: ♦ It greatly accelerates search early in evolution of a population ♦ It leads to effective combination of schemata (subsolutions on different chromosomes)Wendy W illiams 12 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  13. 13. Evaluation modified evaluated children children evaluation The evaluator decodes a chromosome and assigns it a fitness measure The evaluator is the only link between a classical GA and the problem it is solvingWendy W illiams 13 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  14. 14. Deletion population discarded members discard Generational GA: entire populations replaced with each iteration Steady-state GA: a few members replaced each generationWendy W illiams 14 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  15. 15. An Abstract Example Distribution of Individuals in Generation 0 Distribution of Individuals in Generation NWendy W illiams 15 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  16. 16. A Simple Example“The Gene is by far the most sophisticated program around.” - Bill Gates, Business Week, June 27, 1994 Wendy W illiams 16 Genetic Algorithms: A Tutorial Metaheuristic Algorithms
  17. 17. A Simple ExampleThe Traveling Salesman Problem:Find a tour of a given set of cities so that ♦ each city is visited only once ♦ the total distance traveled is minimizedWendy W illiams 17 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  18. 18. RepresentationRepresentation is an ordered list of citynumbers known as an order-based GA.1) London 3) Dunedin 5) Beijing 7) Tokyo2) Venice 4) Singapore 6) Phoenix 8) VictoriaCityList1 (3 5 7 2 1 6 4 8)CityList2 (2 5 7 6 8 1 3 4)Wendy W illiams 18 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  19. 19. CrossoverCrossover combines inversion andrecombination: * *Parent1 (3 5 7 2 1 6 4 8)Parent2 (2 5 7 6 8 1 3 4)Child (5 8 7 2 1 6 3 4)This operator is called the Order1 crossover.Wendy W illiams 19 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  20. 20. MutationMutation involves reordering of the list: * *Before: (5 8 7 2 1 6 3 4)After: (5 8 6 2 1 7 3 4)Wendy W illiams 20 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  21. 21. TSP Example: 30 Cities 100 90 80 70 60 50 y 40 30 20 10 0 0 10 20 30 40 50 60 70 80 90 100 xWendy W illiams 21 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  22. 22. Solution i (Distance = 941) TSP30 (Performance = 941) 100 90 80 70 60 50y 40 30 20 10 0 0 10 20 30 40 50 60 70 80 90 100 xWendy W illiams 22 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  23. 23. Solution j(Distance = 800) TSP30 (Performance = 800) 100 90 80 70 60 50 y 40 30 20 10 0 0 10 20 30 40 50 60 70 80 90 100 xWendy W illiams 23 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  24. 24. Solution k(Distance = 652) TSP30 (Performance = 652) 100 90 80 70 60 50y 40 30 20 10 0 0 10 20 30 40 50 60 70 80 90 100 xWendy W illiams 24 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  25. 25. Best Solution (Distance = 420) TSP30 Solution (Performance = 420) 100 90 80 70 60 50 y 40 30 20 10 0 0 10 20 30 40 50 60 70 80 90 100 xWendy W illiams 25 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  26. 26. Overview of Performance TSP30 - Overview of Performance 1600 1400 1200Distance 1000 800 600 400 200 0 Best 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 Worst Generations (1000) Average Wendy W illiams 26 Genetic Algorithms: A Tutorial Metaheuristic Algorithms
  27. 27. Considering the GA Technology “Almost eight years ago ... people at Microsoft wrote a program [that] uses some genetic things for finding short code sequences. Windows 2.0 and 3.2, NT, and almost all Microsoft applications products have shipped with pieces of code created by that system.” - Nathan Myhrvold, Microsoft Advanced Technology Group, Wired, September 1995 Wendy W illiams 27 Genetic Algorithms: A Tutorial Metaheuristic Algorithms
  28. 28. Issues for GA Practitioners Choosing basic implementation issues: ♦ representation ♦ population size, mutation rate, ... ♦ selection, deletion policies ♦ crossover, mutation operators Termination Criteria Performance, scalability Solution is only as good as the evaluation function (often hardest part)Wendy W illiams 28 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  29. 29. Benefits of Genetic Algorithms Concept is easy to understand Modular, separate from application Supports multi-objective optimization Good for “noisy” environments Always an answer; answer gets better with time Inherently parallel; easily distributedWendy W illiams 29 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  30. 30. Benefits of Genetic Algorithms (cont.) Many ways to speed up and improve a GA-based application as knowledge about problem domain is gained Easy to exploit previous or alternate solutions Flexible building blocks for hybrid applications Substantial history and range of useWendy W illiams 30 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  31. 31. When to Use a GA Alternate solutions are too slow or overly complicated Need an exploratory tool to examine new approaches Problem is similar to one that has already been successfully solved by using a GA Want to hybridize with an existing solution Benefits of the GA technology meet key problem requirementsWendy W illiams 31 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  32. 32. Some GA Application TypesDomain Application TypesControl gas pipeline, pole balancing, missile evasion, pursuitDesign semiconductor layout, aircraft design, keyboard configuration, communication networksScheduling manufacturing, facility scheduling, resource allocationRobotics trajectory planningMachine Learning designing neural networks, improving classification algorithms, classifier systemsSignal Processing filter designGame Playing poker, checkers, prisoner’s dilemmaCombinatorial set covering, travelling salesman, routing, bin packing, graph colouring and partitioningOptimizationWendy W illiams 32 Genetic Algorithms: A TutorialMetaheuristic Algorithms
  33. 33. ConclusionsQuestion: ‘If GAs are so smart, why ain’t they rich?’Answer: ‘Genetic algorithms are rich - rich in application across a large and growing number of disciplines.’ - David E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning Wendy W illiams 33 Genetic Algorithms: A Tutorial Metaheuristic Algorithms

×