... Schmutter% latex2html id marker 3897
\setcounter{footnote}{1}\fnsymbol{footnote}
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... it1
He first published these thoughts in [Popper, 1935].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... falsified2
This does not apply for theories about formal systems without any empirical component. Those theories can be verified. But that does not necessarily mean that the system is helpful. The conditions for a system of theories to be helpful are examined later in this section.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... realized3
See [Descartes, 1996] for the English translation of his book "Meditationes de prima philosophia" published in 1641.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... disease4
This is one possible way for gene therapy. See for example [Pschyrembel, 1998] at this headword.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... word5
Do not confuse this with a "word" in the scientific literature about genetics. As technical term it has a different meaning. Here it is only a visualization of the technical term "gene", like the text on the slice of paper is just a visualization of the chain of molecules.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... long6
According to [International Human Genome Sequencing Consortium, 2001] the longest currently known gene in human cells contains 80,780 coding base pairs, which corresponds to a word of 80,780 letters.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...genome7
If you know any genetics you will probably have noticed that this is an extreme simplification of this complex subject. Of course, the genome of nearly all creatures is divided in many "chapters" on separate slices of paper called chromosomes. Its real structure is not one chain of molecules but two chains (except in some viruses) with a complex folding. And in some viruses it is made of RNA instead of DNA. To be even more exact, not every gene necessarily codes for a protein. If it is very short, the product would be called a polypeptide or even oligopeptide instead. But all this is information that is not necessary for understanding the principles of Genetic Programming and Object-Oriented Ontogenetic Programming. As it is impossible to be totally accurate because even the deepest biological expert knowledge is only a model and with that a simplification of reality, accuracy can not be the first goal. The goal must be to give as much information as is necessary for understanding the principles that will be explained here. And to give no information that is not necessary, because it unnecessarily complicates matters and makes understanding more difficult.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... genome8
Sometimes it is only inserted into the cell nucleus, which is the place where the production of proteins from genes takes place.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... only9
Of course it is not as easy as that. There are many problems like for example the immune system, that recognizes the virus as enemy and tries to destroy it. For more information see [Pschyrembel, 1998] about gene therapy.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... interactions10
For a much more thorough but still understandable explanation of the above described mechanisms see [Hirsch-Kauffmann and Schweiger, 1996] (my favorite biology book). Unfortunately, I do not know if there exists an English translation of it.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... improbable11
Because that would not fit into the other theories of current biology. See section 1.1.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... goal12
As Jesper Hoffmeyer writes in [Hoffmeyer, 1997]: "We surely should not take it for granted that our different body parts love each other, or that they have any intentions as to maintaining us. As the American biologist Leo Buss has shown, we should rather ask ourselves how it can be, that the cells and tissues of our body do in fact co-operate in creating us."
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... perfection13
And they had only a tiny little fraction of the knowledge about its perfect workings that we have now. They mainly saw the result.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Darwin14
In his revolutionary book [Darwin, 1859].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... explanation15
There were others before that also constructed theories for the development of the different lifeforms, like for example Jean de Lamarck, but their theories were not as good as the one of Charles Darwin because they did get in conflict with later findings.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... theory16
As you will see in section 1.5.2, it also (in contrast to the theory with god as creator) meets the third condition: It can be used practically!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... code17
In nature, there are many different forms of mutation. But most of them have the here described effects.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... protein18
This is often not the case, one possible reason for it being that the variation happened in a region of the gene, that does not have any influence on the structure of the produced protein. Such regions are very frequent in the genomes of higher animals and are called introns. As already stated the longest human gene contains 80,780 coding base pairs. But the real length of this gene (including all introns) is 4,800,000 base pairs. It is not yet known, if these introns have any function except reducing the probability that a mutation changes the function of the gene. Introns are not even the only non-coding DNA. About 70% of the human genome is extragenetic DNA which also does not have any coding function.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... sex19
This is not a technical term, but it is nevertheless important. At least for the animals (including us).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... mutation20
This is true for most cases. But Seymour Benzer showed in [Benzer, 1957] that recombination is also possible within genes.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Somehow21
How this works is mostly known and called homology. In section 3.2.2, this trick will be shortly explained and it will be shown that it might be introduced into the described system for enhancing the breeding of computer programs. For more information refer to [Hirsch-Kauffmann and Schweiger, 1996].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... recipient22
This is really a tiny little dissimilarity that does not make any difference for evolution, because as the conjugation can happen in both directions, the effect can be the same as that of crossover. This difference is only important, because while most of the previous approaches for breeding computer programs have used crossover, the system introduced in section 3.2 uses conjugation.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... earth23
For more details on the evolution of species see also [Hirsch-Kauffmann and Schweiger, 1996] or [Maynard Smith and Szathmáry, 1995].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Plato24
In his allegory of the cave in the seventh book of [Plato, 1901] (originally called "Politeia").
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Kant25
Kant distinguished in [Kant, 1781] between the thing-in-itself ("das Ding an sich") and the image of the thing that we get through our senses. He says that the only assertion that we can make about the thing-in-itself is that there must be something, that effects on our senses.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Schopenhauer26
He begins his major work [Schopenhauer, 1819] with the sentence: "Die Welt ist meine Vorstellung." ("The world is my representation.")
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... importance27
Except of course if the idea that there is nothing absolute makes you be confused and unhappy. The goal of philosophy is not to confuse people but to build a base for an outlook on the world that makes sense for you. Therefore there are many different opinions in philosophy and they all can be good theories if they meet at least two of the three conditions mentioned in section 1.1. The here presented ideas are only one possible view which seems to go well with the development of scientific knowledge.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... be28
This is the view of "constructivists" like Humberto R. Maturana and Francisco J. Varela.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... inconsistencies29
See for example [Elman et al., 1996].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... approach30
See for example the possible applications of Genetic Programming (one branch of Evolutionary Computation) presented in [Banzhaf et al., 1998].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... solutions31
Until now, the evaluation time depends mainly on the type of problems. But with higher complexity of the problems, also the complexity of the solutions will have to increase and this will take much execution time. The OOOP approach is an example for this development.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... example32
For example a higher mutation rate.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...ontogeny33
In contrast to the term embryology, this does not only denote the maturation process, but the whole lifetime development of the body including ageing and death.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... species34
This lead Ernst Haeckel in 1866 to formulate the basic biogenetic rule: "The Ontogeny of an organism is a recapitulation of the Phylogeny." This does of course not mean that an embryo could survive in an environment in which its grand-grand-grand-...parents lived, but the rule nevertheless seems to help in explaining some peculiarities of embryological development. For more information refer to [Hirsch-Kauffmann and Schweiger, 1996].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... environment35
From another point of view this can of course be seen differently, but in this context it helps in understanding the different approaches needed for modeling Evolution and Ontogeny on a computer.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...phylogeny36
This term is especially used in a context with Ontogeny.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...diffuse37
This means spread out.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... environment38
For a much more thorough description of artificial chemistries see [Dittrich et al., 2001].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Drosophila39
Drosophila is a fly which is one of the most intensively studied species.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... agents40
This is a term that is used in the field of Multiagent Systems, a branch of Artificial Intelligence which will be introduced in section 4.1.2, for describing computational units that do not have an internal memory but simply independently react depending on their environmental input and some internal rules.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Algorithms41
This term comprises all algorithms for evolutionary computation described in this section and is often used as a synonym of EC.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... fast42
See [Banzhaf et al., 1998] for getting a good overview on this type of GP and genetic programming in general.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... smaller43
This holds, because if you have more specialized commands and you also have domain knowledge, you can choose only to include those commands into the function set that make sense for the particular problem. Moreover, as specialized functions are combinations of multiple low level functions, you could compare this question with the situation that you have one piece of paper and you have the choice between randomly printing characters on it or randomly printing words. Even though the set of words is much larger, the number of possible resulting texts is much greater if you use the characters.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... landscape44
The fitness landscape is a metaphor for the dependency of the fitness on the location of the individual in the search space. If there were only two variable parameters in the EA, the fitness landscape would be the curve resulting from putting the two parameter values on the x and y axes and the corresponding fitness value on the z axis.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Systems45
Multiagent systems are explained in section 4.1.2.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... programming46
This is a special variant of GP for higher languages.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Functions47
A way of introducing modularization into genetic programming presented by John Koza in [Koza, 1994]. An evolved program is divided into several separate functions and a main procedure which can use these functions.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Macros48
An extended version of automatically defined functions introduced by Lee Spector in [Spector, 1996].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... systems49
Compare [Weiss, 1999].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Intelligence50
This will be explained in more detail in chapter 4.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... theorem1
This is a theorem that John Holland formulated in [Holland, 1975]. Wolfgang Banzhaf et al. describe it in [Banzhaf et al., 1998] as follows: "Essentially, the schema theorem for fixed length genetic algorithms states that good schemata (partial building blocks that tend to assist in solving the problem) will tend to multiply exponentially in the population as the genetic search progresses and will thereby be combined into good overall solutions with other such schemata. Thus, it is argued, fixed length genetic algorithms will devote most of their search to areas of the search space that contain promising partial solutions to the problem at hand."
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... memory2
To be more exact: they have internal variables called attributes.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... arise3
This of course is a condition which is very difficult to fulfill. How should a genome be constructed so that a specific useful interaction results? Well, do you remember the question that we asked about the natural example: "How did nature get to this Perfection?" The answer to that question will also be the answer to the problem of constructing good OOOP genomes: We will evolve (or better "breed", because we determine the direction of development) them. How this is done exactly will be described in chapter 3.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... space4
I also call this space cell space because it is the space in which the cells of the multicellular program are located.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... directly5
This language could also considerably improve the memory consumption of multicellular programs for example by allowing to dynamically instantiate member functions only if their activation conditions are met. This would be an even better analogy to nature and (more importantly) would save much memory as the objects would only reserve memory for their activated member functions. On the other hand, it could also slow down execution, because of the resulting continuous instantiation and memory allocation processes.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... functions6
Examples for these approaches are [Banzhaf, 1994,Gruau, 1994,Keller and Banzhaf, 1996,Koza et al., 1996,Eggenberger, 1996,Astor and Adami, 1998,Ferreira, 2001].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... being7
This of course depends on when you determine the beginning of existence of a creature. But in any case, the developmental processes continue during the whole lifespan, which is a big difference to the previously used genotype-phenotype mapping, which only happens before the solution is executed.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... OOOP8
The presented approach is called Ontogenetic Programming.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... different9
This does not mean that it is less interesting. It is in fact extremely interesting because it is theoretically even more powerful than object-oriented ontogenetic programming and even more open. The simple idea is to introduce operators for program self-modification into the GP function set. But the presented approach also has several disadvantages that OOOP does not have. For example it is so strongly abstracted from natural ontogeny that the power of gene regulation networks can not give any hint on the power of this approach. Moreover, it does not model multicellularity, so it is not as well suited to being used for multiagent systems as OOOP is.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... paradigm10
As described, it bases on the diffusion of messages and on gene regulation. We have seen how this works in sections 1.2.3 and 2.1.2.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... immobile11
This could also be used for mobile entities if they move not fast enough to make the Doppler-effect render the used wavelengths inseparable or inidentifiable.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... units12
But I only read their paper in April 2002, when I had already finished implementing the object-oriented programming system. So they simply had the same idea.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... teams13
The advantage of OOOP to combine the benefits of homogeneous and heterogeneous teams is discussed in more detail later in this section.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...self-organization14
By this, Maynard Smith and Szathmáry mean that spacial patterns emerge because the homogeneous distribution of cells is not stable. Already a little random symmetry breaking mechanism like the Brownian motion starts the formation of stable but inhomogeneous patterns.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... adaptive15
By introducing growth processes for building patterns of objects in this space.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... signals16
This means fast compared to the update frequency of the cells. If you model very big distances, even the here mentioned signals can not be simulated as spreading fast.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... template17
Of course, there can be more than one template influencing the activation of a gene, but that does not change the principle explained here.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... agents18
This is also a term used in multiagent systems research for describing an acting unit whose actions in contrast to a reactive agent do not simply depend on its sensory input but also on an internal status which can be seen as knowledge.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... evaluation)19
If you do not understand everything here, take a look at section 3.1.1. There, we will see in more detail how genetic programming systems work.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... messages20
This corresponds to the proteins in nature.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... individuals21
This part of the system is described in section 3.2.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... updated22
It is possible (and as we will see in section 5.1 it could also be desirable at least for some applications) that the cells are chosen randomly for update, so that one cell might have been updated twice while another has not yet been updated at all. In this case, it could make sense to communicate after each single update, but it would also be possible (for not creating too much communication which takes time) to communicate after as many single updates as there are entities in the individual. This does not ensure that all entities have been updated, but it is at least a frequency of communication that is comparable with that of the individual with ordered update as shown in figure 2.1.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... genes23
These conditions for each gene consist of several message type and concentration pairs that either have to be reached or must not be reached for executing the corresponding gene. So we have enhancing and inhibiting effects of messages.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... programming1
For more information refer for example to [Banzhaf et al., 1998].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... only2
"Good" could also mean that the resulting program is short, which is not an attribute of the execution (the phenotype) but of the program code (the genotype). The resulting selection pressure towards small programs is called parsimony pressure and is a good way to reduce code that does not have any influence on the execution results.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Evaluation-selection-variation-loop.3
This picture describes the functioning of many evolutionary algorithms (including GP), while some variants (e.g. most of ES) work slightly differently.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... criterion4
This could for example be a specific fitness value that has to be reached by the best individual.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... individual5
One variant--tournament selection--bases only implicitly on the fitness of the individual, because in this case, the winner of a competition between several individuals is chosen for survival and reproduction.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... set6
Here, it has to be said, that you do not only have to choose a function set for GP, but also a terminal set. Terminals are constants or variables that serve as parameters to the functions of the function set. When I speak of the function set, I implicitly also mean the terminal set, because functions without terminals make no sense.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Starwriter7
This is the word processor of the great free office suite StarOffice 5.2.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... conjugation8
As already mentioned in section 1.3, conjugation replaces crossover in this system. The use of conjugation is necessary because the system works asynchronously which means that variation can only change one individual at a time. In contrast to crossover, conjugation only changes one of the two participating individuals. But viewed from an evolutionary perspective, together with gene deletion it can have the same effects as crossover.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... asynchronously9
Asynchronous GP approaches are also called steady-state and synchronous approaches generational. So the asynchrony here means that not all individuals of the population do the steps of the evaluation-selection-variation loop together but every individual follows its own rhythm of running through these steps. When one individual is varied, another is perhaps just being compiled or evaluated. This approach is ideal for distributed execution because in a distributed system, synchrony would be difficult to ensure and would imply individuals waiting for each other and thus wasting time.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... program10
This means that the whole Ooopse program is copied and while one copy answers the request, the other can wait already for the next demand. This is a common behaviour of server processes on Unix systems.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... gnuplot11
This is a good free graph drawing program which can be found in all Linux distributions and is very widely used.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... space12
These sources correspond to external substances getting into a natural cell cluster and as such being one basis for symmetry breaking in ontogeny and for interaction with the environment of the multicellular creature.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... individual13
Of course this can also be done with the usual method of providing them as arguments when starting the individual. But the possibility of using the pipe (or possibly even the shared memory) during execution allows the individual to interact with dynamically changing problem environments.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... object14
Or more exactly: the ServerSocket object.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Ooopse15
More exactly by its Dcomm.select() function.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... fitness16
The used selection method is called ranking selection because as we will see, the selection only depends on the fitness rank instead of the absolute fitness value.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... 117
\( deathProb=1-\frac{fitnessRank}{numMortals} \) with fitnessRank = 1 and numMortals as total number of mortal individuals in the population.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... transmissions18
If an individual ID is already in the parent table, the new parent code replaces the old and the value in the field numdescs is increased. Though this means that children are not necessarily produced of the individual code that were originally selected for producing them, this is no problem because the new code also has a high fitness value. Else, it would not have been selected for reproduction again.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... insertion19
Conjugation in nature usually does not include deletion, but it makes more sense in this context to see gene deletion as a subtype of gene conjugation and not as a form of mutation, because it uses nearly the same mechanisms as gene insertion and is necessary for showing that gene conjugation can have the same evolutionary effects as crossover. If two individuals exchange genes by gene insertion (so one is the donor for the second and the second is the donor for the first) and the copied genes are deleted in the donor individuals by gene deletion, the effect is the same as if the two genes would have crossed over. This has already been mentioned several times, but it is very important because OOOPS is one of the very few (In fact, I don't know any other.) GP systems that use conjugation instead of crossover.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... insertion20
In this case, genes are copied from a donor individual into the genome of the varied individual.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... evolves21
The advantages of this difference will be discussed in more detail in section 3.2.2.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... program22
As mentioned in section 2.1.1, this advantage for the application of the schema theorem for GP was one of the roots for the creation of the OOOP approach.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... all23
It will be interesting to compare the performance with and without code conjugation (for runs with a powerful function set). As we will also see in the following sections, there is a vast number of issues that can and will hopefully be investigated in future experiments with OOOPS.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... GP24
Moreover, the special execution structure of OOOP can produce all sorts of loops, recursions and dependencies even with linear programming inside the genes, provided a good choice of the function set and temporal variables inside the objects.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... limits)25
Of course, it would also be possible to mutate the intensity by increasing or decreasing it by a little amount. This would give more control over the size of the changing step. But as this control only holds for the genotype and not for the phenotype (see section 1.5.2 on GP and Masum & Oppacher's claim earlier in this section), this would probably not lead to a great improvement.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... values26
As always between the limits of certain user-defined parameters.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...introns27
That is: blocks of unused or effectless program code.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... values28
Instead, a few individuals--the participants in a tournament--are just evaluated relative to each other.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... competition29
This does not only waste individual time but also computational time if it is used with distributed evolution where one individual can not easily benefit from the resources unused by another individual.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... optima30
You remember the fitness landscape mentioned in section 1.5.2? The goal is to find points in this landscape that are not only locally but also globally (approximately) optimal.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... pressure31
With a tournament size of 2, you can not adjust it at all.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... rate32
Every tournament produces exactly d died individuals. A tournament size of 2 enforces that every second individual in the population dies in each generation.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... code33
So a tournament size of two would require to transfer half of the population in each generation. This is unacceptable.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... run34
Its workings have been described in section 3.2.1.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... database35
This centralization of the communication would also enhance the behaviour of the system in case of the extinction of an Ooopsi.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... fitnesses36
As I have described in section 3.2.1, the fitness of a gene is computed as the average fitness of all individuals in which it is contained and has been executed during the last evaluation.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... OOOP37
These two different approaches to use OOOP have been discussed in section 2.1.3.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... species38
Of course, the gene regulation mechanism has evolved itself, too. But as it can be found in all living creatures and always works quite similarly, we can think of it as not changing.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... genes39
Of course, this measure is not an exact edit-distance (which would count the minimal number of changes needed to make one gene out of the other), but it is an approximation which can be computed in nearly no time at all.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... genome40
...or in which a part of a genome replaces another part of the same genome ...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... fate1
Though I doubt if they really suffer. Like computer programs, they are probably not interested in how we denote their behaviour and whether we think that they are intelligent.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... identically2
But they can store a local state and generate random numbers.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... paradigm3
Though the OOOP communication bases on a much more realistic diffusion model than hop counts.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... model4
As described in section 2.1.3 for the distributed problem solving approach of OOOP.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Logic5
See for example [World Congress on Computational Intelligence, 2002] and the aims & scope section of [International Journal of Computational Intelligence and Applications, 2001].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... industry6
A good web resource which also distinguishes between CI (EC, ANN and Fuzzy Logic) and classical AI is [Keller and Kangas, 2001].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... approaches7
It could even be seen as a symbolic approach itself. Therefore, CI is also sometimes defined as being adaptive, fault tolerant and approximative. Lotfi A. Zadeh, the inventor of fuzzy logic, coined the term soft computing which is defined similarly such that fuzzy logic is clearly part of it and which is mostly used synonymously to computational intelligence.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... updates1
As the cells were updated randomly in this experiment, it is not possible to count the number of updates per cell. Therefore, the total number of updates has to be the measure of choice.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... mutation2
This common behaviour of genetic programming systems to produce bloat at the end of the evolutionary run is discussed in more detail for example in [Banzhaf et al., 1998].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.