PLoS ONE recently accepted and published our most recent article investigating how the instruction set architecture of the virtual CPU impacts evolutionary potential in digital evolution. See “Understanding Evolutionary Potential in Virtual CPU Instruction Set Architectures” by David M. Bryson and Charles Ofria.
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.
Open Access Download: doi:10.1371/journal.pone.0083242
PLoS ONE recently accepted and published our most recent article detailing the evolutionary steps that led to a surprising behavior in our studies of path following and memory. See “A Case Study of the De Novo Evolution of a Complex Odometric Behavior in Digital Organisms” by Laura M. Grabowski, David M. Bryson, Fred C. Dyer, Robert T. Pennock, and Charles Ofria.
Investigating the evolution of animal behavior is difficult. The fossil record leaves few clues that would allow us to recapitulate the path that evolution took to build a complex behavior, and the large population sizes and long time scales required prevent us from re-evolving such behaviors in a laboratory setting. We present results of a study in which digital organisms–self-replicating computer programs that are subject to mutations and selection–evolved in different environments that required information about past experience for fitness-enhancing behavioral decisions. One population evolved a mechanism for step-counting, a surprisingly complex odometric behavior that was only indirectly related to enhancing fitness. We examine in detail the operation of the evolved mechanism and the evolutionary transitions that produced this striking example of a complex behavior.
Open Access Download: doi:10.1371/journal.pone.0060466
Great website/info graphic by David Paliwoda illustrating the distance to Mars. Via John Gruber.
Setting up Dovecot IMAP services on Linux is fairly straightforward. There are quite a few decent tutorials out there, often with distribution specific details (for example Dovecot::Ubuntu). One of the decisions you must make during the setup process is what format to use for the mailboxes. The default format utilizes classic mbox files. Unfortunately these files don’t allow hierarchical structure. If you want to nest your mailboxes, you should select the Maildir format and follow the appropriate directions.
In (most?) situations, the default Maildir handling should work as expected. At least I would hope so, given that it is the default. In my situation, though, Apple/Mac Mail was stubbornly triggering server errors every time I tried to create folders or nested mailboxes, despite everything else working with Maildirs. It took quite a while to find the following setting in
/etc/dovecot/conf.d/10-mail.conf on Ubuntu 12.04 (though it should hold true for other Dovecot platforms as well):
mail_location = maildir:~/Maildir:LAYOUT=fs
:LAYOUT=fs part being the critical component. When that option is specified, Dovecot lays the Maildir out using actual subfolders on the server file system. As such, when Apple Mail sends the folder path with slashes in it, it understands the path.
Although there are some differences in folder names between the two types of Maildir, it seemed to be fairly safe to change from the default to the
fs layout. So if you have trouble with your mail client when creating or accessing subfolders, check your mail location setting.
Over the past 8 years or so I have been constantly improving and extending the tools classes utilized by Avida. More recently, I decided to focus some of that effort into the development of a truly standalone tools library. Apto is the fruit of that effort, a lightweight, modular, adaptable, extensible, and high performance library of C++ templates. Apto features a suite of data structures, platform support tools, algorithms, statistical analysis classes, and some basic Objective-C++ wrappings and controls. The core classes feature comprehensive unit testing to ensure consistent performance. Altogether the library provides a solid foundation upon which to build cross platform C++ software, a capability leveraged extensively by Avida, which is now largely supported by Apto.
As indicated by the ‘pre-‘ in the title, though, Apto is not quite ready for an official release. Important bits, such as documentation, remain to be written and there are areas of active development, such as the Objective-C++ framework. I certainly welcome and encourage interested developers to check Apto out and make use of it where appropriate. Indeed, if anyone is interested in contributing, that is also encouraged.
More information is available on my Apto page in the software section.
Over the past year or so I have rekindled my childhood love of trains. It has always been in the background, but recently I developed it into a full blown hobby. A nice bonus is that railfanning offers the opportunity to practice one of my other hobbies, photography. So in that spirit I have created a gallery on Flickr. It is pretty much dedicated to rail photos at the moment, given my current focus. As time permits, though, I will post some of my other photographic subjects.
David M. Bryson’s Flick Photostream
On August 8th I successfully defended my dissertation “The Evolutionary Potential of Populations on Complex Fitness Landscapes” and was granted my dual doctoral degree in Computer Science and Ecology, Evolutionary Biology and Behavior.
My initial first author publication, “Digital Evolution Exhibits Surprising Robustness to Poor Design Decisions” by David M. Bryson and Charles Ofria, has been published in the Proceedings of the Thirteenth International Conference on Artificial Life.
When designing an evolving software system, a researcher must set many aspects of the representation and inevitably make arbitrary decisions. Here we explore the consequences of poor design decisions in the development of a virtual instruction set in digital evolution systems. We evaluate the introduction of three different severities of poor choices. (1) functionally neutral instructions that water down mutational options, (2) actively deleterious instructions, and (3) a lethal die instruction. We further examine the impact of a high level of neutral bloat on the short term evolutionary potential of genotypes experiencing environmental change. We observed surprising robustness to these poor design decisions across all seven environments designed to analyze a wide range challenges. Analysis of the short term evolutionary potential of genotypes from the principal line of descent of case study populations demonstrated that the negative effects of neutral bloat in a static environment are compensated by retention of evolutionary potential during environmental change.
Open Access Download: http://mitpress.mit.edu/sites/default/files/titles/content/alife13/ch003.html
It’s been quiet on the blog for a while. What personal blog doesn’t go silent once in a while? That doesn’t mean I’ve been bored, though. Quite the opposite, I have been hard at work on a number of projects, including becoming a full PhD candidate. As the title hints, I have also been making strides in Avida 3.0 development. The new API is starting to come together nicely. In an effort to bring the changes to the light, I am discussing the changes on the avida-dev list. If you are interested in the future of Avida, please come on over and join in.
Simply amazing timelapse photography by Dominic Boudeault.
Timelapse – The City Limits from Dominic on Vimeo.
Via Jonathan Woods at MSNBC.