Genetic programming (GP) is the application of natural principles to evolve computer programs rather than writing them by hand. Here, I introduce Signal GP, a new type of linear GP representation designed to more directly capture the event-driven programming paradigm, allowing evolved programs to handle signals from the environment or from other agents in a more biologically inspired way than traditional linear GP representations. GP is successful across a growing set of problem domains. Signal GP targets problems where programs, much like biological organisms, must react on-the-fly to signals in the environment or from other agents. I’ll address the following questions in this blog post: What is linear genetic programming? What exactly is the event-driven programming paradigm, why is it so powerful, and why do we want to capture it in GP? And, how exactly does […]
Happy Halloween from the Devolab! Here are some pictures from our pumpkin carving party a few weeks ago. Click through the gallery below to see our lab in action carving pumpkins, a group shot of our creations, and individual photos of our pumpkins. We have some pretty serious pumpkin carvers in the group… a few of us even went the extra mile to polish up their jack-o’-lantern with dental floss!
This is one of a series of posts on evolvability. It is based off my undergraduate thesis, which I wrote at the University of Puget Sound under advisors Dr. America Chambers and Dr. Adam Smith. The original thesis is available here. Introductory Glimpses of Evolvability for Computer Scientists How can the structure of an evolving organism affect the phenotypic outcomes of mutational perturbation? We will walk through a thought example that casts this question in a light more familiar to programmers. Computer scientists who have worked on software understand that two pieces of code that meet identical specifications — return identical output for any input given — can differ vastly in difficulty to extend, modify, or maintain. Software implementation, internal structures largely invisible from the perspective of an external interface, accounts for this discrepancy. Computer scientists […]
Motivation Clean the gutters, clear enough space in the garage to park the car, organize a laundry bin of family photos, respond to an email that’s been wallowing too long at the bottom of the inbox…we all have a list of things we’ve been meaning to get around to. Learning a bit of information theory has been one of those things I meant to get around to for longer than I would like to admit. A few weeks ago, I ran into Dr. Chris Adami at the BEACON Congress. He recommended a pair of introductory papers on information theory. In [Adami, 2016], he provides a lively introduction to information theory that pays special attention to guiding newcomers through commonly-encountered intellectual obstacles and dispelling common misconceptions about information theory. In [Adami, 2012], Adami presents an information theoretic […]
This is one of a series of posts on evolvability. It is based off my undergraduate thesis, which I wrote at the University of Puget Sound under advisors Dr. America Chambers and Dr. Adam Smith. The original thesis is available here. Introductory Glimpses of Evolvability for Biologists The idea that phenotypic outcomes of mutation are non-arbitrary can be unfamiliar, or even uncomfortable, to biologists [Kirschner and Gerhart, 2005, p 219]. It is consensus among evolutionary biologists that genetic mutation is random. The alternative — the theory of adaptive mutation — is controversial and widely discredited [Sniegowski and Lenski, 1995]. It is therefore essential to note that discussions of evolvability are not predicated on adaptive mutation. The key difference is that adaptive mutation hypothesizes that genetic mutation is non-arbitrary while discussions of evolvability center on the idea […]