Constituent Grammatical Evolution (CGE) An improvement of GE implemented with jGE & NetLogo LOUKAS GEORGIOU and WILLIAM J. TEAHAN Artificial Intelligence and Intelligent Agents Research Group School of Computer Science, Bangor University, U.K. eep201@bangor.ac.uk, w.j.teahan@bangor.ac.uk Overview • • • • • • • Introduction Grammatical Evolution (GE) Constituent Grammatical Evolution (CGE) CGE Implementation Benchmarking Problems Experimental Results Conclusions & Future Work Introduction Goals • • Tackling the destructive crossover and genotype bloating issues of GE Improving GE performance in terms of both effectiveness and efficiency CGE at a glance Constituent Grammatical Evolution takes inspiration from two very elementary concepts: genes and conditional behaviour switching. It augments the standard Grammatical Evolution algorithm by incorporating and utilising these concepts in order to improve the performance of the later in agent problems. CGE Unique Features • • • Constituent Genes Conditional Behaviour-Switching Restriction of the genotype size Grammatical Evolution The Grammatical Evolution system Grammatical Evolution is an evolutionary algorithm that can evolve complete programs in an arbitrary language using a variable-length binary string. The binary string (genome) determines which production rules in a Backus Naur Form (BNF) grammar definition are used in a genotype-to-phenotype mapping process to a program. Grammatical Evolution The GE Mapping Process 1. The genotype is used to map the start symbol of the BNF Grammar into terminals 2. It reads “codons” of 8 bits and generates the corresponding integer (RNA) each time a non-terminal to be translated has more than one production rules 3. The selected production rule is calculated with the formula: rule = [codon integer value] MOD [number of rules for the current non-terminal] Grammatical Evolution GE Issues • Destructive Crossovers • Low locality of genotype-to-phenotype mapping • Genotype bloating • Very poor performance on the SFT when the original search space is used (as it were defined by Koza) Constituent Grammatical Evolution CGE constitutes a conditional behaviour switching evolutionary algorithm, based on the Grammatical Evolution algorithm, and which incorporates the notion of genes in the individual’s genotype. Main Characteristics • The conditional behaviour switching approach, which biases the search space toward useful areas. • Incorporation of the notion of genes, which tackles the issue of destructive crossovers and provides useful reusable building blocks. • Restriction of the genotype size, which tackles the genotype bloat phenomenon. Constituent Grammatical Evolution CGE Inputs • • • • Problem Specification Language Specification Behaviour-Switching Specification Grammatical Evolution algorithm CGE Parameters • • • • GE Standard Parameters Genes Pool Size, Genes Generations, Gene Code Iterations, Gene Evaluations Genes Codons Min, Genes Codons Max, Genes Max Wraps Constituent Grammatical Evolution Sample BNF Grammar Definitions GE BNF-Koza Grammar Definition for the SFT problem <expr> ::= <line> | <expr> <line> <line> ::= ifelse food-ahead [ <expr> ][ <expr> ] | <op> <op> ::= turn-left | turn-right | move GE BNF-O’Neill Grammar Definition for the SFT problem <code> ::= <line> | <code> <line> <line> ::= <condition> | <op> <condition> ::= ifelse food-ahead [ <line> ][ <line> ] <op> ::= turn-left | turn-right | move CGE BNF-BS Grammar Definition for the SFT problem <behaviour> ::= ifelse food-ahead [ <op> ] [ <op> <behaviour> ] | ifelse food-ahead [ <op> ][ <op> ] | <op> <op> ::= turn-left | turn-right | move | ... {Constituent Genes Phenotypes}(*) CGE Implementation • Java & NetLogo • jGE - Java Grammatical Evolution • jGE NetLogo Extension • CGE NetLogo models jGE - Official Web Site jGE NetLogo Extension • Extension of jGE for NetLogo • NetLogo users can use now GE • GE researchers have now a modeling environment for experiments • Available from jGE and NetLogo web sites CGE NetLogo Models Benchmarking Problems • Santa Fe Trail • Los Altos Hills • Hampton Court Maze The Santa Fe Trail Problem • • • • • • • A standard benchmark problem Full of local optima and with many plateaus Deceptive at all levels Find all 89 pieces of food Limited number of steps Square 32x32 toroidal grid Three Operations – move, turn left, turn right • One Sensor – food ahead The Los Altos Hills Problem • • • • • A more challenging version of the SFT Introduces two new kinds of irregularity 157 pieces of food 100x100 toroidal grid Trail – 221 squares – 29 turns • Three Operations – move, turn left, turn right • One Sensor – food ahead The Hampton Court Maze Problem • • • • Simple connected maze searching problem Find a route to the exit of the maze Grid size 39x23 Three Operations – move – turn left – turn right • Three Sensors – wall ahead – wall left – wall right Experimental Results (1) Santa Fe Trail Problem 500 CGE GE using BNF-O'Neill GE using BNF-Koza 450 400 Cumulative Frequency 350 300 250 200 150 100 50 0 0 2 4 6 8 10 12 14 16 18 20 22 24 Generation 26 28 30 32 34 36 38 40 42 44 46 48 50 Experimental Results (2) Santa Fe Trail Problem Exp #1 Exp #2 Exp #3 Exp #4 Exp #5 Best Runs 100 100 100 100 100 100 Steps 393 375 393 377 337 337 Success 85% 93% 89% 94% 87% 94% 90% Avg. Success Exp #1 Exp #2 Exp #3 Exp #4 Exp #5 Best Runs 100 100 100 100 100 100 Steps 419 507 415 541 479 415 Success 8% 11% 10% 6% 13% 13% GE using BNF-Koza 10% Avg. Success Exp #1 Exp #2 Exp #3 Exp #4 Exp #5 Best Runs 100 100 100 100 100 100 Steps 609 609 607 609 607 607 Success 80% 76% 75% 81% 74% 81% Avg. Success CGE 78% GE using BNF-O’Neill Experimental Results (3) Los Altos Hills Problem Runs Best Solution’s Steps Success Rate 100 CGE GE using BNF-Koza GE using BNF-O’Neill 100 100 100 1093 No solution No solution 9% 0% 0% GE using BNF-O'Neill GE using BNF-Koza CGE 90 Cumulative Frequency 80 70 60 50 40 30 20 10 0 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 Generation Experimental Results (4) Hampton Court Maze Problem CGE GE using BNF-Koza GE using BNF-O’Neill Runs 100 100 100 Best Solution’s Steps 384 439 494 Success Rate 82% 1% 1% 100 CGE GE using BNF-O'Neill GE using BNF-Koza 90 80 Cumulative Frequency 70 60 50 40 30 20 10 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Generation Conclusions & Future Work • CGE builds from elementary and more complex building blocks a control program which dictates the behaviour of an agent. • Due to the constituent genes and genotype size limit features, the Grammatical Evolution issues of destructive crossover events and genotype bloating are tackled respectively. • Experimental results show that CGE outperforms GE in terms of both efficiency (percent of solutions found) and effectiveness (number of required steps of solutions found) in all three benchmarking problems (SFT, LAH, HCM). • Further work includes the benchmarking of CGE in “real-world” problems and the evaluation of alternative, and probably more efficient, mechanisms for the creation of constituent genes. • Indeed, the application of the CGE main concepts in other Evolutionary Algorithms will be investigated. Thank You! Any questions? (Also come along to see our poster from 10:30 to 12:10 tomorrow) Constituent Grammatical Evolution Artificial Intelligence and Intelligent Agents Research Group