240 likes | 397 Views
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.
E N D
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 • The genotype is used to map the start symbol of the BNF Grammar into terminals • 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 • 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 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
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
Experimental Results (2) Santa Fe Trail Problem CGE GE using BNF-Koza GE using BNF-O’Neill
Experimental Results (3) Los Altos Hills Problem
Experimental Results (4) Hampton Court Maze Problem
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