scientists have been fascinated by the potential to abstract
the mechanics of evolution. The forces, which initiated and
drive this process, have not been understood. Like all
observable physical events there must be a set of laws and
principals, which govern life and evolution. If we can
understand and imitate these “rules of life”, the
potential benefits of the resulting revolution in technology
are unimaginable. Various fields of study like engineering
robotics, neural networks, mechanical engineering,
biochemical engineering etc have shown life like behavior.
However, reproduction in living organisms could not be
simulated through them. Artificial Life is a field of
scientific study that attempts to model living biological
systems through complex algorithms. Scientists use these
models to test and experiment the behavior of systems to a
multitude of factors. With the advent of the digital
revolution, computer simulations of these complex models
became possible. The ground laying works of some A-life
enthusiasts like John von Neumann and Chris Langton are
described in the following sections.
Neumann did some pioneering work in the field of
self-reproducing cellular automata. He thought that
reproduction in living organisms was a little more than the
transfer and re-implementation of some sort of information.
Since computers were nothing more than information driven
machines, he thought that a computer could eventually
emulate life by passing its information along to a new
generation of regenerating computers. Neumann used cellular
automata to implement his self-reproducing machine. His
research into complex machines led to the conclusion that a
self-reproducing system must have the following abilities,
- Computation universality, or the ability to operate as
a Universal Turing Machine and be able to compute any
- Constructional universality, or the ability to
construct any configuration in cellular space starting
from a given description.
Von Neumann designed a self-reproducing automaton to
perform the functions of a Universal Turing Machine and
showed how to embed both a computation-universal automaton
and its associated input tape into the two-dimensional
cellular space. Von Neumann imagined the automaton to be an
enormous creature that survived in an environment with
infinite resources. The creature itself was very intricate,
being made up of cells with 29 different states. At the time
he envisioned this creature the technology was not available
to create it. Even today the undertaking may not be
possible. His computation-universal automaton was capable of
reading the input tape (composed of cells of the cellular
space), interpreting the data on the tape, and using a
constructing arm to construct the configuration described on
the tape in an unoccupied part of the cellular space. His
automaton was also capable of backspacing the tape,
constructing a copy of the tape, attaching the copy to the
configuration just constructed, signaling to the
configuration that the construction process had finished,
and retracting the constructing arm. By putting a
description of the constructing automaton itself on the
input tape, von Neumann created a self-reproducing
Von Neumann's self-reproducing automaton treats the
information on the input tape to the Turing machine in two
distinct ways. First, the information on the input tape is
actively interpreted as instructions to be executed by the
constructor in order to cause the construction of a
particular configuration in an unoccupied part of the
cellular space. Second, the information on the input tape is
interpreted as data, which is to be passively copied, in an
un-interpreted way, to become the tape of the new machine.
In other words, the information on the tape is interpreted
as both a program and as data at different stages of the
overall process. Although never implemented, von Neumann's
self-reproducing automaton was very large (involving many
millions of cells), .
The basic composition of his automata was as follows:
universal constructor A, which can construct another
automaton according to instruction I.
copier B, which can make a copy of the instruction tape
controller C, which combines A and B and allows A to
construct a new automaton according to I, B to copy
instructions from I and attach them to the newly created
automaton and separates the new automaton from the
system A + B + C.
automaton D, consisting of A, B and C.
instruction tape ID describing how to
construct automaton D.
automaton E consisting of D + ID
This is depicted in the figure below.
1. Neumann’s self reproducing automata
The figure above illustrates Neumann’s theory of
self-reproduction in cellular automata. He devised a
Universal Turing Machine with an input tape of instructions,
ID, a Constructor A, a Copier B and a Controller
C. Here we see how a parent automata E, reproduces its
offspring. The instruction tape instructions are replicated,
along with the automaton D. In other words, the offspring is
an exact copy of the parent.
A variation of this theory was “Evolution”,
wherein the instruction tape of the parent contains
information about an additional automaton F. This is shown
2. Evolution in Self-reproduction
- I D+F
is an instruction tape containing instructions for the
production of D and F.
- F is
the additional automaton produced as a result of
reproduction and evolution.
Neumann was a theorist and his theories regarding
self-reproduction were a precursor to the discovery of the
structure and nature of Deoxyribonucleic Acid or DNA. Years
after Neumann postulated his theory, Watson and Crick
confirmed his beliefs by discovering the self-replicating
genetic role of DNA. Living organisms reproduced like
Neumann had predicted through his theories of
self-reproducing automata. The process of actively
constructing a configuration based on the information
contained on the input tape is analogous to the translation
of the nucleotide bases into a chain of amino acids
constituting a protein. The process of passively copying the
input tape is analogous to the transcription of the
nucleotide bases of DNA to messenger ribonucleic acid or to
a complementary strand of DNA.
von Neumann's virtual creature was reviewed, criticized and
reworked, but still no one actually attempted to implement
an artificial creature able to reproduce itself. Chris
Langton, took it upon himself to create a creature that
fulfilled Von Neumann's criteria of reproduction. Starting
with a paper that discussed a simplification of von
Neumann's beast, Langton simplified the model further.
Langton's creature contained cells that had only 8 different
states, a huge simplification over the original 29. His idea
also greatly simplified the mechanics of the creature,
reducing it to a bare minimum. Most importantly, Langton
felt that he could model the creature on a computer,
providing a chance to actually see the theory in action.
observed that the capability of computational universality
found in the self-reproducing automata of von Neumann is not
known to be present in any self-replicating molecules or in
the biological structure of any known living entity.
Consequently, Langton achieved a substantial reduction in
size by abandoning computation universality. In particular,
Langton designed a self-reproducing cellular automaton that
occupied an area of only 100 cells in its cellular space.
Each cell in Langton's automaton had only eight states. Like
the designs of von Neumann, each cell in Langton's
self-reproducing automaton communicated only with its four
neighbors. However, unlike the other self-reproducing
automata, the coded description of Langton's
self-reproducing automaton was not on a static tape, but
instead endlessly circulated in a manner reminiscent of the
delay-line storage devices used in early computers.
self-reproducing loop is one of the most famous models of
self-reproduction using cellular automata. An eight-state
automata (0 thru 7) is used to implement the Loops. A loop
is a “Q” shaped tube made of a square loop with an arm
extending outward. The tube is enclosed by a layer of sheath
or state 2 cells. Inside the tube are the core cells or
state 1 cells and background cells, state 0. Cells or genes
of state 4 and 7 are set to flow inside the tube. States 3,
5 and 6 correspond to the different phases of reproduction
like “Bonder”, “Sprout Generator”, “Umbilical cord
Dissolver” etc, . The following figure illustrates a
3. A single SR Loop and Chart showing shades corresponding
consists of six gene 7’s flowing through the tube and two
gene 4’s. The tube is enclosed in a sheath of state 2
loops when implemented in a two dimensional cellular space,
evolve as follows. Initially there is one loop in the space,
with genes traveling in the tube. The gene 7 is responsible
for straight growth of the arm in the production of the
offspring whereas the gene 4 makes the arm turn left by 90
degrees. Each gene travels in the tube and splits into two
identical genes at the T-junction of the tube structure. One
of them circulates into the loop again and the other goes to
the tip of the construction arm. When the gene reaches the
tip of the arm, it will either turn left or extend. If the
cell is a gene 7, a sheath cell (state 2) at the tip
converts to a state 1 and the gene 7 disappears. After one
update, the core cell gets sheathed, extending the arm by
one unit. If the gene hitting the end of the arm is gene 4,
a left indicator or cell 3 appears on the left tip of the
sheath. The next gene 4 to hit it, will convert the cell 3
into a background cell, which in one update will get
sheathed. When the arm has turned left three times, the tip
and the root bond together to form a new offspring loop.
This happens when a gene 7 hits the tip of the extended arm,
converting a sheath cell into a “bonder” 3. After one
update, the tip and the middle of the arm bond to form a new
T-junction. A second gene 7 coming into the new T-junction
converts into a background cell, generating an “umbilical
cord dissolver” 5 and a “messenger” 6. The messenger 6
begins to travel in the tube toward the next corner, while
the cell 5 dissolves the umbilical cord and eventually
converts to a cell 6. After
this happens, the connection between the parent and the
child or the “umbilical cord” disappears. The
reproduction cycle is 151 updates. The following figure
shows the cycle of reproduction in a loop.
4. Self-reproduction in Loops
40 and 100, the arm grows straight to its maximum length and
turns left twice. At time 120, the tip meets the root
forming the new offspring loop after which the umbilical
cord starts to disappear, at 140. After 151 updates, the new
offspring is produced. The parent will try to repeat the
process of self-reproduction but by turning 90 degrees
mechanism for the growth of an arm in the offspring is as
follows. The messenger cell 6, after being spawned in the
reproduction phase mentioned previously, flows to the next
corner and generates a “sprout generator” cell 3. The
next gene 7, makes a “sprout guide” cell 6 appear on the
outside of the sheath tip and the sprout generator cell 3
disappears. The sprout guide 6 quickly converts to a new
sprout of the arm capped by a “sprout capper” cell 3.
Gene 7’s stimulate it to grow by two units and a gene 4
alters it to a “sprout finisher” 6, which changes the
sprout to an arm and stimulates growth by one unit. This
finishes the arm growth process.
The concept of
death in cellular automata is just as important as
self-reproduction. Death is important to realize for natural
selection, which is based on the survival of fitter
organisms. Realization of death can be functional or
structural. A functional death is when a cell transcends to
a non-living state from a living one. In other words, we do
not see structural dissemination, but only a loss of
functionality. Structural death, on the other hand, is based
on the fact that in a finite environment system, death will
not only be functional failure but also disorganization of
structures associated with it.
Loops continue reproduction indefinitely till there is space
left. If an area that a loop wants to place its offspring in
is already occupied, it forms a sheath fragment in the path
of genes, disabling them to continue flowing through. The
genes are then absorbed by the obstacle one by one, until an
empty tube remains. This is the beginning of the dying
process in Loops. Hence, the concept of death was realized
in Langton’s loops through functional failure and partial
structural failure, in the cutting off of the umbilical
5. Death of Loops
At time 438,
the right loop tries to thrust its arm to the left. However,
since that space is already occupied, a sheath fragment
forms in the upper left part of the loop, time= 442. Between
446 and 462, genes traveling in that direction are absorbed
by the sheath and at time = 466, a circular tube filled with
core cells is left.
The term computer
virus is derived from and is in some sense analogous to
a biological virus. The word virus itself is Latin
for poison. Biological viral infections are spread
when the virus (a small shell containing genetic material)
injects its contents into a far larger organism’s cell.
The cell then is infected and converted into a biological
factory producing replicants of the virus. Similarly, a
computer virus is a segment of machine code (typically
200-4000 bytes) that will copy itself (or a modified version
of itself) into one or more larger “host” program when
it is activated. When these infected programs are run, the
viral code is executed and the virus spreads further.
Sometimes, “programs” are more than simply applications:
boot code, device drivers, and command interpreters also can
be infected. Further details can be obtained from . John
Inglis defines virus as a piece of code with two
least a partially automated capability to reproduce.
method of transfer, which is dependent on its ability to
attach itself to other computer entities (programs, disk
sectors, data files, etc.)
One of the
questions about viruses that scientists have been trying to
answer, is whether viruses can be construed as a form of
artificial life. Alife enthusiasts like von Neumann and
Chris Langton have attempted to define the basic
characteristics that define life in organisms. Through
descriptions of turing machines that emulate life by
defining states and transitions in two dimensions, they
defined models for artificial life. Their machines can be
simulated through cellular automata on computer programs,
which display replication in automata. Viruses display
similar behavior in terms of reproduction and propagation.
Before attempting to categorize viruses as living or
non-living, one might elucidate the basic characteristics of
life forms as defined by scientists over the years.
- Life is a pattern of events, in space and time and
does not have a material form.
- Self-reproduction is a characteristic of life, either
in one living organism or in a related one.
- For the sustenance of life, metabolism is important,
which converts matter to energy.
- There is some form of information storage, which
represents the live organism.
- There is interdependence of parts.
- Life forms functionally interact with their
environment in various ways.
- Life forms show the ability to grow and evolve.
- To an extent, life forms show stability under
is a discussion of virus behavior with respect to the
afore-mentioned characteristics, which will help ascertain
whether viruses are artificial life forms.
primarily a set of instructions, which execute over time on
some hardware. Viruses are based on algorithms, which
essentially represent a pattern in time. To say that viruses
are a pattern in space would have to include electric and
magnetic pulses within the confines of space, since
eventually any computer program exists only through
electronic instructions. One might apply the same line of
reasoning to Langton’s Loops or Neumann’s
self-reproducing automaton. Those automata have a concept of
dimension (two dimensional space of cells) and embody a
state machine, which changes in time.
in viruses is one of their basic requirements, which seems
to satisfy this criterion well. However, upon close
examination, one realizes that viruses are not entities that
survive on their own, but rather rely on a host entity to
execute and reproduce. In most cases, the host entity is a
computer on which the virus resides and propagates.
the process where in an organism takes in matter from its
environment and converts it into energy for its own
consumption. A cursory examination of virus activity may
seem to display metabolism, in the form of electric energy
being consumed by the virus program for its execution.
However, the electric energy expended is by the computer
system and not by the virus itself. The computer could just
have been executing another program. In other words, a virus
program cannot sustain itself and needs another host entity
in order to execute. Neumann designed his self-reproductive
automaton to exist in an environment with infinite
resources, where it could interact with the surrounding
system for energy. In self-replicating systems like the
Self-Replicating Lunar Factory proposed by NASA,
metabolic activity is in the form of conversion of
electrical energy to mechanical energy of the machine parts.
organisms are composed of DNA molecules that contain
information representing them, which is conveyed through RNA
strands to the offspring. Scientists have described this
mechanism of information storage and propagation as one of
the fundamental requisites to life. Viruses adhere to this
criterion, in that they use themselves as replication data
and spread by forming copies of themselves. In Neumann’s
and Langton’s automata also, there is a concept of
instructions and data on the input tape which are replicated
in the offspring.
organisms cannot be arbitrarily divided without destroying
them. The same is true of computer viruses. Should a
computer virus have a portion of its “anatomy” excised,
the virus would probably cease to function normally, if at
all. Few viruses are written with superfluous code, and even
so, the working code cannot be divided without disabling the
virus. However, it is interesting to note that the virus can
be reassembled later and regain its functional status. If a
living organism were to be divided into its component parts
for a period of time, then reassembled, it would not become
“alive” again. In this sense, computer viruses are more
like simple machines or chemical reactions rather than
instances of living things. This shows interdependence of
parts in viruses.
program’s environment is the computer system on which it
lives. Viruses typically examine and alter system
configurations, operating system interrupts, memory setups
etc. In fact it is this interaction with the environment
that defines malicious virus behavior. Hence, its safe to
say that viruses do interact with their environment.
Viruses undoubtedly spread by growing in number. A single
virus program on a computer can infect a number of files on
that machine and other systems. Evolution, however, refers
to the process of adapting to one’s environment by
evolving into more robust and well-adapted entities. We see
evolution in nature by the process of natural selection,
wherein fitter individuals survive. One might argue that
computer viruses also show characteristics of evolution by
getting more powerful and harmful. The important distinction
to make here is that this evolutionary behavior in viruses
is attributed to the programmers who produce them and not to
an innate ability to adapt and evolve, as in living
organisms. John von Neumann tried to describe the minimum
requirements for reproduction and said, “The machine tool
is an organization
which synthesizes something and is necessarily more
complicated than the organization it synthesizes, so that
complication, or production potentiality in an organization,
is degenerative”, . Von Neumann also recognized
that living organisms, unlike the machine tool can produce
things as complicated as themselves (by means of
reproduction) and can produce things more complicated than
themselves (by means of evolution). Von Neumann concluded, “There
is a minimum number of parts below which complication is
degenerative, in the sense that if one automaton makes
another, the second is less complex than the first, but
above which it is possible for an automaton to construct
other automata of equal or higher complexity”. Darwin
recognized that once a population of different,
self-replicating structures has been created, the ones that
are fitter in grappling with the problems posed by the
environment tend to survive and reproduce at a higher rate.
This natural selection causes an evolution of structures
that are improvements over previous structures. In nature,
individuals in the population that do not respond
effectively to a particular combination of environmental
conditions, suffer a diminished probability of survival till
the age of reproduction. That is, the environment
communicates a negative message (in the extreme, immediate
death) to unfit entities. If entities in the population have
a finite lifetime, the potential offspring of entities that
do not respond effectively to the environment do not become
a part of the population for the next generation.
run on a variety of machines under different operating
systems. Many of them are able to compromise (and defeat)
anti-virus and copy protection mechanisms. They may adjust
on-the-fly to conditions of insufficient storage, disk
errors, and other exceptional events. Some are capable of
running on most variants of popular personal computers under
almost any software configuration. This shows stability
under perturbed environmental conditions, like most living
The study of
life and evolution has come a long way and contributions by
scientists like von Neumann, Langton etc have laid the
foundation for the development of self-replicating systems.
A close look at viruses showed that they cannot be
considered “alive”, unless we modify our definition of
life considerably. However, we have reason to believe that
in the near future, the technological revolution would
imitate the “rules of life” making it possible to
replenish diminishing natural resources. Self-replicating
Lunar factories have been proposed to setup a lunar colony
with self-reproducing robots to manufacture and develop,
details of which can be found in [2, 8].
The Artificial Self Replication Page
Merkle. Self Replicating systems and molecular
Koza. Spontaneous Emergence of Self-Replicating and
Evolutionary Self-Improving Computer Programs.
Walker and Oliver. A Survey of Artificial Life and
Eugene Spafford. Computer Viruses as Artificial Life.
Tim Taylor. On Self-Reproduction and Evolvability.
Hiroki Sayama, 1998. Recent studies on
self-replicating structures implemented on cellular
Gilbreath, NASA Ames Research Center. Advanced
automation for Space Missions.