BEACON Center for the Study of Evolution in Action and the Department of Computer Science and Engineering, Michigan State University, East Lansing, Michigan, United States of America.
PLoS One. 2013 Dec 23;8(12):e83242. doi: 10.1371/journal.pone.0083242. eCollection 2013.
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.
我们研究了用于线性遗传程序的指令集体系结构设计中的基本决策,这些遗传程序既可用作进化生物学中的模型系统,也可用作进化计算中的基础解决方案表示。我们让具有每种测试架构的数字生物在七个不同的计算环境中接受测试,这些环境旨在呈现一系列进化挑战。我们的目标是设计一种通用架构,使其在广泛的进化条件下都能有效。我们评估了虚拟 CPU 的六种不同类型的体系结构特征:(1)遗传灵活性:我们允许数字生物更精确地修改遗传指令的功能;(2)内存:我们在虚拟 CPU 中提供了更多的寄存器;(3)解耦的传感器和执行器:我们将输入和输出操作分开,以实现对数据流的更大控制。我们还测试了多种调节表达的方法:(4)显式标签,允许程序动态引用特定的基因组位置;(5)位置相关搜索指令;(6)多种新的流程控制指令,包括条件和跳转。这些特征中的每一个也增加了指令集的复杂性,并由于上位效应相互作用而有减缓进化的风险。在大多数测试环境中,两种特征(多参数指定和分离的 I/O)显示出显著的改进,还有几种体系结构修改的版本在多个环境中都显示出显著的改进。然而,一些测试修改是有害的,尽管大多数修改对进化潜力没有系统影响,突出了数字进化的稳健性。总的来说,这些观察结果增强了我们对指令体系结构如何影响进化潜力的理解,从而能够创建支持更快速进化复杂解决方案的架构,以应对广泛的挑战。