Each membrane-enveloped region contains objects and transformation rules
which modify these objects, as well as
specify whether they will be transferred
outside or stay inside the region. The
transfer thus provides for communication between regions. Various formal
mechanisms were developed that reflect the selective manner in which biological membranes allow molecules to
pass through them.
Another biologically inspired feature of membrane systems as mathematical constructs is the fact that,
instead of dealing with sets of objects,
one uses multisets wherein one keeps
track of the multiplicity of each object. The computational behavior of a
membrane system starts with an initial
input configuration and proceeds in a
maximally parallel manner by the nondeterministic choice of application
of the transformation rules, as well as
of the objects to which they are to be
applied. The output of the computation is then collected from an a priori
determined output membrane. Next
to the basic features indicated previously, many alternatives of membrane
systems have been considered, among
them ones that allow for membranes to
be dissolved and created. Typical applications of membrane systems include
biology (modeling photosynthesis and
certain signaling pathways, quorum
sensing in bacteria, modeling cell-me-diated immunity), computer science
(computer graphics, public-key cryptography, approximation and sorting
algorithms, and solving computationally hard problems), and linguistics.
Amorphous computing is a paradigm
that draws inspiration from the development of form (morphogenesis)
in biological organisms, wherein interactions of cells guided by a genetic program give rise to well-defined
shapes and functional structures.
Analogously, an amorphous computing medium comprises a multitude of
irregularly placed, asynchronous, locally interacting computing elements. 1
These identically programmed “
computational particles” communicate
only with particles situated within a
small given radius, and may give rise
to certain shapes and patterns such as,
for example, any pre-specified planar
graph. The goal of amorphous computing is to engineer specified coher-
ent computational behaviors from the
interaction of large quantities of such
unreliable computational particles interconnected in unknown, irregular,
and time-varying ways. At the same
time, the emphasis is on devising new
programming abstractions that would
work well for amorphous computing
environments. Amorphous computing
has been used both as a programming
paradigm using traditional hardware,
and as the basis for “cellular computing,” discussed later, under the topics
synthetic biology, and computation in
living cells.
nature as implementation
substrate
In the preceding section we saw cellular automata inspired by self-reproduction, neural computation by the
functioning of the brain, evolutionary
computation by the Darwinian evolution of species, swarm intelligence by
the behavior of groups of organisms,
artificial immune systems by the natural immune system, artificial life by
properties of life in general, membrane
computing by the compartmentalized
organization of the cells, and amorphous computing by morphogenesis.
All these are computational techniques
that, while inspired by nature, have
been implemented until now mostly
on traditional electronic hardware.
An entirely distinct category is that of
computing paradigms that use a radi-
cally different type of “hardware.” This
category includes molecular computing and quantum computing.b
Molecular computing (known also
as biomolecular computing, biocomputing, biochemical computing, DNA
computing), is based on the idea that
data can be encoded as biomolecules —
such as DNA strands— and molecular
biology tools can be used to transform
this data to perform, for example, arithmetic or logic operations. The birth of
this field was the 1994 breakthrough
experiment by Leonard Adleman who
solved a small instance of the Hamiltonian Path Problem solely by manipulating DNA strands in test tubes. 2
DNA (deoxyribonucleic acid) is a
linear chain made up of four different
types of nucleotides, each consisting
of a base (Adenine, Cytosine, Guanine,
or Thymine) and a sugar-phosphate
unit. The sugar-phosphate units are
linked together by covalent bonds to
b There are several research areas that, because
of the limited space, we could not discuss
here. Thus, for example, non-classical, unconventional computation38 focuses on carefully
examining and possibly breaking the classical (Turing, von Neumann) computation assumptions, and developing a more general
science of computation. A substantial part of
this research is concerned with implementing
computation on new physical substrates, exploiting in this way computational properties
of various physical, chemical, and biological
media. A majority of this research is entwined
with, and motivated by, natural computing.
McGill university’s
laboratory for natural
and simulated cognition
(lnsc) investigates
human cognition
through a combination
of psychological
and computational
approaches. using the
cascade-correlation
algorithm, lnsc
researchers created a
program that outputs
a 2d display of random
output values of neural
networks. the results
are sometimes quite
phenomenal and
artistic. For more, see
www.psych.mcgill.ca/
labs/lnsc/.