New Publication: “A Case Study of the De Novo Evolution of a Complex Odometric Behavior in Digital Organisms”

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.

Abstract

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

Posted in Miscellaneous | Comments Off

Traveling to Mars

Great website/info graphic by David Paliwoda illustrating the distance to Mars. Via John Gruber.

Posted in Linked Items, Miscellaneous | Comments Off

Dovecot IMAP, Maildir, and Mailbox Subfolders

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

The :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.

Posted in Computer Science | Comments Off

(Pre-)announcing Apto, a poweful, lightweight C++ tools library

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.

Posted in Announcements, Computer Science | Comments Off

Photography and Railfanning in Lansing

Photography and Railfanning in Lansing

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

Posted in Photography | Comments Off

Earned My Doctoral Degree

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.

Posted in Announcements | Comments Off

New Publication: “Digital Evolution Exhibits Surprising Robustness to Poor Design Decisions”

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.

Abstract

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

Posted in Avida, Computer Science, Research | Comments Off

Avida 3.0 development discussion heating up

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.

Posted in Avida | Comments Off

The City Limits

Simply amazing timelapse photography by Dominic Boudeault.

Timelapse – The City Limits from Dominic on Vimeo.

Via Jonathan Woods at MSNBC.

Posted in Linked Items, Photography | Comments Off

TestRunner 2.0 now available

I have just posted TestRunner 2.0. New features include Git support and JUnit compatible XML report generation. See the TestRunner page for more details.

TestRunner itself is now managed with Git as well. You may clone the master repository at git://programerror.com/testrunner.git, or fork the mirror at GitHub.

Posted in Computer Science | Tagged | Comments Off