next up previous
Next: EO, the class library Up: Evolving Objects Previous: Evolvable objects


EO in practice

As with any other program, evolving objects involves two different phases: the design phase and the programming phase.

There is no theoretical support to prove that this work, or even that this works better that simple random exploration. As it does not use a binary alphabet, neither it can be said that it uses an alphabet, the Schema Theorem does not apply, or any other theoretical results obtained for Evolution Strategies or Evolutionary Programming. However, it should work, at worst, as a random search algorithm, and since it might use solution combination or crossover, the building blocks that make a good solution are being mixed, and thus, it should reach better solutions.

EO takes a bit further the ``building block theory''[1]: as the user is freed from a linear bistring representation, and solutions to problems are coded in natural form, the blocks that form the solution are naturally together, and they are inherited together.

EO also turns some problems that would be considered constrained due to the linear bitstring representation into unconstrained, avoiding the use of penalty functions and repair methods, and thus is better suited than GAs for problems that can't be easily mapped to linear bit strings.


next up previous
Next: EO, the class library Up: Evolving Objects Previous: Evolvable objects
Juan Julian Merelo Guervos
1999-05-31