@brazovayeye

Object-Oriented Ontogenetic Programming: Breeding Computer Programs that Work Like Multicellular Creatures

. University of Dortmund, Germany, Diploma thesis, (June 2002)

Abstract

As the research field called Genetic Programming has shown during the last decade, it is possible not only to write computer programs by hand but also to let the computer itself develop programs that solve given problems. This is achieved by simulating natural evolution on the computer for "breeding" programs that are well adapted to a specific problem environment. The use of mechanisms found in nature can lead to solutions to complex problems that by far outperform any man-made approaches. The reasons are that complex problems often are difficult to solve analytically and many other possible approaches are not accessible to the human way of thinking. The use of the mechanisms of evolution based on genetic variation and "survival of the fittest" is only one example. Another example are Artificial Neural Networks that imitate clusters of nervous cells and their interactions for solving difficult problems (inspired among others by the human brain). The here presented work explores a different and new approach to adopting problem solving methods found in nature. It uses the natural cell control mechanism called Gene Regulation that according to modern molecular genetics is the basis of the cooperation between and differentiation into all the different cells in living creatures. The most astonishing example of self-organization between simple units that cooperate to solve complex problems is not the interaction between nervous cells on the basis of mutual electrical activation through explicit and directed connections. It is the interaction between all kinds of cells in a living creature which is based on the diffusion of messages in the form of produced substances. This interaction is much more powerful and flexible than the neural interaction because of many reasons. The main reason is, that a cell in this context is not only a simple unit which can have different levels of activation, but it is a complex system with many behavioural possibilities. The communication between the cells not only bases on different activation intensities but on many different message types which (also depending their intensity) can have very sophisticated effects on the behaviour of a cell. This new programming and control paradigm has been combined with genetic programming for breeding "multicellular" programs (which probably is the only feasible way of producing them). The system that implements this combination can not only be used to create programs with a new modular structure which has several advantages. It also is a great tool for developing systems of cooperating autonomous units like Amorphous Computers and Multiagent Systems.

Links and resources

Tags