Emergent Tangled Program Graphs in Partially Observable Recursive Forecasting and ViZDoom Navigation Tasks

Modularity represents a recurring theme in the attempt to scale evolution to the design of complex systems. However, modularity rarely forms the central theme of an artificial approach to evolution. In this work, we report on progress with the recently proposed Tangled Program Graph (TPG) framework in which programs are modules. The combination of the TPG representation and its variation operators enable both teams of programs and graphs of teams of programs to appear in an emergent process. The original development of TPG was limited to tasks with, for the most part, complete information. This work details two recent approaches for scaling TPG to tasks that are dominated by partially observable sources of information using different formulations of indexed memory. One formulation emphasizes the incremental construction of memory, again as an emergent process, resulting in a distributed view of state. The second formulation assumes a single global instance of memory and develops it as a communication medium, thus a single global view of state. The resulting empirical evaluation demonstrates that TPG equipped with memory is able to solve multi-task recursive time-series forecasting problems and visual navigation tasks expressed in two levels of a commercial first-person shooter environment.

[1]  Lorenz Huelsbergen,et al.  Finding General Solutions to the Parity Problem by Evolving Machine-Language Representations , 2002 .

[2]  Wolfgang Banzhaf,et al.  Genetic Programming and Emergence , 2013, Genetic Programming and Evolvable Machines.

[3]  K Ikeo,et al.  Pax 6: mastering eye morphogenesis and eye evolution. , 1999, Trends in genetics : TIG.

[4]  Malcolm I. Heywood,et al.  Evolving a Dota 2 Hero Bot with a Probabilistic Shared Memory Model , 2019, GPTP.

[5]  Nikhil R. Pal,et al.  A novel approach to design classifiers using genetic programming , 2004, IEEE Transactions on Evolutionary Computation.

[6]  Malcolm I. Heywood,et al.  A Model of External Memory for Navigation in Partially Observable Visual Reinforcement Learning Tasks , 2019, EuroGP.

[7]  I. Rojas,et al.  Recursive prediction for long term time series forecasting using advanced models , 2007, Neurocomputing.

[8]  Risto Miikkulainen,et al.  Incremental Evolution of Complex General Behavior , 1997, Adapt. Behav..

[9]  Lee Spector,et al.  Tag-based modules in genetic programming , 2011, GECCO '11.

[10]  Scott Brave,et al.  The evolution of memory and mental models using genetic programming , 1996 .

[11]  Jonghyun Lee,et al.  An efficient GP approach to recognizing cognitive tasks from fNIRS neural signals , 2013, Science China Information Sciences.

[12]  Malcolm I. Heywood,et al.  Symbiogenesis as a Mechanism for Building Complex Adaptive Systems: A Review , 2010, EvoApplications.

[13]  John R. Koza Genetic Programming III - Darwinian Invention and Problem Solving , 1999, Evolutionary Computation.

[14]  Cezary Z. Janikow,et al.  A survey of modularity in genetic programming , 2016, 2016 IEEE Congress on Evolutionary Computation (CEC).

[15]  Risto Miikkulainen,et al.  Evolving Keepaway Soccer Players through Task Decomposition , 2003, GECCO.

[16]  Marek Wydmuch,et al.  ViZDoom Competitions: Playing Doom From Pixels , 2018, IEEE Transactions on Games.

[17]  Lee Spector,et al.  Genetic Programming and Autoconstructive Evolution with the Push Programming Language , 2002, Genetic Programming and Evolvable Machines.

[18]  Guy Lever,et al.  Human-level performance in 3D multiplayer games with population-based reinforcement learning , 2018, Science.

[19]  HERBERT A. SIMON,et al.  The Architecture of Complexity , 1991 .

[20]  Anthony Brabazon,et al.  A non-destructive grammar modification approach to modularity in grammatical evolution , 2011, GECCO '11.

[21]  Astro Teller,et al.  The evolution of mental models , 1994 .

[22]  William B. Langdon,et al.  Repeated Sequences in Linear Genetic Programming Genomes , 2005, Complex Syst..

[23]  Wolfgang Banzhaf,et al.  Hierarchical Genetic Programming using Local Modules , 2001 .

[24]  Jordan B. Pollack,et al.  Modular Interdependency in Complex Dynamical Systems , 2005, Artificial Life.

[25]  Malcolm I. Heywood Evolutionary model building under streaming data for classification tasks: opportunities and challenges , 2014, Genetic Programming and Evolvable Machines.

[26]  Malcolm I. Heywood,et al.  Pareto-coevolutionary genetic programming for problem decomposition in multi-class classification , 2007, GECCO '07.

[27]  Peter Nordin,et al.  Evolution of a world model for a miniature robot using genetic programming , 1998, Robotics Auton. Syst..

[28]  Zbigniew Michalewicz,et al.  Time Series Forecasting for Dynamic Environments: The DyFor Genetic Program Model , 2007, IEEE Transactions on Evolutionary Computation.

[29]  Wojciech Jaskowski,et al.  ViZDoom: A Doom-based AI research platform for visual reinforcement learning , 2016, 2016 IEEE Conference on Computational Intelligence and Games (CIG).

[30]  Malcolm I. Heywood,et al.  Emergent Solutions to High-Dimensional Multitask Reinforcement Learning , 2018, Evolutionary Computation.

[31]  Julian Francis Miller,et al.  Recurrent Cartesian Genetic Programming of Artificial Neural Networks , 2016, Genetic Programming and Evolvable Machines.

[32]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.

[33]  Wolfgang Banzhaf,et al.  Rethinking multilevel selection in genetic programming , 2011, GECCO '11.

[34]  Wolfgang Banzhaf,et al.  A modular memory framework for time series prediction , 2020, GECCO.

[35]  Victor Ciesielski,et al.  Linear genetic programming , 2008, Genetic Programming and Evolvable Machines.

[36]  Maxime Pelcat,et al.  Gegelati: Lightweight Artificial Intelligence through Generic and Evolvable Tangled Program Graphs , 2020, ArXiv.

[37]  Lee Spector,et al.  Tag-based modularity in tree-based genetic programming , 2012, GECCO '12.

[38]  Riccardo Poli,et al.  A Field Guide to Genetic Programming , 2008 .

[39]  John R. Woodward,et al.  Modularity in Genetic Programming , 2003, EuroGP.

[40]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[41]  Peter Stone,et al.  Layered Learning in Multiagent Systems , 1997, AAAI/IAAI.

[42]  Peter Stone,et al.  Transfer Learning for Reinforcement Learning Domains: A Survey , 2009, J. Mach. Learn. Res..

[43]  Malcolm I. Heywood,et al.  Evolving dota 2 shadow fiend bots using genetic programming with external memory , 2019, GECCO.

[44]  Hervé Luga,et al.  Evolving simple programs for playing atari games , 2018, GECCO.

[45]  Andrew R. McIntyre,et al.  Evolving GP Classifiers for Streaming Data Tasks with Concept Change and Label Budgets: A Benchmarking Study , 2015, Handbook of Genetic Programming Applications.

[46]  Lee Spector,et al.  Cultural transmission of information in genetic programming , 1996 .

[47]  W. B. Langdon,et al.  Genetic Programming and Data Structures , 1998, The Springer International Series in Engineering and Computer Science.

[48]  Hübner,et al.  Dimensions and entropies of chaotic intensity pulsations in a single-mode far-infrared NH3 laser. , 1989, Physical review. A, General physics.

[49]  W. Gehring,et al.  The homeobox in perspective. , 1992, Trends in biochemical sciences.

[50]  Herbert A. Simon,et al.  The Sciences of the Artificial , 1970 .

[51]  Aram Galstyan,et al.  Multitask learning and benchmarking with clinical time series data , 2017, Scientific Data.

[52]  Marc Ebner,et al.  Evolving Game State Features from Raw Pixels , 2017, EuroGP.

[53]  H. Simon,et al.  Near decomposability and the speed of evolution , 2002 .

[54]  Leonardo Vanneschi,et al.  Open issues in genetic programming , 2010, Genetic Programming and Evolvable Machines.

[55]  William B. Langdon,et al.  Repeated patterns in genetic programming , 2008, Natural Computing.

[56]  Risto Miikkulainen,et al.  Accelerated Neural Evolution through Cooperatively Coevolved Synapses , 2008, J. Mach. Learn. Res..

[57]  P. Nordin,et al.  Reactive and Memory-Based Genetic Programming for Robot Control , 1999, EuroGP.

[58]  Malcolm I. Heywood,et al.  Discovering Agent Behaviors Through Code Reuse: Examples From Half-Field Offense and Ms. Pac-Man , 2018, IEEE Transactions on Games.

[59]  L. Glass,et al.  Oscillation and chaos in physiological control systems. , 1977, Science.

[60]  Uri Alon,et al.  Varying environments can speed up evolution , 2007, Proceedings of the National Academy of Sciences.

[61]  Peter J. Angeline,et al.  Genetic programming and emergent intelligence , 1994 .

[62]  Alexandros Agapitos,et al.  Genetic Programming for the Induction of Seasonal Forecasts: A Study on Weather-derivatives , 2012 .

[63]  Alan Blair,et al.  Dynamically Defined Functions In Grammatical Evolution , 2006, 2006 IEEE International Conference on Evolutionary Computation.

[64]  Merav Parter,et al.  Facilitated Variation: How Evolution Learns from Past Environments To Generalize to New Environments , 2008, PLoS Comput. Biol..

[65]  Terence Soule,et al.  Novel ways of improving cooperation and performance in ensemble classifiers , 2007, GECCO '07.

[66]  Günter P. Wagner,et al.  Complex Adaptations and the Evolution of Evolvability , 2005 .

[67]  Kenneth A. De Jong,et al.  Cooperative Coevolution: An Architecture for Evolving Coadapted Subcomponents , 2000, Evolutionary Computation.

[68]  Wolfgang Banzhaf,et al.  Evolving Teams of Predictors with Linear Genetic Programming , 2001, Genetic Programming and Evolvable Machines.

[69]  Justinian P. Rosca,et al.  Discovery of subroutines in genetic programming , 1996 .

[70]  Bernhard Schölkopf,et al.  Recurrent Independent Mechanisms , 2021, ICLR.

[71]  Wolfgang Banzhaf,et al.  Temporal Memory Sharing in Visual Reinforcement Learning , 2019, GPTP.

[72]  Peter Nordin,et al.  Speech Sound Discrimination with Genetic Programming , 1998, EuroGP.

[73]  Malcolm I. Heywood,et al.  Emergent Policy Discovery for Visual Reinforcement Learning Through Tangled Program Graphs: A Tutorial , 2018, GPTP.

[74]  Malcolm I. Heywood,et al.  Scaling Tangled Program Graphs to Visual Reinforcement Learning in ViZDoom , 2018, EuroGP.

[75]  Malcolm I. Heywood,et al.  Emergent Tangled Graph Representations for Atari Game Playing Agents , 2017, EuroGP.

[76]  Julian Francis Miller,et al.  The Automatic Acquisition, Evolution and Reuse of Modules in Cartesian Genetic Programming , 2008, IEEE Transactions on Evolutionary Computation.

[77]  Malcolm I. Heywood,et al.  Symbiosis, complexification and simplicity under GP , 2010, GECCO '10.