Author: Charles Ofria

How To Debug an Artificial Life Experiment

By Charles Ofria on October 13, 2015 in Information / 0 Comments
How To Debug an Artificial Life Experiment

I often argue that a big advantage of working with computational artificial life systems is that you can perform evolution experiments that would be difficult (or impossible!) with natural organisms.  However, any time you want to use a digital system to understand how or why a particular trait or behavior evolves, your first challenge is to get that trait evolve at all!  Warning: this can be a lot harder than it sounds.  Of course, in this quest you will also learn a lot more about your study system, gain more insight into the dynamics you are investigating, and probably come up with at least half-a-dozen follow-up studies. Below are the steps that I suggest for new projects.

My Vision for Artificial Life

By Charles Ofria on October 6, 2015 in Information / 1 Comment
My Vision for Artificial Life

Recently, I was nominated for the Board of Directors for the International Society for Artificial Life (ISAL).  After serious consideration about whether I could devote the necessary time and whether I felt I would be able to make a difference, I’ve decided to run.  Normally, I try to say “no” to all such requests, but in this case I care quite a bit about the society and the field as a whole, and I want to play my part.  Below is the 250-word statement I submitted with my acceptance of the nomination, followed by some more details that I couldn’t fit in the limited space.

What’s holding artificial life back from open-ended evolution?

By Charles Ofria on September 1, 2015 in Research / 5 Comments
What’s holding artificial life back from open-ended evolution?

At ECAL 2015, Tim Taylor, Mark Bedau, and Alastair Channon organized a fascinating workshop on Open-Ended Evolution, which I presented at (you can watch the video here, but this post will basically cover the same points). Several of us in the Devolab have been thinking about this topic for a while; below is a collection of our thoughts for the sake of continuing this discussion. The question of open-ended evolution emerged from a practical place: organisms and ecosystems in computational evolutionary systems were far less diverse, complex, and interesting than those that seen in nature. The people studying these systems were concerned that this was the result of a fundamental limitation to the systems (although some have also argued that this is just an issue of scale). They began characterizing the dynamics of these systems in […]

An Introduction to Web Development with Emscripten

An Introduction to Web Development with Emscripten

As a professor, I am always trying to juggle more tasks than I can possibly handle, which means I usually end up focusing my time on “urgent” matters over things I find merely “important” or “satisfying”.  A bit over a year ago I started making sure that I take time to code every day (and am much happier for it).  A sizable majority of this time I’ve devoted to learning and using the Emscripten compiler. Emscripten compiles C or C++ code into high-efficiency JavaScript (using asm.js) that can run in any web browser, and is accelerated in newer browsers.  How efficient is it?  Well, in practice it tends to be half to two-thirds the speed of running a C++ application natively.  To put that in a more provocative way, it runs 8 to 10 times faster […]

Why use Artificial Life to Study Evolutionary Biology?

By Charles Ofria on February 3, 2015 in Research / 6 Comments
Why use Artificial Life to Study Evolutionary Biology?

“What I cannot create, I do not understand” — Richard Feynman In the Devolab, we use artificial life systems to improve our understanding of evolutionary dynamics.  Specifically, we perform experiments on populations of self-replicating digital organisms that evolve in a natural and unconstrained manner.  But why did we decide to focus on artificial life?  What are the advantages and drawbacks of using these relatively complex computational systems?