10 likes | 104 Views
Degeneracy and Reassignment of Instruction Sets in a Digital Evolution Experiment Bianca Bullock, 1 Samantha Whitaker, 1 Jeffrey E. Barrick, 2 Scott H. Harrison 1 1 North Carolina A&T State University, Greensboro, NC 27411 2 The University of Texas at Austin, Austin, TX 78712. Abstract.
E N D
Degeneracy and Reassignment of Instruction Sets in a Digital Evolution Experiment Bianca Bullock,1 Samantha Whitaker,1 Jeffrey E. Barrick,2 Scott H. Harrison1 1 North Carolina A&T State University, Greensboro, NC 27411 2 The University of Texas at Austin, Austin, TX 78712 Abstract Experimental Design Evolving software systems have instructions that are typically encoded by symbols or commands that do not change their meaning in terms of their corresponding machine functions. Here we explore the before-and-after scenarios for how instruction symbols may be reassigned during digital evolution experiments. We made adjustments to the digital evolution software AVIDA codebase to implement two basic steps. We configured AVIDA to support multiple forms of an instruction that have different symbolic encodings but the same machine function. We then substituted all copies of one of the redundant symbolic encodings in an evolved organism to correspond to a different machine function and examined the consequences. Our analysis workflow enabled us to identify different scenarios where substitutions of redundant symbolic encodings reduced fitness. There are broader implications for how this digital evolution experiment may relate to codon degeneracy in biological systems. Round 2 Overall Experimental Design Initial reconfiguration of AVIDA was to support degeneracy where IO is encoded by multiple commands: IOA and IOB. The “degeneracy” is because we now have two commands redundantly encoding for the same thing. THE “BUSINESS-AS-USUAL” WORLD AKA DEGENERACY WORLD Run Version 1 (IOIO) (degeneracy where IOA and IOBboth are for “IO”) 1000x Round 1 Run Version 1 (IOIO) (degeneracy where IOA and IOBboth are for “IO”) 1000x Replicate of World THE CODON REASSIGNMENT WORLD Run Version 2 (IOnand) (IOA represents “IO”, but IOB represents “nand” instead of “IO”)1000x Replicate of World Introduction and then compare results from, for instance, data/average.dat Evolving organisms generally increase fitness over time. Our hypothesis is that, if an organism evolves without its instruction set being artificially reassigned, then it will increase fitness more rapidly than an organism has its instruction set artificially reassigned midway. If an organism has its instruction set artificially reassigned midway through evolution, we hypothesize a loss of fitness. Avida genomes are processed by CPUs having 3 registers (AX, BX, and CX) of 32 bits each. The following diagram shows how these registers operate for the IO and NAND commands. Results Next Steps Generation # Our next steps are to address the following questions: Which instruction has more potential to be beneficial? How do we get a relative comparison across different scenarios? This will require specifying a set of different instruction sets to start with, and to consider the effects of introducing and/or replacing essential instructions versus non-essential instructions. We may also be adjusting our strategy for number of generations against which we track changes in fitness within the AVIDA environment. For developing a relative comparison across different scenarios of instruction set modification, an initial measure will investigate how many times the reassignment is immediately lethal to the organism versus deleterious versus no effect. We will then inspect apparent thresholds in relationship to the outcomes. Mean and 95% confidence intervals of fitness are shown for the different series of generations. The fitness distribution for each measured generation is based on repeating this experiment 100 times. The input and output locations are specified by nop commands. For instance, nop-A, nop-B would regulate how the neighboring IO and NAND commands would perform in an AVIDA organism’s genome. To initiate this analysis, we duplicated the IO function of AVIDA within the C++ source code so that redundant IOA and IOB functions would be defined. Then, in a further coding modification, the IOB function was converted into a NAND function. This is summarized as follows: Create two compiled versions Version #1 (degeneracy) Version #2 (reassignment of IOB) IOA: encodes for IO functionality IOA: encodes for IO functionality IOB: encodes for IO functionality IOB: encodes for NAND functionality We then wrote shell scripts to replicate the experimental design built from these software versions 100x, and used R statistics version 2.12.1 to calculate confidence intervals. • NC A&T: Dr. Robert Newman • NSF/BEACON Center and NSF/iBLEND/ICUBED • North Carolina A&T State University, Department of Biology Acknowledgements