Showing posts with label evolution in the computer. Show all posts
Showing posts with label evolution in the computer. Show all posts

Thursday, May 14, 2020

Ant colonies, real and virtual

Formica fusca
Ants, hymenoptera related to wasps, are social insects. An anthill or ant colony can contain, from a few dozen individuals, to over half a million. The number of castes varies, depending on the species, between three (fertile males and females, sterile female workers) and over twenty. The feeding a larva receives decides the caste to which it will belong.
Strange forms of parasitism have arisen among ants, as in Amazons ants (Polyergus), whose workers specialize in fighting and starve in the presence of food, unless a worker of Formica fusca feeds them. To seize these auxiliaries, the Amazons attack the nests of Formica fusca, kill their queen and enslave the workers. In extreme cases, such as ants of the Anergates genus, the queen invades a nest of Tetramorium, supplants its queen, and fed by the workers of the other species, produces eggs that become queens and males, but no workers, which are not needed.
Evolution in social insects probably reached the highest levels of instinctive complexity that can be achieved with a nervous system as limited as that of arthropods. In the tens of million years since the origin of these societies, evolution has introduced secondary changes, which have led to great diversity: there are more than three thousand species of ants, but there seems to have been no progress in their social structure. They are highly successful animals, very abundant, and spread throughout the world, but stagnant.

Thursday, April 30, 2020

What is artificial life?

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.