1 / 37

Genetic algorithms Prof Kang Li

Email: K.Li@qub.ac.uk. Genetic algorithms Prof Kang Li. Last lecture RBF. This Lecture Genetic algorithm Basic GA operations. Content. What is Genetic Algorithm? How to implement GA? Encoding Selection Crossover Mutation A example Matlab demo Differential evolution.

elmo-barr
Download Presentation

Genetic algorithms Prof Kang Li

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. Email: K.Li@qub.ac.uk Genetic algorithms Prof Kang Li

  2. Last lecture • RBF This Lecture • Genetic algorithm • Basic GA operations

  3. Content • What is Genetic Algorithm? • How to implement GA? • Encoding • Selection • Crossover • Mutation • A example • Matlab demo • Differential evolution

  4. What is Genetic Algorithm? Bio-Inspiredartificial intelligence class of probabilistic optimization algorithms Well-suited for nonlinear/hard problems with a large search space Influenced by Darwin’s Origin of species Developed by John Holland,Adaptation in Natural and Artificial Systems, U of Michigan Press, 1975

  5. Natural Selection (Darwin’s theory) • Genetic contents -> survival capacity -> features • Reproduction • recombination (or crossover) first occurs. Genes from parents combine to form a whole new chromosome. • Newly created offspring mutated, elements of DNA are changed.  Diversity • Survival of the fittest • Gene of the fittest survive, gene of weaker die out • Elitism • Evolution - change of species’ feature to fit environment

  6. Natural Selection

  7. Main idea Produce a population of candidate solutions for a given problem Use operators inspired by the mechanisms of natural genetic variation Apply selective pressure toward certain properties Evolve to a more fit solution

  8. Nature to Computer Mapping

  9. Simple Genetic Algorithm Simple_Genetic_Algorithm() { Initialize the Population; Calculate Fitness Function;While(the number of generation > maximum number) { Selection;//Natural Selection, Survival Of Fittest Crossover;//Reproduction, Propagate favorable characteristics Mutation;//Mutation Calculate Fitness Function; } }

  10. A B C D 1 1 1 0 1 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 1 0 1 0 1 1 population 1 0 0 1 1 selection 0 1 1 1 0 Fitness evaluation 1 0 0 1 1 0 1 1 1 0 Structure of Genetic Algorithm crossover Search space mutation reproduction Substitution

  11. Genetic Algorithm Process Initial population 5th generation 10th generation

  12. Applications of GA • Difficult Problems such as NP-class • Nonlinear dynamical systems - predicting, data analysis • Designing neural networks, both architecture and weights • Robot Trajectory Planning • Evolving LISP programs (genetic programming) • Strategy planning • Finding shape of protein molecules • TSP and sequence scheduling • Functions for creating images • VLSI layout planning • …

  13. Encoding Selection Crossover GA Process Mutation

  14. Encoding The process of representing the solution in the form of a string that conveys the necessary information. Just as in a chromosome, each gene controls a particular characteristics of the individual, and each bit in the string represents a characteristics of the solution.

  15. Chromosome A 10110010110011100101 Chromosome B 11111110000000011111 Encoding Methods Binary Encoding Most common method of encoding. Chromosomes are strings of 1s and 0s and a gene of chromosomes represents the a particular characteristics of the problem.

  16. Chromosome A 1  5  3  2  6  4  7  9  8 Chromosome B 8  5  6  7  2  3  1  4  9 Encoding Methods (contd.) Permutation Encoding Useful in ordering problems such as the Traveling Salesman Problem (TSP). Example. In TSP, every chromosome is a string of numbers, each of which represents a city to be visited.

  17. Chromosome A 1.235  5.323  0.454  2.321  2.454 Chromosome B (left), (back), (left), (right), (forward) Encoding Methods (contd.) Value Encoding Used in problems where complicated values, such as real numbers, are used and where binary encoding would not suffice. Good for some problems, but often necessary to develop some specific crossover and mutation techniques for these chromosomes.

  18. B C Selection A • Based on fitness function: • Determines how ‘good’ an individual is (fitness) • Better fitness, higher probability of survival • Selection of individuals for differential reproduction of offspring in next generation • Favors better solutions • Decreases diversity in population

  19. Individual i will have a probability to be chosen Selection – Roulette Wheel Each solution gets a region on a roulette wheel according to its fitness Spin wheel, select solution marked by roulette-wheel pointer stochastic selection (better fitness = higher chance of reproduction)

  20. q=6 selection Selection - Tournament • randomly selectq individuals from current population • Winner: individual(s) with best fitness among these q individuals • Example: select the best two individuals as parents for recombination

  21. Crossover Chromosome A … … … … Chromosome B … Chromosome A* … … … Chromosome B* Crossover is a critical feature of genetic algorithms: Crossover process simulates the exchange of genetic material that occurs during biological reproduction In this process pairs in the breeding population are mated randomly with a crossover rate, Pc Typical crossover properties include that an offspring inherits the common feature from the parents along with the ability of the offspring to inherit two completely different features Popular crossover techniques: one point, two point and uniform crossover

  22. 11001011+11011111 = 11001111+11011011 11001011 + 11011110 = 11011111+11001010 Example-Bit string Crossover Single point crossover Two point Crossover

  23. 11001011 + 11011101 = 11011111 Bit string Crossover Uniform crossover : bits are randomly copied from the parents if random-number > Crossover-rate then Crossover otherwise remain unaltered

  24. Mutation 42 58 Mutation consists of making small alterations to the values of one or more genes in a chromosome Mutation randomly perturbs the population’s characteristics, and prevents evolutionary dead ends Most mutations are damaging rather than beneficial and hence mutation rate must be low to avoid the destruction of species It works by randomly selecting a bit with a certain mutation rate in the string and reversing its value

  25. Fitness Function • A measure of how successful an individual is in the environment • Problem dependent • Given chromosome, the fitness function returns a number • f : S  R • Smooth and regular • Similar chromosomes produce close fitness values • Not have too many local extremes and isolated global extreme

  26. Example(1) • Finding the maximum of a function: • f(x) = x² • Range [0, 31] Goal: find max (31² = 961) • Binary representation: string length 5 = 32 numbers (0-31) = f(x)

  27. binary value fitness String 1 00110 6 36 String 2 00011 3 9 String 3 01010 10 100 String 4 10101 21 441 String 5 00001 1 1 Start Population • Typical parameter values • population size : 30 -100 • crossover rate : 0.7 -1 • mutation rate : 0.01 - 0.2

  28. binary value fitness String 1 00110 6 36 String 2 00011 3 9 String 3 01010 10 100 String 4 10101 21 441 String 5 00001 1 1 Selection 6.13% 1.53% 17.04% 75.13% 0.17% • Worst one removed

  29. binary value fitness String 1 00110 6 36 String 2 00011 3 9 String 3 01010 10 100 String 4 10101 21 441 String 5 00001 1 1 Selection Best individual: reproduces twice  keep population size constant

  30. binary value fitness String 1 00110 6 36 String 2 00011 3 9 String 3 01010 10 100 String 4 10101 21 441 String 5 10101 21 441 Selection • All others are reproduced once

  31. partner x-position String 1 String 2 4 String 3 String 4 2 Crossover Parents and x-position randomly selected 0 0 1 1 1 0 0 1 1 0 7 6 String 1: 0 0 0 1 0 0 0 0 1 1 23 3 String 2: 0 1 1 0 1 0 1 0 1 0 21 10 String 3: 1 0 0 1 0 1 0 1 0 1 17 String 4: 21

  32. Mutation • bit-flip • Offspring -String 1: 00111 (7) 10111 (23) • Offspring -String 3: 10101 (21) 10001 (17)

  33. New population binary value fitness String 1 00111 7 49 String 2 10111 23 529 String 3 10101 21 441 String 4 10001 17 289 10101 21 String 5 441 • All individuals in the parent population are replaced by offspring in the new generation • (generations are discrete!) • New population (Offspring):

  34. End • Iterate until termination condition reached, e.g.: • Number of generations • Best fitness • Process time • No improvements after a number of generations • Result after one generation: • Best individual: 10111 (23) – fitness 529 • Best solution after 100 generation: • Best solution: 11111 (31) – fitness 961

  35. 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 requirements

  36. Summary • Introduction to GA • Basic GA operations

More Related