530 likes | 636 Views
Adapting Representation in Genetic Programming. Cezary Z. Janikow UMSL. Work partly done at NASA/JSC. Roadmap. Search Space and Redundant Representations Constrained GP CGP Technology Adaptable CGP ACGP ACGP1.1.1 methodology Some results ACGP2.1 ( NEW ), future.
E N D
Adapting Representation in Genetic Programming Cezary Z. Janikow UMSL Work partly done at NASA/JSC
Roadmap • Search Space and Redundant Representations • Constrained GP CGP • Technology • Adaptable CGP ACGP • ACGP1.1.1 methodology • Some results • ACGP2.1 (NEW), future
GP Search Space • Best mappings • One-to-one • Onto • Real life • Redundant • Many-to-one • Work done on redundant space in GA supports • Overrepresentation of the best solutions • “Closeness” of genotype and phenotype
GP Search Space 2-dim space • Tree structures • constrained by size limits and function arity • Tree instances of specific structures • constrained by domain sizes
Real Life Mappings • Allow all (help by closure) • Strong pruning • Explicit • Structure-preserving cross, STGP, CGP, CFG-GP • Weak (probabilistic) pruning • Implicit: • Evolution itself • Penalty (explicit on phenotype) • Explicit • Non-uniform mutation/cross: CGP, ACGP
+ 2 + y 4 / + 2 / x sin + + + 2 2 a x sin y 4 a GP Crossover – strong vs. weak pruning (non-uniform)
/ + 2 x sin a GP Mutation – strong vs. weak pruning / + 2 x * c 3
Unpruned uniform distribution Mutation/Crossover Pi Pi+1 Reproduction GP at work
Typed GP at work Pruned uniform distribution Mutation/Crossover Pi Pi+1 Reproduction CFG-based, STGP, -GP,CGP, Structure-Preserving Crossover
CGP: explicit strong and explicit weak pruning Pruned non-uniform distribution CSL Mutation/Crossover Pi Pi+1 Reproduction
ACGP: strong and weak pruning, adaptable Pruned non-uniform distribution CSL Mutation/Crossover Pi Pi+1 Reproduction
CGPConstrained Genetic Programming Principles Technology Examples
Why CGP? • Existing technology for ACGP as is • Efficient existing technology allowing input and processing of strong constraints and weak heuristics • Implemented into lil-gp • But no need to couple
CGP Principles Constraining GP to search only within desired space • Constraining options • Strong FT constraints • Strong Data typing • Weak Heuristics • probabilistic (think of shades) pruning
CGP Current Capabilities Local heuristics and constraints • On specific labels • On data types • Overloaded (polymorphic) functions • Weighted heuristics
ACGP - Adaptable CGP Application context Principles ACGP at work Example of Heuristics Results V1.1.1 vs. near-future v2.1 vs. far-future
ACGP Application Context • Learn heuristics off-line to • Knowledge discovery • Solve better next time • Solve harder problem next time • Create a library of heuristics • Most results shown here • Learn heuristics on-line during problem solving • hBOA • Some results here
ACGP Principles • Adjust the heuristics changing the probability distribution • Measure utility in mutation/crossover • Immediate impact but • Bucket Brigade problem in mutation • modest improvements • Observe applications to surviving chromosomes • Co-evolution • Solutions vs. library of heuristics • Observe distribution of local heuristics • current ACGP, reported here, better improvements
CGP1.1 and ACGP1.1.1 Heursitics • Current node info retained in CGP1.1 tree • Current heuristics in ACGP1.1.1 • Updates heuristics at different schedules • Uses info on expressed genes • Could go to deeper heuristics
ACGP Experiment Domain 11-Multiplexer • 3 addresses • 8 data bits • pass through one data bit • GP settings • functions: if/else, and, or, not • terminals: addresses and data
Previously Identified Heuristics • DNF or sufficient set (e.g., {and, not}) • No • if only is best • if-arg1 {addresses,not} • if-arg2/3 {if,data} • Yes • Improvements • Evolution speed • Learning speed
ACGP Multiplexer Results Change in local heuristics distribution • Current distribution vs. reference • Distribution: whole population vs. best samples • Reference: first generation vs. previous Change in speed of evolution • Current fitness and number of iterations needed Evolved heuristics • Quantitative and qualitative
Two ACGP Settings • Off-line • Iteration = 25 generations • Can we learn to improve next time? • Can we comprehend knowledge? • In-line, in-between • Iteration = 1, 5, 10 generation • Impact of regrow • Impact on population size
Change in First-order Heuristics Distribution Experiment: • Distribution • whole and best • Reference • first generation • Average of 5 independent runs on single population • Note saturation • just vs. first generation reference or the same vs. previous generation?
Change in First-order Heuristics Distribution Experiment: • Distribution • whole and best • Reference • previous generation
Change in Speed of Evolution Experiment: • simultaneous 5 populations • average shown • adjust every 25 generations • regrow on • update schedule • incremental change in heuristics • Can we be more greedy in heuristics? • can we increase updates to replacements?
Change in Speed of Evolution Experiment: • simultaneous 5 populations • average shown • regrow on • replacement schedule • Is it really so much faster and better? • Note <100%
Change in First-order Heuristics Experiment: • simultaneous 5 populations • average shown • Slow update schedule • Distribution • whole population • Reference • first generation on iteration • Note saturation • learning has saturated
The Evolved First-order Heuristics Experiment: • simultaneous 5 populations • best population shown • slow update schedule • if condition argument • Expected yet strange • only a0, a1, a2, not • a0 high • a2 low but present • a1 missing!!! • Note shift in heuristics
The Evolved First-order Heuristics on not Experiment: • simultaneous 5 populations • best population shown • slow update schedule • not argument • Mystery solved • a1 found high • a2 low additional support • non-recursive
The Evolved First-order Heuristics on action arguments of if Experiment: • simultaneous 5 populations • best population shown • slow update schedule • if action arguments combined • Expected • if high to grow needed deep conditions • data present • others missing
Population Size • Iteration =1, no regrow
Scalability • Library or off-line (long iterations) • Working in the same domain • Working toward harder problems • Mult-11 -> Mult-20 • Reusability of first-order heuristics • Lack of some first-order heuristics • Types will help • On-line (iteration=generation) • Good for solving new problem in a new domain
Another Domain – SantaFe Trail • Interesting and good heuristics evolved • But • Some are good independently but not as a group • Others bad independently but good as a group • Competition between heuristics classes
Current work: ACGP2.1 • CGP2.1 node information • ACGP2.1 extracted heuristics
ACGP2.1 Heuristics • On what: • Type • Functions/Terminals • Combination • What kind: • Zero-order • First-order • Second order
ACGP2.1 Heuristics: Type • First-order on Type • For each type, what type can produce it but each argument individually
ACGP2.1 Heuristics: Type • Second-order on Type • For each type, what can produce it as a family • Note growing complexity
ACGP2.1 Heuristics: Labels • First-order on Labels • For each function, what can label each child individually • The only one in ACGP1.1.1
ACGP2.1 Heuristics: Labels • Second-order on Labels • For each function, what can label the family • Note the growing complexity
ACGP2.1 Heuristics: Combined • Zero-order combined • For each type, what labels (same node) produce it
ACGP2.1 Heuristics: Combined • Zero-order combined • For each function, what types it produces (same node) • Terminals are not overloaded
ACGP2.1 Heuristics: Combined • First-order combined • For each function, and each type it needs to produce, what instances do that
ACGP2.1 Heuristics: Combined • First-order combined • This one really links three levels • Second order would be very complex here