Understanding Evolutionary Potential in Virtual CPU Instruction Set Architectures

We investigate fundamental decisions in the design of instruction set architectures for linear genetic programs that are used as both model systems in evolutionary biology and underlying solution representations in evolutionary computation. We subjected digital organisms with each tested architecture to seven different computational environments designed to present a range of evolutionary challenges. Our goal was to engineer a general purpose architecture that would be effective under a broad range of evolutionary conditions. We evaluated six different types of architectural features for the virtual CPUs: (1) genetic flexibility: we allowed digital organisms to more precisely modify the function of genetic instructions, (2) memory: we provided an increased number of registers in the virtual CPUs, (3) decoupled sensors and actuators: we separated input and output operations to enable greater control over data flow. We also tested a variety of methods to regulate expression: (4) explicit labels that allow programs to dynamically refer to specific genome positions, (5) position-relative search instructions, and (6) multiple new flow control instructions, including conditionals and jumps. Each of these features also adds complication to the instruction set and risks slowing evolution due to epistatic interactions. Two features (multiple argument specification and separated I/O) demonstrated substantial improvements in the majority of test environments, along with versions of each of the remaining architecture modifications that show significant improvements in multiple environments. However, some tested modifications were detrimental, though most exhibit no systematic effects on evolutionary potential, highlighting the robustness of digital evolution. Combined, these observations enhance our understanding of how instruction architecture impacts evolutionary potential, enabling the creation of architectures that support more rapid evolution of complex solutions to a broad range of challenges.

[1]  David B. Knoester,et al.  Harnessing Digital Evolution , 2008, Computer.

[2]  David B. Knoester,et al.  Digitally Evolving Models for Dynamically Adaptive Systems , 2007, International Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS '07).

[3]  Robert T. Pennock,et al.  The evolutionary origin of complex features , 2003, Nature.

[4]  C. Ofria,et al.  Evolution of digital organisms at high mutation rates leads to survival of the flattest , 2001, Nature.

[5]  Luigi Fortuna,et al.  Evolutionary Optimization Algorithms , 2001 .

[6]  Risto Miikkulainen,et al.  Active Guidance for a Finless Rocket Using Neuroevolution , 2003, GECCO.

[7]  Charles Ofria,et al.  Early Evolution of Memory Usage in Digital Organisms , 2010, ALIFE.

[8]  C. Ofria,et al.  Sexual reproduction reshapes the genetic architecture of digital organisms , 2006, Proceedings of the Royal Society B: Biological Sciences.

[9]  Charles Ofria,et al.  On the evolution of motility and intelligent tactic response , 2008, GECCO '08.

[10]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[11]  David B. Knoester,et al.  Evolution of Cooperative Information Gathering in Self-Replicating Digital Organisms , 2007, First International Conference on Self-Adaptive and Self-Organizing Systems (SASO 2007).

[12]  John R. Koza,et al.  Genetic programming: a paradigm for genetically breeding populations of computer programs to solve problems , 1990 .

[13]  Charles Ofria,et al.  Digital Evolution Exhibits Surprising Robustness to Poor Design Decisions , 2012, ALIFE.

[14]  Ingo Rechenberg,et al.  Evolutionsstrategie : Optimierung technischer Systeme nach Prinzipien der biologischen Evolution , 1973 .

[15]  Bryson David,et al.  Data from: Understanding Evolutionary Potential in Virtual CPU Instruction Set Architectures , 2013 .

[16]  Christoph Adami,et al.  Design of evolvable computer languages , 2002, IEEE Trans. Evol. Comput..

[17]  Charles Ofria,et al.  Clever creatures: Case studies of evolved digital organisms , 2011, ECAL.

[18]  Charles Ofria,et al.  Natural Selection Fails to Optimize Mutation Rates for Long-Term Adaptation on Rugged Fitness Landscapes , 2008, ECAL.

[19]  David B. Knoester,et al.  Directed Evolution of Communication and Cooperation in Digital Organisms , 2007, ECAL.

[20]  C. Ofria,et al.  Genome complexity, robustness and genetic interactions in digital organisms , 1999, Nature.

[21]  Claire Le Goues,et al.  A genetic programming approach to automated software repair , 2009, GECCO.

[22]  Charles Ofria,et al.  Avida , 2004, Artificial Life.

[23]  Robert T. Pennock,et al.  A Case Study of the De Novo Evolution of a Complex Odometric Behavior in Digital Organisms , 2013, PloS one.

[24]  C. Ofria,et al.  Adaptive Radiation from Resource Competition in Digital Organisms , 2004, Science.