Digital Evolution

Every inquiry, search, creation can be started when we have some idea of the desired state or thing - however vague it might be. Studying digital evolution is full of dim ideas, or with clear purposes, but in the latter case the targets are very far. Hopefully, the enumeration of these conceptions will make the notion of digital evolution somewhat clearer.

  1. Developing robust, adaptive and fault-tolerant programs. Today we witness the fast growth of informatics in each segment of life. But it's pending whether the current trends will be sufficient in the future or not, as the advance in the tools is a bit slower than the growth of demands. Hardware devices might reach soon the physical boundaries. The future of programs is less striking. The source code lengths of current software-systems are growing at high speed, an operating system consists of millions of codelines. In a little while they could end in untreatable complexity. Unstable functioning, hard debugging, brittleness are the characteristics of the huge systems. The theory of software-development has been dealing with this problem since the beginning of computer science. The different methodologies try to answer the question: How can the human mind handle the complexity? - with more or less success. In spite of this, the human-made systems can't produce such a stable functioning as the different life forms on Earth. The varied biosphere evolved through millions of years, and it was able to survive in drastically changing environments. It's not by chance that nowadays informatics often use biological ideas, both the hardware and software-technologies. A new direction could be that the programs are not written by humans but evolved in an artificial environment. These programs can be treated as digital creatures. They have to fight for the resources (processor time, memory), ensure reproduction, and solve the tasks defined by the environment. (The creatures can evolve by the means of beneficial mutations). These pieces of programs optimized to the given tasks can be later reused in other informatical systems. Of course in the near future they can be short assembly-like codes.

  2. Deeper cognition of evolution's principles One of the main problems when we study the process of evolution is that its scale is not for humans, since the evolution makes changes through millions of years, and it's not observable in a human lifetime. The other problem is the observation's fault: a biological system cannot be observed without intervention. The solution can be offered by the digital computers, especially by their constantly growing power. The speed of the process created inside the computer depends on the power of the machine only. The process can be stopped whenever the experimenter wants, the system can be studied at all levels with affecting the population's evolution. An important distinction has to be made. The process created in the digital medium doesn't model the evolving the life on Earth. The self-replicating prgrams are not abstract models of living animals but entities which can replicate themselves in their environment. The biosphere on Earth is an instance of life in the physical medium, while the population of living creatures is an instance of life in a different logical medium. Behind this distinction there is a strong assumption that life-phenomenon is independent of the medium, and the principles of life are in a higher level. If this assumption fails, then we are on a wrong way to study the digital evolution.
  3. Trying to find the answer to questions like this: "Is it possible that the diversed biosphere and we are the products of a simple process?" These questions can be discussed only after a long period of hard work, if it's possible at all to answer these questions in a scientific inquiry.

Helsinki July 17, 2000