Cargando…

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 architectur...

Descripción completa

Detalles Bibliográficos
Autores principales: Bryson, David M., Ofria, Charles
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Public Library of Science 2013
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3871699/
https://www.ncbi.nlm.nih.gov/pubmed/24376669
http://dx.doi.org/10.1371/journal.pone.0083242
_version_ 1782296866380054528
author Bryson, David M.
Ofria, Charles
author_facet Bryson, David M.
Ofria, Charles
author_sort Bryson, David M.
collection PubMed
description 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.
format Online
Article
Text
id pubmed-3871699
institution National Center for Biotechnology Information
language English
publishDate 2013
publisher Public Library of Science
record_format MEDLINE/PubMed
spelling pubmed-38716992013-12-27 Understanding Evolutionary Potential in Virtual CPU Instruction Set Architectures Bryson, David M. Ofria, Charles PLoS One Research Article 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. Public Library of Science 2013-12-23 /pmc/articles/PMC3871699/ /pubmed/24376669 http://dx.doi.org/10.1371/journal.pone.0083242 Text en © 2013 Bryson, Ofria http://creativecommons.org/licenses/by/4.0/ This is an open-access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are properly credited.
spellingShingle Research Article
Bryson, David M.
Ofria, Charles
Understanding Evolutionary Potential in Virtual CPU Instruction Set Architectures
title Understanding Evolutionary Potential in Virtual CPU Instruction Set Architectures
title_full Understanding Evolutionary Potential in Virtual CPU Instruction Set Architectures
title_fullStr Understanding Evolutionary Potential in Virtual CPU Instruction Set Architectures
title_full_unstemmed Understanding Evolutionary Potential in Virtual CPU Instruction Set Architectures
title_short Understanding Evolutionary Potential in Virtual CPU Instruction Set Architectures
title_sort understanding evolutionary potential in virtual cpu instruction set architectures
topic Research Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3871699/
https://www.ncbi.nlm.nih.gov/pubmed/24376669
http://dx.doi.org/10.1371/journal.pone.0083242
work_keys_str_mv AT brysondavidm understandingevolutionarypotentialinvirtualcpuinstructionsetarchitectures
AT ofriacharles understandingevolutionarypotentialinvirtualcpuinstructionsetarchitectures