Future of Computing:
Inspiration from Nature
The intersection of biology and computer science is pushing computation
beyond its traditional limits—forget algorithms think evolution.
By Dennis Shasha
DOI: 10.1145/2090276.2090289
Three years ago, Cathy Lazere and I began a study of computing on the edge of the possible [ 1]. We met scientists who described ways of controlling spacecraft from illions of miles away, embedding intelligence in smart bacteria, or building computers to run as fast as a million desktops combined. They work on the most
challenging applications in science, engineering, and even finance. We expected new computer
architectures and a variety of new software techniques. But we didn’t expect the common vision
that has emerged across all of these fields: The future of computing is a synthesis with nature.
Nature and biological thinking have inspired new ways to do computing. For
example, computers control spacecraft
throughout flight and after landing.
Manual repair of onboard hardware,
once in flight, is impractical to the point
of impossibility; but innovative spacecraft engineers propose designing machines that will repair themselves. If
you think back to your first programming course, you will appreciate what
a change in thinking this represents.
Instead of ensuring that every case is
covered in your software design, you
would design an intelligent machine
that will adapt itself to possibilities that
you don’t know about and sometimes
can’t even imagine.
In the process the concept of
“algorithm”—a recipe for arriving at a
correct answer to a question in guaranteed time on well-performing hardware—loses its central place. For one
thing, the question may not be known
or may be vague (survive and do your
job). For another, the hardware may
be damaged. Instead of an algorithm,
there is an approach evolutionary in
inspiration (try, mutate, and evaluate,
and repeat) and heuristic in guarantee (it will often work). The robots that
carry out this approach will try to repair themselves and everything around
them by what amounts to trial and error, but at electronic speed [ 2, 3].
Can such an approach work in the
real world? Does nuclear reactor design sound real enough [ 4]? One of
the people we interviewed was Louis
Qualls who works at Oak Ridge National Laboratory. While much of what he
does is classified, the approach and experiences are revealing. Qualls recalls
designing a container for a spacecraft
that also had to shield the spacecraft
against gamma rays. The question was
where to put the shielding material.
There were effectively an infinite number of ways to make layers out of different materials. “The genetic algorithm
said that putting the gamma shield
in a thin layer in the middle yields the
cheapest and lightest-weight solution,”
Qualls told us. The shielding expert
confirmed that this design could work.
The genetic algorithm had discovered
the solution by exploring thousands of
possible designs.
Surprisingly, evolutionary algorithms contribute to the social health of
human groups. Before he began using
genetic algorithms, Qualls would take
three weeks to come up with a preliminary design. Inevitably his design entailed compromises among design elements “and I made everybody real mad
at me because nobody got what they
wanted.” But when a genetic algorithm
churns out 100 designs, the specialists
begin to see a pattern of compromises.
People’s attitudes improve. “The algorithm helps different subsystem experts
understand the constraints of others,”
says Qualls. As a result, there’s more co-operation among team members.
Further, unlike human designers,
the genetic algorithm is willing to try
very different designs from previous
ones it has tried. The algorithm has
no loyalty to historical successes. If
you doubt that humans preserve their
biases when technology changes, just
remember how many years passed in
the early 1900s before cars no longer
looked like “horseless carriages.” Consider also that many recent business
and technological innovations—
express mail, microprocessors, and the
Web—arose from people outside of the
establishment who found better ways
to perform existing services. The establishment was stuck in its initial design
frame of mind.
Other people we have spoken to, who
work in fields as far away as finance and
space-exploring robots, mirror these
experiences. When you need to explore
an enormous and sometimes unknown
search space, genetic algorithms along
with a variety of other heuristic techniques (such as simulated annealing or
gradient descent) can often find great
designs or enable machines to repair
themselves.