Evolution of Complex Systems

Evolution of Complex Systems - Problems Ahead

Umur Ozkul
Bogazici University, Computer Engineering Dept., Bebek/Istanbul, Turkey
Umur@WriteMe.Com
http://www.oocities.org/ResearchTriangle/1402/

(Published in Genetic Programming 97 Proceedings, Stanford University)

The genetic system is itself is the by-product of the evolution. Combination into higher-level organizations was there much before the genetic system. The answer to those questions might lie in somewhere other than Natural Selection. Improving genetic algorithms might never lead to complexity. A single model cannot explain complexity. The school that is trying to explain the emergence of Complex Systems on Genetic Algorithms is Neo-Darwinism. However, in the light of genetic systems, many questions are left unanswered.

A meta-system transition is combination into a higher-level organization where different laws exist. The barrier before experimenting with meta-system transitions is detecting them.

Designing program classes, modules, reusable parts seems to be hard by genetic programs. It seems that there is another aspect of complex phenomena leading to organization.

Organisms develop "strategies" to improve evolvability. One strategy is genotype-phenotype mapping. T his idea also improves genetic algorithms. Furthermore, deeper strategies exist in genotype-phenotype mapping. Just another strategy is that mutation rates of the areas of genome are controlled by the genome itself. Mutation rates are not left in the hands of nature. While destabilizing areas are protected from mutation, fitness-increasing areas are favored to mutate. Immune system is just an extreme example of this strategy. Yet another strategy is that to protect temporarily from selective pressures some genes are not expressed in the phenotype.

Many Natural systems, as social insects, perform complex computations collectively.

We can view evolutionary programs as adaptive learning systems. The programmer defines a set of fitness criteria and tries to get the fit results. This corresponds to supervised learning. Think of space exploration robots: No chance of supervised learning out there in the space. You need unsupervised learning. Furthermore you do not know what to learn in advance. Current state of evolutionary programs does not address unsupervised learning. Moreover, the living things do not have fitness criteria defined by someone else. Remember that the life begins from the primordial soup where you are far from even genetic algorithms let alone fitness.

The very question in our mind is that how can complex object oriented systems evolve. I want to see good modularization, class reuse. This seems to require meta-system transitions -- self-emergence of organizations, and even emergence of collective computation.

Think of the ideal process of designing a computer language. You define the semantics of the language after you suggest a syntax and grammar (If the semantics are impossible or complicated, you redefine the syntax and grammar). You use a formal tool such as lambda calculus to define the semantics. So you can prove that a given program does what you want. At this point if you write a compiler in the very language you can show that it is the compiler. Also using a formal tool you can prove that the compiler in the end produces programs equivalent to its semantics. Similarly if we could define the evolution of complex systems at the conceptual semantic level, someone would be able to investigate an efficient implementation of it. As we have no definition now, an efficient implementation for even the current parallel computers might never be concern for the same reasons in compiler design.