A digital organism is a
self-replicating computer program
A computer program is a sequence or set of instructions in a programming language for a computer to execute. Computer programs are one component of software, which also includes documentation and other intangible components.
A computer program ...
that
mutates and
evolves. Digital
organism
In biology, an organism () is any living system that functions as an individual entity. All organisms are composed of cells (cell theory). Organisms are classified by taxonomy into groups such as multicellular animals, plants, and ...
s are used as a tool to study the dynamics of Darwinian
evolution
Evolution is change in the heritable characteristics of biological populations over successive generations. These characteristics are the expressions of genes, which are passed on from parent to offspring during reproduction. Variation ...
, and to test or verify specific hypotheses or
mathematical models of evolution. The study of digital organisms is closely related to the area of
artificial life
Artificial life (often abbreviated ALife or A-Life) is a field of study wherein researchers examine systems related to natural life, its processes, and its evolution, through the use of simulations with computer models, robotics, and biochemistry ...
.
History
Digital organisms can be traced back to the game
Darwin, developed in 1961 at Bell Labs, in which computer programs had to compete with each other by trying to stop others from
executing . A similar implementation that followed this was the game
Core War
''Core War'' is a 1984 programming game created by D. G. Jones and A. K. Dewdney in which two or more battle programs (called "warriors") compete for control of a virtual computer. These battle programs are written in an abstract assembly languag ...
. In Core War, it turned out that one of the winning
strategies
Strategy (from Greek στρατηγία ''stratēgia'', "art of troop leader; office of general, command, generalship") is a general plan to achieve one or more long-term or overall goals under conditions of uncertainty. In the sense of the " ar ...
was to replicate as fast as possible, which deprived the opponent of all
computational resources
In computational complexity theory, a computational resource is a resource used by some computational models in the solution of computational problems.
The simplest computational resources are computation time, the number of steps necessary to s ...
. Programs in the Core War game were also able to mutate themselves and each other by overwriting instructions in the simulated "memory" in which the game took place. This allowed competing programs to embed damaging instructions in each other that caused errors (terminating the process that read it), "enslaved processes" (making an enemy program work for you), or even change strategies mid-game and heal themselves.
Steen Rasmussen at
Los Alamos National Laboratory
Los Alamos National Laboratory (often shortened as Los Alamos and LANL) is one of the sixteen research and development laboratories of the United States Department of Energy (DOE), located a short distance northwest of Santa Fe, New Mexico, ...
took the idea from Core War one step further in his core world system by introducing a genetic algorithm that automatically wrote programs. However, Rasmussen did not observe the evolution of complex and stable programs. It turned out that the
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming ...
in which core world programs were written was very brittle, and more often than not mutations would completely destroy the functionality of a program.
The first to solve the issue of program brittleness was
Thomas S. Ray with his
Tierra system, which was similar to core world. Ray made some key changes to the programming language such that mutations were much less likely to destroy a program. With these modifications, he observed for the first time computer programs that did indeed evolve in a meaningful and complex way.
Later,
Chris Adami
Christoph Carl Herbert "Chris" Adami (born August 30, 1962) is a professor of Microbiology and Molecular Genetics, as well as professor of Physics and Astronomy, at Michigan State University.
Education
Adami was born in Brussels, Belgium, and gr ...
, Titus Brown, and
Charles Ofria
Dr. Charles A. Ofria is a Professor in the Department of Computer Science and Engineering at Michigan State University, the director of the Digital Evolution (DEvo) Lab there, and Director of the BEACON Center for the Study of Evolution in Actio ...
started developing their
Avida
Avida is an artificial life software platform to study the evolutionary biology of self-replicating and evolving computer programs ( digital organisms). Avida is under active development by Charles Ofria's Digital Evolution Lab at Michigan Stat ...
system,
[http://avida.devosoft.org/] which was inspired by Tierra but again had some crucial differences. In Tierra, all programs lived in the same
address space and could potentially execute or otherwise interfere with each other's code. In Avida, on the other hand, each program lives in its own address space. Because of this modification, experiments with Avida became much cleaner and easier to interpret than those with Tierra. With Avida, digital organism research has begun to be accepted as a valid contribution to evolutionary biology by a growing number of evolutionary biologists. Evolutionary biologist
Richard Lenski
Richard Eimer Lenski (born August 13, 1956) is an American evolutionary biologist, a Hannah Distinguished Professor of Microbial Ecology at Michigan State University. He is a member of the National Academy of Sciences and a MacArthur fellow. ...
of
Michigan State University has used Avida extensively in his work. Lenski, Adami, and their colleagues have published in journals such as ''
Nature
Nature, in the broadest sense, is the physical world or universe. "Nature" can refer to the phenomena of the physical world, and also to life in general. The study of nature is a large, if not the only, part of science. Although humans are ...
''
and the ''
Proceedings of the National Academy of Sciences
''Proceedings of the National Academy of Sciences of the United States of America'' (often abbreviated ''PNAS'' or ''PNAS USA'') is a peer-reviewed multidisciplinary scientific journal. It is the official journal of the National Academy of Sci ...
'' (USA).
In 1996, Andy Pargellis created a Tierra-like system called ''Amoeba'' that evolved self-replication from a randomly seeded initial condition. More recently ''REvoSim'' -
software packagebased around binary digital organisms - has allowed evolutionary simulations of large populations that can be run for geological timescales.
See also
Related topics and overviews
*
Artificial life
Artificial life (often abbreviated ALife or A-Life) is a field of study wherein researchers examine systems related to natural life, its processes, and its evolution, through the use of simulations with computer models, robotics, and biochemistry ...
*
Evolutionary computation
*
Genetic algorithms
*
Combinatorial optimization
Combinatorial optimization is a subfield of mathematical optimization that consists of finding an optimal object from a finite set of objects, where the set of feasible solutions is discrete or can be reduced to a discrete set. Typical combi ...
*
Cellular automaton
A cellular automaton (pl. cellular automata, abbrev. CA) is a discrete model of computation studied in automata theory. Cellular automata are also called cellular spaces, tessellation automata, homogeneous structures, cellular structures, tesse ...
Specific programs
*
List of digital organism simulators
*
Evolution@Home
*
Polyworld
Polyworld is a cross-platform (Linux, Mac OS X) program written by Larry Yaeger to evolve Artificial Intelligence through natural selection and evolutionary algorithms.
It uses the Qt graphics toolkit and OpenGL to display a graphical environme ...
References
Further reading
*
*
*
*
{{Computer science
Artificial life
Evolutionary biology
Evolutionary computation