next up previous
Next: THE VIRTUAL COMPUTER Up: METHODS Previous: METHODS

THE METAPHOR

Organic life is viewed as utilizing energy, mostly derived from the sun, to organize matter. By analogy, digital life can be viewed as using CPU (central processing unit) time, to organize memory. Organic life evolves through natural selection as individuals compete for resources (light, food, space, etc.) such that genotypes which leave the most descendants increase in frequency. Digital life evolves through the same process, as replicating algorithms compete for CPU time and memory space, and organisms evolve strategies to exploit one another. CPU time is thought of as the analog of the energy resource, and memory as the analog of the spatial resource.

The memory, the CPU and the computer's operating system are viewed as elements of the ``abiotic'' (physical) environment. A ``creature'' is then designed to be specifically adapted to the features of the computational environment. The creature consists of a self-replicating assembler language program. Assembler languages are merely mnemonics for the machine codes that are directly executed by the CPU. These machine codes have the characteristic that they directly invoke the instruction set of the CPU and services provided by the operating system.

All programs, regardless of the language they are written in, are converted into machine code before they are executed. Machine code is the natural language of the machine, and machine instructions are viewed by this author as the ``atomic units'' of computing. It is felt that machine instructions provide the most natural basis for an artificial chemistry of creatures designed to live in the computer.

In the biological analogy, the machine instructions are considered to be more like the amino acids than the nucleic acids, because they are ``chemically active''. They actively manipulate bits, bytes, CPU registers, and the movements of the instruction pointer (see below). The digital creatures discussed here are entirely constructed of machine instructions. They are considered analogous to creatures of the RNA world, because the same structures bear the ``genetic'' information and carry out the ``metabolic'' activity.

A block of RAM memory (random access memory, also known as ``main'' or ``core'' memory) in the computer is designated as a ``soup'' which can be inoculated with creatures. The ``genome'' of the creatures consists of the sequence of machine instructions that make up the creature's self-replicating algorithm. The prototype creature consists of 80 machine instructions, thus the size of the genome of this creature is 80 instructions, and its ``genotype'' is the specific sequence of those 80 instructions (Appendix C).



next up previous
Next: THE VIRTUAL COMPUTER Up: METHODS Previous: METHODS



Thomas S.Ray
Thu Aug 3 15:47:29 JST 1995