Next: Innovaciones introducidas por Objetos
Up: Computación Evolutiva Orientada a
Previous: Computación Evolutiva Orientada a
  Índice General
Como se comentaba anteriormente, OE define interfaces para todos los objetos, de forma que quede restringido el modo en que unos usan a los otros.
A pesar de las restricciones que introducen dichas interfaces, éstas deben dotar a los objetos de ciertas características básicas para poder hacerlos evolucionar. Estas características fundamentales incluyen que un objeto sea replicable, mutable, combinable y comparable.
Estas propiedades se usarán como analogía computacional para los tres criterios evolutivos descritos por Maynard-Smith [#!Maynard75!#] (hereditabilidad, variabilidad y fecundidad). Examinemos más detalladamente cada una de ellas:
- Replicabilidad. Es necesario poder obtener copias de un OE cualquiera, ya sea por él mismo o mediante el uso de otros objetos (replicadores). También debería ser posible crear OE desde cero (a través de ``factorías'' de objetos).
- Mutabilidad. Un OE debe poder mutar o modificarse de forma que se incremente la diversidad de un conjunto (población) de OE. Esto quiere decir que el OE, por sí mismo o mediante un objeto cuyo cometido será modificar otros objetos (objeto mutador), podrá cambiar de diversas formas, pero el funcionamiento de dichos cambios no tiene por qué conocerse desde fuera, ni tampoco tiene por qué haber una representación específica para permitir una mutación de un objeto. Básicamente el ``cliente'' sólo necesita saber que el objeto mutado cambiará de alguna forma.
- Combinabilidad. En algunos casos convendrá combinar dos o más OE para crear uno nuevo (de forma similar a como funciona el cruce en los AG). Aunque esto no será posible en todas las ocasiones, cuando lo sea, la operación hará decrecer la diversidad, en el sentido que hace los OE más parecidos entre sí. Tal y como ocurre con la mutación, el funcionamiento interno del cruce no tiene por qué ser conocido por el ``cliente''.
- Comparabilidad. Para decidir qué objetos son mejores que otros al realizar una tarea en particular, deberían poderse comparar para decidir cuál de ellos es el mejor. Esto no significa que cada OE deba tener un valor escalar de la función de evaluación (para llevar a cabo una selección proporcional al valor de la función de evaluación), ni siquiera que deba tener un valor explícito, simplemente debe poder determinarse cual es el mejor entre dos. Así, un objeto selector puede eliminar el peor y reproducir el mejor (mutándolo o cruzándolo con otros).
Next: Innovaciones introducidas por Objetos
Up: Computación Evolutiva Orientada a
Previous: Computación Evolutiva Orientada a
  Índice General
Francisco Javier Garcia Castellano
2000-12-14