Download On the origin of the evolutionary computation species influences of

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Artif Intell Rev (2012) 38:41–54
DOI 10.1007/s10462-011-9246-6
On the origin of the evolutionary computation species
influences of Darwin’s theories on computer science
J. Ignacio Serrano · M. Dolores del Castillo
Published online: 28 May 2011
© Springer Science+Business Media B.V. 2011
Abstract This paper presents a small sample of evidences of the direct and clear influence
of the Darwin’s Theory of Evolution on the Computer Science field, putting the core seed of
the well-known Evolutionary Computation and making Computer Science overcome some
previous algorithmic limitations. The paper also shows how the more faithful to the Evolution Theory the algorithms, the better their performance and robustness, thus uncovering
the crucial importance of the ideas collected in “On the Origin of Species” for the development of Computation and, indirectly through this, for the development of a great diversity of
knowledge areas.
Keywords Evolutionary computation · Genetic algorithms · Darwinism ·
Artificial life · Bio-inspiration
1 Introduction
It can be said with no place for doubt that “On the Origin of Species” (Darwin 1979)1 by
Charles Darwin is one of the most influential works on the development of culture and human
civilization along history. In fact, the importance of the work is comparable to “On Liberty”
by John Stuart Mill, “The Manifesto of the Communist Party” by Karl Marx and Friedrich
Engels or “Relativity” by Albert Einstein, according to the list of “100 Most Influential
Books Ever Written” created by the man of letters Seymour-Smith (1998). Furthermore, the
1 Note that this reference is just one among the many later editions from the original work by Charles
Darwin, but it is the one used to reference chapters within this paper.
J. I. Serrano (B) · M. D. del Castillo
Consejo Superior de Investigaciones Científicas (CSIC), Ctra. Campo Real km 0.200 - La Poveda,
Arganda del Rey, 28500, Spain
e-mail: [email protected]
M. D. del Castillo
e-mail: [email protected]
123
42
J. I. Serrano, M. D. del Castillo
effects that the Darwin’s ideas produced (and still do) in some religious concepts place the
work at the influential level of the “Holly Bible” or “Coran”.
Since the release of the Darwin’s Theory of Evolution many fields of knowledge have
suffered a change of paradigm (or a big step ahead, if preferred) due to the consequences
extracted from Darwin’s view. The direct influence of a work like “On the Origin of Species”
(Darwin 1979) on fields like Biology, Anthropology, Geology, History or even Religion (to
mention just a few) (Applebaum 2000) might seem obvious. However, Darwin’s ideas soaked
through other not so evident disciplines such as Politics and Economy (Laurent and (Eds.)
2001), Sociology (Ellwood 1909), Psychology (Rowland 1909), Philosophy (Dewey 1965)
or Ethics (Hayden 1909). But, who had thought that Computer Science could also be affected
by the tentacles (in the positive sense) of the Darwin’s Theory of Evolution?
The fact is that the ideas collected in Darwin’s works put the seed to go beyond the previous limitations in Computer Science, and opened a new branch which gave rise to what today
is well-known as Evolutionary Computation (EC) (DeJong 2006), an emerging, promising
and widely extended research field.
The paper is organized as follows: in the next section a little historical survey of the
Evolutionary Computation is presented, together with the early influences of the Theory
of Evolution. Section 3 introduces the coarse-grained theoretical contributions of Darwin’s
theory to Computer Science. Section 4 presents the fine-grained evolutionary aspects of
canonical Genetic Algorithms (GAs, the central core of the Evolutionary Computation field),
making it clear the computational analogy and the faithful inspiration. Section 5 describes
other points of the Theory of Evolution that have being recently incorporated to the Evolutionary Algorithms (EAs), and how these new contributions not only place them closer to
theory but also improve their performance. Section 6 enumerates some of the domains where
EC has been successfully applied, putting in relevance the indirect influence of the Theory
of Evolution on the development of a high number of knowledge areas. Finally, Section 7
sketches the feedback from Computer Science to the evolutionary field and some concluding
remarks.
2 A pinch of history
It can be stated that the evolutionary theory of Darwin have joined the computation field
since the very beginning. The view of the evolution as a computational process took several
forms in the first half of the XX century. Likely, the first incursion happened around 1930.
The geneticist Wright (1932), pioneer (together with Fisher) of the methods for the computation of the gene frequency distribution among populations as a result of the Darwin’s
theory of evolution, used an evolutionary system to explore a multi-peaked fitness landscape
and dynamically form demes (clusters) around the best niches (peaks). In this sense, Wright
viewed the evolution as an optimization process, which is inherently a goal of computation.
Bremermann shared and applied this same idea some decades later from a rather computational point of view (Bremermann 1962).
Next, evolutionary systems were considered as complex, adaptive systems that can change
the responses and dynamically interact with a non-static environment. This idea immediately
evoked the concept of adaptive controller, and gave an alternative to the previous algorithms
for the automation of feedback control processes. Friedman put these ideas in practice with
the implementation of algorithms for evolving control circuits in robots under the nervous
system analogy (Friedman 1956).
123
On the origin of the evolutionary computation species influences
43
In parallel, the idea of the autonomous learning machines, since the beginning of Computer Science and the first breaths of Artificial Intelligence, has encouraged the attempts to
the auto-programming of computers. The theory of Natural Selection inspired the automation
of this process in the works of Friedberg (1958), Friedberg et al. (1959), who designed and
implemented a machine capable of evolve sets of machine language instructions in order to
automatically obtain the best correct program. This was the starting point to what is known
today as Evolutionary Programming or Genetic Programming Langdon and Poli (2002), Poli
et al. (2008), one of the big Evolutionary Computation paradigms currently accepted.
Although John Holland is widely considered as the father of the Genetic Algorithms, it
was the biologist Alexander S. Fraser who sketched the idea, through the evolution of biological systems in a digital computer (Fraser 1957a,b,c). These works were the inspiration
of the GAs. Fraser was likely the first in talking about a binary representation of individuals
(first outline of genetic codification), a probabilistic reproduction crossover and a mechanism
of reproductive selection.
Due to the increasing accessibility and knowledge about computers, the 60’s were a profitable time for the fusion of the evolutionary ideas and machines. By that time, Holland created
a function to score the adaptation of an individual interacting with the environment along
time. This is known as fitness function. Holland put the computational bases of the artificial
adaptation (Holland 1962, 1975) and evolution and opened the line of GAs. From this point,
Fogel made a great advance from the work of Friedberg on Evolutionary Programming (Fogel
et al. 1966; Fogel 1999) by the evolution of Finite State Automata (FSA), and Rechenberg
also significantly contributed to the evolution on difficult optimization problems with real
valued parameters (Rechenberg 1973).
All these authors focused on the computational aspects of the Darwin’s theory of evolution
and they inspired in observations of nature rather than faithfully reproduce the hidden and
complex biological aspects of it. Therefore, all the approaches were approximated models.
For instance, the populations of individuals were considered fixed in size, the crossover was
random and the environments were static (to mention a few simplifications). These details
were the key points in the 1970’s. Researchers tried to characterize the behavior of the
evolutionary artificial systems by the implementation simplifications. This characterization
process splits the field into different paradigms: Evolutionary Programming (EP), Evolutionary Strategies (ES) and Genetic Algorithms. Later, besides the adaptation to a diverse
number of applications, the interest focused on the exploitation of the inner parallelism of
GAs due to the creation of the first parallel machines (this is still an open line).
Finally, the transference of ideas and techniques among the different paradigms led the
field to unify under the umbrella of the Evolutionary Computation, establishing as a solid
scientific discipline within Computer Science and Artificial Intelligence until nowadays.
3 Contributions to computational theory
As said before, Darwin’s theory of evolution was the foundation and origin of the EC field,
which is definitely a core part of the modern Computer Science. However, the application of
the Natural Selection theory to the computational algorithms produced other indirect effects
in theoretical terms.
Firstly, the main great contribution of the evolutionary approach to computational
theory can be extracted from an intrinsic feature, the inner parallelism (Holland 1975). This
property allows algorithms to explore the solution space by several paths at the same time
(analogous to the parallel evolution of different variations within species). This implicit par-
123
44
J. I. Serrano, M. D. del Castillo
allelism inspired and motivated the development of the parallel machines (at hardware level),
in which evolutionary algorithms fit perfectly.
Secondly, evolutionary algorithms are not deterministic2 , i.e. they do not necessarily
produce the same output from the same input. In theoretical computational terms, a nondeterministic algorithm is unpredictable and therefore not very useful perhaps. Evolutionary
algorithms (together with heuristic-based algorithms) have shown that non-determinism can
be really useful and applicable, what encouraged the consideration and development of this
feature for the computer algorithms.
This non-deterministic quality is accompanied by “ignorance” about the problem that the
algorithms intend to solve. This is the difference with heuristic-based methods, where the
heuristics are a kind of knowledge about the problem. Contrary to what might be thought,
the lack of knowledge about the problem is an advantage for the evolutionary algorithms
(Goldberg 1989), because they do not depend on the availability of any information and they
are not restricted from the beginning by any a priori. They are “blind watchmakers” (Dawkins
1996) in the same way as Evolution is, which has no plan or preconceived idea but just the
mechanisms of the four physical forces (gravity, electromagnetism, strong and weak nuclear
forces) and the target of achieving individuals perfectly adapted to their environment.
Due to this intrinsic parallelism, non-auxiliary information and probabilistic transition
rules, it can be stated that the evolutionary approach gave robustness (efficiency and efficacy
of solutions) to the previous search and optimization algorithms. Moreover, it extends the
capability and scalability of the algorithms, allowing them to deal with complex (non-linear)
and large problems, and making feasible the exploration of multiple paths, thus avoiding the
local maxima (i.e. relatively well adapted individuals but not the best adapted).
From a slightly different point of view, the Darwin’s Theory of Evolution also contributed to Computational Theory in the first approaches of Artificial Intelligence. The view of
Cannon (1932) first and Turing (1950) later of the evolution as a learning process, during
which the individuals “learns” to adapt and survive, together with the implementation of the
evolutionary ideas on computers put the first seeds for the appearance and development of
the Machine Learning field.
4 The analogy
At this point, a reader non-familiarized with EC might not know yet where is the Darwinist
part of the GAs. Darwin stated in the last chapter of “On the Origin of Species” (Darwin 1979)
that the laws governing the life are: growth with reproduction, inheritance, variability due to
the direct or indirect external conditions, ratio of increase that leads to, struggle for life, natural selection, divergence of character and the extinction of the weakest forms. Accordingly,
the Neo-Darwinism (Darwin+Weismann+Mendel) affirms that the life can be explained by
four statistical processes that act on and within the populations and species (Hoffman 1989):
reproduction, mutation, competition and selection. After superficially reviewing these statements let us shift now to the simplest structure of a canonical Genetic Algorithm:
1.
2.
3.
4.
Generate an initial population of individuals.
Score each individual according to its fitness(adaptation) to the environment.
Select some individuals for reproduction.
Mutate some of the selected individuals.
2 If mutation is considered a random procedure, Darwin’s view of Evolution is also non-deterministic.
123
On the origin of the evolutionary computation species influences
45
5.
Cross the selected individuals and produce new offspring sharing combined features
from the parents (new generation).
6. Replace (kill) individuals of the last generation with new ones.
7. Go to 2 and repeat until an stop criterion is reached.
As can be observed, the analogy now emerges from the algorithm. Reproduction is at
steps number 3 and 5, inheritance is at step 5, variability at step 4, the ratio of increase is
also collected at step 5, struggle for life and competition relies on steps 3 and 6, Natural
Selection is comprised among steps 2, 3 and 6, and the extinction is clearly reflected at step
6. The point number 7 just means the course of evolution along time. Under this view, the
GAs might look just a nave simulation of the evolution process. However, if the environment is considered as a problem to solve and the individuals are considered as tentative
solutions to that problem, the computational and practical utility of the algorithm emerges
by itself.
Now that the evolutionary inspiration is explicit, the reader might still be wondering why
a GA is genetic. The genetic part of the paradigm is contained in another design issue that
has been omitted until this section: the representation of the individual’s structure, that is,
the coding of the problem’s parameter set over some finite alphabet. In a canonical GA (but
not in many other approaches), the structure of a solution for a concrete problem is codified
in a “similar” way as genes codify living organisms, and a part of these genes are interchanged between the parents to generate new offspring in the reproduction step. This is the
biological/genetic analogy.
Of course, there are a great number of variations of this canonical scheme nowadays.
They are due to different implementation choices, application scopes, or EC paradigms.
Nevertheless, almost all the approaches are analogies for the variation under domestication
(Darwin 1979, Chapter 1), since the algorithm designer controls the environment, and selects
and accumulates successive variations with profitable features for his/her interest (through
the algorithm design), with the difference that all the structure of individuals is visible for
him/her. Recently, several approaches closer to variation under Nature (Darwin 1979, Chapter
2) have started appearing. Some of them are mentioned further below.
There exist a lot of implementation choices for the different steps in the canonical algorithm that are also influenced by the evolutionary theory. These can be grouped in seven
major design aspects: initialization (i.e. the construction and size of the first generation of
individuals), scoring (i.e. the fitness function to score the adaptation of the individuals),
selection, crossover operator to produce new offspring from the selected parents, mutation
operator, replacement (i.e. the struggle and natural selection to decide who lives and who
dies in order to conform the next generation), and stop (or termination) criterion to decide
when the individuals have reached an acceptable target fitness. The theoretical influences of
the Darwin’s view on these issues are discussed next.
4.1 Initialization
The step of generating a starting population of individuals could be considered like an artifact.
What is wanted to evolve is a species composed of solutions for a problem, so the algorithm
must start from a set of individuals belonging to that species. However, the correspondence
with evolutionary theory is found in the way by which this initial population is generated.
Generally speaking, there exist two methods for generating the initial population of individuals. The trivial one is by a random procedure. The other choice is the semi-automatic
selection of initial individuals. In both cases, individuals must fulfill the features and structure of the corresponding species and therefore there exist rules to create them. However,
123
46
J. I. Serrano, M. D. del Castillo
the random generation rather corresponds to a “wild” evolution under Nature, in Darwin’s
terms, while the other semi-automatic relates to an evolution under domestication, because
the designer selects the starting herd.
The other aspect concerning initialization is the population size. Population size can be
static (under domestication) or dynamic (under Nature). Whichever the option, the selected
size is usually high because it means high variation and, according the Darwin’s statement,
a greater variation is likely to produce a better adaptation. Nonetheless, the generation of the
initial population contradicts the Darwin’s argument that human breeders cannot produce
variability but just expose individuals to new conditions of life, and then Nature acts and
produces variability. This is the main reason why the initialization step may be considered
as an artifact, as stated at the beginning of this subsection.
4.2 Scoring
The step of scoring is determined by the design of fitness function, i.e. the expression that
quantifies the level of adaptation of each individual to the environment or, in computational
terms, the performance of each solution when solving the target problem. Generally, the
fitness function is either an utility function or a cost function. In the first case, a good individual maximizes the function as Natural Selection tends to maximize the adaptation of the
individuals. In the other case, a good individual minimizes the function. Anyway, this fitness
function will decide the reproduction and survival capacity of the individuals and therefore it
can be viewed as a measure of perpetuation. Once again, the step of the design of the fitness
function clearly places the GAs in a paradigm of variation under domestication because this
function allows the designer to select individuals with interesting features.
4.3 Selection
In Darwin’s terms, this step is related to sexual selection rather than Natural Selection.
According to Darwin’s theory, the strongest dominant individuals have a higher probability
for reproduction. ’Strong’ means here not just better adapted but rather more capable of beating other individuals when fighting for reproduction. In the case of GAs, the same measure,
the fitness function, is used both to quantify the level of adaptation and the strength for the
struggle for reproduction. Several selection mechanisms have been proposed although the
most popular and used are basically the following four.
The roulette selection method gives each individual a chance for reproduction proportional to its fitness value. So this mechanism fits very well with the Darwin’s ideas. However,
if the fitness values differences are significant, the best individuals will be always selected,
closing the path to tentative better solutions by the reproduction of some worse individuals.
The mechanism of tournament selection avoids the latter problem by randomly selecting a
certain number of individuals among the entire population in an iterative way, thus creating
subsets. The best individuals of each subset are the ones selected for reproduction. This latter method adds selective pressure over the roulette selection. Another popular mechanism
is the top percent selection. By this method, individuals are randomly selected (with equal
probability) among the top K percent of the population. This method also fits with the idea
of the survival of the strongest, although it does not overvalue the fitness. Finally, the other
most used method stands for the pure random selection so that all the individuals have the
same probability for reproduction. This latter mechanism gets away from the evolutionary
theory but it has shown to be useful in certain problems.
123
On the origin of the evolutionary computation species influences
47
4.4 Crossover
This step of the GAs’ design is more inspired in biology and genetics of haploid organisms
than in evolution theory. The crossover mechanism determines the way by which the offspring
is created from the selected parents. Given that the individuals are represented as a string,
the most common crossover operator interchanges some segments of the two parents’ strings
to produce two offspring. There exist different versions of the operator that interchanges
upper or lower segments of the parents, or intermediate sequences of the parents. In some
of them the sequences are randomly selected. In other approaches, the sequence that each
parent transfers to the offspring is selected according to their fitness value.
Another aspect concerning the crossover step is the number of offspring produced
from each parent. Generally, this decision is characteristic of the different EC paradigms.
For instance, in the Evolutionary Programming (EP) algorithm each parent produces just
one offspring. However, in the Evolutionary Strategies algorithm each parent generates h
offspring, and in the GAs two parents produces two offspring, as described before.
Nonetheless, due to its randomness and blindness, the crossover method mentioned does
not guarantee the preservation of the features previously useful, contrary to what Darwin
thought (Darwin 1979, Chapter 2).
4.5 Mutation
The mutation operator corresponds to the Darwin’s argument that the reproductive system
is susceptible to changes in the conditions of life, and its functional alteration produces the
plastic condition of the offspring, giving the variation the chance to appear (Darwin 1979,
Chapter 5). Thus, the mutation operator slightly changes some part of the offspring string.
Most of the versions of this operator differ in the way of selecting the part to change and
the quantity of the change to apply to the selected part. However, the conditions of life are
not here the causes that alter the reproductive system to induce variation but the probability
of application of the operator, which is in hands of the designer. Note also that mutation is
applied directly on the offspring and not on the reproductive system of the parents.
4.6 Replacement
In this case, replacement means Natural Selection, i.e. the selection of the individuals that
will survive, at least until the next generation. According to Darwin, Natural Selection acts
in populations when available resources are not enough, and then Struggle for Life comes
into play. This aspect is modeled in GAs by establishing a maximum number of individuals
in the population. Since the population tends to increase in GAs (sometimes in geometric
progression, as Darwin stated), some individuals must be removed (i.e. they die) if the total
number exceeds the imposed limit. Again, there are different ways of implementing this kind
of selection. The most Darwinist method is preserving the N individuals with best fitness,
so the most adapted ones survive. Another option involves preserving the parents plus their
best single offspring. This allows the parents to survive for two generations at least, giving
the process a little bit more of realism and creating a competition among offspring. These
two latter approaches are called overlapping-generation models (DeJong 2006) and they tend
to amplify the survival selection pressure. A third common option is to entirely replace the
parents by their offspring (non-overlapping-generation model). This latter mechanism keeps
on the population size stable over time, but it does not take into account the Struggle for
Life.
123
48
J. I. Serrano, M. D. del Castillo
It is worth mentioning here a popular and commonly used artifact called elitism. When
elitism is applied, the best individual of the population is faithfully copied to the next generation. Of course, this does not happen in Nature but it assures the preservation of a good
solution/individual until the end of the algorithm.
4.7 Termination
This step is intended to determine the criterion to stop evolving the population. There is
no theoretical claim about this matter because evolution and Natural Selection will keep
running while life exists. However, there exist different popular criteria. Perhaps, the closest
to Darwin’s theory criterion is stabilization of fitness. By this means, the algorithm stops
when the fitness of the individuals in the last N populations has not changed significantly. In
this sense, this stabilization means that the current population has reached a level of adaptation enough to keep the balance with the environment. Other typical implementation options
are related to the Variation under Domestication view. For instance, the algorithm stops when
either the best individual’s fitness, a certain number of generation or a computational cost
ratio has been reached. All these latter criteria are decided by the algorithm designer.
5 Other evolutionary add-ons
Due to the increment of the popularity and the numbers of works on EC, more and more
aspects of the evolutionary theory have been included in the algorithms. Some of them correspond to points not considered yet. Others try to remove simplifications previously adopted
by the designers, which limited the capabilities of the algorithms, thus proving that the more
faithful the algorithms to evolution theory the better their performance.
The first point that deserves to be mentioned is about the environment. It has been told,
from the very beginning, that one of the best features of GAs is that they can get adapted
individuals in a changeable environment. However, most of the implementations put the
changeability away and define an absolutely static environment by a fixed fitness function.
From the beginning of the current decade, more interest has been put in the immersion of
EC algorithms in dynamic contexts (Morrison and DeJong 1999; Morrison 2004). In this
sense, some types of non-stationary environments have been defined. Thus, there exists a
category of drifting contexts that do not significantly change their topology. A second category corresponds to environments that dynamically suffer great morphological changes. A
third one refers to contexts that show cyclic patterns of change and, finally, a fourth category
describes environments that can suffer chaotic and discontinuous variations. Of course, this
classification is artificial, since Darwin did not categorize the environments in any way, but
it has been established in order to adapt traditional EC algorithms to the different specific
challenges that each type of environment presents.
Consequently, the type of change influences some aspects to be considered by the designers at the time to adapt the algorithms. One of these aspects is the rate of change, i.e. the
time that the change consumes. Another important point is the diversity of the population.
In this case, the dynamics of the context determine the maintenance of the diversity. In this
sense, there exist two options: keeping the diversity more o less constant (Spears 1994) or
just producing diversity on demand (Cobb and Grefenstette 1993; Bäck 1998). The profit of
each option depends on the environmental rate of change (DeJong 2006).
Another important theoretical topic is the inner parallelism of the EC algorithms. In order
to exploit this parallelism the algorithms must be adapted to parallel hardware architectures.
123
On the origin of the evolutionary computation species influences
49
If it is intended more than just speeding up the algorithm (simply splitting the GA processing
into the different processors), this adaptation implies changes in the execution semantic of
it. These changes lead to the well known island models that execute different algorithms in
parallel for populations living in different islands (Skolicki and DeJong 2004). The interesting point is that there exists migration of individuals between islands. Consequently, the
designers have to question some points already discussed by Darwin about geographical distribution and migration (Darwin 1979, Chapters 11 and 12), such as the sources, destinations
and frequencies of migrations and the selection of individuals to migrate (Cantú-Paz 2001;
Skolicki and DeJong 2004).
The island model is considered as coarse-grained parallelism. Besides, GAs have been
also applied to fine-grained parallelism, in which single individual populations are evolved
in parallel. The most popular approaches are called cellular architectures (Sarma 1998),
composed of an array of interconnected cells. In this case, the single cells are individually
evolved.
The individuals of the EC algorithms are usually static forms. However, living beings are
active organism and show some kind of behavior. This aspect has been also considered in the
design of the algorithms by the inclusion of individuals that can produce behavior (produce
an output from an input)3 . The advantage of this inclusion is that the individuals can learn
to modify their behavior. However, the difficulties focus on the mapping of the individual
representation to behavior, and the implications that the operators have on it.
Another of the most controversial simplifications of the standard evolutionary algorithms
concerns to mating. Ordinary algorithms implements random mating, which causes a quick
lost of diversity in the population. Although this effect might be profitable if a fast convergence is desired, the fact is that it negatively affects dynamic robustness. Several approaches
of non-random mating have been proposed. As representative, it must be cited the distance
bias on mate selection (Sarma 1998), the multi-population island models in which the reproduction is only carried out among members of the same island (Whitley et al. 1999) and
finally, speciation, i.e. the definition of species by a set of characteristic tags (Spears 1994).
In this latter approach, the reproduction among individuals within the same species is the
only allowed.
In the Evolutionary Algorithms (any kind of the EC algorithms), the individuals do not
change in the sense that they do not suffer variations during their lives (they do not grow).
The representations of the individuals are phenotypic or they can be directly mapped into
genotypic representations, thus limiting the complexity the algorithms are capable to deal
with DeJong (2006). According Darwin, Evolution operates at the genotypic level and the
phenotypic consequences appear by development and maturation (Darwin 1979, Chapter
13). Consequently, some generative representation formalisms, such as Neural Networks,
and mechanisms of morphogenesis have been proposed for the GAs (Stanley 2004). Among
these approaches, it is worth to mention the idea of an interpreter that can transform the
genotypic representation into the phenotypic one (Hornby 2003). It is also remarkable the
generative representations of Cellular Automata Systems (Kicinger et al. 2004). The two
latter approaches generate the desired phenotypes from a set of rules and an initial state. By
evolving them, the tractable complexity of the individuals significantly increases.
To conclude this little review of evolutionary add-ons, it cannot be kept out the consideration of Lamarckian aspects in the Evolutionary Algorithms. Although the biological
intersection between Darwin’s and Lamarck’s theories is small (perhaps just the inheritance
3 Evolutionary Programming is the representative paradigm of this consideration, since programs are indi-
viduals that behave in some manner. However there exist other approaches.
123
50
J. I. Serrano, M. D. del Castillo
of the effects of the structure disuse, Darwin 1979, Chapter 5), it is interesting to take the
latter into account for the algorithms in terms of Cultural Evolution, where Lamarck’s ideas
make sense. Consequently, some approaches, where the individuals can learn something from
the environment and transfer this new knowledge to the offspring, have been proposed. The
“memetic algorithms” (for ’memes’) Ong et al. 2006 and the “cultural algorithms” Reynolds
1999 are among the most popular.
Although only some of the most developed points have been cited here, there is a great
number of other evolutionary theoretical considerations in GAs. They all serve to prove that
Darwin’s arguments are still influencing Computation, and this closer inspiration is leading
the EC field not just to faithfully simulate Evolution, but also to largely extend the performance and capabilities of the algorithms.
6 Indirect achievements: applications
The contribution of the Natural Selection Theory to computation has produced indirect effects
other than the theoretical issues described above and the development of EC. They are mainly
related to the achievements of Evolutionary Algorithms in different application fields. In this
respect, the Evolutionary Theory has allowed computers (by GAs) to be applied in a vast
number of complex problems of diverse nature. As a consequence, the use of these algorithms has made the solution of such complex problems feasible, thus contributing to the
development of the areas of knowledge involved. The slight review of EC applications next
presented puts in relevance the importance of the influences of Darwin on Computation.
Let us begin with the Engineering application field, because it is likely the area in which
EC has been used the most. For instance, GAs has been applied to evolve wire antennas which
solved complex reception problems (Altshuler and Linden 1977). They were also applied in
the design of windmills for the production of electrical energy (Benini and Toffolo 2002),
obtaining solutions competitive with commercial designs. Evolutionary Algorithms have
been used to optimize the features of X-ray in radiotherapy, thus incrementing the protection
of the healthy organs during the exploration (Haas et al. 1997). Within this engineering field,
GAs have been shown specially profitable in the motor area, for obtaining optimum control
of the Anti-lock Breaking System (ABS) (Lee and Zak 2002), for the improvement of the
efficiency of the diesel engines (Schechter 2000) and other types of industrial devices (Ashley
1992). Besides, Evolutionary Algorithms have had a wide use on the aerospace field, from
the design of wings of supersonic aircrafts (Sasaki et al. 2001) to the placement of satellites
in orbit for minimizing the effects of power cuts (Williams et al. 2001). Related to the material engineering, GAs have contributed to the design of new materials, such as polymers that
conduct electricity (Giro et al. 2002) or multilayer optical sheathings (Weismann et al. 1998),
which overcame some previous industrial and technological limitations.
Evolutionary Computation has been also helpful for basic sciences, such as Acoustics,
Astrophysics, Chemistry, Geophysics, Mathematics or Biology (among many others). For
instance, GAs have been used to design a concert room with optimum acoustical features
(Sato et al. 2002). They have also achieved acceptable solutions for the production of the
rotation curve of a galaxy or the determination of the pulse frequency of a variable star
(Charbonneau 1995). They have been also used to solve partial derivative equations (Haupt
and Haupt 1998) and localize the hypocenter of an earthquake (Sambridge and Gallagher
1993). The design of new molecules from scratch (Glen and Payne 1995) or the identification of the trans-membrane domain of a protein (Koza et al. 1999) have been successful
applications of the evolutionary algorithms too.
123
On the origin of the evolutionary computation species influences
51
The contributions of EC to Economy are noteworthy. It can be stated that these contributions started in the Game Theory. Evolutionary algorithms were applied to solve game
problems such as the “prisoner problem” (Axelrod 1984) or “the ultimatum game” (Duffy
and Feltovich 1999). Since Economy (and particularly the stock market) is a really dynamic
environment, GAs are absolutely suitable to solve problems in this domain. Thus, EC has
been largely used to simulate artificial market agents (Arifovic 2001; Fogel et al. 2002) as
well as to solve theoretical matters of the Financial Engineering, such as Econometry (Koza
1992), Commercial Strategies (Pereira 2002) or the volatility of price selection (Keber 2002)
or stock selection in extreme environments (Yan and Clark 2007). The results have been so
satisfactory that EC has been applied even for the forecasting of financial systems (Li 2006).
As a kind of feedback, Evolutionary Algorithms have also helped to solve problems of
algorithmic nature. For instance, they have been used to efficiently sort a list (a typical task
in Computer Science) (Koza et al. 1999), to evolve a complex pattern recognition system
(Rizki et al. 2002), to optimize fuzzy membership in fuzzy control systems (Castillo et al.
1993) or to automatically assign categories to documents in Natural Language (Serrano and
del Castillo 2007). The application to path finding and time scheduling is really wide too.
GAs have been used in the calculation of optimum paths in telecommunication networks
(He and Mort 2000) and in the construction of track maps for autonomous vehicles (Serrano
et al. 2005). They have been also applied, for example, in the generation of programs for
manufacturing lines (Jensen 2003), in the design of the event schedule of the Paralympic
Games (1992) (Naik 1996) and in the scheduling of landings in London Heathrow airport
(Beasley et al. 2001).
Evolutionary Computation has been also applied to other domains such as army, for evolving tactics in military battles (Kewley and Embrechts 2002), laws, for the assistance in the
identification and description of criminals by witnesses (Naik 1996), and even art, for automatically creating either graphical or musical artwork (Todd and Latham 1992). This small
sample of applications shows the importance of the Darwin’s Theory of Evolution (through
the EC) for a vast number of areas of knowledge. Consequently, the inspiration on Darwin
has lead computer algorithms to be seriously taken into account as an opportunity to go a
step ahead in the development of any science.
7 Conclusions
As claimed along this paper, the ideas contained in “On the Origins of Species” has greatly
contributed to Computer Science, being the core seed of the Evolutionary Computation as
well as helping to overcome some previous algorithmic limitations. Besides, the successful
application of EC to a wide range of domains shows an indirect influence of the evolutionary
theory on all the fields to which the application domains belong. For this reason, it can be
stated that the contributions of the Darwin’s Theory of Evolution to Computation are among
the most important ones for the current development of the society.
By this time, Computer Science is starting thanking the Evolutionary Theory with some
feedback contributions. On one hand, the computational models of Evolution are helping to
develop new evolutionary ideas and concepts, as well as to assess new hypothesis (Banzhaf
and Eeckman 1995). On the other hand, EC is being showed as a new source of arguments
against Creationism, which has also criticized GAs mainly through Dembski (2002) and
Batten (2008). In certain sense, these critics constitute one more proof to show that EC, and
therefore Computer Science, is faithfully impregnated with the Evolution Theory.
123
52
J. I. Serrano, M. D. del Castillo
References
Altshuler E, Linden D (1977) Design of a wire antenna using a genetic algorithm. J Electron Def 20(7):50–52
Applebaum P (2000) Darwin. Norton, W. W. & Company, New York
Arifovic J (2001) Evolutionary dynamics of currency substitution. J Econ Dyn Control 25:395–417
Ashley S (1992) Engineous explores the design space. Mechanical Engineering, pp 49–52
Axelrod R (1984) The evolution of cooperation. Basic Books, New York
Bäck T (1998) On the behavior of evolutionary algorithms in dynamic fitness landscapes. In: Proceedings of
IEEE international conference on evolutionary computation, IEEE Press, pp 446–451
Banzhaf W, Eeckman FH (1995) Evolution and biocomputation, Lecture notes on computer science, vol 899.
Springer, Berlin
Batten D (2008) Genetic algorithms—do they show that evolution works? Available via http://
creationontheweb.com/content/view/2431. Accessed 12 Dec 2008
Beasley JE, Sonander J, Havelock P (2001) Scheduling aircraft landings at london heathrow using a population
heuristic. J Oper Res Soc 52(5):483–493
Benini E, Toffolo A (2002) Optimal design of horizontal-axis wind turbines using blade-element theory and
evolutionary computation. J Sol Energy Eng 124(4):357–363
Bremermann J (1962) Optimization through evolution and recombination. Spartan Books, Washinton D.C.
93–106
Cannon W (1932) The wisdom of the body. Norton and Company, New York
Cantú-Paz E (2001) Migration policies, selection pressure, and parallel evolutionary algorithms. J Heuristics
7(4):311–334
Castillo MDD, Gasós J, García-Alegre M (1993) Genetic processing of the sensorial information. Sens Actuators A 37-38:255–259
Charbonneau P (1995) Genetic algorithms in astronomy and astrophysics. Astrophys J Suppl Ser 101:309–334
Cobb H, Grefenstette J (1993) Genetic algorithms for tracking changing environments. In: Proceedings of the
fifth international conference on genetic algorithms. Morgan Kaufman, San Francisco, pp 523–530
Darwin CR (1979) The origin of species, reprint of the 1976 issue of the 1968 edition published by penguin
books edn. Gramercy Books, USA
Dawkins R (1996) The blind watchmaker: why the evidence of evolution reveals a universe without design.
W.W. Norton, New York
DeJong KA (2006) Evolutionary computation: a unified approach. MIT Press, Cambridge, MA
Dembski W (2002) No free lunch: why specified complexity cannot be purchased without intelligence. Rowman & Littlefield, Lanham, Maryland
Dewey J (1965) The influence of Darwin on philosophy: and other essays in contemporary thought. H. Holt
and Company, Bloomintong
Duffy J, Feltovich N (1999) Observation of others affect learning in strategic environments? an experimental
study. Int J Game Theory 28:131–152
Ellwood CA (1909) The influence of darwin on sociology. Psychol Rev 16:188–194
Fogel DB, Chellapilla K, Angeline P (2002) Evolutionary computation and economic models: sensitivity and
unintended consequences. Physica-Verlag, New York 245–269
Fogel LJ (1999) Artificial intelligence through simulated evolution: forty years of evolutionary programming.
John Wiley & Sons, New York
Fogel LJ, Owens AJ, Walsh MJ (1966) Artificial intelligence through simulated evolution. Wiley, Chichester,
WS, UK
Fraser AS (1957) Simulation of genetic systems by automatic digital computers i: introduction. Aust J Biol
Sci 10:484–491
Fraser AS (1957) Simulation of genetic systems by automatic digital computers ii: Effects of linkage on rates
of advance under selection. Aust J Biol Sci 10:492–499
Fraser AS (1957) Simulation of genetic systems by automatic digital computers vi: epistasis. Aust J Biol Sci
13:150–162
Friedberg RM (1958) A learning machine: Part i. IBM J Res Dev 2(1):2–13
Friedberg RM, Dunham B, North JH (1959) A learning machine: part ii. IBM J Res Dev 3(3):282–287
Friedman G (1956) Select feedback computers for engineering synthesis and nervous system analogy. Master’s
thesis, UCLA, Los Angeles
Giro R, Cyrillo M, Galvão DS (2002) Designing conducting polymers using genetic algorithms. Chem Phys
Lett 366(1–2):170–175
Glen RC, Payne AWR (1995) A genetic algorithm for the automated generation of molecules within
constraints. J Comput Aided Mol Des 9:181–202
123
On the origin of the evolutionary computation species influences
53
Goldberg D (1989) Genetic algorithms in search, optimization, and machine learning. Addison Wesley,
Reading
Haas OCL, Bumham KJ, Mills JA (1997) On improving physical selectivity in the treatment of cancer: A
systems modelling and optimisation approach. Control Eng Pract 5(12):1739–1745
Haupt R, Haupt SE (1998) Practical genetic algorithms. Wiley, New York
Hayden J (1909) Darwin and evolutionary ethics. Psychol Rev 16:195–206
Hoffman A (1989) Arguments on evolution: a paleontologist’s perspective. Oxford University Press, New
York
Holland JH (1962) Outline for a logical theory of adaptive systems. J ACM 9(3):279–314
Holland JH (1975) Adaptation in natural and artificial systems. The University of Michigan Press, Ann Arbor
Hornby G (2003) Generative representations for evolving families of designs. In: Proceedings of Genetic and
Evolutionary Computation Conference 2003. Springer, Berlin, pp 1678–1689
Jensen M (2003) Generating robust and flexible job shop schedules using genetic algorithms. IEEE Trans Evol
Comput 7(3):275–288
Keber C (2002) Evolutionary computation in option pricing: determining implied volatilities based on american put options. Physica-Verlag, New York 399–415
Kewley R, Embrechts M (2002) Computational military tactical planning system. IEEE Trans Syst Man
Cybern Part C Appl Rev 32(2):161–171
Kicinger R, Arciszewski T, DeJong K (2004) Morphogenesis and structural design: Cellular automata representations of steel structures in tall buildings. In: Proceedings of the congress of evolutionary computation
2004. IEEE Press, pp 41–418
Koza J (1992) A genetic approach to econometric modeling. Pergamon Press, Oxford, UK 57–75
Koza J, Bennett F, Andre D, Keane MA (1999) Genetic programming III: Darwinian invention and problem
solving. Morgan Kaufmann Publishers, San Francisco
Langdon WB, Poli R (2002) Foundations of genetic programming. Springer, Berlin
Laurent J, Nightingale J (eds) (2001) Darwinism and evolutionary economics. Edward Elgar Publishing
Lee Y, Zak SH (2002) Designing a genetic neural fuzzy antilock-brake-system controller. IEEE Trans Evol
Comput 6(2):198–211
Li J (2006) Enhancing financial decision making using multi-objective financial genetic programming. In:
Proceedings of the IEEE congress on evolutionary computation (CEC 2006). Vancouver, Canada, pp
7935–7942
Morrison R (2004) Designing evolutionary algorithms for dynamic environments. Springer, Berlin
Morrison R, DeJong K (1999) A test problem generator for non-stationary environments. In: Michalewicz Z,
Shoenauer M, Yao Z, Zalzala A (eds) Proceedings of the 1999 congress on evolutionary computation.
IEEE Press, New York, pp 7935–7942
Naik G (1996) Back to darwin: In sunlight and cells, science seeks answers to high-tech puzzles. The Wall
Street Journal January(16th):A1
Ong YS, Lim MH, Zhu N, Wong KW (2006) Classification of adaptive memetic algorithms: a comparative
study. IEEE Trans Syst Man Cybern Part B Cybern 366(1):141
Pereira R (2002) Forecasting ability but no profitability: an empirical evaluation of genetic algorithm-optimised technical trading rules. Physica-Verlag, New York 287–309
Poli R, Langdon WB, McPhee NF (2008) A field guide to genetic programming. www.Lulu.com
Rechenberg I (1973) Evolutionsstrategie—optimierung technischer systeme nach prinzipien der biologischen
evolution. PhD thesis, reprinted by Fromman-Holzboog
Reynolds RG (1999) An overview of cultural algorithms: advances in evolutionary computation. McGraw
Hill Press, New York
Rizki M, Zmuda M, Tamburino L (2002) Evolving pattern recognition systems. IEEE Trans Evol Comput
6(6):594–609
Rowland J (1909) The influence of darwin on psychology. Psychol Rev 16:152–169
Sambridge M, Gallagher K (1993) Earthquake hypocenter location using genetic algorithms. Bull Seismol
Soc Am 83(5):1467–1491
Sarma J (1998) An analysis of decentralized and spatially distributed genetic algorithms. PhD thesis, George
Mason University, Virginia
Sasaki D, Morikawa M, Obayashi S, Nakahashi K (2001) Aerodynamic shape optimization of supersonic wings
by adaptive range multiobjective genetic algorithms. In: Zitzler E, Deb K, Thiele L, Coello CA, Corne
DW (eds) Evolutionary multi-criterion optimization: proceedings of the first international conference
EMO 2001. Springer, Zurich, Switzerland, pp 639–652
Sato S, Otori K, Takizawa A, Sakai H, Ando Y, Kawamura H (2002) Applying genetic algorithms to the
optimum design of a concert hall. J Sound Vib 258(3):517–526
Schechter B (2000) Putting a darwinian spin on the diesel engine. The New York Times September(19th):F3
123
54
J. I. Serrano, M. D. del Castillo
Serrano JI, del Castillo MD (2007) Evolutionary learning of document categories. Inf Retr 10(1):69–83
Serrano JI, Alonso J, del Castillo MD, Naranjo JE (2005) Evolutionary optimization of autonomous vehicle
tracks. In: Proceedings of the IEEE congress on evolutionary computation (CEC) 2005. IEEE Computer
Society Press, Edinburgh, UK, pp 1332–1339
Seymour-Smith M (1998) 100 most influential books ever written. Citadel Press, Secaucus
Skolicki Z, DeJong K (2004) Improving evolutionary algorithms with multi-representation island models.
In: Proceedings of parallel problem solving from nature VIII, Springer, pp 420–429
Spears W (1994) Simple subpopulation schemes. In: Sebald A (ed) Proceedings of the third conference on
evolutionary programming. World Scientific Publisher, pp 297–307
Stanley K (2004) Efficient evolution of neural networks through complexification. PhD thesis, University of
Texas, Austin
Todd S, Latham W (1992) Evolutionary art and computers. Academic Press, Orlando
Turing A (1950) Computing machinery and intelligence. Mind 59:94–101
Weismann D, Hammel U, Bäck T (1998) Robust design of multilayer optical coatings by means of evolutionary
algorithms. IEEE Trans Evol Comput 2(4):162–167
Whitley D, Rana S, Hechendom R (1999) The island model genetic algorithm: on separability, population size
and convergence. J Comput Inf Technol 2(1):33–47
Williams E, Crossley W, Lang T (2001) Average and maximum revisit time trade studies for satellite constellations using a multiobjective genetic algorithm. J Astronaut Sci 49(3):385–400
Wright S (1932) The roles of mutation, inbreeding, crossbreeding and selection in evolution. In: Proceedings
of the 6th international congress on genetics, pp 356–366
Yan W, Clark CD (2007) Evolving robust gp solutions for hedge fund stock selection in emerging markets.
In: Proceedings of the genetic and evolutionary computation conference GECCO’07. ACM Press, New
York, pp 2234–2241
123