Thomas S. Ray |
As I
said in an
earlier post, artificial life is a branch of
computer engineering that builds programs that emulate the behavior of living
beings: artificial living beings, or colonies of living beings, such as anthills
or hives. Since I have worked in this field, I’ll tell here a little about artificial
life.
In
1991, Thomas S. Ray built a program he called Tierra,
where a series of artificial organisms evolved and competed for the available
resources in the computer. These resources were essentially the computer
memory, which was limited, and execution time. The objective of each individual
was to copy itself into a piece of available memory. When copied, however,
errors (mutations) could be introduced, so that the organisms in
question were able to evolve.
The
execution took place in a virtual machine equipped with a simple machine
language, with 32 different instructions. The individuals were programs made
of instructions written in the machine language. Some basic instructions were
relatively complex, such as asking the operating system to allocate a certain
space. Although very simple, the original program was able to copy itself (with
mutations) in the allocated space. The execution of individuals is carried out
in parallel, i.e. all are executed together, at the same time.