body-producing cells in immunological memory, so that any subsequent
exposure to a similar antigen can lead
to a rapid, and thus more effective, immune response (secondary response).
The computational aspects of the
immune system, such as distinguishing of self from nonself, feature extraction, learning, memory, self-regulation,
and fault tolerance, have been exploited in the design of artificial immune
systems that have been successfully
used in applications. The applications
are varied and include computer virus
detection, anomaly detection in a time
series of data, fault diagnosis, pattern
recognition, machine learning, bioinformatics, optimization, robotics, and
control. Recent research in immunology departs from the self-nonself discrimination model to develop what is
known as the “danger theory,” wherein
it is believed that the immune system
differentiates between dangerous and
non-dangerous entities, regardless of
whether they belong to self or to nonself. These ideas have started to be exploited in artificial immune systems in
the context of computer security.
While artificial immune systems
(a.k.a. immunological computation,
immunocomputing) constitute an example of a computational paradigm
inspired by a very specific subsystem
of a biological organism, artificial life
takes the opposite approach. Artificial
life (ALife) attempts to understand the
very essence of what it means to be
alive by building ab initio, within in
silico computers and other “artificial”
media, artificial systems that exhibit
properties normally associated only
with living organisms. 24 Lindenmayer
systems (L-systems), introduced in 1968,
can be considered as an early example
of artificial life.
L-systems are parallel rewriting systems that, starting with an initial word,
proceed by applying rewriting rules in
parallel to all the letters of the word,
and thus generate new words. 34 They
have been most famously used to model plant growth and development, 29 but
also for modeling the morphology of
other organisms.
Building on the ideas of evolutionary computation, other pioneers of artificial life experimented with evolving
populations of “artificial creatures”
in simulated environments. 9 One ex-
while artificial
immune systems
constitute an
example of a
computational
paradigm inspired
by a very specific
subsystem of
a biological
organism, artificial
life attempts to
understand the very
essence of what it
means to be alive.
ample was the design36 of evolving virtual block creatures that were selected
for their ability to swim (or walk, or
jump), and that competed for a common resource (controlling a cube) in
a physically simulated world endowed
with realistic features such as kinematics, dynamics, gravity, collisions, and
friction. The result was that creatures
evolved which would extend arms towards the cube, while others would
crawl or roll to reach it, and some even
developed legs that they used to walk
towards the cube. These ideas were
taken one step further25 by combining
the computational and experimental
approaches, and using rapid manufacturing technology to fabricate physical
robots that were materializations of
their virtually evolved computational
counterparts. In spite of the simplicity of the task at hand (horizontal locomotion), surprisingly different and
complex robots evolved: many of them
exhibited symmetry, some moved sideways in a crab-like fashion, and others
crawled on two evolved limbs. This
marked the emergence of mechanical
artificial life, while the nascent field
of synthetic biology, discussed later,
explores a biological implementation
of similar ideas. At the same time,
the field of Artificial Life continues to
explore directions such as artificial
chemistry (abstractions of natural molecular processes), as well as traditionally biological phenomena in artificial
systems, ranging from computational
processes such as co-evolutionary adaptation and development, to physical
processes such as growth, self-replica-tion, and self-repair.
Membrane computing investigates
computing models abstracted from
the structure and the functioning of
living cells, as well as from the way the
cells are organized in tissues or higher
order structures. 26 More specifically,
the feature of the living cells that is
abstracted by membrane computing
is their compartmentalized internal
structure effected by membranes. A
generic membrane system is essentially a nested hierarchical structure
of cell-like compartments or regions,
delimited by “membranes.” The entire
system is enclosed in an external membrane, called the skin membrane, and
everything outside the skin membrane
is considered to be the environment.