1994
Living organisms perform much better than computers at solving complex, irregular computational tasks, like search
and adaptation. Key features of living organisms, identified in the paper as a basis for their success in solving complex
problems, are: self-reproduction of cells, flexible framework, and modification. These key features of living organisms
are abstracted into a computational
model, called growing automata. Growing automata are suited for
extremely large computational problems, such as search problems. Growing automata are representatives of soft
machines. Soft machines can change their physical structure as opposed to hard machines which have fixed structure.
An example of a soft machine is a living organism, an example of a hard machine is an electronic computer. The computational properties of soft and hard machines are analyzed and compared. An analysis of growing automata
demonstrates their advantages, as well as their limitations as compared to hard machines.
Keywordr: Computational
Self-
reproduction
1. IllmdudoIl
kinematic automata has been largely overshadowed by cellular automata where the position and the
functionality of computing elements are fixed. An
overview of results in kinematic automata theory
is presented by Laing (1979). A survey of results in
early cellular automata theory has been compiled
by Burks (1970).
Automata whose computing elements change
over time, growing automata, have been introduced by Burks (1961). His discussion focuses on
growing automata with a ftxed framework of computational elements. In a fued frumework, elements do not change their positions, but they can
be modified. As a result, the connectivity pattern
36 (1995) 7-17
??
??
0
cl
first step
second step
third step
foutltl step
fifth step
10
R. Sod& R.R
Johnson / BioSystems
36 (1995) 7-17
3. Com~tional
maches
In this section, hard and soft machines are introduced. It is shown that self-reproduction, flexible framework, and modification are important
for the efficiency of soft machines. The discussion
concentrates on computational aspects of machines in using basic resources, including space
and time.
3.1. Hard and soft machines
Hard machines are defined as machines that
have a fixed structure. Soft machines are machines
that can change their structure. Most artificial devices are hard machines. Examples of hard machines include electronic computers. Examples of
soft machines are living organisms. A living organism changes its structure in time. Growing
automata abstract computational capabilities of
soft machines.
3.2. Self-reproduction and exponential growth
In growing automata, elements can produce new
elements. This enables, within certain bounds, exponential growth in computational power. The
potential of exponential
growth and selfreproduction is discussed by Cliff (1980) and
Moravec (1988). They show that, given enough
time, phenomena with the ability of reproduction
can expand much faster than phenomena without
this ability.
Two ,computational aspects of self-reproduction
are im$ortant: the number of active elements and
the speed of communication.
Using selfreproduction, soft machines can exponentially
increase the number of active elements while the
speed of communication between elements remains constant. An exponential increase in computational power and a constant speed of
communication are mutually exclusive in hard
machines.
The breadth first search example is used to illustrate the concept of active elements. At the
beginning, the root element contains all the informationthat is needed to perform the search. This
information, slightly modified at each level, must
be sent to elements on lower levels of the tree. Ele-
11
1.
The value of GA, increases exponentially with increasing n. A comparison between CA,, and GA,
reveals that self-reproduction in GA,, offers an
enormous increase in the number of active elements over CA,, which does not have the ability
to self-reproduce (see Table 1). This advantage
becomes larger as the problem size increases.
A direct comparison between CA,, and GA,
does not take into account that one step of growing automata is significantly more expensive than
a step of cellular automata. A step in growing
automata involves production of new computational elements, while a step in cellular automata
12
Table 1
The number of active elements at step n in: Cellular automata without self-reproduction, CA(n); and growing automata with selfreproduction, GA(n)
n
10
20
30
40
50
60
CA(n)
GA(n)
= 4 x 102
= 103
= 2 x 103
= 10
= 4 x 103
(1 109
= 6 x lo3
= 102
= 104
= 10
a 104
5 108
Table 2
The number of active elements at time t in: Cellular automata without self-reproduction, CA(t); and growing automata with selfreproduction, GA(t)
time
1s
10s
10%
10%
10%
10%
CA(I)
GA(t)
- 104
1
- 10
1
= 100
1
= 103
2
* 106
2 x 103
= 109
2 x 10M
V
sscond
;t.
step
third step
fouml step
13
(a)
originalcomputatii
(b)
new elemml in
s Rued framework
(1)
14
+ c _).
(2)
-B
time
aotive
not used
15
al elements are connected, only their size is considered. Without modification, the maximum
possible use of each element type must be
guaranteed for optimal execution time:
SNM(f) = Fmaxg(t)).
lllMmoy(+
Iprowssors(
??
time
(b) adaptation, space is fully utilized
16
It is estimated that an electronic computer performs lo9 operations/s and fits into 0.09 m3 of
space - approximately 1 ft3. Let n denote the
number of necessary operations to solve a problem. The electronic computer can then solve the
problem in n10S9 seconds.
A growing automaton can double the number of
elements in each time step, so it needs log n steps
to produce n elements. Because most of the time is
spent in producing new elements, the computational time required to carry out the final computation can be neglected. The total number of steps
for n operations is thus log n. To be competitive
with the electronic computer, each step must be
performed in not more than n/log n 10m9s. The required number of elements is n, i.e. one element for
each operation. In order to fit in the same space as
the electronic computer, each element can take up
at most 0.09/n m3.
Results for problem sizes of 109, 1012, lOi, and
lo* operations are calculated in Table 3. The
number of operations column shows the total
number of operations, n, which are required to
solve the problem. The number of steps column
shows the number of steps, log n, which must be
performed by the growing automaton to execute n
operations. The total time column shows the time
needed by the electronic computer to perform the
task: n10W9s. The time per step column shows the
time needed by the growing automaton to execute
one step: n/log n 10S9 s. The size column shows
the cube side of one element of the growing automaton, assuming that each element occupies a
cube.
The numbers in Table 3 provide an estimate for
the performance of growing automata to equal
electronic computers in execution speed. The most
Table 3
Growing automata with the capability and the size of an electronic computer
Wofsteps
log n
total time
n10-9 s
size
w?LiiG&
109
102
105
los
30
40
50
60
1s
1000s
218 h
31.7 years
0.033 s
25 s
5.6 h
193 days
45ow
45 Pm
4.5 /ml
0.45 pm
I of ops.
17
Burks, A.W. (ed.), 1970, Essays on Cellular Automata (University of Illinois Press, Urbana, IL).
Cliff, R., Freitas, R., Laing, R. and von Tiesenhausen, G.,
1980, Replicating systems concepts: Self-replicating lunar
factory and demonstration, in: Advanced automation for
space missions, R. Freitas and W.P. Gilbreath (eds.)
(NASA/ASEE Conference, Santa Clara, CA, Publication
2255) pp. 189-335.
Conrad, M., 1985,On design principles for a molecular computer. Commun. ACM 28 (May), 464480.
Conrad, M., (ed.), 1992, Special issue on molecular computing.
IEEE Comput. 25 (November).
Drexier, K.E., 1986, Engines of Creation (Anchor Press,
Doubleday).
Dyson, R.D., 1978, Cell Biology, A Molecular Approach
(Allyn and Bacon).
Harary, F., 1969, Graph Theory (Addison-Wesley).
Laing, R., 1979, Machines as organisms: An exploration of the
relevance of recent results. BioSystems 11,201-215.
Langton, C.G. (ed.), 1989, Artificial Life, The Proceedings of
an Interdisciplinary Workshop on the Synthesis and Simulation of Living Systems (Addison-Wesley, Los Alamos,
New Mexico, 1987).
Lindenmayer, A., 1968, Mathematical models for cellular interaction in development, Parts I and II. J. Theor. Biol. 18,
280-315.
Moravec, H., 1988, Mind Children (Harvard University Press).
Toffoli, T. and Margolus, N., 1987, Cellular Automata Machines (MIT Press).
Turing, A.M., 1937, On computable numbers, with an application to the entscheidungsproblem. Proc. Lond. Math. Sot.
Second Ser. 42, 230-265.
von Neumann, J., 1966, Theory of Self-Reproducing Automata
(University of Illinois Press, Urbana, IL).