- ... Schmutter
-
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... 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
-
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].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.