The Tierra system creates a virtual computer (a software emulation of a computer that has not been built in hardware) whose architecture, instruction set, and operating system have been designed to support the evolution of the machine code programs that execute on that virtual machine. A network version of the Tierra system is under development that will allow the passage of messages between Tierra systems installed on different machines connected to the network, via ``sockets''.
The instruction sets of the Tierran virtual computers will have some new instructions added that allow the digital organisms to communicate between themselves, both within a single installation of Tierra, and over the net between two or more installations. The digital organisms will be able to pass messages consisting of bit strings, and will also be able to send their genomes (their executable code) over the network between installations of Tierra.
The network installation of Tierra will create a virtual sub-network within which digital organisms will be able to move and communicate freely. This network will have a complex topology of interconnections, reflecting the topology of the internet within which it is embedded. In addition, there will be complex patterns of ``energy availability'' (availability of CPU cycles) due to the Tierra installations being run as low priority background processes and the heterogeneous nature of the real hardware connected to the net. A miniature version of this concept has already been implemented in the form of a CM5 version of Tierra, has been used to simulate the network version (Thearling and Ray, 1994).
Consider that each node on the net tends to experience a daily cycle of activity, reflecting the habits of the user who works at that node. The availability of CPU time to the Tierra process will mirror the activity of the user, as Tierra will get only the cycles not required by the user for other processes. Statistically, there will tend to be more ``energy'' available for the digital organisms at night, when the users are sleeping. However, this will depend a great deal on the habits of the individual users and will vary from day to day.
There will be strong selective pressures for digital organisms to maintain themselves on nodes with a high availability of energy. This might involve daily migrations around the planet, keeping on the dark side. However, selection would also favor the evolution of some direct sensory capabilities in order to respond to local deviations from the expected patterns. When rich energy resources are detected on a local sub-net, it may be advantageous to disperse locally within the sub-net, rather than to disperse long distances. Thus there is likely to be selection to control the ``directionality'' and distances of movement within the net.
All of these conditions should encourage the evolution of ``sensory'' capabilities to detect energy conditions and spatial structure on the net, and also evolution of the ability to detect temporal and spatial patterns in these same features. In addition to the ability to detect these patterns, the digital organisms need the ability to coordinate their actions and movements in response to changing conditions. In short, the digital organisms must be able to intelligently navigate the net in response to the dynamically changing circumstances.
In addition to responding to conditions on the net itself, digital organisms evolving in this environment will have to deal with the presence of other organisms. If one node stood out above all the rest, as the most energy rich node, it would not be appropriate for all organisms to attempt to migrate to that node. They wouldn't all fit, and if they could they would have to divide the CPU resource too thinly. Thus there will be selection for social behavior, flocking or anti-flocking behavior. The organisms must find a way of distributing themselves on the net in a way that makes good use of the CPU resources.
A primary obstacle to the evolution of complexity in the Tierra system has been that in the relatively simple single node installation, a very simple twenty to sixty byte algorithm that quickly and efficiently copies itself can not be beat by a much more complex algorithm, which due to its greater size would take much longer to replicate. There is just no need to do anything more complicated than copy yourself quickly. However, the heterogeneous and changing patterns of energy availability and network topology of the network version will reward more complex behavior. It is hoped that this will launch evolution in the direction of more complexity. Once this trajectory has begun, the interactions among the increasingly sophisticated organisms themselves should lead to further complexity increases.
Already on the single node installation, most of the evolution that has been described has involved the adaptation of organisms to other organisms in the environment (parasitism, social behavior, etc.). It is this kind of dynamics that can lead to an auto-catalytic increase in complexity and diversity in an evolving ecological system. The complexity of the physical system in which evolution is embedded does not have to lead the complexity of the living system.
For example, in tropical rain forests on white sand soils, the physical environment consists of clean white sand, air, falling water, and sunlight. Embedded in this physical environment is the most complex living system on Earth: the tropical rain forest, consisting of hundreds of thousands of species. These species do not represent hundreds of thousands of adaptations to clean white sand, air, falling water, and sunlight. Rather, they represent numerous adaptations to other organisms. The living organisms create their own environment, and then evolution produces adaptations to other living organisms. If you go into the forest, what you see are living organisms (mostly trees), not sand, air water and sunshine.
It is imagined that individual digital organisms will be multi-celled, and that the cells that constitute an individual might be dispersed over the net. The remote cells might play a sensory function, relaying information about energy levels around the net back to some ``central nervous system'' where the incoming sensory information can be processed and decisions made on appropriate actions. If there are some massively parallel machines participating in the virtual net, digital organisms may choose to deploy their central nervous systems on these arrays of tightly coupled processors.