next up previous
Next: Evolvable objects Up: Evolving Objects Previous: Evolving Objects

Introduction

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 ($\mu,\lambda$) 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 up previous
Next: Evolvable objects Up: Evolving Objects Previous: Evolving Objects
Juan Julian Merelo Guervos
1999-05-31