Understanding Evolutionary Potential in Virtual CPU Instruction Set Architectures

09/03/2013
by   David M. Bryson, et al.
0

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 int the majority of test environments. Some of the remaining tested modifications were detrimental, thought 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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/29/2000

Evolution of differentiated expression patterns in digital organisms

We investigate the evolutionary processes behind the development and opt...
research
02/25/2021

Reinforcement Learning of Implicit and Explicit Control Flow in Instructions

Learning to flexibly follow task instructions in dynamic environments po...
research
11/05/2019

Using Name Confusion to Enhance Security

Virtual memory is an abstraction that assigns references, or names, to d...
research
07/12/2021

DARM: Control-Flow Melding for SIMT Thread Divergence Reduction – Extended Version

GPGPUs use the Single-Instruction-Multiple-Thread (SIMT) execution model...
research
07/08/2016

The Renewed Case for the Reduced Instruction Set Computer: Avoiding ISA Bloat with Macro-Op Fusion for RISC-V

This report makes the case that a well-designed Reduced Instruction Set ...
research
11/16/2020

Survey of Methods for Automated Code-Reuse Exploit Generation

This paper provides a survey of methods and tools for automated code-reu...
research
12/12/2017

Robustness, Evolvability and Phenotypic Complexity: Insights from Evolving Digital Circuits

We show how the characteristics of the evolutionary algorithm influence ...

Please sign up or login with your details

Forgot password? Click here to reset