The Seed and the Flower

Posted in artificial intelligence, robotics, transhumanism on December 30th, 2011 by Samuel Kenyon

Right now I’m reading an architecture book from the 1970s called The Timeless Way of Building.  So far it has to do with theories of how towns and buildings and other things seem more “alive” than others, and how to achieve this quality—the “quality without a name”.

This of course goes far beyond merely architecture; indeed this book was brought to my attention not by an architect but by people in the UX (user experience) design community. Anyway, this blog post only covers a couple pages out of the book.

The author, Christopher Alexander, says that we have come to think of buildings, towns, and works of art as “creations.” And that “creation” is thought of as a monumental design task, “brought to birth, suddenly, in a single act, whose inner workings cannot be explained, whose substance relies ultimately on the ego of the creator.”

I would interject that the creator might understand the inner workings, but even then, for a complicated project attempted in a process with this mindset, the end result would probably not be completely understandable by the creator. More on that in a minute…

As Alexander writes:

The quality without a name cannot be made like this.

Imagine, by contrast, a system of simple rules, not complicated, patiently applied, until they gradually form a thing. The thing may be formed gradually and built all at once, or built gradually over time—but it is formed, essentially, by a process no more complicated than the process by which the Samoans shape their canoe.

And if you’re thinking that this sounds very much like how biology works, then you have predicted the next key statement on the same page:

The same thing, exactly, is true of a living organism.

An organism cannot be made. It cannot be conceived, by a willful act of creation, and then built, according to the blueprint of the creator. It is far too complex, far too subtle, to be born from a bolt of lightning in the creator’s mind. It has a thousand billion cells, each one adapted perfectly to its conditions—and this can only happen because the organism is not “made” but generated by a process which allows the gradual adaptation of these cells to happen hour by hour….

And Alexander claims that there is no other way. Of course, as a transhumanist and a roboticist and an occasional cognitive architect (oh, maybe there is architecture here after all!) I want to be able to create and modify life forms. I want to make artificial organisms, and interfaces between the organic and the non-organic.

However, I have enough experience with software development and project management to know that what Alexander says is true. I.e., I believe it based on my experience and observations.

flower field

So I have two immediate responses when I read this part of the book:

1. Examples of systems that look complex, but evolved and/or iterated via simple rules.

For instance, the cellular automata popularized by Stephen Wolfram in A New Kind of Science create complexity and even randomness from ridiculously simple rules. Behavioral robotics, which started in the 1980s (although there were a few examples long before then), embraced the artifical organism in the environment concept. They had simple programs and no traditional internal models.

If you’ve ever made any kind of robot, or a software agent in some environment, you may have discovered how complicated and or unplanned the behavior becomes so easily.

The adaptability and flexibility of organisms has not yet been matched by artificial creatures. I’ve discussed some of this before in my article “Softer, Better, Faster, Stronger: The Coming of Soft Cybernetics“.

If you’ve ever made a mobile robot or any other electromechanical system, and expected it to work perfectly as designed, you have probably encountered a rude awakening. It never works “out of the box” (unless you went through many cycles before putting it in the box). In fact, engineering in general is more of a building out of existing working things. And then your specific project still has to have cycles of test and/or integration, etc. And that brings me to response two: the meta.

2. The Meta: Development Methodology

The meta aspect is management of projects and what process the “creator” and his/her team uses. I don’t particularly care how similar a process is to biology…although biological evo-devo is quite interesting. I’d love to find ways of doing things that are totally alien to biology.

It’s just that I’ve found that cycles of development (“iterations” or “sprints”) have to happen. And it’s much better if there are feedback loops between testing with contexts. And contexts are environments, other artificial equipment, users, and so on.

Iterative development processes almost always work better than sequential types like Waterfall. In fact, I’ve never seen a sequential development process work out well. Others have discovered this to. It’s probably part of the reason why Agile software development processes are becoming the most popular.

Anyway, comments about why generative and iterative processes work in our version of the universe are welcome.

Post to Twitter Post to Facebook Post to Google Buzz Post to Reddit Post to StumbleUpon

Tags: , , ,

Architecting Emotional Robots

Posted in artificial intelligence, cognitive science, robotics on April 7th, 2011 by Samuel Kenyon

Creating a robot with emotions is a software development problem.

How does the zebra feel right now?

Emotion is a matter of cognitive architecture.  It is part of the information system of the mind.  Recreating “emotions” really means recreating a type of mind that uses internal mechanisms similar to our minds.  Making an emotional machine requires the proper design and implementation and deployment.

The reason I added “deployment” in there is because environment is quite important.  The mind is a system that interacts with other entities—there is an information flow.  The level of externalism required affects how situated and/or embodied an artificial agent has to be.  That is where robots come in.  However, a robot and its world can be simulated.

What Do I Mean by Architecture?

The metaphor of architecture lets us think of the mind as a building.  But really I mean a large building that was built from millions of interlocking parts and took months or years to design.  And as with buildings, a mind is not just designed and built—it also has to survive the real world.

The metaphor breaks down a bit when you consider how natural minds emerge from ever-changing, growing (or shrinking), adaptable, flexible bags of meat.  However, in their own slow way buildings do change via maintenance and new additions, and they are in fact flexible and movable so as to survive wind and earthquakes.

Of equal or greater importance, I also think of architecture here in its software engineering usage [1]:

Architecture is the fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution.

Why Do We Need an Entire Architecture?

One might think that a programmer could just add in some emotion—make a few calls to the emotion function, or tack on a loosely coupled Emotion module.  But based on the best theories so far from researchers, emotions are actually many things going in the mind.  And they are all inherent in the system and intertwined with evolutionarily old parts.  In other words, if you ripped out all the stuff related to emotions, you wouldn’t have much left.  In future posts I will go into the details of potential architectures and why there are certain dependencies.

References:
[1] IEEE Computer Society, IEEE Recommended Practice for Architectural Description of Software-Intensive Systems: IEEE Std 1472000. 2000. via P. Eeles, “What is a software architecture?”

Image credits:

1. safari-partners
2. Marko Ljubez

Post to Twitter Post to Facebook Post to Google Buzz Post to Reddit Post to StumbleUpon

Tags: , , , , ,