Transcript Document
Developing a Generic Genetic Algorithm Melvin Neville & Anaika Sibley Northern Arizona University Flagstaff, AZ 86011 7/20/2015 Neville & Sibley: SIGAda Houston 1 Introduction Melvin Neville, CSE faculty – Artificial Life • Evolution of intelligence • Biological neural net modeling Anaika Sibley, CSE student – ASCI-PALS research (DOE) 7/20/2015 Neville & Sibley: SIGAda Houston 2 Introduction CSE 470: Introduction to Intelligent Systems – Neural Nets, Fuzzy Logic, Genetic Algorithms – Building tools 7/20/2015 Neville & Sibley: SIGAda Houston 3 Outline Introduction: Who we are and context Genetic and Evolutionary Algorithms – Biological analogies – Genetic vs Evolutionary Algorithms – Our version – Sine function model Conclusions: algorithm, teaching, Ada 7/20/2015 Neville & Sibley: SIGAda Houston 4 Genetic and Evolutionary Algorithms: Biological Analogies Biological inspiration: evolution and Mendelian genetics Gene and Allele – Parameter variations Chromosome – Linkage among parameters Mutation – Allele alterations Crossover – evading local minima 7/20/2015 Neville & Sibley: SIGAda Houston 5 Biological Analogies Biological inspiration: evolution and Mendelian genetics Evolution: – Selection and “fitness” – Role of chance? – Problem of local minima (maxima) 7/20/2015 Neville & Sibley: SIGAda Houston 6 Biological Analogies Chromosomes and Genes Biological View A B C D E GA view F G H chromosome 1 a b c d e chromosome 2 7/20/2015 organism 1 f g h organism 2 Neville & Sibley: SIGAda Houston 7 Biological Analogies and Crossover Biological View A B C D E chromosome 1 a b c d e chromosome 2 7/20/2015 GA view f g h organism 1 F G H organism 2 Neville & Sibley: SIGAda Houston 8 Biological Analogies Evolutionary Paradigm: The cycle – Selection among variants – “More fit”: Better chance to survive to reproduce – Their alleles more represented – Mutation and crossover increase variation 7/20/2015 Neville & Sibley: SIGAda Houston 9 Genetic vs Evolutionary Algorithms Major distinctions per Michalewicz – Representation: • GA: Bit vector • ES: Floating-point vector – Selection: • GA: Repetitive random selection with fitness influence • ES: Fitness function without replacement 7/20/2015 Neville & Sibley: SIGAda Houston 10 Genetic vs Evolutionary Algorithms Major distinctions per Michalewicz (cont.) – Timing of mutation and crossover: • GA: After next generation selected • ES: Before next generation selected – Probabilities of mutation and crossover: • GA: Constant • ES: Can alter from generation to generation 7/20/2015 Neville & Sibley: SIGAda Houston 11 Genetic vs Evolutionary Algorithms Major distinctions per Michalewicz (cont.) – Handling “illegal” offspring: • GA: Penalize re fitness • ES: Discard or Impossible 7/20/2015 Neville & Sibley: SIGAda Houston 12 Our Version Our algorithm: – 1. Initialize the generation counter to 0 – 2. Initialize the population of entities – 3. Iterate through generations until some stopping criterion met 7/20/2015 Neville & Sibley: SIGAda Houston 13 Our Version Our algorithm: – 3. Iterate through generations • • • • • • 7/20/2015 3.1 Increment generation counter 3.2 Each “winner” produces same # children 3.3 Each child subject to chance mutation 3.4 Each child has chance of crossover 3.5 The children are evaluated 3.6 The most fit are selected for the next generation (“winners”) Neville & Sibley: SIGAda Houston 14 Our Version Our parameters and data structures: – – – – – NumWin ChildPerWin Winners list Children list PriorityQueue 7/20/2015 Neville & Sibley: SIGAda Houston 15 Our Version Our parameters and data structures: mutate (3.3) (2) init Winners list cross eval (3.4) (3.5) Children list (3.2) create children to next generation (3.6) (3.6) select Priority Queue 7/20/2015 Neville & Sibley: SIGAda Houston 16 The Sine Function Model Taylor’s series: f(y+h) = h0f(y)/0! + h1f’(y)/1! + h2f’’(y)/2! + h3f’’’(y)/3! + h4f’’’’(y)/4! + … Sine series: sin x = x1/1! – x3/3! + x5/5! – x7/7! + … 7/20/2015 Neville & Sibley: SIGAda Houston 17 The Sine Function Model Problem: to “evolve” the coefficients of the Sine Series Subproblems: – Initial coefficient values? – Evaluation of “fitness”? – Interpretation of mutation? – Interpretation of crossover? 7/20/2015 Neville & Sibley: SIGAda Houston 18 The Sine Function Model Initial coefficient values? – Set to zero (they go in both directions) 7/20/2015 Neville & Sibley: SIGAda Houston 19 The Sine Function Model Evaluation of fitness? – Formula: Coefficients evaluated every N (5) degrees range 0 .. 90 degrees: sum square divergences from math library sin() – Evaluation with initial coefficients of 0.0: 9.5000 7/20/2015 Neville & Sibley: SIGAda Houston 20 The Sine Function Model Evaluation of fitness? – Evaluation with “perfect” coefficients: 0.0000 – The “perfect” Coefficients (power of x): 0 => 0.0000000 4 => 0.0000000 1 => 1.0000000 5 => 0.0083333 2 => 0.0000000 6 => 0.0000000 3 => -0.1666667 7 => -0.0001984 7/20/2015 Neville & Sibley: SIGAda Houston 21 The Sine Function Model Interpretation of mutation? – 0 .. multiple genes can be selected – Alteration in coefficients by +/- delta-values – Delta-coefficient file: 0 => 0.1 4 => 0.002 1 => 0.05 5 => 0.0004 2 => 0.02 6 => 0.00006 3 => 0.008 7 => 0.00001 7/20/2015 Neville & Sibley: SIGAda Houston 22 The Sine Function Model Interpretation of crossover? – Random choice of organisms involved – Random choice of pairings – Random choice of single point of breakage 7/20/2015 Neville & Sibley: SIGAda Houston 23 Lessons Learned: The Algorithm Parameters of run: – NumWin = 20 Winners, ChildPerWin = 20 – 20000 maximum cycles Eval at end: 0.000456 (start: 9.5000) Coefs: 0 => -0.0000000 -0.0000000 1 => 0.9500000 2 => 0.0600000 3 => -0.1360000 7/20/2015 Neville & Sibley: SIGAda Houston 1.0000000 0.0000000 -0.1666667 24 Lessons Learned: Parameters Change the Parameter Values – Vary the number of Winners – Vary the number of Children Create Multiple Runs Graph Results 7/20/2015 Neville & Sibley: SIGAda Houston 25 Seven Differing Runs 7/20/2015 Neville & Sibley: SIGAda Houston 26 Seven Differing Children 7/20/2015 Neville & Sibley: SIGAda Houston 27 Lessons Learned: The Algorithm Breakdown of the evaluation: Angle (deg) 0 5 10 30 60 90 7/20/2015 Evolved sin 0.0000 0.0833 0.1669 0.4921 0.8691 1.0015 Neville & Sibley: SIGAda Houston Library sin 0.0000 0.0872 0.1736 0.5000 0.8660 1.000028 28 Lessons Learned: The Algorithm Need to change deltas Need to shake free of local minima – Change crossover mechanism? – Alter population sizes? Domain knowledge very important 7/20/2015 Neville & Sibley: SIGAda Houston 29 Lessons Learned: Ada Hard typing Linked-list structure Generics 7/20/2015 Neville & Sibley: SIGAda Houston 30 Lessons Learned: Ada Hard typing: – Student reaction (C++ and Java) – The compiler as (stern) friend 7/20/2015 Neville & Sibley: SIGAda Houston 31 Lessons Learned: Ada Linked-list Updating problem: Node contents = pointer (thru GetContents()) Node Contents Real_Contents 7/20/2015 Node Contents Real_Contents Neville & Sibley: SIGAda Houston 32 Lessons Learned: Ada Linked-list Updating problem: Copy node contents (thru Get/SetContents()) GetContents() Node Contents 7/20/2015 Copy of Contents Update fields SetContents() Neville & Sibley: SIGAda Houston 33 Lessons Learned: Ada Linked-list Updating problem: Direct access to (non-encapsulated) Contents Node Contents 7/20/2015 Neville & Sibley: SIGAda Houston 34 Lessons Learned: Ada Generics: – Powerful but complicated – Allow tying together complicated instantiation relationships – (see paper) 7/20/2015 Neville & Sibley: SIGAda Houston 35 Conclusions Genetic Algorithms potentially powerful Final results may be stall at local minimum Domain knowledge important Ada: definite strengths Ada: particular problems 7/20/2015 Neville & Sibley: SIGAda Houston 36 The Sine Function Model Taylor’s series: f(y+h) = h0f(y)/0! + h1f’(y)/1! + h2f’’(y)/2! + h3f’’’(y)/3! + h4f’’’’(y)/4! + … Euler’s formula: eix = cos x + i sin x Substitute: – Euler’s formula with y=z,h=ix => eixez – Evaluate at z = 0 7/20/2015 Neville & Sibley: SIGAda Houston 37 The Sine Function Model Substitute: f(z + ix)z=0 = cos x + i sin x = (ix)0ez/0! + (ix)1ez/1! + (ix)2ez/2! – (ix)3ez/3! + (ix)4ez/4! + … sin(x) = i-terms = x1/1! – x3/3! + x 5/5! - … 7/20/2015 Neville & Sibley: SIGAda Houston 38