Data from: Understanding Evolutionary Potential in Virtual CPU Instruction Set Architectures

2013-10-18T19:36:55Z (GMT) by David Bryson Charles Ofria
<p>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. Using the Avida digital evolution research platform, we subjected populations of organisms implemented with each test architecture to seven different computational environments designed to present a range of evolutionary challenges. We evaluated six different types of architectural features for the virtual CPUs: (1) genetic flexibility: we enhanced the ability of digital organisms to specify how a genetic instruction should function using modifier instructions, (2) memory: we provided an increased number of registers in the virtual CPUs, (3) decoupled sensors and actuators: separated input and output operations that enable greater flexibility in the control of data flow. We also tested a variety of methods to regulate expression: (4) explicit genome labels that allow programs to dynamically refer to specific positions in the genome, (5) position relative search instructions, and (6) multiple new flow control instructions, including conditionals and jump instructions. Each of these features also adds additional complication to the instruction set and runs the risk of slowing down evolution due to epistatic interactions. Indeed not all modifications turned out to be beneficial. However, we found that 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. In most remaining instances, evolution proved to be robust to tested changes, exhibiting equivalent potential across numerous modifications. 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 environmental challenges.</p>