Next: Evolvable objects
Up: Evolving Objects
Previous: Evolving Objects
Current evolutionary computation paradigms often get inspiration from
Darwin's evolution theory and attempt to correlate their features to
what actually happens in Nature; chromosomes would be akin to bit
strings (in genetic algorithms, GA [1,2]) or floating point vectors
(Evolution Strategies, ES [3]),
natural selection would be imitated by selection rules such as steady
state selection [4] or (
)
selection [3].
However, natural selection is not the only instance of selection in
Nature, paradoxically as it might seem. Evolution happens also in
economy and the markets, with firms evolving, feeding from each other,
occupying economical niches, as has been described by, for
instance, Brian Arthur [5] and John Holland himself [6]. There is also
a theory on evolving inflationary universes [7], in which universes with
different physical laws compete with each other, with some of them
beating the others and filling all possible space. Finally, ideas
evolve, in what has been called memetic evolution [8],
competing for brain space, reproducing and mutating; an idea can
be a pop tune, an e-mail chain letter, or a TV program like Seinfeld.
In all these instances of evolution, it would be hard to think of
substrates (what is the DNA of an idea?), but there are many others
common traits that make us think of them all as evolution.
In this paper, we will present EO, a new evolutionary computation
framework, and its implementation as the EO evolutionary computation
library, which tries to mimic evolution in general, by abstracting the
common features of all these instances of evolution.
The paper is organized as follows: in the next
section (section 2), we will enumerate the conditions necessary for an object to
evolve; then, we will show how to evolve objects in practice in
section 3. Finally, in section 4
we will present the EO evolutionary computation C++ class library, and
some examples in which EO (the framework) and EO (the library) have
been put to practice. Finally, we will discuss the implications of EO
and future lines of work.
Next: Evolvable objects
Up: Evolving Objects
Previous: Evolving Objects
Juan Julian Merelo Guervos
1999-05-31