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
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
"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."