Wednesday, July 30, 2008

In defense of the unreal

I attended GreyThumb earlier tonight and presented VatLfe, and am too buzzed on adrenaline and a can of Coke I guzzled earlier to go to sleep just yet. Having given up sugar for the past few weeks, that single can sent me flying.

Overall, I thought the presentation went reasonably well. It was extremely well attended and a fairly good mix of people. At this moment, I'd be hard pressed to say what the reaction was to my presentation. At times I felt I'd made it too basic, at other times too technical...and then there were the moments where I felt I was transparently making it up on the spot. Zann's talk and mine were different enough that I'm not sure if the combined brainstorming session entirely worked.

On the plus side, I was glad I'd gotten the software to the proof of concept stage, and was REALLY glad Osher got the projectors working. When the projectors cut out on Zann, I was worried I was going to have to talk my way through it, and that would have been ugly. Without the demo, I'm afraid it would have made even less sense.

I believe the reaction to VatLife fell into four camps:
  1. Those who found it incomprehensible or boring (hopefully a small minority).
  2. Those who were interested in its possibilities, and perhaps would even use it.
  3. Those who were at least mildly appalled by how it played fast and loose with biology.
  4. Those who view this as related to Artificial Intelligence and not Artificial Life.
During the brainstorming session, that last view was expressed pretty vocally. I frankly don't really understand it, unless you take the view that an organism has to exist in the real world to be considered life. This seems somewhat prejudicial to me. Why should A-Life's be given less respect simply because they don't exist? I'm considering leading a march to protest this unfair treatment, billions of non-existent A-Life's marching behind me, of course.

Seriously, my feeling is that simulated organisms within an evolutionary simulation are artificial life. It's a different sort of artificial life than a real-world bacteria containing a designed genome, but it's still AL in my opinion - at least if you can get past the fact that the environments are either simplistic representations or may bear little resemblance to our own reality.

To point #3...I am sympathetic to this viewpoint. Frankly, I do feel slightly uncomfortable borrowing rudimentary principles of biology and incorporating them into my simulations, as if I were some New Ager appropriating bits of various religions for my own without fully understanding them. However, in the same way that flight was inspired by birds but airplanes do not flap their wings, I think it's legitimate to learn from nature without being compelled to copy it.

But perhaps both of these last points beg the question: what is it good for? If we're evolving stuff that doesn't teach us about actual biology, and doesn't necessarily translate into the real world, isn't it simply a toy?

First, my hope is that VatLife could support simulations involving real world physics, so objects that evolved could be built in the real world. But putting that aside, why should simulated environments have to resemble our own?

I've used this analogy before - chicken breeders may select for chickens that have meatier breasts. This is not an adaptive trait in the real world, so in a sense, breeding chickens puts them in an artificial environment with an artificial fitness function to achieve a specific goal. In our simulated environments, we can lower gravity, or make representations of inanimate objects breed, or even impose conditions and fitness functions that have no real world analogues at all. Why not breed AL's like chickens to serve our own purposes, whether or not the environments and selection criteria have analogues in "real" biology?

Ultimately, I believe the technology of evolving computer systems will have enormous implications that will touch all of our lives in very real ways. While the Evogrid and perhaps Vatlife may be interesting tools for exploring biological evolution, my personal interest is in what they can teach us about evolvable software. And if that leads to the emergence of Artificial Intelligence, then so be it. ;)

Hate to spoil a perfectly good closing line, but I did want to add that I did get some positive and encouraging interest in this technology. The comparison to MVC architecture made me happy, the use of Java as a foundation platform seemed to make the crowd happy, and OSGA is apparently something I need to learn.

1 comment:

Travis said...

Hi Scott, I enjoyed your talk on VatLife. The only weak point I felt was where you lingered too long on the brain-in-a-vat concept, which is old hat to me.

In your sim, the routes of information transfer, or the wires connecting the brain and the environment, essentially create a situation where all "life" in the "environment" would have the same body. The focus therefore must be intelligent use of that body, which necessitates focusing on AI.

The crux of your concept strikes me as an abstraction of embodiment. AI is meaningless without having a way to express its intelligence, and that interaction with an environment is the focus of most AL. Artificial Life, however, is focused on "creatures" exhibiting sophisticated behaviors whether or not they are backed by something you'd call AI. In fact, behavior in much of AL is entirely encapsulated in body structure.

I could see the next version of VatLife allowing the capacity of organisms to increase or decrease their number of connections with their environment, perhaps for the purpose of specializing certain connections in the same way that we observe organisms specialize their body structure through evolution.

I think I'm mostly just restating what you said, but it still feels worth writing.

Really, I see VatLife as an unprecedented first platform for unifying AI and AL concepts, not to mention being an algorithmic expression of the philosophy "I think therefore I am." I guess I fall in camp 2. I also think that a project like EvoGrid could make use of this level of abstraction to allow the greatest variety of A-Life to interact.

Also, I was the guy who mentioned OSGI, and the java framework my tongue was too twisted to tell at the time is at knopflerfish.org.