1 / 31

Genetic Algorithms CSCI-2300 Introduction to Algorithms

Genetic Algorithms CSCI-2300 Introduction to Algorithms. David Goldschmidt, Ph.D. Rensselaer Polytechnic Institute April 28, 2014. Evolutionary Computing. Evolutionary computing produces high-quality partial solutions to problems through natural selection and survival of the fittest

liana
Télécharger la présentation

Genetic Algorithms CSCI-2300 Introduction to Algorithms

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Genetic AlgorithmsCSCI-2300 Introduction to Algorithms David Goldschmidt, Ph.D. Rensselaer Polytechnic Institute April 28, 2014

  2. Evolutionary Computing • Evolutionary computing produceshigh-quality partial solutionsto problems throughnatural selection andsurvival of the fittest • Compare to naturalbiological systems thatadapt and learn over time

  3. Genetic Algorithm Example • Find the maximum value of function f(x) = –x2 + 15x • Represent problem using chromosomes built from four genes: http://www.webgraphing.com

  4. Genetic Algorithm Example • Initial random population of size N = 6:

  5. fitness function here issimply the original function f(x) = –x2 + 15x Genetic Algorithm Example • Determine chromosome fitness foreach chromosome: 218 100.0

  6. Genetic Algorithm Example • Use fitness ratios to determine which chromosomes are selected for crossoverand mutation operations:

  7. Genetic Algorithm Example • Converge on a near-optimal solution:

  8. Convergence Example global maximum local maximum

  9. Genetic Algorithms – Step 1 • Represent the problem domain asa chromosome of fixed length • Use a fixed number of genes to represent a solution • Use individual bits or characters for efficientmemory use and speed • e.g. Traveling Salesman Problem (TSP)http://www.lalena.com/AI/Tsp/

  10. Genetic Algorithms – Step 2 • Define a fitness functionf(x) to measurethe quality of individual chromosomes • The fitness function determines • which chromosomes carry over to the next generation • which chromosomes are crossed over with one another • which chromosomes are individually mutated

  11. . . . Genetic Algorithms – Step 3 • Establish our genetic algorithm parameters: • Choose the size of the population, N • Set the crossover probability, pc • Set the mutation probability, pm • Randomly generate an initial populationof chromosomes: • x1, x2, ..., xN

  12. Genetic Algorithms – Step 4 • Calculate the fitness of eachindividual chromosome using f(x): • f(x1), f(x2), ..., f(xN) • Order the population based on fitness values

  13. Genetic Algorithms – Step 5 • Using pc, select pairs of chromosomesfor crossover • Using pm, select chromosomes for mutation • Chromosomes are selectedbased on their fitnessvalues using aroulette wheel approach:

  14. Genetic Algorithms – Step 6 • Create a pair of offspring chromosomes by applying a crossover operation:

  15. Genetic Algorithms – Step 6 • Mutate an offspring chromosome by applyinga mutation operation:

  16. Genetic Algorithms – Steps 7 & 8 • Step 7: • Place all generated offspringchromosomes in a new population • Step 8: • Go back to Step 5 until the size of the new population is equal to the size of the initial population, N

  17. Genetic Algorithms – Steps 9 & 10 • Step 9: • Replace the initial population withthe new population • Step 10: • Go back to Step 4 and repeat the processuntil termination criteria are satisfied • Typically repeat this process for 50-5000+ generations

  18. Iteration

  19. Crossword Puzzle Construction • Given: • Dictionary of valid wordsand phrases • Empty crossword grid • Problem: • Fill the crossword grid suchthat all words both acrossand down are valid • (assign clues later)

  20. Crossword Puzzle Construction • Genetic Algorithm (GA) • Evolve a solution by crossovers andmutations through many generations • Initial population of crossword grids: • Random letters? • Random letters based on Scrabble® frequencies? • Random words from dictionary? • Fitness of each grid is number of valid words

  21. Termination Criteria • When do we stop? • Pause a genetic algorithm after agiven number of generations, thencheck the fittest chromosomes • If the fittest chromosomes are fitbeyond a given threshold,terminate the genetic algorithm • Also consider stopping when the highest fitness value does not change for a large number of generations ?

  22. Computational Complexity • How long does it take for an algorithm toproduce a solution? • Depends on the size of the input andthe complexity of the algorithm • The size of the input is n • The complexity of the algorithm is classifiedbased on its expected run time

  23. Computational Complexity • Big-O notation measures the expected run timeof an algorithm (i.e. its computational complexity) • Constant time: O(1) • Logarithmic time: O(log n) • Linear time: O(n) • Linearithmic time: O(n log n) • Quadratic time: O(n2) • Exponential time: O(cn) • Factorial time: O(n!) P NP

  24. Genetic Algorithms • Genetic algorithms are often well-suited to producing reasonable solutions to intractable problems • Intractable problems are problems withexcessive computational complexity • i.e. in the Nondeterministic Polynomial (NP) class of problems • A reasonable solution is a partial or inexact solution that adequately solves the problem in polynomial time

  25. yikes! Genetic Algorithms Example • Consider the Traveling Salesman Problem (TSP) in which a salesman aims to visit n cities exactly once covering the least distance http://mathworld.wolfram.com/TravelingSalesmanProblem.html http://www.tsp.gatech.edu/games/index.html • Starting at any given node, choose from n–1 remaining nodes, then choose from n–2 remaining nodes, etc. • Testing every possible route takes (n–1)! steps seehttp://bio.math.berkeley.edu/classes/195/2000/lec14/index.html

  26. Genetic Algorithms Example • Use a genetic algorithm to evolve a near-optimal solution to the TSP • Label cities A, B, C, D, E, F, etc. • Example circuits: ABCDEF, BDAFCE, FBECAD • How do we perform crossover operations? • Basic crossovers might result in invalid membersof the population • e.g. combining ABCDEF and BDAFCE may result in ABCFCE

  27. Genetic Algorithms Example • Key challenge of developing a genetic algorithm is often the representation of the problem • For TSP, consider a standard ordering ABCDEF, assigning the code 123456 • All other sequences encoded based on the removal of letters • Basic crossover works...

  28. Genetic Algorithms Example • All other sequences encoded based on the removal of letters from standard ordering • Sequence BDAFCE has code 231311 B is 2 in ABCDEF D is 3 in ACDEF A is 1 in ACEF F is 3 in CEF C is 1 in CE E is 1 in E

  29. Genetic Algorithms Example • Crossing ACEDB with ABCED... Crossover Operation

  30. another approach: http://www.dna-evolutions.com/dnaappletsample.html Genetic Algorithms Example • Combining ACEDB with ABCED... ...yields ACBED from A.K. Dewdney’s The (New) Turing Omnibus, Computer Science Press, New York, 1993

  31. Genetic Algorithms • Advantages of genetic algorithms: • Often outperform “brute force” approaches by randomly jumping around the search space • Ideal for problem domains in which near-optimal (as opposed to exact) solutions are adequate • Disadvantages of genetic algorithms: • Might not find any satisfactory partial solutions • Tuning can be a challenge

More Related