1 / 18

An Introduction to Genetic Algorithms And Programming

An Introduction to Genetic Algorithms And Programming. Juan Monrreal CSCI 6175 Spring 2014. Darwin’s Influence. “It is not the strongest or the most intelligent who will survive but those who can best manage change.” -Charles Darwin. Genetic Algorithms.

lee
Download Presentation

An Introduction to Genetic Algorithms And Programming

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. An Introduction to Genetic Algorithms And Programming Juan Monrreal CSCI 6175 Spring 2014

  2. Darwin’s Influence “It is not the strongest or the most intelligent who will survive but those who can best manage change.” -Charles Darwin

  3. Genetic Algorithms • Attempts to find best solution to a problem by genetically breeding a population over series of generations. • Each individual represents a candidate solution • Each individual is assessed according to a fitness function. • New generation after reproduction, crossover and mutation.

  4. Genetic Programming Problem solving approach in which computer programs are evolved or approximately evolved in order to solve or approximately solve a problem.

  5. Central Goals Automatic Programming How can computers do what need to be done without being told how to do it?

  6. Preparation for GP Set of terminals Set of primitive functions Fitness measure Parameters for controlling the run Method for designating a result and terminating a run.

  7. Preparation Continued • Terminals= inputs to ultimate program. • Composition of functions (F) and terminals (T) • Every function can accept any value from other function. • Every function can accept any value from any terminal. • Main drive is fitness measure. • Depends on purpose of program • May be time, money fuel etc., spent to bring system to desired state. • 4. Primary parameters refer to population size and max number of generations. • 5. Criteria for terminating run may be

  8. Steps to GP • Generate initial population composed of functions and terminals. • Iteratively perform sub-steps until criterion is satisfied • Fitness • Crossover • Mutation • 3. Resulting program is solution or approximation.

  9. GP Pseudocode Produce initial population Evaluate fitness of individuals While ( Optimal condition is not met) Select fitter individuals for reproduction Crossover Mutation Evaluate fitness End While

  10. Example Program to maximize number of 1’s: F(S1) = 7 F(S2) = 5 F(S3) = 7 F(S4) = 4 F(S5) = 8 F(S6) = 3 F(S)=34 S1=1111010101 S2=0111000101 S3=1110110101 S4=0100010011 S5=1110111101 S6=0100110000 S1’=1111010101 (S1) S2’=1110110101 (S3) S3’=1110111101 (S5) S4’=0111000101 (S2) S5’=0100010011 (S4) S6’=1110111101 (S5)

  11. Example Continued S1’=1111010101 S2’=1110110101 S3’=1110111101 S4’=0111000101 S5’=0100010011 S6’=1110111101 S1’’=1111010101 S2’’=1110110101 S3’’=1110100101 S4’’=0111011101 S5’’=0100011101 S6’’=1110110011

  12. Example Continued S1’’’=1111010111 S2’’’=1110110111 S3’’’=1110100111 S4’’’=0111011111 S5’’’=0100011111 S6’’’=1110110001 S1’’=1111010101 S2’’=1110110101 S3’’=1110100101 S4’’=0111011101 S5’’=0100011101 S6’’=1110110011

  13. Example Continued S1’’’=1111010111 S2’’’=1110110111 S3’’’=1110100111 S4’’’=0111011111 S5’’’=0100011111 S6’’’=1110110001 F(S1’’’)=8 F(S2’’’)=8 F(S3’’’)=7 F(S4’’’)=8 F(S5’’’)=6 F(S6’’’)=6 F(S’’’)=43

  14. Sample Clip of GP Objects Learn to Fight

  15. Areas for Use of GP • Conventional mathematical analysis does not provide a solution • Relationships among variables in program is poorly understood • Size and shape of solution is ultimate problem • Approximate solution is acceptable • Large amount of data • Small routine improvements

  16. Increasing Efficiency • Software Maintenance: • Up to 70% of expenditure is directed towards this • Issues: • Changing client needs • New data • Technical Issues • Old code • Up to 50% of time and money may go into understanding code.

  17. Conclusion

  18. Resources: Koza, J. R. (1997). Genetic Programming, in Kent, A. & Williams, J. G. Encyclopedia of computer Science and Technology. Forrest, S. (1993). Genetic Algorithms: Principles of Natural Selection Applied to Computation. Science, 261, 872-878. Hirsch, H. (ed.) (2000). Trends and controversies: genetic programming. IEEE Intelligent Systems, 74-84.

More Related