Cheaper than printing it out: buy the paperback book.

Out of Control

Inside every solitary living creature is a swarm of non-creature things. Inside every solitary machine one day will be a swarm of non-mechanical things. Both types of swarms have an emergent being and their own agenda.

Brooks writes: "In essence subsumption architecture is a parallel and distributed computation for connecting sensors to actuators in robots." An important aspect of this organization is that complexity is chunked into modular units arranged in a hierarchy. Many observers who are delighted with the social idea of decentralized control are upset to hear that hierarchies are paramount and essential in this new scheme. Doesn't distributed control mean the end of hierarchy?

As Dante climbed through a hierarchy of heavens, he ascended a hierarchy of rank. In a rank hierarchy, information and authority travels one way: from top down. In a subsumption or web hierarchy, information and authority travel from the bottom up, and from side to side. No matter what level an agent or module works at, as Brooks points out, "all modules are created equal....Each module merely does its thing as best it can."

In the human management of distributed control, hierarchies of a certain type will proliferate rather than diminish. That goes especially for distributed systems involving human nodes -- such as huge global computer networks. Many computer activists preach a new era in the network economy, an era built around computer peer-to-peer networks, a time when rigid patriarchal networks will wither away. They are right and wrong. While authoritarian "top-down" hierarchies will retreat, no distributed system can survive long without nested hierarchies of lateral "bottom-up" control. As influence flows peer to peer, it coheres into a chunk -- a whole organelle -- which then becomes the bottom unit in a larger web of slower actions. Over time a multi-level organization forms around the percolating-up control: fast at the bottom, slow at the top.

The second important aspect of generic distributed control is that the chunking of control must be done incrementally from the bottom. It is impossible to take a complex problem and rationally unravel the mess into logical interacting pieces. Such well-intentioned efforts inevitably fail. For example, large companies created ex nihilo, as in joint ventures, have a remarkable tendency to flop. Large agencies created to solve another department's problems become problem departments in themselves.

Chunking from the top down doesn't work for the same reason why multiplication is easier than division in mathematics. To multiply several prime numbers into a larger product is easy; any elementary school kid can do it. But the world's supercomputers choke while trying to unravel a product into its simple primes. Top-down control is very much like trying to decompose a product into its factors, while the large product is very easy to assemble from its factors up.

The law is concise: Distributed control has to be grown from simple local control. Complexity must be grown from simple systems that already work.

As a test bed for bottom-up, distributed control, Brian Yamauchi, a University of Rochester graduate student, constructed a juggling seeing-eye robot arm. The arm's task was to repeatedly bounce a balloon on a paddle. Rather than have one big brain try to figure out where the balloon was and then move the paddle to the right spot under the balloon and then hit it with the right force, Yamauchi decentralized these tasks both in location and in power. The final balancing act was performed by a committee of dumb "agents."

For instance, the extremely complex question of Where is the balloon? was dispersed among many tiny logic circuits by subdividing the problem into several standalone questions. One agent was concerned with the simple query: Is the balloon anywhere within reach? -- an easier question to act on. The agent in charge of that question didn't have any idea of when to hit the balloon, or even where the balloon was. Its single job was to tell the arm to back up if the balloon was not within the arm's camera vision, and to keep moving until it was. A network, or society, of very simpleminded decision-making centers like these formed an organism that exhibited remarkable agility and adaptability.

Yamauchi said, "There is no explicit communication between the behavior agents. All communication occurs through observing the effects of actions that other agents have on the external world." Keeping things local and direct like this allows the society to evolve new behavior while avoiding the debilitating explosion in complexity that occurs with hardwired communication processes. Contrary to popular business preaching, keeping everybody informed about everything is not how intelligence happens.

"We take this idea even further," Brooks said, "and often actually use the world as the communication medium between distributed parts." Rather than being notified by another module of what it expects to happen, a reflex module senses what happened directly in the world. It then sends its message to the others by acting upon the world. "It is possible for messages to get lost -- it actually happens quite often. But it doesn't matter because the agent keeps sending the message over and over again. It goes 'I see it. I see it. I see it' until the arm picks the message up, and does something in the world to alter the world, deactivating the agent."