1 / 10

Introduction to Genetic Algorithms

Introduction to Genetic Algorithms. Jeff Plummer Nov. 2003. Background. Problems are solved by an evolutionary process resulting in a best (fittest) solution (survivor). Evolutionary Computing 1960s by I. Rechenberg Genetic Algorithms Invented by John Holland 1975

ahathaway
Download Presentation

Introduction to Genetic 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. Introduction to Genetic Algorithms Jeff Plummer Nov. 2003

  2. Background • Problems are solved by an evolutionary process resulting in a best (fittest) solution (survivor). • Evolutionary Computing • 1960s by I. Rechenberg • Genetic Algorithms • Invented by John Holland 1975 • Made popular by John Koza 1992

  3. How GA are Different than Traditional Search Methods • GAs work with a coding of the parameter set, not the parameters themselves. • GAs search from a population of points, not a single point. • GAs use payoff information, not derivatives or auxiliary knowldege. • GAs use probablistic transition rules, not deterministic rules.

  4. Vocabulary • Gene – An single encoding of part of the solution space. • Chromosome – A string of “Genes” that represents a solution. • Population - The number of “Chromosomes” available to test.

  5. Simple Example • f(x) = {MAX(x2): 0 <= x <= 32 } • Encode Solution: Just use 5 bits (1 or 0). • Generate initial population. • Evaluate each solution against objective.

  6. Simple Example (cont.) • Create next generation of solutions • Probability of “being a parent” depends on the fitness. • Ways for parents to create next generation • Reproduction • Use a string again unmodified. • Crossover • Cut and paste portions of one string to another. • Mutation • Randomly flip a bit. • COMBINATION of all of the above.

  7. The Basic Genetic Algorithm • [Start] Generate random population of n chromosomes (suitable solutions for the problem) • [Fitness] Evaluate the fitness f(x) of each chromosome x in the population • [New population] Create a new population by repeating following steps until the new population is complete • [Selection] Select two parent chromosomes from a population according to their fitness (the better fitness, the bigger chance to be selected) • [Crossover] With a crossover probability cross over the parents to form new offspring (children). If no crossover was performed, offspring is the exact copy of parents. • [Mutation] With a mutation probability mutate new offspring at each locus (position in chromosome). • [Accepting] Place new offspring in the new population • [Replace] Use new generated population for a further run of the algorithm • [Test] If the end condition is satisfied, stop, and return the best solution in current population • [Loop] Go to step 2

  8. Example Applet • http://www.rennard.org/alife/english/gavintrgb.html

  9. GAs and Games • GAs are learning systems • Consider a Space Ship AI - Evade • Chromosome encoding is string of “Up, Down, Left, Right, Accelerate, Decelerate” • Fitness of “Chromosome” is proportional to the length of time it can evade a player. • As player plays, ships get better at evading. • DOESN’T REQUIRE A LIVE PLAYER!!!!!!

  10. Bibliography • Genetic Algorithms in Search, Optimization, and Machine Learning by David E. Goldberg. • http://cs.felk.cvut.cz/~xobitko/ga/ • http://www.sambee.co.th/MazeSolver/mazega.htm • http://www.rennard.org/alife/english/gavintrgb.html

More Related